Skip to content

Sudoku Solver that doesn't guess.

License

Notifications You must be signed in to change notification settings

HappyCerberus/sudoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logic-based Sudoku Solver

sudoku

Build status Build Status codecov MIT License

This repository contains the code for a "human-like" Sudoku solver. This solver does not do any guessing (no backtracking) and only employs solving techniques used by human solvers.

The ultimate goal is to build a high-performance solver that can be used as a tool to help generate interesting Sudoku puzzles.

If you have any questions about the code, join me for one of the streams, every Sat&Sun 14:30 CE(S)T at Youtube or Twitch.

The UI for this solver lives in the sudoku_ui repository and you can test the current build in the sudoku_playground repository.

Stream archive

The video & audio quality improves over time and I'm continually making improvements.

Current Benchmark results

The following data set is used for the benchmark: https://www.kaggle.com/rohanrao/sudoku

Benchmark results:      Solved 8985618 out of 9000001 requested.
Out of the solved 0 were determined to be incorrect
Solver stats {
        Groups: (1 : 34489883)(2 : 146932)(3 : 6688)(4 : 116)
        Intersections: 95846
        XYChains: 85937
        Fish rules:
                X-Wing : 22540
                Swordfish : 2483
                Jellyfish : 43
        Finned Fish rules:
                Finned X-Wing : 5660
                Finned Swordfish : 1416
                Finned Jellyfish : 314
                Finned Squirmbag : 18
        XChains rules:
                XChain of size 4 : 91131
                XChain of size 6 : 6059
                XChain of size 8 : 303
                XChain of size 10 : 3
};