1 of 10

Sudoku Solvers

By Alice Luce, Adrian Rodriguez, Michael Richards, Jaden Krekow

2 of 10

What’s the goal

  • Create a functional sudoku application that will allow users to generate interact with and solve Sudoku puzzles
  • Addition of tools the user can use to help them solve puzzles
  • Use Sudoku for educational demonstrations visualizing how different algorithms work to solve the board.

3 of 10

Project at Present

  • The focus on a functioning sudoku board is almost complete with implementation of the board generation, GUI, hints, and database
  • More research is being done to understand algorithms such as Bee Colony Optimization, Hyper-arc consistency, Dancing Links
  • Fixing any issues we encountered with implementation from last milestone

​

4 of 10

What’s done

Technical Issues

  • Theory into practice
  • GUI changes
  • Runtime
  • Representation
  • GUI to represent playing sudoku
  • Basic hint system
  • Database
  • Multithreading
  • Menu

5 of 10

Visualizer

  • Display to the user metrics related to algorithms
    • Speed
    • Effectiveness
    • Big O Complexity

​

​

6 of 10

Tools

  • PySide 6
    • Use to design the UI and create an interactable game board that allows user to manually enter information into board cells
  • SQLite
    • Used to store board ID, current state of the board, and the solution

7 of 10

System Architecture Diagram

8 of 10

Milestone 4

Task

Alice

Jaden

Adrian

Michael

Database

​

Bug fix

Fixes issues with database saving/loading and link with GUI and Menu

​

Menu

Implementation of descriptions for each algorithm available and planned to implement.

​

Integrate menu into GUI

​

Algorithms

Small bug fixes

Implement new solving algorithm

Research new algorithm and help develop and integrate into software

Implement new solving algorithm

GUI

Groundwork for highlighting cells for algorithm visualization.

​

Adding Notes features, enhance hint finding, stylize

Bug fix

9 of 10

Milestone 5

  • Implement additional algorithms
  • Analyze runtime efficiency of existing algorithms

​

10 of 10

Milestone 6

  • Bug fixes, QA, and user review
  • Finalize algorithms
  • Finalize UI

​