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