Fast SAT Solver (C++, GAlib)
File detail
Source code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Fast SAT Solver: SAT Solver</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>SAT Solver</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Class <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class.">AbstractSatSolver</a> with its derived classes <a class="el" href="classFastSatSolver_1_1BlindSatSolver.html" title="Solver using brute force method to solve SAT problem.">BlindSatSolver</a> and <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a> and their observers.
<p>
<b>SAT</b> <b>solvers:</b> <ul>
<li>Class <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a> - solver using GAlib library to solve SAT problem</li><li>Class <a class="el" href="classFastSatSolver_1_1BlindSatSolver.html" title="Solver using brute force method to solve SAT problem.">BlindSatSolver</a> - solver using brute force method to solve SAT problem</li><li>Class <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class.">AbstractSatSolver</a> - common interface of both solvers</li></ul>
<p>
<b>Observers:</b> <ul>
<li>Class <a class="el" href="classFastSatSolver_1_1TimedStop.html" title="Observer which stops process after specified time.">TimedStop</a> - observer which stops process after specified time</li><li>Class <a class="el" href="classFastSatSolver_1_1SolutionsCountStop.html" title="Observer which stop solver after specified count of solutions is found.">SolutionsCountStop</a> - Observer which stop solver after specified count of solutions is found.</li><li>Class <a class="el" href="classFastSatSolver_1_1ProgressWatch.html" title="Observer which write out progress percentage when it is changed.">ProgressWatch</a> - Observer which write out progress percentage when it is changed.</li><li>Class <a class="el" href="classFastSatSolver_1_1FitnessWatch.html" title="Observer which write out message when maxFitness value is increased.">FitnessWatch</a> - Observer which write out message when maxFitness value is increased.</li><li>Class <a class="el" href="classFastSatSolver_1_1ResultsWatch.html" title="Observer which write out message when solution is found.">ResultsWatch</a> - Observer which write out message when solution is found. </li></ul>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Files</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="BlindSatSolver_8h.html">BlindSatSolver.h</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">BlindSatSolver class using brute force method to solve SAT problem. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="GaSatSolver_8h.html">GaSatSolver.h</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">GaSatSolver class using GAlib library to solve SAT problem. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="SatSolver_8h.html">SatSolver.h</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">ISatItem, IObserver and AbstractSatSolver with its base classes. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file </td><td class="memItemRight" valign="bottom"><a class="el" href="SatSolverObserver_8h.html">SatSolverObserver.h</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Set of useful observers attachable to AbstractSatSolver or its base classes. <br></td></tr>
<p>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1LongSatItem.html">LongSatItem</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">ISatItem</a> implementation used by <a class="el" href="classFastSatSolver_1_1BlindSatSolver.html" title="Solver using brute force method to solve SAT problem.">BlindSatSolver</a>. <a href="classFastSatSolver_1_1LongSatItem.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html">BlindSatSolver</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Solver using brute force method to solve SAT problem. <a href="classFastSatSolver_1_1BlindSatSolver.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatItem.html">GaSatItem</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">ISatItem</a> implementation used by <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a>. <a href="classFastSatSolver_1_1GaSatItem.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1SatItemGalibAdatper.html">SatItemGalibAdatper</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Leightweight, optimized <a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">ISatItem</a> implementation used by <a class="el" href="classFastSatSolver_1_1GaSatSolver.html" title="Solver using GAlib library to solve SAT problem.">GaSatSolver</a> time-critical parts of code. <a href="classFastSatSolver_1_1SatItemGalibAdatper.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1GaSatSolver.html">GaSatSolver</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Solver using GAlib library to solve SAT problem. <a href="classFastSatSolver_1_1GaSatSolver.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractSubject.html">AbstractSubject</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple subject's base class. <a href="classFastSatSolver_1_1AbstractSubject.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcess.html">AbstractProcess</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class of simple multi-step process. <a href="classFastSatSolver_1_1AbstractProcess.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html">AbstractProcessWatched</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Multi-step process with time-watch extension. <a href="classFastSatSolver_1_1AbstractProcessWatched.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1SatItemVector.html">SatItemVector</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Linear storage container for <a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">ISatItem</a> objects. <a href="classFastSatSolver_1_1SatItemVector.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1SatItemSet.html">SatItemSet</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Associative array for <a class="el" href="classFastSatSolver_1_1ISatItem.html" title="Abstraction of solution candidate.">ISatItem</a> objects. <a href="classFastSatSolver_1_1SatItemSet.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html">AbstractSatSolver</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">SAT Solver base class. <a href="classFastSatSolver_1_1AbstractSatSolver.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1TimedStop.html">TimedStop</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Observer which stops process after specified time. <a href="classFastSatSolver_1_1TimedStop.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1ProgressWatch.html">ProgressWatch</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Observer which write out progress percentage when it is changed. <a href="classFastSatSolver_1_1ProgressWatch.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1SolutionsCountStop.html">SolutionsCountStop</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Observer which stop solver after specified count of solutions is found. <a href="classFastSatSolver_1_1SolutionsCountStop.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1FitnessWatch.html">FitnessWatch</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Observer which write out message when maxFitness value is increased. <a href="classFastSatSolver_1_1FitnessWatch.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1ResultsWatch.html">ResultsWatch</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Observer which write out message when solution is found. <a href="classFastSatSolver_1_1ResultsWatch.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">interface </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1ISatItem.html">ISatItem</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Abstraction of solution candidate. <a href="classFastSatSolver_1_1ISatItem.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">interface </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1IObserver.html">IObserver</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple observer's base class. <a href="classFastSatSolver_1_1IObserver.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">interface </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1ISubject.html">ISubject</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Simple observer's subject base class. <a href="classFastSatSolver_1_1ISubject.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">interface </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1IProcess.html">IProcess</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Continous process interface. <a href="classFastSatSolver_1_1IProcess.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">interface </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1IStopWatch.html">IStopWatch</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interface of time-watchable activity. <a href="classFastSatSolver_1_1IStopWatch.html#_details">More...</a><br></td></tr>
</table>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Nov 5 22:30:22 2008 for Fast SAT Solver by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>