/Puzzle-Solver

šŸ§©Using backtracking algorithm to solve binary puzzles

Primary LanguagePython

PUZZLE SOLVER

A constraint satisfaction problem solver to solve the binary puzzle.

github-octocat

The Algorithm

We used a backtracking algorithm variation: forward-checking and MAC(Maintaining arc consistency) with a heuristic (MRV: Minimum Remaining Values) to improve the solving speed.

Constraints

ā€¢ Every row and column has an equal number of ones and zeros.

ā€¢ Numbers in each row and column should create a unique sequence.

ā€¢ Each row and column should not contain more than two same numbers in a row.

Built With

  • Python
  • Javascript
  • Eel library

Eel is a little Python library for making simple Electron-like offline HTML/JS GUI apps, with full access to Python capabilities and libraries.

In order to run the puzzle solver, you will need the library.

Show your support

Give a ā­ļø if you like this project!