set-cover

Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube http://hub.darcs.net/thielema/set-cover/

LTS Haskell 9.14:0.0.8
Stackage Nightly 2017-11-22:0.0.8
Latest on Hackage:0.0.8
BSD3 licensed by Henning Thielemann, Helmut Podhaisky

Solver for exact set cover problems. Included examples: Sudoku, Nonogram, 8 Queens, Domino tiling, Mastermind, Soma Cube, Tetris Cube, Cube of L's, Logika's Baumeister puzzle. The generic algorithm allows to choose between slow but flexible Set from containers package and fast but cumbersome bitvectors.

For getting familiar with the package I propose to study the Queen8 example along with Math.SetCover.Exact.

Build examples with cabal install -fbuildExamples.

The package needs only Haskell 98.

Changes

Change log for the set-cover package

0.0.8

  • SetCover.Exact.Priority implements the Algorithm X using a priority queue that registers the sets each element is contained in. This allows for drastic speedup of the Nonogram example.

0.0.7

  • ESC.bitVectorFromSetAssigns allows to turn sets into bit vectors without manual bit position gymnastics.

  • Use it in Sudoku and Nonogram examples.

0.0.6

  • Add SetCover.Exact.Set instances for Map, Integer, IntSet.

0.0.5.1

  • example/Nonogram: explore different encodings of the problem
comments powered byDisqus