Neural Networks 0.2
A framework for Lukas Zdechovan's Neural Networks C++ projects.

RL/CACLA/ContEnvironment.h

Go to the documentation of this file.
00001 /*
00002     <one line to give the program's name and a brief idea of what it does.>
00003     Copyright (C) <year>  <name of author>
00004 
00005     This program is free software: you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation, either version 3 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017 
00018 */
00019 
00020 #ifndef CONTENVIRONMENT_H
00021 #define CONTENVIRONMENT_H
00022 
00023 namespace RL{
00024     namespace CACLA{
00025 
00026     struct State
00027     {     
00028         double* values;
00029     };
00030     
00031     struct Action
00032     {
00033         double* values;
00034     };
00035     
00036     class Environment
00037     {
00038       protected:
00039         State state;        
00040         int dimension;      
00041       public:       
00042         int getDimension();  
00043         State getState();
00044         void setState(State state);
00045         virtual State applyAction(Action action) = 0;   
00046         virtual double reward(State oldState, Action action, State newState) = 0;
00047     };
00048 
00049     }
00050 }
00051 
00052 #endif // CONTENVIRONMENT_H
 All Data Structures Namespaces Files Functions Variables Defines