dynrules
 All Classes Functions Variables
LearnSystem.h
1 /*
2  * dynrules - Python dynamic rules engine
3  *
4  * Authors: Marcus von Appen
5  *
6  * This file is distributed under the Public Domain.
7  */
8 
9 #ifndef _LEARNSYSTEM_H_
10 #define _LEARNSYSTEM_H_
11 
12 #include <iostream>
13 #include <string>
14 #include "RuleSet.h"
15 
16 namespace dynrules
17 {
36  {
37  public:
44  LearnSystem ();
45 
56  LearnSystem (double minweight, double maxweight);
57 
63  LearnSystem (RuleSet* ruleset);
64 
75  LearnSystem (const LearnSystem& lsystem);
76 
83  virtual ~LearnSystem ();
84 
90  RuleSet* getRuleSet () const;
91 
107  void setRuleSet (RuleSet* ruleset);
108 
115  unsigned int getMaxTries () const;
116 
123  void setMaxTries (unsigned int maxtries);
124 
130  unsigned int getMaxScriptSize () const;
131 
137  void setMaxScriptSize (unsigned int maxscriptsize);
138 
148  virtual std::string createHeader () const;
149 
159  virtual std::string createFooter () const;
160 
171  virtual std::string createRules (unsigned int maxrules) const;
172 
190  void createScript (std::ostream &stream, unsigned int maxrules);
191 
192  protected:
193 
197  unsigned int _maxtries;
198 
202  unsigned int _maxscriptsize;
203 
208  };
209 
210 } // namespace
211 
212 #endif /* _LEARNSYSTEM_H_ */