Creates a new LearnSystem using a specific RuleSet.
The LearnSystem class takes care of creating new scripts based on a predefined RuleSet. It does not evaluate the scripts nor modifies the rules written to them.
The procedure of creating scripts is done using three phases:
The header and footer are freely choosable. You can simple override or reassign the LearnSystem.create_header() and LearnSystem.create_footer() methods to let them return your required code.
Gets or sets the maximum script size (in bytes) for inserting rules.
Gets or sets the maximum amount of tries to insert a script rule.
Creates the footer for the script file.
The default implementation does nothing.
Creates the header for the script file.
The default implementation does nothing.
Creates a rule list from the currently active RuleSet. Gets maxrules rules from the set RuleSet and passes their code back as string for the script file.
Adapted from Pieter Spronck’s algorithm as explained in Spronck et al: 2005, ‘Adaptive Game AI with Dynamic Scripting’.
Creates a script from the available RuleSet using the passed script file. A maximum of maxrules rules will be written. scriptfile can be either a file object or filename. In case of a file object it is assumed to be writeable and won’t be closed on leaving the function (but flushed).