Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pnv2003/nonogram-solver
Bot solving Nonogram puzzles using search problem models
https://github.com/pnv2003/nonogram-solver
ai heuristics nonogram nonogram-solver oekaki searching-algorithms tkinter
Last synced: about 2 months ago
JSON representation
Bot solving Nonogram puzzles using search problem models
- Host: GitHub
- URL: https://github.com/pnv2003/nonogram-solver
- Owner: pnv2003
- Created: 2024-04-06T00:27:14.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T03:36:30.000Z (4 months ago)
- Last Synced: 2024-09-14T16:23:17.942Z (4 months ago)
- Topics: ai, heuristics, nonogram, nonogram-solver, oekaki, searching-algorithms, tkinter
- Language: Python
- Homepage:
- Size: 86.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Searching Case Study: Nonogram
## How to use the GUI
Start the GUI app by running `gui.py`:
```bash
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:
```py
NONOGRAM_BOARD_SIZE = 5
```We do not recommend playing with any board larger than 7x7 :)
## Performance Testing
Run `main.py` to check out the benchmarks (time and memory) of DFS (Depth First Search) and BeFS (Best First Search)
```bash
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.
## Acknowledgements
We are highly inspired by the AIMA books and the AIMA code implementation using Python by Russell and Norvig.