Skip to content

RLSimion

BorjaFG edited this page Mar 23, 2017 · 28 revisions

Executable arguments

RLSimion.exe inputfile.simion.exp [-pipe=pipename] [-printIOfiles] The pipename should be given if we want to redirect the output to a named pipe (i.e. when launched remotely via a HerdAgent). The flag -printIOfiles prints in the standard output the inputs/outputs of a given experiment without actually running the experiment.

Experiment definition

An experiment consists of a series of episodes (epochs), which may be used for training or evaluation. First, the number of training episodes is given (may be 0 if we only want to evaluate a controller), then how often evaluations will be done (after how many training episodes), and finally, how many episodes will be used for evaluation. Certain worlds may require more complex evaluations: for example, when evaluating a wind-turbine controller we may want to measure performance with different wind speeds. These worlds need to call

CSimionApp::get()->pEpisode->setNumEpisodesPerEvaluation(nEpisodesPerEvaluation)

Evaluation will always take place at the very beginning of the learning process, at the end (unless the number of training episodes is 0) and every n training episodes.

Consider the following example: the number of training episodes is 5, evaluation is done every 2 training episodes, and each evaluation consists of a single episode. The total number of episodes would be 5 + ((5/2)+1)*1= 8. The values returned by the following CExperiment methods would be:

Episode numbering example 1

On the other hand, if we use 2 episodes per evaluation, the number of episodes would be 5 + ((5/2)+1)*2= 11. The following values would be obtained:

Episode numbering example 2

Binding parameters with GUI (Badger)

Parameters that are to be set from GUI application (Badger) are embbeded within the source code. They get their value from an XML node (CConfigNode) on construction:

  • INT_PARAM
  • DOUBLE_PARAM
  • BOOL_PARAM
  • STRING_PARAM
  • DIR_PATH_PARAM
  • FILE_PATH_PARAM
  • ENUM_PARAM
  • STATE_VARIABLE
  • ACTION_VARIABLE
  • CHILD_OBJECT
  • CHILD_OBJECT_FACTORY
  • MULTI_VALUE
  • MULTI_VALUE_FACTORY
  • MULTI_VALUE_SIMPLE_PARAM
  • CHOICE

Clone this wiki locally