This repository contains implementations of different approaches to solve nonogram puzzles (also known as Picross or Paint by Numbers).
The project is organized into the following directories:
Contains a traditional brute force nonogram solver implementation using the line search method.
Contains:
- SCIP binary solver in
./bindirectory - Enhanced nonogram class implementation with additional methods for:
- Generating random instances
- Saving puzzles in .lp format for SCIP input
- Shell scripts for running SCIP and logging solutions
Jupyter notebooks used for data analysis of the solver results using Python.
- Project report and summary
- Presentation slides
A nonogram is a picture logic puzzle where cells in a grid must be colored or left blank according to numbers given at the side of the grid to reveal a hidden picture. In our implementation, we explore both:
- Traditional line-by-line solving techniques
- Integer Programming approach using SCIP solver