Re: [Haskell-cafe] ANN: incremental-sat-solver
Unlike 'sat' and 'sat-micro-hs' it is a library, and unlike 'libsat' it provides an interface for incremental solving. Funsat is also a library. By saying 'libsat' I actually meant 'funsat' ;) I have considered using it instead of writing 'incremental-sat-solver'. But after looking at your code briefly, I couldn't see easily how to add an interface for incremental solving and decided to do another package. The code is structured in a way that it would possibly be straightforward to do incremental solving, but it is not designed for it. (If interested, see the function `Funsat.Solver.solveStep'. It is not exported, but it could be.) Thanks for your hint. It would be nice to have the efficiency of your library with the interface of mine. Cheers, Sebastian ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] ANN: incremental-sat-solver
Simple, Incremental SAT Solving as a Library This Haskell library provides an implementation of the Davis-Putnam- Logemann-Loveland algorithm (cf. http://en.wikipedia.org/wiki/DPLL_algorithm ) for the boolean satisfiability problem. It not only allows to solve boolean formulas in one go but also to add constraints and query bindings of variables incrementally. The implementation is not sophisticated at all but uses the basic DPLL algorithm with unit propagation. The package is available at: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/incremental-sat-solver Unlike 'sat' and 'sat-micro-hs' it is a library, and unlike 'libsat' it provides an interface for incremental solving. On the other hand, the implementation is much simpler (and probably less efficient) than 'libsat's. You are invited to improve on that, if you like. The code is on github: http://github.com/sebfisch/incremental-sat-solver Cheers, Sebastian ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] ANN: incremental-sat-solver
On Wed, Jan 28, 2009 at 13:32, Sebastian Fischer s...@informatik.uni-kiel.de wrote: Simple, Incremental SAT Solving as a Library This Haskell library provides an implementation of the Davis-Putnam-Logemann-Loveland algorithm (cf. http://en.wikipedia.org/wiki/DPLL_algorithm) for the boolean satisfiability problem. It not only allows to solve boolean formulas in one go but also to add constraints and query bindings of variables incrementally. Nice! The implementation is not sophisticated at all but uses the basic DPLL algorithm with unit propagation. The package is available at: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/incremental-sat-solver Unlike 'sat' and 'sat-micro-hs' it is a library, and unlike 'libsat' it provides an interface for incremental solving. Funsat is also a library. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/funsat The code is structured in a way that it would possibly be straightforward to do incremental solving, but it is not designed for it. (If interested, see the function `Funsat.Solver.solveStep'. It is not exported, but it could be.) If you're interested, my code is also on github, and includes some benchmark CNF problems in the bench/ subdirectory. http://github.com/dbueno/funsat/tree/master Denis ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe