MachineIntelligenceCore:ReinforcementLearning
|
Class implementing a histogram filter based solution of the maze-of-digits problem. More...
#include <HistogramFilterMazeLocalization.hpp>
Public Member Functions | |
HistogramFilterMazeLocalization (std::string node_name_="application") | |
virtual | ~HistogramFilterMazeLocalization () |
Protected Member Functions | |
virtual void | initializePropertyDependentVariables () |
virtual void | initialize (int argc, char *argv[]) |
virtual bool | performSingleStep () |
void | createDataContainers () |
void | storeCurrentStateInDataContainers (bool synchronize_) |
Private Attributes | |
WindowCollectorChart< float > * | w_current_maze_chart |
Window for displaying chart with statistics on current maze number. More... | |
WindowCollectorChart< float > * | w_current_coordinate_x |
Window for displaying chart with statistics on current x coordinate. More... | |
WindowCollectorChart< float > * | w_current_coordinate_y |
Window for displaying chart with statistics on current y coordinate. More... | |
mic::utils::DataCollectorPtr < std::string, float > | max_probabilities_collector_ptr |
Data collector with maximal maze/x/y/ probabilities. More... | |
mic::utils::DataCollectorPtr < std::string, float > | maze_collector_ptr |
mic::utils::DataCollectorPtr < std::string, float > | coordinate_x_collector_ptr |
mic::utils::DataCollectorPtr < std::string, float > | coordinate_y_collector_ptr |
WindowCollectorChart< float > * | w_max_probabilities_chart |
Window for displaying chart with maximal maze/x/y/ probabilities. 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 < std::string > | statistics_filename |
Property: name of the file to which the statistics will be exported. More... | |
Class implementing a histogram filter based solution of the maze-of-digits problem.
Definition at line 47 of file HistogramFilterMazeLocalization.hpp.
mic::application::HistogramFilterMazeLocalization::HistogramFilterMazeLocalization | ( | 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 39 of file HistogramFilterMazeLocalization.cpp.
References action, epsilon, exact_move_probability, hidden_maze_number, hidden_x, hidden_y, hit_factor, miss_factor, overshoot_move_probability, statistics_filename, and undershoot_move_probability.
|
virtual |
Destructor.
Definition at line 72 of file HistogramFilterMazeLocalization.cpp.
References w_current_coordinate_x, w_current_coordinate_y, w_current_maze_chart, and w_max_probabilities_chart.
|
protected |
Creates data containers - for visualization/data export purposes.
Definition at line 177 of file HistogramFilterMazeLocalization.cpp.
References coordinate_x_collector_ptr, coordinate_y_collector_ptr, importer, max_probabilities_collector_ptr, maze_collector_ptr, mic::importers::MazeMatrixImporter::maze_height, and mic::importers::MazeMatrixImporter::maze_width.
Referenced by initializePropertyDependentVariables().
|
protectedvirtual |
Method initializes GLUT and OpenGL windows.
argc | Number of application parameters. |
argv | Array of application parameters. |
Definition at line 80 of file HistogramFilterMazeLocalization.cpp.
References coordinate_x_collector_ptr, coordinate_y_collector_ptr, max_probabilities_collector_ptr, maze_collector_ptr, w_current_coordinate_x, w_current_coordinate_y, w_current_maze_chart, and w_max_probabilities_chart.
|
protectedvirtual |
Initializes all variables that are property-dependent (input patches, SDRs etc.).
Definition at line 103 of file HistogramFilterMazeLocalization.cpp.
References mic::algorithms::MazeHistogramFilter::assignInitialProbabilities(), createDataContainers(), hf, hidden_maze_number, mic::algorithms::MazeHistogramFilter::hidden_maze_number, hidden_x, mic::algorithms::MazeHistogramFilter::hidden_x, hidden_y, mic::algorithms::MazeHistogramFilter::hidden_y, hit_factor, mic::importers::MazeMatrixImporter::importData(), importer, mic::algorithms::MazeHistogramFilter::maze_patch_probabilities, mic::algorithms::MazeHistogramFilter::maze_position_probabilities, mic::algorithms::MazeHistogramFilter::maze_probabilities, mic::algorithms::MazeHistogramFilter::maze_x_coordinate_probilities, mic::algorithms::MazeHistogramFilter::maze_y_coordinate_probilities, miss_factor, mic::algorithms::MazeHistogramFilter::obs, mic::algorithms::MazeHistogramFilter::sense(), mic::algorithms::MazeHistogramFilter::setHiddenPose(), mic::algorithms::MazeHistogramFilter::setMazes(), statistics_filename, storeCurrentStateInDataContainers(), and mic::algorithms::MazeHistogramFilter::updateAggregatedProbabilities().
|
protectedvirtual |
Performs single step of computations.
Definition at line 289 of file HistogramFilterMazeLocalization.cpp.
References action, epsilon, exact_move_probability, hf, mic::algorithms::MazeHistogramFilter::hidden_maze_number, mic::algorithms::MazeHistogramFilter::hidden_x, mic::algorithms::MazeHistogramFilter::hidden_y, hit_factor, max_probabilities_collector_ptr, mic::algorithms::MazeHistogramFilter::maze_position_probabilities, mic::algorithms::MazeHistogramFilter::maze_probabilities, mic::algorithms::MazeHistogramFilter::maze_x_coordinate_probilities, mic::algorithms::MazeHistogramFilter::maze_y_coordinate_probilities, miss_factor, mic::algorithms::MazeHistogramFilter::mostUniquePatchActionSelection(), mic::algorithms::MazeHistogramFilter::obs, overshoot_move_probability, mic::algorithms::MazeHistogramFilter::probabilisticMove(), mic::algorithms::MazeHistogramFilter::sense(), statistics_filename, storeCurrentStateInDataContainers(), mic::algorithms::MazeHistogramFilter::sumOfMostUniquePatchesActionSelection(), undershoot_move_probability, and mic::algorithms::MazeHistogramFilter::updateAggregatedProbabilities().
|
protected |
Stores current state in data containers.
synchronize_ | If true enters critical section when adding data to containers. |
Definition at line 227 of file HistogramFilterMazeLocalization.cpp.
References coordinate_x_collector_ptr, coordinate_y_collector_ptr, hf, importer, max_probabilities_collector_ptr, maze_collector_ptr, mic::importers::MazeMatrixImporter::maze_height, mic::algorithms::MazeHistogramFilter::maze_probabilities, mic::importers::MazeMatrixImporter::maze_width, mic::algorithms::MazeHistogramFilter::maze_x_coordinate_probilities, and mic::algorithms::MazeHistogramFilter::maze_y_coordinate_probilities.
Referenced by initializePropertyDependentVariables(), and performSingleStep().
|
private |
Property: performed action (0-3: NESW, -3: random, -2: sumOfMostUniquePatchesActionSelection, -1: mostUniquePatchActionSelection).
Definition at line 127 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and performSingleStep().
|
private |
Definition at line 104 of file HistogramFilterMazeLocalization.hpp.
Referenced by createDataContainers(), initialize(), and storeCurrentStateInDataContainers().
|
private |
Definition at line 105 of file HistogramFilterMazeLocalization.hpp.
Referenced by createDataContainers(), initialize(), and storeCurrentStateInDataContainers().
|
private |
Property: variable denoting epsilon in aciton selection (the probability "below" which a random action will be selected).
Definition at line 130 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and performSingleStep().
|
private |
Property: variable storing the probability that we made the exact move (x+dx).
Definition at line 139 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and performSingleStep().
|
private |
Histogram filter.
Definition at line 114 of file HistogramFilterMazeLocalization.hpp.
Referenced by initializePropertyDependentVariables(), performSingleStep(), and storeCurrentStateInDataContainers().
|
private |
Property: variable denoting in which maze are we right now (unknown, to be determined).
Definition at line 117 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and initializePropertyDependentVariables().
|
private |
Property: variable denoting the x position are we right now (unknown, to be determined).
Definition at line 120 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and initializePropertyDependentVariables().
|
private |
Property: variable denoting the y position are we right now (unknown, to be determined).
Definition at line 123 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and initializePropertyDependentVariables().
|
private |
Property: variable denoting the hit factor (the gain when the observation coincides with current position).
Definition at line 133 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), initializePropertyDependentVariables(), and performSingleStep().
|
private |
Importer responsible for loading mazes from file.
Definition at line 111 of file HistogramFilterMazeLocalization.hpp.
Referenced by createDataContainers(), initializePropertyDependentVariables(), and storeCurrentStateInDataContainers().
|
private |
Data collector with maximal maze/x/y/ probabilities.
Definition at line 101 of file HistogramFilterMazeLocalization.hpp.
Referenced by createDataContainers(), initialize(), performSingleStep(), and storeCurrentStateInDataContainers().
|
private |
Definition at line 103 of file HistogramFilterMazeLocalization.hpp.
Referenced by createDataContainers(), initialize(), and storeCurrentStateInDataContainers().
|
private |
Property: variable denoting the miss factor (the gain when the observation does not coincide with current position).
Definition at line 136 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), initializePropertyDependentVariables(), and performSingleStep().
|
private |
Property: variable storing the probability that we made the "overshoot" move (d+dx+1).
Definition at line 142 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and performSingleStep().
|
private |
Property: name of the file to which the statistics will be exported.
Definition at line 148 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), initializePropertyDependentVariables(), and performSingleStep().
|
private |
Property: variable storing the probability that we made the "undershoot" move (d+dx-1).
Definition at line 145 of file HistogramFilterMazeLocalization.hpp.
Referenced by HistogramFilterMazeLocalization(), and performSingleStep().
|
private |
Window for displaying chart with statistics on current x coordinate.
Definition at line 95 of file HistogramFilterMazeLocalization.hpp.
Referenced by initialize(), and ~HistogramFilterMazeLocalization().
|
private |
Window for displaying chart with statistics on current y coordinate.
Definition at line 98 of file HistogramFilterMazeLocalization.hpp.
Referenced by initialize(), and ~HistogramFilterMazeLocalization().
|
private |
Window for displaying chart with statistics on current maze number.
Definition at line 92 of file HistogramFilterMazeLocalization.hpp.
Referenced by initialize(), and ~HistogramFilterMazeLocalization().
|
private |
Window for displaying chart with maximal maze/x/y/ probabilities.
Definition at line 108 of file HistogramFilterMazeLocalization.hpp.
Referenced by initialize(), and ~HistogramFilterMazeLocalization().