| 
    MachineIntelligenceCore:ReinforcementLearning
    
   | 
 
Application for episodic testing of convergence of histogram filter based maze-of-digits localization. More...
#include <EpisodicHistogramFilterMazeLocalization.hpp>


Public Member Functions | |
| EpisodicHistogramFilterMazeLocalization (std::string node_name_="application") | |
| virtual | ~EpisodicHistogramFilterMazeLocalization () | 
Protected Member Functions | |
| virtual void | initialize (int argc, char *argv[]) | 
| virtual void | initializePropertyDependentVariables () | 
| virtual bool | performSingleStep () | 
| virtual void | startNewEpisode () | 
| virtual void | finishCurrentEpisode () | 
Private Attributes | |
| mic::utils::DataCollectorPtr < std::string, float >  | collector_ptr | 
| Data collector.  More... | |
| WindowCollectorChart< float > * | w_localization_time_chart | 
| Window for displaying chart with statistics on current maze number.  More... | |
| mic::importers::MazeMatrixImporter | importer | 
| Importer responsible for loading mazes from file.  More... | |
| mic::algorithms::MazeHistogramFilter | hf | 
| Histogram filter.  More... | |
| mic::configuration::Property < short >  | hidden_maze_number | 
| Property: variable denoting in which maze are we right now (unknown, to be determined).  More... | |
| mic::configuration::Property < short >  | hidden_x | 
| Property: variable denoting the x position are we right now (unknown, to be determined).  More... | |
| mic::configuration::Property < short >  | hidden_y | 
| Property: variable denoting the y position are we right now (unknown, to be determined).  More... | |
| mic::configuration::Property < short >  | action | 
| Property: performed action (0-3: NESW, -3: random, -2: sumOfMostUniquePatchesActionSelection, -1: mostUniquePatchActionSelection).  More... | |
| mic::configuration::Property < double >  | epsilon | 
| Property: variable denoting epsilon in aciton selection (the probability "below" which a random action will be selected).  More... | |
| mic::configuration::Property < double >  | hit_factor | 
| Property: variable denoting the hit factor (the gain when the observation coincides with current position).  More... | |
| mic::configuration::Property < double >  | miss_factor | 
| Property: variable denoting the miss factor (the gain when the observation does not coincide with current position).  More... | |
| mic::configuration::Property < double >  | exact_move_probability | 
| Property: variable storing the probability that we made the exact move (x+dx).  More... | |
| mic::configuration::Property < double >  | overshoot_move_probability | 
| Property: variable storing the probability that we made the "overshoot" move (d+dx+1).  More... | |
| mic::configuration::Property < double >  | undershoot_move_probability | 
| Property: variable storing the probability that we made the "undershoot" move (d+dx-1).  More... | |
| mic::configuration::Property < short >  | max_number_of_iterations | 
| Property: stop condition 1: maximal number of iterations - if exceeded, we finish the episode claiming that that it was a failure.  More... | |
| mic::configuration::Property < double >  | min_maze_confidence | 
| Property: stop condition 2: minimal maze confidence - if exceeded, we finish the episode claiming that that it was a success.  More... | |
| double | max_pm | 
| Maximum maze probability for given episode.  More... | |
| mic::configuration::Property < std::string >  | statistics_filename | 
| Property: name of the file to which the statistics (convergence) will be exported.  More... | |
Application for episodic testing of convergence of histogram filter based maze-of-digits localization.
Definition at line 46 of file EpisodicHistogramFilterMazeLocalization.hpp.
| mic::application::EpisodicHistogramFilterMazeLocalization::EpisodicHistogramFilterMazeLocalization | ( | std::string | node_name_ = "application" | ) | 
Default Constructor. Sets the application/node name, default values of variables, initializes classifier etc.
| node_name_ | Name of the application/node (in configuration file). | 
Definition at line 37 of file EpisodicHistogramFilterMazeLocalization.cpp.
References action, epsilon, exact_move_probability, hidden_maze_number, hidden_x, hidden_y, hit_factor, max_number_of_iterations, min_maze_confidence, miss_factor, overshoot_move_probability, statistics_filename, and undershoot_move_probability.
      
  | 
  virtual | 
Destructor.
Definition at line 75 of file EpisodicHistogramFilterMazeLocalization.cpp.
References w_localization_time_chart.
      
  | 
  protectedvirtual | 
Method called when given episode ends (goal: export collected statistics to file etc.) - abstract, to be overridden.
Definition at line 133 of file EpisodicHistogramFilterMazeLocalization.cpp.
References collector_ptr, max_number_of_iterations, max_pm, and statistics_filename.
      
  | 
  protectedvirtual | 
