Start the GUI app by running gui.py
:
python gui.py
Button | Feature |
---|---|
Generate | Generate new puzzle (not ready, restart the app to get a new one :D) |
Solve | Solve the puzzle |
Run | Automatically solve and run the solution step by step |
Previous Step | Navigate to the previous step of the solution |
Next Step | Navigate to the next step of the solution |
Skip | Skip all the steps and see the solution (quickly :) |
DFS/BeFS | Switch the search algorithm |
The default size of board is 5x5. You can customize it by modifying the following line:
NONOGRAM_BOARD_SIZE = 5
We do not recommend playing with any board larger than 7x7 :)
Run main.py
to check out the benchmarks (time and memory) of DFS (Depth First Search) and BeFS (Best First Search)
python main.py
There are six testcases for 5x5, 6x6 and 7x7 boards. After running the above command, the terminal will show the time and memory usage by DFS and BeFS. You can check out the files in output
to see each step.
We are highly inspired by the AIMA books and the AIMA code implementation using Python by Russell and Norvig.