diff options
Diffstat (limited to 'docs/doxygen/nel/a02929.html')
-rw-r--r-- | docs/doxygen/nel/a02929.html | 1237 |
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 Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related Pages</a> | <span class="search"><u>S</u>earch for <input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div> +<h1>NLAINIMAT::CMHiCSbase Class Reference</h1><code>#include <<a class="el" href="a06033.html">mhics.h</a>></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 </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> &action)</td></tr> + +<tr><td class="mdescLeft"> </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 </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> &action)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top> </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 </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 </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> </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 </td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbasea6">getDebugString</a> (std::string &<a class="el" href="a04223.html#a627">t</a>) const </td></tr> + +<tr><td class="mdescLeft"> </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> </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 </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"> </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 </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 </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"> </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 </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"> </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 </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 </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< <a class="el" href="a02342.html">CClassifierPriority</a>, std::pair< <a class="el" href="a05371.html#a7">TClassifierNumber</a>, <a class="el" href="a05371.html#a13">TTargetId</a> > > &mapActivableCS)</td></tr> + +<tr><td class="memItemLeft" nowrap align=right valign=top>void </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"> </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 </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> * </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< <a class="el" href="a05371.html#a101">TAction</a> > </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< <a class="el" href="a05371.html#a99">TMotivation</a>, <a class="el" href="a02343.html">CClassifierSystem</a> > </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< <a class="el" href="a05371.html#a101">TAction</a>, <a class="el" href="a02343.html">CClassifierSystem</a> > </td><td class="memItemRight" valign=bottom><a class="el" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a></td></tr> + +</table> +<hr><h2>Constructor & 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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap><code> [virtual]</code></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02158.html">CActionClassifiers</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>action</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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() < <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">( </td> + <td class="md" nowrap valign="top">const <a class="el" href="a02158.html">CActionClassifiers</a> & </td> + <td class="mdname1" valign="top" nowrap> <em>action</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem> *mapActionByMotivation = action.getClassifiersByMotivationMap(); +00225 std::map<TMotivation, CClassifierSystem>::const_iterator ItMapActionByMotivation; +00226 <span class="keywordflow">for</span> (ItMapActionByMotivation = mapActionByMotivation->begin(); ItMapActionByMotivation != mapActionByMotivation->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 = &((*ItMapActionByMotivation).second); +00231 +00232 pCS = &(<a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser1">_MotivationClassifierSystems</a>[motivationName]); +00233 pCS->addClassifierSystem(*pOtherCS); +00234 } +00235 +00236 <span class="keyword">const</span> std::map<TAction, CClassifierSystem> *mapActionByVirtualAction = action.getClassifiersByVirtualActionMap(); +00237 std::map<TAction, CClassifierSystem>::const_iterator ItMapActionByVirtualAction; +00238 <span class="keywordflow">for</span> (ItMapActionByVirtualAction = mapActionByVirtualAction->begin(); ItMapActionByVirtualAction != mapActionByVirtualAction->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 = &((*ItMapActionByVirtualAction).second); +00243 +00244 pCS = &(<a class="code" href="a02929.html#NLAINIMAT_1_1CMHiCSbaser2">_VirtualActionClassifierSystems</a>[virtualActionName]); +00245 pCS->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">( </td> + <td class="md" nowrap valign="top">std::string </td> + <td class="mdname1" valign="top" nowrap> <em>fileName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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< (*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< (*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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </td> + <td class="mdname1" valign="top" nowrap> <em>motivationName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> </td> + <td class="mdname" nowrap> <em>classifierNumber</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </td><td>is the name of the CS </td></tr> + <tr><td valign=top><em>classifierNumber</em> </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<TMotivation, CClassifierSystem>::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">( </td> + <td class="md" nowrap valign="top">std::string & </td> + <td class="mdname1" valign="top" nowrap> <em>t</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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<TAction, CClassifierSystem>::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<TAction>::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> </td> + <td class="mdname" nowrap> <em>classifierNumber</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a101">TAction</a> </td> + <td class="mdname1" valign="top" nowrap> <em>behav</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TAction>::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> </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> </td> + <td class="mdname" nowrap> <em>time</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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 > 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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> </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> </td> + <td class="mdname" nowrap> <em>timeToSuccess</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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 > 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">( </td> + <td class="md" nowrap valign="top">std::string </td> + <td class="mdname1" valign="top" nowrap> <em>fileName</em> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TAction, CActionClassifiers > actionsMap; +00402 std::vector<TSensor> 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() > 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 < sensorVector.size(); ii++) +00456 { +00457 <span class="keywordflow">if</span> (leMot.size() >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<TAction, CActionClassifiers >::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<TAction, CActionClassifiers >::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 > <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">( </td> + <td class="mdname1" valign="top" nowrap> </td> + <td class="md" valign="top"> ) </td> + <td class="md" nowrap> const</td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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<TAction, CClassifierSystem>::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<TAction>::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> * </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< <a class="el" href="a02342.html">CClassifierPriority</a>, std::pair< <a class="el" href="a05371.html#a7">TClassifierNumber</a>, <a class="el" href="a05371.html#a13">TTargetId</a> > > & </td> + <td class="mdname" nowrap> <em>mapActivableCS</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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> </td><td>is the name of the CS that must be activated </td></tr> + <tr><td valign=top><em>sensorMap</em> </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> </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> </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> </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<TMotivation, CClassifierSystem>::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">( </td> + <td class="md" nowrap valign="top"><a class="el" href="a05371.html#a99">TMotivation</a> </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> </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> </td> + <td class="mdname" nowrap> <em>priority</em></td> + </tr> + <tr> + <td></td> + <td class="md">) </td> + <td class="md" colspan="2"></td> + </tr> + + </table> + </td> + </tr> +</table> +<table cellspacing=5 cellpadding=0 border=0> + <tr> + <td> + + </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<TMotivation, CClassifierSystem>::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<<a class="el" href="a05371.html#a101">TAction</a>> <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> + + </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<<a class="el" href="a05371.html#a99">TMotivation</a>, <a class="el" href="a02343.html">CClassifierSystem</a>> <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> + + </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<<a class="el" href="a05371.html#a101">TAction</a>, <a class="el" href="a02343.html">CClassifierSystem</a>> <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> + + </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> + + </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> |