Method initializes GLUT and OpenGL windows.
| argc | Number of application parameters. | 
| argv | Array of application parameters. | 
Definition at line 80 of file EpisodicHistogramFilterMazeLocalization.cpp.
References collector_ptr, and w_localization_time_chart.
      
  | 
  protectedvirtual | 
Initializes all variables that are property-dependent (input patches, SDRs etc.).
Definition at line 95 of file EpisodicHistogramFilterMazeLocalization.cpp.
References hf, mic::importers::MazeMatrixImporter::importData(), importer, and mic::algorithms::MazeHistogramFilter::setMazes().
      
  | 
  protectedvirtual | 
Performs single step of computations.
Definition at line 154 of file EpisodicHistogramFilterMazeLocalization.cpp.
References action, epsilon, exact_move_probability, hf, hit_factor, importer, max_number_of_iterations, max_pm, mic::algorithms::MazeHistogramFilter::maze_probabilities, min_maze_confidence, miss_factor, mic::algorithms::MazeHistogramFilter::mostUniquePatchActionSelection(), overshoot_move_probability, mic::algorithms::MazeHistogramFilter::probabilisticMove(), mic::algorithms::MazeHistogramFilter::sense(), mic::algorithms::MazeHistogramFilter::sumOfMostUniquePatchesActionSelection(), undershoot_move_probability, and mic::algorithms::MazeHistogramFilter::updateAggregatedProbabilities().
      
  | 
  protectedvirtual | 
Method called at the beginning of new episode (goal: to reset the statistics etc.) - abstract, to be overridden.
Definition at line 116 of file EpisodicHistogramFilterMazeLocalization.cpp.
References mic::algorithms::MazeHistogramFilter::assignInitialProbabilities(), hf, hidden_maze_number, hidden_x, hidden_y, hit_factor, miss_factor, mic::algorithms::MazeHistogramFilter::sense(), mic::algorithms::MazeHistogramFilter::setHiddenPose(), and mic::algorithms::MazeHistogramFilter::updateAggregatedProbabilities().
      
  | 
  private | 
Property: performed action (0-3: NESW, -3: random, -2: sumOfMostUniquePatchesActionSelection, -1: mostUniquePatchActionSelection).
Definition at line 113 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Data collector.
Definition at line 92 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by finishCurrentEpisode(), and initialize().
      
  | 
  private | 
Property: variable denoting epsilon in aciton selection (the probability "below" which a random action will be selected).
Definition at line 116 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Property: variable storing the probability that we made the exact move (x+dx).
Definition at line 125 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Histogram filter.
Definition at line 101 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by initializePropertyDependentVariables(), performSingleStep(), and startNewEpisode().
      
  | 
  private | 
Property: variable denoting in which maze are we right now (unknown, to be determined).
Definition at line 104 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and startNewEpisode().
      
  | 
  private | 
Property: variable denoting the x position are we right now (unknown, to be determined).
Definition at line 107 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and startNewEpisode().
      
  | 
  private | 
Property: variable denoting the y position are we right now (unknown, to be determined).
Definition at line 110 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and startNewEpisode().
      
  | 
  private | 
Property: variable denoting the hit factor (the gain when the observation coincides with current position).
Definition at line 119 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), performSingleStep(), and startNewEpisode().
      
  | 
  private | 
Importer responsible for loading mazes from file.
Definition at line 98 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by initializePropertyDependentVariables(), and performSingleStep().
      
  | 
  private | 
Property: stop condition 1: maximal number of iterations - if exceeded, we finish the episode claiming that that it was a failure.
Definition at line 134 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), finishCurrentEpisode(), and performSingleStep().
      
  | 
  private | 
Maximum maze probability for given episode.
Definition at line 140 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by finishCurrentEpisode(), and performSingleStep().
      
  | 
  private | 
Property: stop condition 2: minimal maze confidence - if exceeded, we finish the episode claiming that that it was a success.
Definition at line 137 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Property: variable denoting the miss factor (the gain when the observation does not coincide with current position).
Definition at line 122 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), performSingleStep(), and startNewEpisode().
      
  | 
  private | 
Property: variable storing the probability that we made the "overshoot" move (d+dx+1).
Definition at line 128 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Property: name of the file to which the statistics (convergence) will be exported.
Definition at line 143 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and finishCurrentEpisode().
      
  | 
  private | 
Property: variable storing the probability that we made the "undershoot" move (d+dx-1).
Definition at line 131 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by EpisodicHistogramFilterMazeLocalization(), and performSingleStep().
      
  | 
  private | 
Window for displaying chart with statistics on current maze number.
Definition at line 95 of file EpisodicHistogramFilterMazeLocalization.hpp.
Referenced by initialize(), and ~EpisodicHistogramFilterMazeLocalization().