Skip to content

Picross (Nonogram) solver using Constraint Programming

Notifications You must be signed in to change notification settings

BenoitBOMPOL/PicrossSolverCP

Repository files navigation

Solving Picross using Constraint-Programming tools

Generic badge

  • Creation of a generic picross instance, loaded with ad-hoc .px files.

  • Creation of a picross-solver class, taking the .px file location as an input

  • First version consisted in enumeration of each solution for each row and each column.

  • Current versions tries to capture reasoning done by humans.

  • 🐖 : PIG (Picross Instance Generator), small python module creating .px instances.

  • 🧠 : Writing a checker, ensuring every solution is correct

Generic badge

  • ⚔️ : First version of the solver works well for middle-size grids, but fails to load whenever too many tuples are possible.
  • 🤔 : Current version does not (yet) capture every human reasoning, but bigger instances can be loaded. (Roughly every 15x15 grid can be solved)

Generic badge

  • ↪️ : Propagation of the constraints, looking for the level of consistency of our model.
  • 🚅 : Benchmarking : How many nodes are used ? How many tuples were enumerated ?

Generic badge

  • ⁉️ : Is there a model with the same consistencies, but using less tuples ?
    1. This can be done using DFAs (cf. Choco solver, however there is no DFA / regular on CPLEX).
  • ✍️ : Writing a small report on the whole process (cf. Overleaf ).

Generic badge

  • Algebraic formulation for a picross instance

About

Picross (Nonogram) solver using Constraint Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published