set-cover: Solve exact set cover problems like Sudoku, 8 Queens, Soma Cube, Tetris Cube

[ algorithms, bsd3, library, math ] [ Propose Tags ]

Solver for exact set cover problems. Included examples: Sudoku, Nonogram, 8 Queens, Domino tiling, Mastermind, Alphametics, Soma Cube, Tetris Cube, Cube of L's, Logika's Baumeister puzzle, Lonpos pyramid, Conway's 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.

The Sudoku and Nonogram examples also demonstrate how to interpret the set-cover solution in a human-friendly way.

Build examples with cabal install -fbuildExamples.

The package needs only Haskell 98. There is also an experimental implementation using LLVM and knead. Do not rely on that interface in released packages.

Versions [faq] 0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.5.1, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.1
Change log Changes.md
Dependencies array (>=0.4 && <0.6), base (==4.*), containers (>=0.4 && <0.7), enummapset (>=0.1 && <0.7), haha (>=0.3.1 && <0.4), non-empty (>=0.2 && <0.4), pooled-io (==0.0.*), prelude-compat (==0.*), psqueues (==0.2.*), random (>=1.0 && <1.2), semigroups (>=0.1 && <1.0), set-cover, transformers (>=0.2 && <0.6), unicode (==0.0.*), utility-ht (>=0.0.12 && <0.1) [details]
License BSD-3-Clause
Author Henning Thielemann, Helmut Podhaisky
Maintainer Henning Thielemann <haskell@henning-thielemann.de>
Category Math, Algorithms
Home page http://hub.darcs.net/thielema/set-cover/
Source repo this: darcs get http://hub.darcs.net/thielema/set-cover/ --tag 0.1
head: darcs get http://hub.darcs.net/thielema/set-cover/
Uploaded by HenningThielemann at Sat Aug 31 18:31:49 UTC 2019
Distributions NixOS:0.1, Stackage:0.0.9
Executables conway-puzzle, pangram, mastermind-knead, mastermind-setcover, nonogram, domino, alphametics, lonpos-pyramid, baumeister, lcube, sudoku-setcover, queen8, soma-cube, tetris-cube
Downloads 6003 total (355 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefaultType
buildexamples

Build example executables

DisabledAutomatic
llvm

Enable efficient signal processing using LLVM

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees