broesdecat / Minisatid

DPLL(T)-based search algorithm for ground input supporting inductively defined concepts, finite domain constraints, pseudo-boolean aggregates and subtheory queries (polynomial hierarchy expressivity).

Home Page:dtai.cs.kuleuven.be/krr/software/minisatid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is the readme for the MinisatID solver.
MinisatID is the search algorithm used in the knowledge base system IDP, supporting a ground fragment of the language FO(·)^IDP.

*** Features
- Accepts input in the languages CNF, ECNF (native format), OPB (pseudo-boolean) QBF, FlatZinc and ground Lparse.
- Can transform the input theory into CNF or FlatZinc.
- Extensible, open-source research solver.
- High performance: 4th place of 16 in the 2nd ASP competition, eye-to-eye with clasp (winner) in the NP category in the 3rd ASP competition.

*** Technology
- Extends the SAT solver MiniSat using the DPLL(T) architecture.
- Efficient propagation for pseudo-boolean aggregate expressions (e.g. cardinality).
- Unfounded set detection algorithms to support inductive definitions (e.g. reachability).
- Branch-and-bounds optimization.
- Lazy clause generation for finite domain constraints over integers.
- Interface for incrementally adding any type of variable or constraint, minimally disturbing the current state (used in lazy grounding algorithms).
- Developed by Broes De Cat and the KRR-group at KU Leuven (dtai.cs.kuleuven.be/krr).

*** Installing and running the system
Required software packages:
- C and C++ compiler, the C++11 standard. Examples are GCC 4.6 or higher, clang 3.2 or visual studio 11.
- Cmake build tools.
- Bison 2.6 and Flex parser generator software.
- Pdflatex and doxygen for building the documentation.

Assume MinisatID is unpacked in <minisatiddir>, you want to build in <builddir> (cannot be the same as <minisatiddir>) and install in <installdir>. 
Building and installing is then achieved by executing the following commands:
  cd <builddir>
  cmake <minisatiddir> -DCMAKE_INSTALL_PREFIX=<installdir> -DCMAKE_BUILD_TYPE="Release"
  make -j 4
  make test
  make install

Alternatively, cmake-gui can be used as a graphical way to set cmake options.

*** Further information
For more information on using the system, please check out our website dtai.cs.kuleuven.be/software/minisatid

About

DPLL(T)-based search algorithm for ground input supporting inductively defined concepts, finite domain constraints, pseudo-boolean aggregates and subtheory queries (polynomial hierarchy expressivity).

dtai.cs.kuleuven.be/krr/software/minisatid

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 69.3%Language:HTML 23.1%Language:C 3.1%Language:Python 2.8%Language:CMake 0.5%Language:Shell 0.4%Language:M4 0.3%Language:Makefile 0.3%Language:CSS 0.1%