|
Project Information
Featured
Downloads
|
Overviewevanescent is a collection of tools for reasoning in propositional logic and provides implementations of inference engines in the D programming language. The project is meant to be
StatusFor now the library focusses only on algorithms for the classical propositional satisfiability problem (SAT). The library includes a state-of-the-art SAT solver deescover written in D. At present, the deescover represents a port of the excellent MiniSAT solver written in C++ by Niklas Eén and Niklas Sörensson. deescover provides support for incremental SAT solving, i.e. solving series of similar SAT problems, as it is e.g. common for bounded-model checking and AI planning applications. Future PlansOne line of work will be the improvement and optimization of the search-based SAT solver deescover. First steps in this direction are ongoing. This includes low-level datastructure and representational changes as well as work on the heuristic parts of the solver. For instance, we want to add a variant of deescover that implements Decision-making with a Reference Point (DMRP) that has been introduced in 2008 by Goldberg. We might further add alternative algorithmic approaches to solve the SAT problem: local-search based algorithms (e.g. WalkSAT , UnitWalk) and some suppport for ordered binary decision diagrams (OBDDs) (perhaps simply an object-oriented wrapper to the CUDD library). Another line of work will be on introducing algorithms that can work with non-CNF based input, but with general formulae in propositional logic. It is well-known that such solver can outperform CNF-based solvers in specific applications. Concretely, we want to develop a DPLL-based Circuit-SAT solver. Further, we aim at providing fast and memory-efficient algorithms to the all-solutions SAT problem, i.e. compute all models of given a propositional formula. Such algorithms are interesting for model checking applications or compilation of formulae to OBDDs for instance. In the long run, we may also extend the library by algorithms for non-standard inference tasks which became interesting only recently and have applications in AI and Bioinformatics, e.g. weighted SAT-problems, pseudo-boolean constraints, model counting etc. Available Tools and Inference EnginesThe following inference engines and tools are part of the evanescent library:
ApplicationsTo demonstrate the use of the tools in the evanescent toolbox, we include the following applications
News
Related Sitesevanescent is also listed at the major forum for open-source projects in D, DSource.org. |