Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7473fb15bcd876d1fa71e7352b04009d > files > 6

glueminisat-2.2.5-3.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>An Introduction to GlueMiniSat</title>
<meta name="description" content="A brief user guide for the GlueMiniSat boolean satisfiability problem (SAT) solver.">
<meta name="keywords" content="GlueMiniSat, SAT, satisfiability, boolean satisfiability solver, propositional satisfiability solver, formal methods">
<meta name="generator" content="vim">
</head>
<body lang="en">
<h1 align="center">An Introduction to GlueMiniSat</h1>
<h2>Boolean, Propositional SAT Solvers</h2>
The development of
<a href="http://en.wikipedia.org/wiki/Satisfiability">boolean, propositional satisfiability</a>
(SAT) solvers has been an active and fluid area of research since
the 1990's. Most of the contemporary SAT solvers that are efficient,
and complete are still based on the now 50 year old
<a href="http://en.wikipedia.org/wiki/DPLL_algorithm">Davis, Putnam, Logemann, Loveland (DPLL) algorithm</a>
with some unique <a href="http://en.wikipedia.org/wiki/Constraint_learning">constraint learning</a>
algorithm. Many of the new ideas in the area of conflict-driven clause
learning (CDCL) solvers are implemented using the open source
<a href="http://minisat.se/">MiniSat</a> solver as a starting point.
There is an active
<a href=" http://groups.google.com/group/minisat">MiniSat developers forum</a>
on Google groups. Given the fluid nature of the research, detailed
documentation is sometimes hard to come by. This document will hopefully
be of some help to users that have just recently become acquainted with
the community.
<p>
<h2>About GlueMiniSat</h2>
<p>
GlueMiniSat is a 
<a href="http://en.wikipedia.org/wiki/Satisfiability">boolean, propositional satisfiability</a>
(SAT) problem solver developed by Hidetomo Nabeshima, Koji Iwanuma, and Katsumi
Inoue of the University of Yamanashi, Japan. It is a derivative work of
the open source <a href="http://minisat.se/MiniSat.html">MiniSat 2.2</a>
solver, and implements a form of the literal blocks distance (LBD) evaluation
criteria to predict the quality of clauses learned when conflicts are
encountered in the search process.
</p>
<h2>Background Theory</h2>
<p>
The underlying concepts of literal blocks distance were first introduced
in reference <a href="#REF01">[1]</a>. The authors' implementation of LBD,
the Glucose 1.0 SAT solver, performed admirably by placing 2-nd at the
<a href="http://www.cril.univ-artois.fr/SAT09/">International 2009 SAT
competition</a> in the Applications (UNSAT) category. Further information
can be found at the <a href="http://www.lri.fr/~simon/glucose">Glucose Home Page</a>.
</p>
<p>
GlueMiniSat uses a slightly restricted concept of LBD, called strict
LBD, and a dynamic restart strategy based on local averages of the
decision levels and the LBDs of learned clauses. Experimental results
show that GlueMiniSat also performs very well on SAT instances that
are unsatisfiable. GlueMiniSat earned 1-st place at the
<a href="http://www.cril.univ-artois.fr/SAT11/">International 2011
SAT competition </a> in the Applications (UNSAT) category, solving 126
of 142 problem instances. A more detailed discussion of the author's
variation of LBD in GlueMiniSat can be found in reference
<a href="#REF02">[2]</a>.
</p>
<h2>Using GlueMiniSat</h2>
<p>
Since GlueMiniSat is based on the open source MiniSat 2.2 SAT solver, it
supports all of the command line options that are supported by MiniSat 2.2.
David Wheeler has written a short User Guide for MiniSat (reference
<a href="#REF03">[3])</a>) that is accordingly applicable to GlueMiniSat. 
The document also provides a simple introduction to the boolean satisfiability
problem making it useful to readers looking for a SAT tutorial.
<p>
Note that GlueMiniSat can also run as a "clone" of the MiniSat 2.2 or
Glucose 1.0 SAT solvers by specifying the command line options -minisat
or -glucose, respectively. A brief overview of the command line options
that provide more detailed control of GlueMiniSat's implementation of LBD
can be obtained by executing glueminisat with the --help-verb option.
</p>
<h2>References, Resources</h2>
<p>
<ol>
<li value="1" id="REF01">"Predicting learnt clauses quality in modern SAT
solvers" by Gilles Audemard and Laurent Simon, Proceedings of IJCAI-2009,
pages 399-404, 2009.
<a href="http://ijcai.org/papers09/Papers/IJCAI09-074.pdf">[PDF]</a>
<li value="2" id="REF02">"System description of GlueMiniSat 2.2.5" by
Hidetomo Nabeshima, Koji Iwanuma, and Katsumi Inoue, Mar 2011. From the
<a href="http://glueminisat.nabelab.org/">GlueMiniSat Home Page</a>.
<a href="http://glueminisat.nabelab.org/home/download/glueminisat2.2.5.pdf?attredirects=0&d=1">[PDF]</a>
<li value="3" id="REF03"><a href="http://www.dwheeler.com/essays/minisat-user-guide.html">User Guide for MiniSat</a>
by <a href="http://www.dwheeler.com">David Wheeler</a>.
</ol>
</p>
</body>
</html>