MachineIntelligenceCore:ReinforcementLearning
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
HistogramFilterMazeLocalization.hpp
Go to the documentation of this file.
1 
23 #ifndef SRC_APPLICATION_HISTOGRAMFILTERMAZELOCALIZATION_HPP_
24 #define SRC_APPLICATION_HISTOGRAMFILTERMAZELOCALIZATION_HPP_
25 
26 #include <types/MatrixTypes.hpp>
27 
29 
31 
32 #include <opengl/application/OpenGLApplication.hpp>
33 #include <opengl/visualization/WindowCollectorChart.hpp>
34 
35 #include <types/Action2D.hpp>
36 using namespace mic::opengl::visualization;
37 
38 
39 
40 namespace mic {
41 namespace application {
42 
47 class HistogramFilterMazeLocalization: public mic::opengl::application::OpenGLApplication {
48 public:
53  HistogramFilterMazeLocalization(std::string node_name_ = "application");
54 
59 
60 protected:
64  virtual void initializePropertyDependentVariables();
65 
71  virtual void initialize(int argc, char* argv[]);
72 
76  virtual bool performSingleStep();
77 
81  void createDataContainers();
82 
87  void storeCurrentStateInDataContainers(bool synchronize_);
88 
89 private:
90 
92  WindowCollectorChart<float>* w_current_maze_chart;
93 
95  WindowCollectorChart<float>* w_current_coordinate_x;
96 
98  WindowCollectorChart<float>* w_current_coordinate_y;
99 
101  mic::utils::DataCollectorPtr<std::string, float> max_probabilities_collector_ptr;
102 
103  mic::utils::DataCollectorPtr<std::string, float> maze_collector_ptr;
104  mic::utils::DataCollectorPtr<std::string, float> coordinate_x_collector_ptr;
105  mic::utils::DataCollectorPtr<std::string, float> coordinate_y_collector_ptr;
106 
108  WindowCollectorChart<float> * w_max_probabilities_chart;
109 
112 
115 
117  mic::configuration::Property<short> hidden_maze_number;
118 
120  mic::configuration::Property<short> hidden_x;
121 
123  mic::configuration::Property<short> hidden_y;
124 
125 
127  mic::configuration::Property<short> action;
128 
130  mic::configuration::Property<double> epsilon;
131 
133  mic::configuration::Property<double> hit_factor;
134 
136  mic::configuration::Property<double> miss_factor;
137 
139  mic::configuration::Property<double> exact_move_probability;
140 
142  mic::configuration::Property<double> overshoot_move_probability;
143 
145  mic::configuration::Property<double> undershoot_move_probability;
146 
148  mic::configuration::Property<std::string> statistics_filename;
149 };
150 
151 } /* namespace application */
152 } /* namespace mic */
153 
154 #endif /* SRC_APPLICATION_HISTOGRAMFILTERMAZELOCALIZATION_HPP_ */
Class implementing a histogram filter based solution of the maze-of-digits localization problem...
mic::configuration::Property< double > hit_factor
Property: variable denoting the hit factor (the gain when the observation coincides with current posi...
mic::configuration::Property< short > hidden_maze_number
Property: variable denoting in which maze are we right now (unknown, to be determined).
mic::configuration::Property< std::string > statistics_filename
Property: name of the file to which the statistics will be exported.
mic::utils::DataCollectorPtr< std::string, float > coordinate_y_collector_ptr
WindowCollectorChart< float > * w_current_maze_chart
Window for displaying chart with statistics on current maze number.
mic::configuration::Property< short > hidden_y
Property: variable denoting the y position are we right now (unknown, to be determined).
mic::utils::DataCollectorPtr< std::string, float > coordinate_x_collector_ptr
mic::importers::MazeMatrixImporter importer
Importer responsible for loading mazes from file.
WindowCollectorChart< float > * w_current_coordinate_x
Window for displaying chart with statistics on current x coordinate.
mic::configuration::Property< double > miss_factor
Property: variable denoting the miss factor (the gain when the observation does not coincide with cur...
Class implementing a histogram filter based solution of the maze-of-digits problem.
WindowCollectorChart< float > * w_current_coordinate_y
Window for displaying chart with statistics on current y coordinate.
mic::configuration::Property< double > exact_move_probability
Property: variable storing the probability that we made the exact move (x+dx).
mic::configuration::Property< double > undershoot_move_probability
Property: variable storing the probability that we made the "undershoot" move (d+dx-1).
mic::utils::DataCollectorPtr< std::string, float > maze_collector_ptr
mic::configuration::Property< short > hidden_x
Property: variable denoting the x position are we right now (unknown, to be determined).
mic::utils::DataCollectorPtr< std::string, float > max_probabilities_collector_ptr
Data collector with maximal maze/x/y/ probabilities.
mic::configuration::Property< double > overshoot_move_probability
Property: variable storing the probability that we made the "overshoot" move (d+dx+1).
mic::configuration::Property< double > epsilon
Property: variable denoting epsilon in aciton selection (the probability "below" which a random actio...
mic::algorithms::MazeHistogramFilter hf
Histogram filter.
WindowCollectorChart< float > * w_max_probabilities_chart
Window for displaying chart with maximal maze/x/y/ probabilities.
mic::configuration::Property< short > action
Property: performed action (0-3: NESW, -3: random, -2: sumOfMostUniquePatchesActionSelection, -1: mostUniquePatchActionSelection).