Paradiseo-eo sources added

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
legrand 2006-12-12 14:49:08 +00:00
commit c3aec878e5
3609 changed files with 342772 additions and 0 deletions

View file

@ -0,0 +1,146 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>EO: eoDominanceMap&lt; EoType &gt; Class Template Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"> <form class="search" action="search.php" method="get">
<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
<h1>eoDominanceMap&lt; EoType &gt; Class Template Reference</h1>eoDominanceMap, utility class to calculate and maintain a map (std::vector&lt;std::vector&lt;bool&gt; &gt;) of pareto dominance statistics.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="eo_dominance_map_8h-source.html">eoDominanceMap.h</a>&gt;</code>
<p>
<p>Inheritance diagram for eoDominanceMap&lt; EoType &gt;:
<p><center><img src="classeo_dominance_map.png" usemap="#eoDominanceMap< EoType >_map" border="0" alt=""></center>
<map name="eoDominanceMap< EoType >_map">
<area href="classeo_u_f.html" alt="eoUF< const eoPop< EoType > &, void >" shape="rect" coords="158,56,464,80">
<area href="classeo_functor_base.html" alt="eoFunctorBase" shape="rect" coords="0,0,306,24">
</map>
<a href="classeo_dominance_map-members.html">List of all members.</a><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"><a class="anchor" name="a0" doxytag="eoDominanceMap::clear"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a0">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the map. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1" doxytag="eoDominanceMap::operator()"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a1">operator()</a> (const <a class="el" href="classeo_pop.html">eoPop</a>&lt; <a class="el" href="classeo_parse_tree.html">EoType</a> &gt; &amp;_pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update or create the dominance map. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2" doxytag="eoDominanceMap::remove"></a>
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a2">remove</a> (unsigned i)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the domination info for a given individual, thus nothing dominates it and it dominates nothing. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a3">setup</a> (const <a class="el" href="classeo_pop.html">eoPop</a>&lt; <a class="el" href="classeo_parse_tree.html">EoType</a> &gt; &amp;_pop)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create domination matrix from scratch. <a href="#a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a4">sum_dominators</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For all elements, returns the no. <a href="#a4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5" doxytag="eoDominanceMap::sum_dominants"></a>
std::vector&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classeo_dominance_map.html#a5">sum_dominants</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">For all elements, returns the number of elements that the element dominates Thus: higher is better It returns a std::vector&lt;double&gt; cuz that makes subsequent manipulation that much easier. <br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="r0" doxytag="eoDominanceMap::fitness"></a>
std::vector&lt; typename EoType::Fitness &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>fitness</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class EoType&gt;<br>
class eoDominanceMap&lt; EoType &gt;</h3>
eoDominanceMap, utility class to calculate and maintain a map (std::vector&lt;std::vector&lt;bool&gt; &gt;) of pareto dominance statistics.
<p>
It is set up such that<p>
if map[i][j] == true then i dominates j<p>
The dominance map can be used to perform pareto ranking (<a class="el" href="classeo_pareto_ranking.html">eoParetoRanking</a>) or non dominated sorting. For the latter, the <a class="el" href="classeo_dominance_map.html#a2">remove()</a> member function might come in handy.<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>make it an <a class="el" href="classeo_stat.html">eoStat</a>? </dd></dl>
<p>
<p>
Definition at line <a class="el" href="eo_dominance_map_8h-source.html#l00047">47</a> of file <a class="el" href="eo_dominance_map_8h-source.html">eoDominanceMap.h</a>.<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a3" doxytag="eoDominanceMap::setup"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EoType&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top">void <a class="el" href="classeo_dominance_map.html">eoDominanceMap</a>&lt; <a class="el" href="classeo_parse_tree.html">EoType</a> &gt;::setup </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">const <a class="el" href="classeo_pop.html">eoPop</a>&lt; <a class="el" href="classeo_parse_tree.html">EoType</a> &gt; &amp;&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>_pop</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Create domination matrix from scratch.
<p>
Complexity O(N^2)
<p>
Definition at line <a class="el" href="eo_dominance_map_8h-source.html#l00081">81</a> of file <a class="el" href="eo_dominance_map_8h-source.html">eoDominanceMap.h</a>.
<p>
Referenced by <a class="el" href="eo_dominance_map_8h-source.html#l00060">eoDominanceMap&lt; EOT &gt;::operator()()</a>. </td>
</tr>
</table>
<a class="anchor" name="a4" doxytag="eoDominanceMap::sum_dominators"></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" colspan="4">
template&lt;class EoType&gt; </td>
</tr>
<tr>
<td class="md" nowrap valign="top">std::vector&lt;double&gt; <a class="el" href="classeo_dominance_map.html">eoDominanceMap</a>&lt; <a class="el" href="classeo_parse_tree.html">EoType</a> &gt;::sum_dominators </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap> const<code> [inline]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</td>
<td>
<p>
For all elements, returns the no.
<p>
of elements that dominate the element Thus: lower is better (and 0 is the front). It returns a std::vector&lt;double&gt; cuz that makes subsequent manipulation that much easier
<p>
Definition at line <a class="el" href="eo_dominance_map_8h-source.html#l00118">118</a> of file <a class="el" href="eo_dominance_map_8h-source.html">eoDominanceMap.h</a>.
<p>
Referenced by <a class="el" href="eo_pareto_ranking_8h-source.html#l00050">eoParetoRanking&lt; EOT &gt;::calculate_worths()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="eo_dominance_map_8h-source.html">eoDominanceMap.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Thu Oct 19 05:06:46 2006 for EO by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>