Re: [Haskell-cafe] ANN: incremental-sat-solver

2009-01-29 Thread Sebastian Fischer
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

2009-01-28 Thread Sebastian Fischer

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

2009-01-28 Thread Denis Bueno
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