MachineIntelligenceCore:ReinforcementLearning
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
mic::application::HistogramFilterMazeLocalization Class Reference

Class implementing a histogram filter based solution of the maze-of-digits problem. More...

#include <HistogramFilterMazeLocalization.hpp>

Inheritance diagram for mic::application::HistogramFilterMazeLocalization:
Collaboration diagram for mic::application::HistogramFilterMazeLocalization:

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...
 

Detailed Description

Class implementing a histogram filter based solution of the maze-of-digits problem.

Author
tkornuta

Definition at line 47 of file HistogramFilterMazeLocalization.hpp.

Constructor & Destructor Documentation

mic::application::HistogramFilterMazeLocalization::HistogramFilterMazeLocalization ( std::string  node_name_ = "application")

Default Constructor. Sets the application/node name, default values of variables, initializes classifier etc.

Parameters
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.

mic::application::HistogramFilterMazeLocalization::~HistogramFilterMazeLocalization ( )
virtual

Member Function Documentation

void mic::application::HistogramFilterMazeLocalization::createDataContainers ( )
protected
void mic::application::HistogramFilterMazeLocalization::initialize ( int  argc,
char *  argv[] 
)
protectedvirtual

Method initializes GLUT and OpenGL windows.

Parameters
argcNumber of application parameters.
argvArray 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.

void mic::application::HistogramFilterMazeLocalization::storeCurrentStateInDataContainers ( bool  synchronize_)
protected

Member Data Documentation

mic::configuration::Property<short> mic::application::HistogramFilterMazeLocalization::action
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().

mic::utils::DataCollectorPtr<std::string, float> mic::application::HistogramFilterMazeLocalization::coordinate_x_collector_ptr
private
mic::utils::DataCollectorPtr<std::string, float> mic::application::HistogramFilterMazeLocalization::coordinate_y_collector_ptr
private
mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::epsilon
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().

mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::exact_move_probability
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().

mic::algorithms::MazeHistogramFilter mic::application::HistogramFilterMazeLocalization::hf
private
mic::configuration::Property<short> mic::application::HistogramFilterMazeLocalization::hidden_maze_number
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().

mic::configuration::Property<short> mic::application::HistogramFilterMazeLocalization::hidden_x
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().

mic::configuration::Property<short> mic::application::HistogramFilterMazeLocalization::hidden_y
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().

mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::hit_factor
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().

mic::importers::MazeMatrixImporter mic::application::HistogramFilterMazeLocalization::importer
private

Importer responsible for loading mazes from file.

Definition at line 111 of file HistogramFilterMazeLocalization.hpp.

Referenced by createDataContainers(), initializePropertyDependentVariables(), and storeCurrentStateInDataContainers().

mic::utils::DataCollectorPtr<std::string, float> mic::application::HistogramFilterMazeLocalization::max_probabilities_collector_ptr
private

Data collector with maximal maze/x/y/ probabilities.

Definition at line 101 of file HistogramFilterMazeLocalization.hpp.

Referenced by createDataContainers(), initialize(), performSingleStep(), and storeCurrentStateInDataContainers().

mic::utils::DataCollectorPtr<std::string, float> mic::application::HistogramFilterMazeLocalization::maze_collector_ptr
private
mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::miss_factor
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().

mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::overshoot_move_probability
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().

mic::configuration::Property<std::string> mic::application::HistogramFilterMazeLocalization::statistics_filename
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().

mic::configuration::Property<double> mic::application::HistogramFilterMazeLocalization::undershoot_move_probability
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().

WindowCollectorChart<float>* mic::application::HistogramFilterMazeLocalization::w_current_coordinate_x
private

Window for displaying chart with statistics on current x coordinate.

Definition at line 95 of file HistogramFilterMazeLocalization.hpp.

Referenced by initialize(), and ~HistogramFilterMazeLocalization().

WindowCollectorChart<float>* mic::application::HistogramFilterMazeLocalization::w_current_coordinate_y
private

Window for displaying chart with statistics on current y coordinate.

Definition at line 98 of file HistogramFilterMazeLocalization.hpp.

Referenced by initialize(), and ~HistogramFilterMazeLocalization().

WindowCollectorChart<float>* mic::application::HistogramFilterMazeLocalization::w_current_maze_chart
private

Window for displaying chart with statistics on current maze number.

Definition at line 92 of file HistogramFilterMazeLocalization.hpp.

Referenced by initialize(), and ~HistogramFilterMazeLocalization().

WindowCollectorChart<float>* mic::application::HistogramFilterMazeLocalization::w_max_probabilities_chart
private

Window for displaying chart with maximal maze/x/y/ probabilities.

Definition at line 108 of file HistogramFilterMazeLocalization.hpp.

Referenced by initialize(), and ~HistogramFilterMazeLocalization().


The documentation for this class was generated from the following files: