MachineIntelligenceCore:ReinforcementLearning
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
EpisodicHistogramFilterMazeLocalization.hpp
Go to the documentation of this file.
1 
23 #ifndef SRC_APPLICATION_EPISODICHISTOGRAMFILTERMAZELOCALIZATION_HPP_
24 #define SRC_APPLICATION_EPISODICHISTOGRAMFILTERMAZELOCALIZATION_HPP_
25 
26 #include <opengl/application/OpenGLEpisodicApplication.hpp>
27 #include <opengl/visualization/WindowCollectorChart.hpp>
28 using namespace mic::opengl::visualization;
29 
30 #include <types/MatrixTypes.hpp>
31 
33 
34 #include <types/Action2D.hpp>
35 
37 
38 
39 namespace mic {
40 namespace application {
41 
46 class EpisodicHistogramFilterMazeLocalization: public mic::opengl::application::OpenGLEpisodicApplication {
47 public:
52  EpisodicHistogramFilterMazeLocalization(std::string node_name_ = "application");
53 
58 
59 protected:
60 
66  virtual void initialize(int argc, char* argv[]);
67 
71  virtual void initializePropertyDependentVariables();
72 
76  virtual bool performSingleStep();
77 
81  virtual void startNewEpisode();
82 
86  virtual void finishCurrentEpisode();
87 
88 
89 private:
90 
92  mic::utils::DataCollectorPtr<std::string, float> collector_ptr;
93 
95  WindowCollectorChart<float>* w_localization_time_chart;
96 
99 
102 
104  mic::configuration::Property<short> hidden_maze_number;
105 
107  mic::configuration::Property<short> hidden_x;
108 
110  mic::configuration::Property<short> hidden_y;
111 
113  mic::configuration::Property<short> action;
114 
116  mic::configuration::Property<double> epsilon;
117 
119  mic::configuration::Property<double> hit_factor;
120 
122  mic::configuration::Property<double> miss_factor;
123 
125  mic::configuration::Property<double> exact_move_probability;
126 
128  mic::configuration::Property<double> overshoot_move_probability;
129 
131  mic::configuration::Property<double> undershoot_move_probability;
132 
134  mic::configuration::Property<short> max_number_of_iterations;
135 
137  mic::configuration::Property<double> min_maze_confidence;
138 
140  double max_pm;
141 
143  mic::configuration::Property<std::string> statistics_filename;
144 };
145 
146 
147 } /* namespace application */
148 } /* namespace mic */
149 
150 #endif /* SRC_APPLICATION_EPISODICHISTOGRAMFILTERMAZELOCALIZATION_HPP_ */
Class implementing a histogram filter based solution of the maze-of-digits localization problem...
mic::utils::DataCollectorPtr< std::string, float > collector_ptr
Data collector.
mic::configuration::Property< double > exact_move_probability
Property: variable storing the probability that we made the exact move (x+dx).
mic::configuration::Property< short > max_number_of_iterations
Property: stop condition 1: maximal number of iterations - if exceeded, we finish the episode claimin...
mic::configuration::Property< short > hidden_y
Property: variable denoting the y position are we right now (unknown, to be determined).
mic::configuration::Property< double > epsilon
Property: variable denoting epsilon in aciton selection (the probability "below" which a random actio...
mic::configuration::Property< std::string > statistics_filename
Property: name of the file to which the statistics (convergence) will be exported.
mic::configuration::Property< short > action
Property: performed action (0-3: NESW, -3: random, -2: sumOfMostUniquePatchesActionSelection, -1: mostUniquePatchActionSelection).
mic::configuration::Property< double > miss_factor
Property: variable denoting the miss factor (the gain when the observation does not coincide with cur...
mic::importers::MazeMatrixImporter importer
Importer responsible for loading mazes from file.
WindowCollectorChart< float > * w_localization_time_chart
Window for displaying chart with statistics on current maze number.
mic::configuration::Property< short > hidden_maze_number
Property: variable denoting in which maze are we right now (unknown, to be determined).
mic::configuration::Property< double > hit_factor
Property: variable denoting the hit factor (the gain when the observation coincides with current posi...
mic::configuration::Property< double > undershoot_move_probability
Property: variable storing the probability that we made the "undershoot" move (d+dx-1).
Application for episodic testing of convergence of histogram filter based maze-of-digits localization...
mic::configuration::Property< double > min_maze_confidence
Property: stop condition 2: minimal maze confidence - if exceeded, we finish the episode claiming tha...
mic::configuration::Property< double > overshoot_move_probability
Property: variable storing the probability that we made the "overshoot" move (d+dx+1).
mic::configuration::Property< short > hidden_x
Property: variable denoting the x position are we right now (unknown, to be determined).