(this file is automatically generated from Java source)
Back to book index.

Satisfiablity (SAT) semi-datastructures and semi-algorithms :)

The support for SAT is currently minimal (heck, we don't even know if it is working :). Therefore, we will only present the existing APIs in this tutorial...

Lets just state that we are no experts on this subject. We have added these packages just in case you happen to be a SAT-guru...

Basic data structures

Skip this part if you don't care about the internal structure of the CNF formulas in JDD.

Basic SAT solvers

The class Solver is the base class for all CNF solvers: A solution is returned as a vector of integers (int []), where an value of 0 for position i means that variable i is assigned false, 1 means true and -1 means dont care.

The current solvers are:

The BDD solver is very inefficient. The GSAT solver are better implemented, but , as we all know, they have some algorithmic weaknesses...

These two performs so bad, they are not worth using anywhere...

We just got this to work: the Davis/(Putnam)/Logeman/Loveland algorithm. There are no heuristics at all (except for random choices :), so don't expect this solver to solve your DAC'05 benchmarks or anything even remotely hard...

(we migh add a DP or CalcRes solver soon)

Misc. SAT stuff

You would never guess what this class does ;)




Back to book index.