aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a02929.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a02929.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to 'docs/doxygen/nel/a02929.html')
-rw-r--r--docs/doxygen/nel/a02929.html1237
1 files changed, 1237 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a02929.html b/docs/doxygen/nel/a02929.html
new file mode 100644
index 00000000..4d2d68dc
--- /dev/null
+++ b/docs/doxygen/nel/a02929.html
@@ -0,0 +1,1237 @@
+<!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>NeL: NLAINIMAT::CMHiCSbase class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<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="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">Data&nbsp;Structures</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">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</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>NLAINIMAT::CMHiCSbase Class Reference</h1><code>#include &lt;<a class="el" href="a06033.html">mhics.h</a>&gt;</code>
+<p>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+A Modular Hierarchical Classifier System. This is the base component where all rules are stored. <dl compact><dt><b>Author:</b></dt><dd>Gabriel ROBERT <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06033.html#l00122">122</a> of file <a class="el" href="a06033.html">mhics.h</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>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea0">addActionCS</a> (const <a class="el" href="a02158.html">CActionClassifiers</a> &amp;action)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new action in the net. <a href="#NLAINIMAT_1_1CMHiCSbasea0"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea1">addVirtualActionCS</a> (const <a class="el" href="a02158.html">CActionClassifiers</a> &amp;action)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea2">CMHiCSbase</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea3">dbgPrintClassifierPriorityInFile</a> (std::string fileName) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea4">dividePriorityByTheMinPriorityPartInAMotivation</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05371.html#a101">TAction</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea5">getActionPart</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, <a class="el" href="a05371.html#a7">TClassifierNumber</a> classifierNumber) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea6">getDebugString</a> (std::string &amp;<a class="el" href="a04223.html#a627">t</a>) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Chaine de debug. <a href="#NLAINIMAT_1_1CMHiCSbasea6"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02342.html">CClassifierPriority</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea7">getPriorityPart</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, <a class="el" href="a05371.html#a7">TClassifierNumber</a> classifierNumber) const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea8">isAnAction</a> (<a class="el" href="a05371.html#a101">TAction</a> behav) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To now if a behav selected by a CS is an action (if not, it's a common CS). <a href="#NLAINIMAT_1_1CMHiCSbasea8"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea9">learningUpdatePriorityValueClassifierTime</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, <a class="el" href="a05371.html#a7">TClassifierNumber</a> classifierNumber, <a class="el" href="a04558.html#a11">uint32</a> time)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea10">learningUpdatePriorityValueTimeToSuccess</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, <a class="el" href="a05371.html#a7">TClassifierNumber</a> classifierNumber, <a class="el" href="a04558.html#a11">uint32</a> timeToSuccess)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update a priority value in learning mode. <a href="#NLAINIMAT_1_1CMHiCSbasea10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea11">loadClassifierFromFile</a> (std::string fileName)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load classifiers from a file. Return false if thereis a probleme. <a href="#NLAINIMAT_1_1CMHiCSbasea11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea12">printDebugString</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea13">selectBehavior</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, const <a class="el" href="a02422.html">CCSPerception</a> *psensorMap, std::multimap&lt; <a class="el" href="a02342.html">CClassifierPriority</a>, std::pair&lt; <a class="el" href="a05371.html#a7">TClassifierNumber</a>, <a class="el" href="a05371.html#a13">TTargetId</a> &gt; &gt; &amp;mapActivableCS)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea14">setPriorityValue</a> (<a class="el" href="a05371.html#a99">TMotivation</a> motivationName, <a class="el" href="a05371.html#a7">TClassifierNumber</a> classifierNumber, <a class="el" href="a02342.html">CClassifierPriority</a> priority)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a new value for a classifier priority. <a href="#NLAINIMAT_1_1CMHiCSbasea14"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea15">~CMHiCSbase</a> ()</td></tr>
+
+<tr><td colspan=2><br><h2>Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02159.html">CActionResources</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaseo0">pActionResources</a></td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::set&lt; <a class="el" href="a05371.html#a101">TAction</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; <a class="el" href="a05371.html#a99">TMotivation</a>, <a class="el" href="a02343.html">CClassifierSystem</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::map&lt; <a class="el" href="a05371.html#a101">TAction</a>, <a class="el" href="a02343.html">CClassifierSystem</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a></td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea2" doxytag="NLAINIMAT::CMHiCSbase::CMHiCSbase" ></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" nowrap valign="top"> NLAINIMAT::CMHiCSbase::CMHiCSbase </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></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00212">212</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00185">pActionResources</a>.
+<p>
+<div class="fragment"><pre>00213 {
+00214 <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaseo0">pActionResources</a> = <span class="keyword">new</span> CActionResources();
+00215 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea15" doxytag="NLAINIMAT::CMHiCSbase::~CMHiCSbase" ></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" nowrap valign="top"> NLAINIMAT::CMHiCSbase::~<a class="el" href="a02929.html">CMHiCSbase</a> </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><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00217">217</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00185">pActionResources</a>.
+<p>
+<div class="fragment"><pre>00218 {
+00219 <span class="keyword">delete</span> <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaseo0">pActionResources</a>;
+00220 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea0" doxytag="NLAINIMAT::CMHiCSbase::addActionCS" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::addActionCS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02158.html">CActionClassifiers</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>action</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add a new action in the net.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00249">249</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00190">_ActionSet</a>, <a class="el" href="a05371.html#a101a75">NLAINIMAT::Action_VIRTUAL_ACTIONS</a>, <a class="el" href="a06032.html#l00222">addVirtualActionCS()</a>, <a class="el" href="a05551.html#l00694">NLAINIMAT::CActionClassifiers::getName()</a>, and <a class="el" href="a05622.html#l00290">nlassert</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00391">loadClassifierFromFile()</a>.
+<p>
+<div class="fragment"><pre>00250 {
+00251 <a class="code" href="a04199.html#a6">nlassert</a> ( action.getName() &lt; <a class="code" href="a05371.html#a101a75">Action_VIRTUAL_ACTIONS</a>);
+00252 <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea1">addVirtualActionCS</a>(action);
+00253 <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.insert(action.getName());
+00254 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea1" doxytag="NLAINIMAT::CMHiCSbase::addVirtualActionCS" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::addVirtualActionCS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a02158.html">CActionClassifiers</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>action</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Add a new virtual action in the net. A virtual action is an action without operator wich is also a motivation. Exemple : Figthing is a virtual action. It may satisfy the anger motivation and is a motivation for guive a sword slash.
+<p>
+Definition at line <a class="el" href="a06032.html#l00222">222</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a06033.html#l00189">_VirtualActionClassifierSystems</a>, <a class="el" href="a05551.html#l00128">NLAINIMAT::CClassifierSystem::addClassifierSystem()</a>, <a class="el" href="a05551.html#l00715">NLAINIMAT::CActionClassifiers::getClassifiersByMotivationMap()</a>, <a class="el" href="a05551.html#l00719">NLAINIMAT::CActionClassifiers::getClassifiersByVirtualActionMap()</a>, <a class="el" href="a06363.html#l00185">NLAINIMAT::TAction</a>, and <a class="el" href="a06363.html#l00045">NLAINIMAT::TMotivation</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00249">addActionCS()</a>, and <a class="el" href="a06032.html#l00391">loadClassifierFromFile()</a>.
+<p>
+<div class="fragment"><pre>00223 {
+00224 <span class="keyword">const</span> std::map&lt;TMotivation, CClassifierSystem&gt; *mapActionByMotivation = action.getClassifiersByMotivationMap();
+00225 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator ItMapActionByMotivation;
+00226 <span class="keywordflow">for</span> (ItMapActionByMotivation = mapActionByMotivation-&gt;begin(); ItMapActionByMotivation != mapActionByMotivation-&gt;end(); ItMapActionByMotivation++)
+00227 {
+00228 CClassifierSystem* pCS;
+00229 <a class="code" href="a05371.html#a99">TMotivation</a> motivationName = (*ItMapActionByMotivation).first;
+00230 <span class="keyword">const</span> CClassifierSystem* pOtherCS = &amp;((*ItMapActionByMotivation).second);
+00231
+00232 pCS = &amp;(<a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>[motivationName]);
+00233 pCS-&gt;addClassifierSystem(*pOtherCS);
+00234 }
+00235
+00236 <span class="keyword">const</span> std::map&lt;TAction, CClassifierSystem&gt; *mapActionByVirtualAction = action.getClassifiersByVirtualActionMap();
+00237 std::map&lt;TAction, CClassifierSystem&gt;::const_iterator ItMapActionByVirtualAction;
+00238 <span class="keywordflow">for</span> (ItMapActionByVirtualAction = mapActionByVirtualAction-&gt;begin(); ItMapActionByVirtualAction != mapActionByVirtualAction-&gt;end(); ItMapActionByVirtualAction++)
+00239 {
+00240 CClassifierSystem* pCS;
+00241 <a class="code" href="a05371.html#a101">TAction</a> virtualActionName = (*ItMapActionByVirtualAction).first;
+00242 <span class="keyword">const</span> CClassifierSystem* pOtherCS = &amp;((*ItMapActionByVirtualAction).second);
+00243
+00244 pCS = &amp;(<a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>[virtualActionName]);
+00245 pCS-&gt;addClassifierSystem(*pOtherCS);
+00246 }
+00247 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea3" doxytag="NLAINIMAT::CMHiCSbase::dbgPrintClassifierPriorityInFile" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::dbgPrintClassifierPriorityInFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>fileName</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00531">531</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05708.html#l00531">NLMISC::COFile::close()</a>, <a class="el" href="a05708.html#l00255">NLMISC::CIFile::close()</a>, <a class="el" href="a05551.html#l00054">NLAINIMAT::CClassifierPriority::getClassifierTimer()</a>, <a class="el" href="a05551.html#l00044">NLAINIMAT::CClassifierPriority::getPriority()</a>, <a class="el" href="a06032.html#l00303">getPriorityPart()</a>, <a class="el" href="a05551.html#l00049">NLAINIMAT::CClassifierPriority::getPriorityTimer()</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a05708.html#l00503">NLMISC::COFile::open()</a>, <a class="el" href="a05708.html#l00135">NLMISC::CIFile::open()</a>, <a class="el" href="a05708.html#l00571">NLMISC::COFile::serialBuffer()</a>, <a class="el" href="a06363.html#l00045">NLAINIMAT::TMotivation</a>, <a class="el" href="a06229.html#l02652">NLMISC::toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00532 {
+00533 <span class="keywordtype">int</span> i;
+00534 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator itMotivationClassifierSystems;
+00535 std::string nomDuFichier = <span class="stringliteral">"D:\\jgab\\doc\\IA\\_These\\gnuplot\\TFC\\"</span>;
+00536 nomDuFichier += fileName;
+00537
+00538 <a class="code" href="a02653.html">NLMISC::CIFile</a> baltazar;
+00539 <span class="keywordtype">bool</span> yaqqunauboutdufil = baltazar.<a class="code" href="a02653.html#NLMISC_1_1CIFilea12">open</a>(nomDuFichier.c_str(), <span class="keyword">true</span>);
+00540 baltazar.<a class="code" href="a02653.html#NLMISC_1_1CIFilea3">close</a>();
+00541
+00542 <a class="code" href="a03011.html">NLMISC::COFile</a> melkior;
+00543 std::string ohlabellephrase = <span class="stringliteral">""</span>;
+00544
+00545 <span class="keywordflow">if</span> (!yaqqunauboutdufil)
+00546 {
+00547 melkior.<a class="code" href="a03011.html#NLMISC_1_1COFilea9">open</a>(nomDuFichier.c_str(), <span class="keyword">false</span>, <span class="keyword">true</span>);
+00548
+00549 <span class="keywordflow">for</span>(itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.begin();
+00550 itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end();
+00551 itMotivationClassifierSystems++)
+00552 {
+00553 <a class="code" href="a05371.html#a99">TMotivation</a> laMotive = (*itMotivationClassifierSystems).first;
+00554 <span class="keywordflow">for</span> (i= 0; i&lt; (*itMotivationClassifierSystems).second.getClassifierNumber(); i++)
+00555 {
+00556 ohlabellephrase += <span class="stringliteral">"MAX "</span>;
+00557 ohlabellephrase += NLAINIMAT::conversionMotivation.toString(laMotive);
+00558 ohlabellephrase += <span class="stringliteral">" "</span>;
+00559 (*itMotivationClassifierSystems).second.getDebugString(i,ohlabellephrase);
+00560 ohlabellephrase += <span class="stringliteral">";T2S "</span>;
+00561 ohlabellephrase += NLAINIMAT::conversionMotivation.toString(laMotive);
+00562 ohlabellephrase += <span class="stringliteral">" "</span>;
+00563 (*itMotivationClassifierSystems).second.getDebugString(i,ohlabellephrase);
+00564 ohlabellephrase += <span class="stringliteral">";ExT "</span>;
+00565 ohlabellephrase += NLAINIMAT::conversionMotivation.toString(laMotive);
+00566 ohlabellephrase += <span class="stringliteral">" "</span>;
+00567 (*itMotivationClassifierSystems).second.getDebugString(i,ohlabellephrase);
+00568 <span class="comment">// ohlabellephrase += NLMISC::toString(i);</span>
+00569
+00570 ohlabellephrase += <span class="stringliteral">";"</span>;
+00571 }
+00572 }
+00573 ohlabellephrase += <span class="stringliteral">"\n"</span>;
+00574 }
+00575 <span class="keywordflow">else</span>
+00576 {
+00577 melkior.<a class="code" href="a03011.html#NLMISC_1_1COFilea9">open</a>(nomDuFichier.c_str(), <span class="keyword">true</span>, <span class="keyword">true</span>);
+00578 }
+00579
+00580 <span class="keywordflow">for</span>(itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.begin();
+00581 itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end();
+00582 itMotivationClassifierSystems++)
+00583 {
+00584 <a class="code" href="a05371.html#a99">TMotivation</a> laMotive = (*itMotivationClassifierSystems).first;
+00585 <span class="keywordflow">for</span> (i= 0; i&lt; (*itMotivationClassifierSystems).second.getClassifierNumber(); i++)
+00586 {
+00587 CClassifierPriority laSuperPrio = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea7">getPriorityPart</a>(laMotive, i);
+00588 ohlabellephrase += <a class="code" href="a05378.html#a244">NLMISC::toString</a>(laSuperPrio.getPriority());
+00589 ohlabellephrase += <span class="stringliteral">";"</span>;
+00590 ohlabellephrase += <a class="code" href="a05378.html#a244">NLMISC::toString</a>(laSuperPrio.getPriorityTimer());
+00591 ohlabellephrase += <span class="stringliteral">";"</span>;
+00592 ohlabellephrase += <a class="code" href="a05378.html#a244">NLMISC::toString</a>(laSuperPrio.getClassifierTimer());
+00593 ohlabellephrase += <span class="stringliteral">";"</span>;
+00594 }
+00595 }
+00596 ohlabellephrase += <span class="stringliteral">"\n"</span>;
+00597
+00598
+00599 <a class="code" href="a04558.html#a7">uint8</a> *buf = (<a class="code" href="a04558.html#a7">uint8</a> *)ohlabellephrase.c_str();
+00600 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a571">len</a> = ohlabellephrase.length();
+00601 melkior.<a class="code" href="a03011.html#NLMISC_1_1COFilea12">serialBuffer</a>(buf,len);
+00602 melkior.<a class="code" href="a03011.html#NLMISC_1_1COFilea0">close</a>();
+00603 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea4" doxytag="NLAINIMAT::CMHiCSbase::dividePriorityByTheMinPriorityPartInAMotivation" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::dividePriorityByTheMinPriorityPartInAMotivation </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>motivationName</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea5" doxytag="NLAINIMAT::CMHiCSbase::getActionPart" ></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" nowrap valign="top"> <a class="el" href="a05371.html#a101">TAction</a> NLAINIMAT::CMHiCSbase::getActionPart </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05371.html#a7">TClassifierNumber</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>classifierNumber</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Give the action part of a given Classifier. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>motivationName</em>&nbsp;</td><td>is the name of the CS </td></tr>
+ <tr><td valign=top><em>classifierNumber</em>&nbsp;</td><td>is the number of the classifier. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>is the condition part of the wanted Classifier.</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00285">285</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05371.html#a101a56">NLAINIMAT::Action_DoNothing</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a06363.html#l00185">NLAINIMAT::TAction</a>, and <a class="el" href="a05552.html#l00064">NLAINIMAT::TClassifierNumber</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00982">NLAINIMAT::CMHiCSagent::motivationCompute()</a>.
+<p>
+<div class="fragment"><pre>00286 {
+00287 <span class="keywordflow">if</span> (classifierNumber == -1) <span class="keywordflow">return</span> <a class="code" href="a05371.html#a101a56">Action_DoNothing</a>;
+00288
+00289 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00290 <a class="code" href="a04199.html#a6">nlassert</a>(itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end());
+00291 <span class="keywordflow">return</span> (*itMotivationClassifierSystems).second.getActionPart(classifierNumber);
+00292 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea6" doxytag="NLAINIMAT::CMHiCSbase::getDebugString" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::getDebugString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>t</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Chaine de debug.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00334">334</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00190">_ActionSet</a>, <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a06033.html#l00189">_VirtualActionClassifierSystems</a>, and <a class="el" href="a05646.html#l00985">t</a>.
+<p>
+<div class="fragment"><pre>00335 {
+00336 std::string ret = <span class="stringliteral">"\n---------------------------"</span>;
+00337 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator itMotivationClassifierSystems;
+00338 <span class="keywordflow">for</span> (itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.begin(); itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end(); itMotivationClassifierSystems++)
+00339 {
+00340 ret += <span class="stringliteral">"\nMotivation : "</span> + conversionMotivation.toString((*itMotivationClassifierSystems).first);
+00341 (*itMotivationClassifierSystems).second.getDebugString(ret);
+00342 }
+00343 std::map&lt;TAction, CClassifierSystem&gt;::const_iterator itVirtualActionClassifierSystems;
+00344 <span class="keywordflow">for</span> (itVirtualActionClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>.begin(); itVirtualActionClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>.end(); itVirtualActionClassifierSystems++)
+00345 {
+00346 ret += <span class="stringliteral">"\nVirtual Action : "</span> + conversionAction.toString((*itVirtualActionClassifierSystems).first);
+00347 (*itVirtualActionClassifierSystems).second.getDebugString(ret);
+00348 }
+00349 ret += <span class="stringliteral">"\nACTIONS :\n"</span>;
+00350 std::set&lt;TAction&gt;::const_iterator itActionSet;
+00351 <span class="keywordflow">for</span> (itActionSet = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.begin(); itActionSet != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.end(); itActionSet++)
+00352 {
+00353 ret += conversionAction.toString((*itActionSet)) + <span class="stringliteral">"\n"</span>;
+00354 }
+00355 <a class="code" href="a04223.html#a627">t</a>+=ret;
+00356 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea7" doxytag="NLAINIMAT::CMHiCSbase::getPriorityPart" ></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" nowrap valign="top"> <a class="el" href="a02342.html">CClassifierPriority</a> NLAINIMAT::CMHiCSbase::getPriorityPart </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05371.html#a7">TClassifierNumber</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>classifierNumber</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00303">303</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05552.html#l00064">NLAINIMAT::TClassifierNumber</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00095">NLAINIMAT::CMotivationEnergy::computeMotivationValue()</a>, and <a class="el" href="a06032.html#l00531">dbgPrintClassifierPriorityInFile()</a>.
+<p>
+<div class="fragment"><pre>00304 {
+00305 <span class="keywordflow">if</span> (classifierNumber == -1) <span class="keywordflow">return</span> CClassifierPriority();
+00306
+00307 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00308 <a class="code" href="a04199.html#a6">nlassert</a>(itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end());
+00309 <span class="keywordflow">return</span> (*itMotivationClassifierSystems).second.getPriorityPart(classifierNumber);
+00310 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea8" doxytag="NLAINIMAT::CMHiCSbase::isAnAction" ></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" nowrap valign="top"> bool NLAINIMAT::CMHiCSbase::isAnAction </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a101">TAction</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>behav</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+To now if a behav selected by a CS is an action (if not, it's a common CS).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00327">327</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00190">_ActionSet</a>.
+<p>
+<div class="fragment"><pre>00328 {
+00329 std::set&lt;TAction&gt;::const_iterator itActionSet = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.find(behav);
+00330 <span class="keywordflow">return</span> (itActionSet != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.end());
+00331 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea9" doxytag="NLAINIMAT::CMHiCSbase::learningUpdatePriorityValueClassifierTime" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::learningUpdatePriorityValueClassifierTime </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05371.html#a7">TClassifierNumber</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>classifierNumber</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>time</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00634">634</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05551.html#l00064">NLAINIMAT::CClassifierPriority::SetClassifierTimer()</a>, <a class="el" href="a05551.html#l00059">NLAINIMAT::CClassifierPriority::setPriorityTimer()</a>, <a class="el" href="a05552.html#l00064">NLAINIMAT::TClassifierNumber</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l01219">NLAINIMAT::CMHiCSagent::learningComputation()</a>.
+<p>
+<div class="fragment"><pre>00635 {
+00636 <span class="comment">// Le but est de faire une moyenne sur les valeurs de fitness. Pour ça on fait une moyenne sur les 10 pas de temps précédents.</span>
+00637 std::map&lt;TMotivation, CClassifierSystem&gt;::iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00638 <a class="code" href="a04199.html#a6">nlassert</a>(itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end());
+00639 <a class="code" href="a04558.html#a11">uint32</a> oldTime = (*itMotivationClassifierSystems).second.getPriorityPart(classifierNumber).getClassifierTimer();
+00640 <a class="code" href="a04558.html#a11">uint32</a> newTime;
+00641 <span class="keywordflow">if</span> (oldTime == 0)
+00642 {
+00643 newTime = time;
+00644 }
+00645 <span class="keywordflow">else</span>
+00646 {
+00647 <span class="keywordflow">if</span> (oldTime &gt; time)
+00648 {
+00649 newTime = (time + oldTime*3)/4;
+00650 }
+00651 <span class="keywordflow">else</span>
+00652 {
+00653 newTime = (time*3 + oldTime)/4;
+00654 }
+00655 }
+00656 CClassifierPriority newPrio;
+00657 newPrio.setPriorityTimer((*itMotivationClassifierSystems).second.getPriorityPart(classifierNumber).getPriorityTimer());
+00658 newPrio.SetClassifierTimer(newTime);
+00659 <span class="comment">// newPrio.SetClassifierTimer(time);</span>
+00660 (*itMotivationClassifierSystems).second.setPriorityPart(classifierNumber, newPrio);
+00661 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea10" doxytag="NLAINIMAT::CMHiCSbase::learningUpdatePriorityValueTimeToSuccess" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::learningUpdatePriorityValueTimeToSuccess </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05371.html#a7">TClassifierNumber</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>classifierNumber</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>timeToSuccess</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Update a priority value in learning mode.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00605">605</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05551.html#l00064">NLAINIMAT::CClassifierPriority::SetClassifierTimer()</a>, <a class="el" href="a05551.html#l00059">NLAINIMAT::CClassifierPriority::setPriorityTimer()</a>, <a class="el" href="a05552.html#l00064">NLAINIMAT::TClassifierNumber</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l01219">NLAINIMAT::CMHiCSagent::learningComputation()</a>.
+<p>
+<div class="fragment"><pre>00606 {
+00607 <span class="comment">// Le but est de faire une moyenne sur les valeurs de fitness. Pour ça on fait une moyenne sur les 4 pas de temps précédents.</span>
+00608 std::map&lt;TMotivation, CClassifierSystem&gt;::iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00609 <a class="code" href="a04199.html#a6">nlassert</a>(itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end());
+00610 <a class="code" href="a04558.html#a11">uint32</a> oldTime2Success = (*itMotivationClassifierSystems).second.getPriorityPart(classifierNumber).getPriorityTimer();
+00611 <a class="code" href="a04558.html#a11">uint32</a> newTime2Success;
+00612 <span class="keywordflow">if</span> (oldTime2Success == 0)
+00613 {
+00614 newTime2Success = timeToSuccess;
+00615 }
+00616 <span class="keywordflow">else</span>
+00617 {
+00618 <span class="keywordflow">if</span> (oldTime2Success &gt; timeToSuccess)
+00619 {
+00620 newTime2Success = (timeToSuccess*3 + oldTime2Success)/4;
+00621 }
+00622 <span class="keywordflow">else</span>
+00623 {
+00624 newTime2Success = (timeToSuccess + oldTime2Success*3)/4;
+00625 }
+00626 }
+00627 <span class="comment">// nlassert (newTime2Success != 0);</span>
+00628 CClassifierPriority newPrio;
+00629 newPrio.setPriorityTimer(newTime2Success);
+00630 <span class="comment">// newPrio.setPriorityTimer(timeToSuccess);</span>
+00631 newPrio.SetClassifierTimer((*itMotivationClassifierSystems).second.getPriorityPart(classifierNumber).getClassifierTimer());
+00632 (*itMotivationClassifierSystems).second.setPriorityPart(classifierNumber, newPrio);
+00633 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea11" doxytag="NLAINIMAT::CMHiCSbase::loadClassifierFromFile" ></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" nowrap valign="top"> bool NLAINIMAT::CMHiCSbase::loadClassifierFromFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>fileName</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Load classifiers from a file. Return false if thereis a probleme.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00391">391</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a05371.html#a101a76">NLAINIMAT::Action_Unknown</a>, <a class="el" href="a05371.html#a101a75">NLAINIMAT::Action_VIRTUAL_ACTIONS</a>, <a class="el" href="a06032.html#l00249">addActionCS()</a>, <a class="el" href="a05551.html#l00656">NLAINIMAT::CConditionMap::addIfNotSensorCondition()</a>, <a class="el" href="a05551.html#l00646">NLAINIMAT::CConditionMap::addIfSensorCondition()</a>, <a class="el" href="a06032.html#l00222">addVirtualActionCS()</a>, <a class="el" href="a05552.html#l00152">NLAINIMAT::CConditionMap::clear()</a>, <a class="el" href="a05708.html#l00255">NLMISC::CIFile::close()</a>, <a class="el" href="a05708.html#l00306">NLMISC::CIFile::getline()</a>, <a class="el" href="a05371.html#a99a21">NLAINIMAT::Motivation_Unknown</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05708.html#l00135">NLMISC::CIFile::open()</a>, <a class="el" href="a05371.html#a100a55">NLAINIMAT::Sensor_Unknown</a>, <a class="el" href="a05551.html#l00064">NLAINIMAT::CClassifierPriority::SetClassifierTimer()</a>, <a class="el" href="a06363.html#l00185">NLAINIMAT::TAction</a>, <a class="el" href="a06363.html#l00045">NLAINIMAT::TMotivation</a>, <a class="el" href="a06363.html#l00071">NLAINIMAT::TSensor</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00392 {
+00393 <span class="keywordtype">bool</span> ret;
+00394 <span class="keyword">const</span> <a class="code" href="a04558.html#a11">uint32</a> aboeufSize = 2048;
+00395 <span class="keywordtype">char</span> aboeuf[aboeufSize];
+00396 std::string laLigne, leMot;
+00397 <a class="code" href="a04558.html#a15">uint</a> lastPos = 0;
+00398 <a class="code" href="a04558.html#a15">uint</a> nextPos = 0;
+00399 <a class="code" href="a02653.html">NLMISC::CIFile</a> melkior;
+00400 CConditionMap conditionsMap;
+00401 std::map&lt;TAction, CActionClassifiers &gt; actionsMap;
+00402 std::vector&lt;TSensor&gt; sensorVector;
+00403 ret = melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea12">open</a>(fileName, <span class="keyword">true</span>);
+00404 <span class="keywordflow">if</span> (!ret) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00405 <span class="comment">// 1ère ligne : titre conditions</span>
+00406 melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea7">getline</a>(aboeuf, aboeufSize);
+00407 <span class="comment">// 2ème ligne : Motivations; [Condition]*; Actions; priority; blabla</span>
+00408 melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea7">getline</a>(aboeuf, aboeufSize);
+00409 laLigne = aboeuf;
+00410 <span class="comment">// on construit une map avec les conditions</span>
+00411 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>,lastPos);
+00412 leMot = laLigne.substr(lastPos,nextPos - lastPos);
+00413 <a class="code" href="a04199.html#a6">nlassert</a>(leMot == <span class="stringliteral">"Motivations"</span>);
+00414 lastPos = nextPos+1;
+00415 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>, lastPos);
+00416 leMot = laLigne.substr(lastPos, nextPos-lastPos);
+00417 <span class="keywordflow">while</span> (leMot != <span class="stringliteral">"Actions"</span>)
+00418 {
+00419 <span class="comment">// on regarde le type du senseur :</span>
+00420 <a class="code" href="a05371.html#a100">TSensor</a> titi = conversionSensor.fromString(leMot);
+00421 <a class="code" href="a04199.html#a6">nlassert</a> (titi != Sensor_Unknown);
+00422 sensorVector.push_back(titi);
+00423
+00424 lastPos = nextPos+1;
+00425 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>, lastPos);
+00426 leMot = laLigne.substr(lastPos, nextPos-lastPos);
+00427 }
+00428 <span class="comment">// on parse le reste</span>
+00429 melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea7">getline</a>(aboeuf, aboeufSize);
+00430 laLigne = aboeuf;
+00431 lastPos = 0;
+00432 nextPos = 0;
+00433 <span class="keywordflow">while</span> (laLigne.size() &gt; 0)
+00434 {
+00435 <a class="code" href="a05371.html#a99">TMotivation</a> laMotive;
+00436 <a class="code" href="a05371.html#a101">TAction</a> laVirtuelle;
+00437 <span class="comment">// On récupère le nom de la motivation</span>
+00438 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>,lastPos);
+00439 leMot = laLigne.substr(lastPos,nextPos - lastPos);
+00440 <span class="keywordflow">if</span> (leMot.size() == 0) <span class="keywordflow">break</span>;
+00441 laMotive = conversionMotivation.fromString(leMot);
+00442 <span class="keywordflow">if</span> (laMotive == <a class="code" href="a05371.html#a99a21">Motivation_Unknown</a>)
+00443 {
+00444 <span class="comment">// Si c'est pas une motivation, c'est peut-être une action virtuelle.</span>
+00445 laVirtuelle = conversionAction.fromString(leMot);
+00446 <a class="code" href="a04199.html#a6">nlassert</a>(laVirtuelle != Action_Unknown);
+00447 }
+00448
+00449 lastPos = nextPos+1;
+00450 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>,lastPos);
+00451 leMot = laLigne.substr(lastPos,nextPos - lastPos);
+00452
+00453 <span class="comment">// On récupère la liste des conditions</span>
+00454 <a class="code" href="a04558.html#a15">uint</a> ii;
+00455 <span class="keywordflow">for</span> (ii = 0; ii &lt; sensorVector.size(); ii++)
+00456 {
+00457 <span class="keywordflow">if</span> (leMot.size() &gt;0)
+00458 {
+00459 <a class="code" href="a05371.html#a100">TSensor</a> sensorName = sensorVector[ii];
+00460 <span class="keywordflow">if</span> (leMot[0] == <span class="charliteral">'!'</span>)
+00461 {
+00462 conditionsMap.addIfNotSensorCondition(sensorName,leMot[1]);
+00463 }
+00464 <span class="keywordflow">else</span>
+00465 {
+00466 conditionsMap.addIfSensorCondition(sensorName,leMot[0]);
+00467 }
+00468 }
+00469
+00470 lastPos = nextPos+1;
+00471 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>,lastPos);
+00472 leMot = laLigne.substr(lastPos,nextPos - lastPos);
+00473 }
+00474 <span class="comment">// on récupère le nom de l'action</span>
+00475 <a class="code" href="a05371.html#a101">TAction</a> actionName = conversionAction.fromString(leMot);
+00476 <a class="code" href="a04199.html#a6">nlassert</a>(actionName != Action_Unknown);
+00477
+00478 lastPos = nextPos+1;
+00479 nextPos = laLigne.find_first_of(<span class="stringliteral">";"</span>,lastPos);
+00480 leMot = laLigne.substr(lastPos,nextPos - lastPos);
+00481
+00482 <span class="comment">// on récupère la force du classeur</span>
+00483 CClassifierPriority laforce;
+00484 laforce.SetClassifierTimer( atof(leMot.c_str()) );
+00485
+00486 <span class="comment">// on rajoute la règle dans les actions.</span>
+00487 std::map&lt;TAction, CActionClassifiers &gt;::iterator itActionsMap = actionsMap.find(actionName);
+00488 <span class="keywordflow">if</span> (itActionsMap == actionsMap.end())
+00489 {
+00490 CActionClassifiers bibu(actionName);
+00491 actionsMap.insert(std::make_pair(actionName, bibu));
+00492 }
+00493 CActionClassifiers mon_action(actionName);
+00494 <span class="comment">// Si la motivation est inconnue, c'est que c'est une action virtuelle.</span>
+00495 <span class="keywordflow">if</span> (laMotive == <a class="code" href="a05371.html#a99a21">Motivation_Unknown</a>)
+00496 {
+00497 actionsMap[actionName].addVirtualActionRule(laVirtuelle,conditionsMap, laforce);
+00498 }
+00499 <span class="keywordflow">else</span>
+00500 {
+00501 actionsMap[actionName].addMotivationRule(laMotive,conditionsMap, laforce);
+00502 }
+00503
+00504 conditionsMap.clear();
+00505 melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea7">getline</a>(aboeuf, aboeufSize);
+00506 laLigne = aboeuf;
+00507 lastPos = 0;
+00508 nextPos = 0;
+00509 }
+00510 melkior.<a class="code" href="a02653.html#NLMISC_1_1CIFilea3">close</a>();
+00511
+00512 std::map&lt;TAction, CActionClassifiers &gt;::iterator itActionsMap;
+00513 <span class="keywordflow">for</span> (itActionsMap = actionsMap.begin(); itActionsMap != actionsMap.end(); itActionsMap++)
+00514 {
+00515 <span class="comment">//***G*** ajouter aussi la gestion des actions virtuels</span>
+00516 <a class="code" href="a05371.html#a101">TAction</a> testAction = (*itActionsMap).second.getName();
+00517 <a class="code" href="a04199.html#a6">nlassert</a> (testAction != Action_Unknown);
+00518 <span class="keywordflow">if</span> (testAction &gt; <a class="code" href="a05371.html#a101a75">Action_VIRTUAL_ACTIONS</a>)
+00519 {
+00520 <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea1">addVirtualActionCS</a>( (*itActionsMap).second );
+00521 }
+00522 <span class="keywordflow">else</span>
+00523 {
+00524 <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea0">addActionCS</a>( (*itActionsMap).second );
+00525 }
+00526 }
+00527
+00528 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00529 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea12" doxytag="NLAINIMAT::CMHiCSbase::printDebugString" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::printDebugString </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</td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00359">359</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00190">_ActionSet</a>, <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a06033.html#l00189">_VirtualActionClassifierSystems</a>, and <a class="el" href="a05622.html#l00101">nldebug</a>.
+<p>
+<div class="fragment"><pre>00360 {
+00361 std::string ret = <span class="stringliteral">""</span>;
+00362 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"\n---------------------------"</span>);
+00363 std::map&lt;TMotivation, CClassifierSystem&gt;::const_iterator itMotivationClassifierSystems;
+00364 <span class="keywordflow">for</span> (itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.begin(); itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end(); itMotivationClassifierSystems++)
+00365 {
+00366 ret += ((<span class="stringliteral">"\nMotivation : "</span> + conversionMotivation.toString((*itMotivationClassifierSystems).first)).c_str());
+00367 (*itMotivationClassifierSystems).second.getDebugString(ret);
+00368 <a class="code" href="a04199.html#a0">nldebug</a>(ret.c_str());
+00369 ret = <span class="stringliteral">""</span>;
+00370 }
+00371 std::map&lt;TAction, CClassifierSystem&gt;::const_iterator itVirtualActionClassifierSystems;
+00372 <span class="keywordflow">for</span> (itVirtualActionClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>.begin(); itVirtualActionClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>.end(); itVirtualActionClassifierSystems++)
+00373 {
+00374 ret += ((<span class="stringliteral">"\nVirtual Action : "</span> + conversionAction.toString((*itVirtualActionClassifierSystems).first)).c_str());
+00375 (*itVirtualActionClassifierSystems).second.getDebugString(ret);
+00376 <a class="code" href="a04199.html#a0">nldebug</a>(ret.c_str());
+00377 ret = <span class="stringliteral">""</span>;
+00378 }
+00379 ret += (<span class="stringliteral">"\nACTIONS :\n"</span>);
+00380 std::set&lt;TAction&gt;::const_iterator itActionSet;
+00381 <span class="keywordflow">for</span> (itActionSet = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.begin(); itActionSet != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">_ActionSet</a>.end(); itActionSet++)
+00382 {
+00383 ret += ((conversionAction.toString((*itActionSet)) + <span class="stringliteral">"\n"</span>).c_str());
+00384 <a class="code" href="a04199.html#a0">nldebug</a>(ret.c_str());
+00385 ret = <span class="stringliteral">""</span>;
+00386 }
+00387 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea13" doxytag="NLAINIMAT::CMHiCSbase::selectBehavior" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::selectBehavior </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02422.html">CCSPerception</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>psensorMap</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::multimap&lt; <a class="el" href="a02342.html">CClassifierPriority</a>, std::pair&lt; <a class="el" href="a05371.html#a7">TClassifierNumber</a>, <a class="el" href="a05371.html#a13">TTargetId</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>mapActivableCS</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Select a behavior according to the values in the sensorMap. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>motivationName</em>&nbsp;</td><td>is the name of the CS that must be activated </td></tr>
+ <tr><td valign=top><em>sensorMap</em>&nbsp;</td><td>is a map whose key is the sensor name and value the sensor value. </td></tr>
+ <tr><td valign=top><em>lastClassifierNumber</em>&nbsp;</td><td>is the number of the last classifier selected. Also used as a return value. </td></tr>
+ <tr><td valign=top><em>lastTarget</em>&nbsp;</td><td>is the ID of the last target associated with the last classifier. Also used as a return value. </td></tr>
+ <tr><td valign=top><em>lastSelectionMaxPriority</em>&nbsp;</td><td>is the Priority given to the last selected classifier (witch is the max of all the last activable classifier priority). Also used as a return value.</td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00256">256</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00982">NLAINIMAT::CMHiCSagent::motivationCompute()</a>.
+<p>
+<div class="fragment"><pre>00259 {
+00260 std::map&lt;TMotivation, CClassifierSystem&gt;::iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00261 <span class="keywordflow">if</span> (itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end())
+00262 {
+00263 (*itMotivationClassifierSystems).second.selectBehavior(psensorMap, mapActivableCS);
+00264 }
+00265 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbasea14" doxytag="NLAINIMAT::CMHiCSbase::setPriorityValue" ></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" nowrap valign="top"> void NLAINIMAT::CMHiCSbase::setPriorityValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>motivationName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a05371.html#a7">TClassifierNumber</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>classifierNumber</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02342.html">CClassifierPriority</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>priority</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set a new value for a classifier priority.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06032.html#l00320">320</a> of file <a class="el" href="a06032.html">mhics.cpp</a>.
+<p>
+References <a class="el" href="a06033.html#l00188">_MotivationClassifierSystems</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05552.html#l00064">NLAINIMAT::TClassifierNumber</a>.
+<p>
+<div class="fragment"><pre>00321 {
+00322 std::map&lt;TMotivation, CClassifierSystem&gt;::iterator itMotivationClassifierSystems = <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.find(motivationName);
+00323 <a class="code" href="a04199.html#a6">nlassert</a>(itMotivationClassifierSystems != <a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>.end());
+00324 (*itMotivationClassifierSystems).second.setPriorityPart(classifierNumber, priority);
+00325 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Field Documentation</h2>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbaser0" doxytag="NLAINIMAT::CMHiCSbase::_ActionSet" ></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" nowrap valign="top"> std::set&lt;<a class="el" href="a05371.html#a101">TAction</a>&gt; <a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser0">NLAINIMAT::CMHiCSbase::_ActionSet</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06033.html#l00190">190</a> of file <a class="el" href="a06033.html">mhics.h</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00249">addActionCS()</a>, <a class="el" href="a06032.html#l00334">getDebugString()</a>, <a class="el" href="a06032.html#l00327">isAnAction()</a>, and <a class="el" href="a06032.html#l00359">printDebugString()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbaser1" doxytag="NLAINIMAT::CMHiCSbase::_MotivationClassifierSystems" ></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" nowrap valign="top"> std::map&lt;<a class="el" href="a05371.html#a99">TMotivation</a>, <a class="el" href="a02343.html">CClassifierSystem</a>&gt; <a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">NLAINIMAT::CMHiCSbase::_MotivationClassifierSystems</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06033.html#l00188">188</a> of file <a class="el" href="a06033.html">mhics.h</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00222">addVirtualActionCS()</a>, <a class="el" href="a06032.html#l00531">dbgPrintClassifierPriorityInFile()</a>, <a class="el" href="a06032.html#l00285">getActionPart()</a>, <a class="el" href="a06032.html#l00334">getDebugString()</a>, <a class="el" href="a06032.html#l00303">getPriorityPart()</a>, <a class="el" href="a06032.html#l00634">learningUpdatePriorityValueClassifierTime()</a>, <a class="el" href="a06032.html#l00605">learningUpdatePriorityValueTimeToSuccess()</a>, <a class="el" href="a06032.html#l00359">printDebugString()</a>, <a class="el" href="a06032.html#l00256">selectBehavior()</a>, and <a class="el" href="a06032.html#l00320">setPriorityValue()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbaser2" doxytag="NLAINIMAT::CMHiCSbase::_VirtualActionClassifierSystems" ></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" nowrap valign="top"> std::map&lt;<a class="el" href="a05371.html#a101">TAction</a>, <a class="el" href="a02343.html">CClassifierSystem</a>&gt; <a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">NLAINIMAT::CMHiCSbase::_VirtualActionClassifierSystems</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06033.html#l00189">189</a> of file <a class="el" href="a06033.html">mhics.h</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00222">addVirtualActionCS()</a>, <a class="el" href="a06032.html#l00334">getDebugString()</a>, and <a class="el" href="a06032.html#l00359">printDebugString()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="NLAINIMAT_1_1CMHiCSbaseo0" doxytag="NLAINIMAT::CMHiCSbase::pActionResources" ></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" nowrap valign="top"> <a class="el" href="a02159.html">CActionResources</a>* <a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaseo0">NLAINIMAT::CMHiCSbase::pActionResources</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06033.html#l00185">185</a> of file <a class="el" href="a06033.html">mhics.h</a>.
+<p>
+Referenced by <a class="el" href="a06032.html#l00212">CMHiCSbase()</a>, <a class="el" href="a06032.html#l01548">NLAINIMAT::CMHiCSagent::selectBehavior()</a>, and <a class="el" href="a06032.html#l00217">~CMHiCSbase()</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following files:<ul>
+<li><a class="el" href="a06033.html">mhics.h</a><li><a class="el" href="a06032.html">mhics.cpp</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 11:10:34 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>