23 #ifndef SRC_APPLICATION_GRIDWORLDQLEARNING_HPP_
24 #define SRC_APPLICATION_GRIDWORLDQLEARNING_HPP_
29 #include <opengl/application/OpenGLEpisodicApplication.hpp>
30 #include <opengl/visualization/WindowCollectorChart.hpp>
31 using namespace mic::opengl::visualization;
36 namespace application {
64 virtual void initialize(
int argc,
char* argv[]);
69 virtual void initializePropertyDependentVariables();
74 virtual bool performSingleStep();
79 virtual void startNewEpisode();
84 virtual void finishCurrentEpisode();
134 std::string streamQStateTable();
142 float computeBestValue(mic::types::Position2D pos_);
149 mic::types::NESWAction selectBestAction(mic::types::Position2D pos_);
WindowCollectorChart< float > * w_chart
Window for displaying ???.
Class emulating the gridworld environment.
mic::configuration::Property< double > epsilon
long long sum_of_iterations
mic::types::TensorXf qstate_table
Tensor storing values for all states (gridworld w * h * 4 (number of actions)). COL MAJOR(!)...
mic::configuration::Property< float > move_noise
mic::configuration::Property< float > discount_rate
mic::configuration::Property< float > learning_rate
mic::utils::DataCollectorPtr< std::string, float > collector_ptr
Data collector.
mic::environments::Gridworld grid_env
The gridworld object.
mic::configuration::Property< float > step_reward
Class responsible for solving the gridworld problem with Q-learning.
mic::configuration::Property< std::string > statistics_filename
Property: name of the file to which the statistics will be exported.