<!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: BlindSatSolver Class Reference</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 class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class List</span></a></li>
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class Members</span></a></li>
</ul>
</div>
<div class="nav">
<a class="el" href="namespaceFastSatSolver.html">FastSatSolver</a>::<a class="el" href="classFastSatSolver_1_1BlindSatSolver.html">BlindSatSolver</a></div>
<h1>BlindSatSolver Class Reference<br>
<small>
[<a class="el" href="group__SatSolver.html">SAT Solver</a>]</small>
</h1><!-- doxytag: class="FastSatSolver::BlindSatSolver" --><!-- doxytag: inherits="FastSatSolver::AbstractSatSolver" --><code>#include <<a class="el" href="BlindSatSolver_8h-source.html">BlindSatSolver.h</a>></code>
<p>
<div class="dynheader">
Inheritance diagram for BlindSatSolver:</div>
<div class="dynsection">
<p><center><img src="classFastSatSolver_1_1BlindSatSolver__inherit__graph.png" border="0" usemap="#BlindSatSolver__inherit__map" alt="Inheritance graph"></center>
<map name="BlindSatSolver__inherit__map">
<area shape="rect" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class." alt="" coords="132,304,276,331"><area shape="rect" href="classFastSatSolver_1_1AbstractProcessWatched.html" title="Multi-step process with time-watch extension." alt="" coords="109,229,299,256"><area shape="rect" href="classFastSatSolver_1_1AbstractProcess.html" title="Base class of simple multi-step process." alt="" coords="69,155,200,181"><area shape="rect" href="classFastSatSolver_1_1AbstractSubject.html" title="Simple subject's base class." alt="" coords="5,80,136,107"><area shape="rect" href="classFastSatSolver_1_1ISubject.html" title="Simple observer's subject base class." alt="" coords="33,5,108,32"><area shape="rect" href="classFastSatSolver_1_1IProcess.html" title="Continous process interface." alt="" coords="160,80,237,107"><area shape="rect" href="classFastSatSolver_1_1IStopWatch.html" title="Interface of time-watchable activity." alt="" coords="224,155,323,181"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for BlindSatSolver:</div>
<div class="dynsection">
<p><center><img src="classFastSatSolver_1_1BlindSatSolver__coll__graph.png" border="0" usemap="#BlindSatSolver__coll__map" alt="Collaboration graph"></center>
<map name="BlindSatSolver__coll__map">
<area shape="rect" href="classFastSatSolver_1_1AbstractSatSolver.html" title="SAT Solver base class." alt="" coords="335,368,479,395"><area shape="rect" href="classFastSatSolver_1_1AbstractProcessWatched.html" title="Multi-step process with time-watch extension." alt="" coords="268,277,457,304"><area shape="rect" href="classFastSatSolver_1_1AbstractProcess.html" title="Base class of simple multi-step process." alt="" coords="153,187,284,213"><area shape="rect" href="classFastSatSolver_1_1AbstractSubject.html" title="Simple subject's base class." alt="" coords="25,96,156,123"><area shape="rect" href="classFastSatSolver_1_1ISubject.html" title="Simple observer's subject base class." alt="" coords="5,5,80,32"><area shape="rect" href="structFastSatSolver_1_1AbstractSubject_1_1Private.html" title="Private" alt="" coords="104,5,173,32"><area shape="rect" href="classFastSatSolver_1_1IProcess.html" title="Continous process interface." alt="" coords="180,96,257,123"><area shape="rect" href="structFastSatSolver_1_1AbstractProcess_1_1Private.html" title="Private" alt="" coords="281,96,351,123"><area shape="rect" href="classFastSatSolver_1_1IStopWatch.html" title="Interface of time-watchable activity." alt="" coords="308,187,407,213"><area shape="rect" href="structFastSatSolver_1_1AbstractProcessWatched_1_1Private.html" title="Private" alt="" coords="431,187,500,213"><area shape="rect" href="structFastSatSolver_1_1BlindSatSolver_1_1Private.html" title="Private" alt="" coords="517,368,587,395"><area shape="rect" href="classFastSatSolver_1_1SatItemVector.html" title="Linear storage container for ISatItem objects." alt="" coords="493,277,611,304"><area shape="rect" href="structFastSatSolver_1_1SatItemVector_1_1Private.html" title="Private" alt="" coords="524,187,593,213"><area shape="rect" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module's facade." alt="" coords="635,277,733,304"><area shape="rect" href="structFastSatSolver_1_1SatProblem_1_1Private.html" title="Private" alt="" coords="649,187,719,213"><area shape="rect" href="classFastSatSolver_1_1FormulaContainer.html" title="Container for evaluable formulas." alt="" coords="447,96,588,123"><area shape="rect" href="structFastSatSolver_1_1FormulaContainer_1_1Private.html" title="Private" alt="" coords="483,5,552,32"><area shape="rect" href="classFastSatSolver_1_1VariableContainer.html" title="Container for variables names." alt="" coords="612,96,756,123"><area shape="rect" href="structFastSatSolver_1_1VariableContainer_1_1Private.html" title="Private" alt="" coords="649,5,719,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classFastSatSolver_1_1BlindSatSolver-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Solver using brute force method to solve SAT problem.
<p>Definition at line <a class="el" href="BlindSatSolver_8h-source.html#l00059">59</a> of file <a class="el" href="BlindSatSolver_8h-source.html">BlindSatSolver.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#1d787435ca6a07292943f11d39ee9f01">BlindSatSolver</a> (<a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> *problem, int stepWidth)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#b727e98ec0bf1ff968b16b74c82a7e00">~BlindSatSolver</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#0f8b9a0b5b88a1091aee75779d1b7cb7">getProblem</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module's facade.">SatProblem</a> used by solver. <a href="#0f8b9a0b5b88a1091aee75779d1b7cb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#7b0abc45218a7539d5c842d0d23d1c2e">getSolutionsCount</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns current count solutions founded by solver. <a href="#7b0abc45218a7539d5c842d0d23d1c2e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classFastSatSolver_1_1SatItemVector.html">SatItemVector</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#afe4f04b889ee848eb52271ea1f4f9ef">getSolutionVector</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a set of solutions founded by solver. <a href="#afe4f04b889ee848eb52271ea1f4f9ef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#3e12cbdb3e43385dc45fc10f703af769">minFitness</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns fitness of the Worst solution managed by solver. <a href="#3e12cbdb3e43385dc45fc10f703af769"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#c38f955a6e6a313249883aa555ab36b6">avgFitness</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns average fitness computed by solver. <a href="#c38f955a6e6a313249883aa555ab36b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#a4ff4f00ef1022a70f538e32d7a2e07b">maxFitness</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the Best fitness founded by solver. <a href="#a4ff4f00ef1022a70f538e32d7a2e07b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#60de64d75454385b23995437f1d72669">start</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Start process execution. This method returns control after process ends (or after it is stopped by <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> or <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55" title="Reset process to its initial state.">reset()</a> method). <a href="#60de64d75454385b23995437f1d72669"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846">stop</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Stop currently executed process as soon as possible. <a href="#8c528baf37154d347366083f0f816846"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55">reset</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset process to its initial state. <a href="#d20897c5c8bd47f5d4005989bead0e55"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#57e2ab43bf94f9adc686e788f8771681">getTimeElapsed</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns time elapsed by activity. <a href="#57e2ab43bf94f9adc686e788f8771681"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractProcess.html#14fa4258dc9ab261c5d4026ae3dfc882">getStepsCount</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns current step number. <a href="#14fa4258dc9ab261c5d4026ae3dfc882"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractSubject.html#05bf56954cced132e03ec548c0557c88">addObserver</a> (<a class="el" href="classFastSatSolver_1_1IObserver.html">IObserver</a> *)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Add observer to list of listeners. <a href="#05bf56954cced132e03ec548c0557c88"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#25a40b6614565f755233080a384c35f1">initialize</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize process. <a href="#25a40b6614565f755233080a384c35f1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html#931514cf013abbc0b9511a44c1f7fe48">doStep</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Do one step of process. <a href="#931514cf013abbc0b9511a44c1f7fe48"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFastSatSolver_1_1AbstractSubject.html#7ff19734eb024bd6f3e2ad95647b1b27">notify</a> ()</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Send notification to all observers (listeners). <a href="#7ff19734eb024bd6f3e2ad95647b1b27"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structFastSatSolver_1_1BlindSatSolver_1_1Private.html">Private</a></td></tr>
</table>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="1d787435ca6a07292943f11d39ee9f01"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::BlindSatSolver" ref="1d787435ca6a07292943f11d39ee9f01" args="(SatProblem *problem, int stepWidth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classFastSatSolver_1_1BlindSatSolver.html">BlindSatSolver</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> * </td>
<td class="paramname"> <em>problem</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>stepWidth</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>problem</em> </td><td><a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module's facade.">SatProblem</a> instance containing SAT problem to solve. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>stepWidth</em> </td><td>Number of bits explored in one step. This influences the granullarity of notifications and process control. Recomended value for ordinary machines is 16. </td></tr>
</table>
</dl>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00068">68</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00054">BlindSatSolver::Private::end</a>, <a class="el" href="SatProblem_8cpp-source.html#l00165">SatProblem::getVarsCount()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00061">BlindSatSolver::Private::init()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00052">BlindSatSolver::Private::problem</a>, and <a class="el" href="BlindSatSolver_8cpp-source.html#l00053">BlindSatSolver::Private::stepWidth</a>.</p>
</div>
</div><p>
<a class="anchor" name="b727e98ec0bf1ff968b16b74c82a7e00"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::~BlindSatSolver" ref="b727e98ec0bf1ff968b16b74c82a7e00" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">~<a class="el" href="classFastSatSolver_1_1BlindSatSolver.html">BlindSatSolver</a> </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00081">81</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="0f8b9a0b5b88a1091aee75779d1b7cb7"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::getProblem" ref="0f8b9a0b5b88a1091aee75779d1b7cb7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classFastSatSolver_1_1SatProblem.html">SatProblem</a> * getProblem </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module's facade.">SatProblem</a> used by solver.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns pointer to instance of <a class="el" href="classFastSatSolver_1_1SatProblem.html" title="SAT Problem module's facade.">SatProblem</a> used by solver. </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#bf3d0f5a5273e99c718f39966456814b">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00084">84</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00052">BlindSatSolver::Private::problem</a>.</p>
</div>
</div><p>
<a class="anchor" name="7b0abc45218a7539d5c842d0d23d1c2e"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::getSolutionsCount" ref="7b0abc45218a7539d5c842d0d23d1c2e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getSolutionsCount </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns current count solutions founded by solver.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns current count solutions founded by solver. </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#f70c2c7822e8a563a1685c9b68d5cc4a">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00087">87</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00173">SatItemVector::getLength()</a>, and <a class="el" href="BlindSatSolver_8cpp-source.html#l00059">BlindSatSolver::Private::resultSet</a>.</p>
</div>
</div><p>
<a class="anchor" name="afe4f04b889ee848eb52271ea1f4f9ef"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::getSolutionVector" ref="afe4f04b889ee848eb52271ea1f4f9ef" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classFastSatSolver_1_1SatItemVector.html">SatItemVector</a> * getSolutionVector </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns a set of solutions founded by solver.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns on heap allocated instance of <a class="el" href="classFastSatSolver_1_1SatItemVector.html" title="Linear storage container for ISatItem objects.">SatItemVector</a> containing solutions founded by solver. </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#958ccb4759e38d9941f37717cf860bce">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00090">90</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00059">BlindSatSolver::Private::resultSet</a>.</p>
</div>
</div><p>
<a class="anchor" name="3e12cbdb3e43385dc45fc10f703af769"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::minFitness" ref="3e12cbdb3e43385dc45fc10f703af769" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float minFitness </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns fitness of the Worst solution managed by solver.
<p>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#d1d0057d2029d7bfbf25323ab7c3b6ec">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00093">93</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00056">BlindSatSolver::Private::minFitness</a>.</p>
<p>Referenced by <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">BlindSatSolver::doStep()</a>.</p>
</div>
</div><p>
<a class="anchor" name="c38f955a6e6a313249883aa555ab36b6"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::avgFitness" ref="c38f955a6e6a313249883aa555ab36b6" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float avgFitness </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns average fitness computed by solver.
<p>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#1d214769e7d45e9fd04601b31adb8c70">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00096">96</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00055">BlindSatSolver::Private::current</a>, and <a class="el" href="BlindSatSolver_8cpp-source.html#l00058">BlindSatSolver::Private::sumFitness</a>.</p>
</div>
</div><p>
<a class="anchor" name="a4ff4f00ef1022a70f538e32d7a2e07b"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::maxFitness" ref="a4ff4f00ef1022a70f538e32d7a2e07b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">float maxFitness </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the Best fitness founded by solver.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This should be always 1.0 if solution was found. </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractSatSolver.html#5f493f0ddbb31c2e3fa53153b67501e6">AbstractSatSolver</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00099">99</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="BlindSatSolver_8cpp-source.html#l00057">BlindSatSolver::Private::maxFitness</a>.</p>
</div>
</div><p>
<a class="anchor" name="25a40b6614565f755233080a384c35f1"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::initialize" ref="25a40b6614565f755233080a384c35f1" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void initialize </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initialize process.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>template</b> <b>method</b> </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#a5085af8ee5e5c39b4c20c60231e5c92">AbstractProcess</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00103">103</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00197">SatItemVector::clear()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00061">BlindSatSolver::Private::init()</a>, and <a class="el" href="BlindSatSolver_8cpp-source.html#l00059">BlindSatSolver::Private::resultSet</a>.</p>
</div>
</div><p>
<a class="anchor" name="931514cf013abbc0b9511a44c1f7fe48"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::doStep" ref="931514cf013abbc0b9511a44c1f7fe48" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void doStep </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [protected, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Do one step of process.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Design pattern <b>template</b> <b>method</b> </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#f40573eed2567df340143a72ddb6cd69">AbstractProcess</a>.</p>
<p>Definition at line <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">108</a> of file <a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00179">SatItemVector::addItem()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00045">LongSatItem::clone()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00055">BlindSatSolver::Private::current</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00054">BlindSatSolver::Private::end</a>, <a class="el" href="SatProblem_8cpp-source.html#l00182">SatProblem::getFormulasCount()</a>, <a class="el" href="SatProblem_8cpp-source.html#l00191">SatProblem::getSatsCount()</a>, <a class="el" href="SatProblem_8cpp-source.html#l00165">SatProblem::getVarsCount()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00057">BlindSatSolver::Private::maxFitness</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00056">BlindSatSolver::Private::minFitness</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00093">BlindSatSolver::minFitness()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00049">AbstractSubject::notify()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00052">BlindSatSolver::Private::problem</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00059">BlindSatSolver::Private::resultSet</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00053">BlindSatSolver::Private::stepWidth</a>, <a class="el" href="SatSolver_8cpp-source.html#l00117">AbstractProcessWatched::stop()</a>, and <a class="el" href="BlindSatSolver_8cpp-source.html#l00058">BlindSatSolver::Private::sumFitness</a>.</p>
</div>
</div><p>
<a class="anchor" name="60de64d75454385b23995437f1d72669"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::start" ref="60de64d75454385b23995437f1d72669" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void start </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Start process execution. This method returns control after process ends (or after it is stopped by <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> or <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#d20897c5c8bd47f5d4005989bead0e55" title="Reset process to its initial state.">reset()</a> method).
<p>
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#60de64d75454385b23995437f1d72669">AbstractProcess</a>.</p>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00111">111</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, <a class="el" href="SatSolver_8cpp-source.html#l00072">AbstractProcess::start()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00094">AbstractProcessWatched::Private::start</a>.</p>
</div>
</div><p>
<a class="anchor" name="8c528baf37154d347366083f0f816846"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::stop" ref="8c528baf37154d347366083f0f816846" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void stop </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Stop currently executed process as soon as possible.
<p>
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#8c528baf37154d347366083f0f816846">AbstractProcess</a>.</p>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00117">117</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00097">AbstractProcessWatched::Private::currentElapsed()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, <a class="el" href="SatSolver_8cpp-source.html#l00078">AbstractProcess::stop()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
<p>Referenced by <a class="el" href="GaSatSolver_8cpp-source.html#l00155">GaSatSolver::doStep()</a>, <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">BlindSatSolver::doStep()</a>, <a class="el" href="SatSolverObserver_8cpp-source.html#l00067">TimedStop::notify()</a>, and <a class="el" href="SatSolverObserver_8cpp-source.html#l00045">SolutionsCountStop::notify()</a>.</p>
</div>
</div><p>
<a class="anchor" name="d20897c5c8bd47f5d4005989bead0e55"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::reset" ref="d20897c5c8bd47f5d4005989bead0e55" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void reset </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Reset process to its initial state.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This implies <a class="el" href="classFastSatSolver_1_1AbstractProcessWatched.html#8c528baf37154d347366083f0f816846" title="Stop currently executed process as soon as possible.">stop()</a> if process is running. </dd></dl>
<p>Reimplemented from <a class="el" href="classFastSatSolver_1_1AbstractProcess.html#d20897c5c8bd47f5d4005989bead0e55">AbstractProcess</a>.</p>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00125">125</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00081">AbstractProcess::reset()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
</div>
</div><p>
<a class="anchor" name="57e2ab43bf94f9adc686e788f8771681"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::getTimeElapsed" ref="57e2ab43bf94f9adc686e788f8771681" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">long getTimeElapsed </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns time elapsed by activity.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns time elapsed by activity. </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1IStopWatch.html#f649f409444bc5f814164e072a4c38e7">IStopWatch</a>.</p>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00131">131</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00097">AbstractProcessWatched::Private::currentElapsed()</a>, <a class="el" href="SatSolver_8cpp-source.html#l00096">AbstractProcessWatched::Private::running</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00095">AbstractProcessWatched::Private::total</a>.</p>
<p>Referenced by <a class="el" href="SatSolverObserver_8cpp-source.html#l00147">ResultsWatch::notify()</a>, <a class="el" href="SatSolverObserver_8cpp-source.html#l00092">FitnessWatch::notify()</a>, and <a class="el" href="SatSolverObserver_8cpp-source.html#l00067">TimedStop::notify()</a>.</p>
</div>
</div><p>
<a class="anchor" name="14fa4258dc9ab261c5d4026ae3dfc882"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::getStepsCount" ref="14fa4258dc9ab261c5d4026ae3dfc882" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int getStepsCount </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns current step number.
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns current step number. </dd></dl>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00086">86</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00061">AbstractProcess::Private::steps</a>.</p>
<p>Referenced by <a class="el" href="SatSolverObserver_8cpp-source.html#l00180">ProgressWatch::notify()</a>.</p>
</div>
</div><p>
<a class="anchor" name="05bf56954cced132e03ec548c0557c88"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::addObserver" ref="05bf56954cced132e03ec548c0557c88" args="(IObserver *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void addObserver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classFastSatSolver_1_1IObserver.html">IObserver</a> * </td>
<td class="paramname"> <em>observer</em> </td>
<td> ) </td>
<td width="100%"><code> [virtual, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Add observer to list of listeners.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>observer</em> </td><td>Observer object to add to list of listeners. </td></tr>
</table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Observers are notified in the same order, as there are added to lsit of listeners. <p>
Design pattern <b>observer</b> </dd></dl>
<p>Implements <a class="el" href="classFastSatSolver_1_1ISubject.html#667a901632cfa1cf55790fed03a615c6">ISubject</a>.</p>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00046">46</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00036">AbstractSubject::Private::container</a>.</p>
<p>Referenced by <a class="el" href="fss_8cpp-source.html#l00046">main()</a>.</p>
</div>
</div><p>
<a class="anchor" name="7ff19734eb024bd6f3e2ad95647b1b27"></a><!-- doxytag: member="FastSatSolver::BlindSatSolver::notify" ref="7ff19734eb024bd6f3e2ad95647b1b27" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void notify </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [protected, inherited]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Send notification to all observers (listeners).
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Observers are notified in the same order, as there are added to lsit of listeners. </dd></dl>
<p>Definition at line <a class="el" href="SatSolver_8cpp-source.html#l00049">49</a> of file <a class="el" href="SatSolver_8cpp-source.html">SatSolver.cpp</a>.</p>
<p>References <a class="el" href="SatSolver_8cpp-source.html#l00036">AbstractSubject::Private::container</a>, and <a class="el" href="classFastSatSolver_1_1IObserver.html#db968cb3b9d5c0f9c62efbc1ea91de8d">IObserver::notify()</a>.</p>
<p>Referenced by <a class="el" href="BlindSatSolver_8cpp-source.html#l00108">BlindSatSolver::doStep()</a>, <a class="el" href="GaSatSolver_8cpp-source.html#l00165">GaSatSolver::Private::fitness()</a>, and <a class="el" href="SatSolver_8cpp-source.html#l00072">AbstractProcess::start()</a>.</p>
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="BlindSatSolver_8h-source.html">BlindSatSolver.h</a><li><a class="el" href="BlindSatSolver_8cpp-source.html">BlindSatSolver.cpp</a></ul>
<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>