11 #include "LearnSystem.h"
26 _ruleset(new
RuleSet (minweight, maxweight))
38 _maxtries(lsystem.getMaxTries ()),
39 _maxscriptsize(lsystem.getMaxScriptSize ()),
40 _ruleset(new
RuleSet (*(lsystem.getRuleSet())))
57 throw new std::invalid_argument (
"ruleset must not be NULL");
83 std::string retval =
"";
89 std::string retval =
"";
95 std::string buf, retval =
"";
96 std::vector<Rule*> rules;
98 unsigned int tries, i;
100 int added = 0, selected;
101 size_t len, count, written = 0;
104 if (weights == 0 || maxrules == 0)
108 count = rules.size ();
111 srand (static_cast<unsigned int>(time (0)));
113 for (i = 0; i < maxrules; i++)
119 while (tries < this->
_maxtries && !added)
124 fraction = ((
static_cast<double>(rand())) / RAND_MAX) * weights;
125 while (selected == -1)
134 j = ((j + 1) % count);
137 rule = rules.at (static_cast<unsigned int>(selected));
161 stream << this->
createRules (maxrules) << std::endl;