Reinforcement Learning Toolbox 2.0
last updated:
General
Documentation
Manual
Tutorial
Class Reference
Master Thesis
Examples
Related Papers
Downloads
Links
News
mailto:webmaster
Main Page     Class Hierarchy   Compound List   File List   Compound Members   File Members

CSemiMarkovDecisionProcess Class Reference

Class for providing the general Functions for the learning Environment. More...

#include <cagent.h>

Inheritance diagram for CSemiMarkovDecisionProcess:

CDeterministicController CSemiMDPSender CAgentController CSemiMDPListener CActionObject CParameterObject CParameterObject CParameters CParameters CAgent CHierarchicalSemiMarkovDecisionProcess CHiearchicalAgent CSubGoalBehaviour CTaxiHierarchicalBehaviour List of all members.


Public Member Functions

  CSemiMarkovDecisionProcess ()
  ~CSemiMarkovDecisionProcess ()
virtual void  sendNextStep (CStateCollection *lastState, CAction *action, CStateCollection *currentState)
  Sends the next Step to all Listeners. I.e that if the Action is a finished MultiStepAction.

CAction getLastAction ()
  Returns the last Action sent to all Listeners.

virtual void  startNewEpisode ()
  Sends to all Listeners that a new Episode occured and updates currentEpisodeNummer.

int  getCurrentEpisodeNumber ()
  Returns the number of Episodes.

int  getCurrentStep ()
  Returns the number of steps.

int  getTotalSteps ()
virtual void  addAction (CAction *action)
  Adds an Action to the ActionSet of the SMDP.

virtual void  addActions (CActionSet *action)


Protected Attributes

CAction lastAction
int  currentEpisodeNumber
int  currentSteps
int  totalSteps
bool  isFirstStep

Detailed Description

Class for providing the general Functions for the learning Environment.

CSemiMarkovDecisionProcess is the super class of all "acting" agents. It maintains a list of available Actions for the SMDP. It also loggs the number of Episodes and the Number of Steps done in the current Epsiode. It provides the functionality for sending a Semi-Markov Step, but its only able to send PrimitiveActions. For extended Actions you have to use the hierarchicalMDP. /par The class is a subclass of CDeterministicController in order to make any Controller assigned to the SMDP a deterministic Controller. The CDeterministicController Object is always the first Object to be informed about the new Step, and its not in the ListenerList (Recursions). This feature is needed for learning the exact Policy of the agent (see CSarsaLearner), so the agent can be used as estimation policy.

See also:
CAgent

CHierarchicalalSemiMarkovDecisionProcess


Constructor & Destructor Documentation

CSemiMarkovDecisionProcess::CSemiMarkovDecisionProcess  ) 
 
CSemiMarkovDecisionProcess::~CSemiMarkovDecisionProcess  ) 
 

Member Function Documentation

virtual void CSemiMarkovDecisionProcess::addAction CAction action  )  [virtual]
 

Adds an Action to the ActionSet of the SMDP.

virtual void CSemiMarkovDecisionProcess::addActions CActionSet action  )  [virtual]
 
int CSemiMarkovDecisionProcess::getCurrentEpisodeNumber  )  [inline]
 

Returns the number of Episodes.

int CSemiMarkovDecisionProcess::getCurrentStep  )  [inline]
 

Returns the number of steps.

CAction* CSemiMarkovDecisionProcess::getLastAction  ) 
 

Returns the last Action sent to all Listeners.

int CSemiMarkovDecisionProcess::getTotalSteps  )  [inline]
 
virtual void CSemiMarkovDecisionProcess::sendNextStep CStateCollection lastState,
CAction action,
CStateCollection currentState
[virtual]
 

Sends the next Step to all Listeners. I.e that if the Action is a finished MultiStepAction.

Reimplemented from CSemiMDPSender.

virtual void CSemiMarkovDecisionProcess::startNewEpisode  )  [virtual]
 

Sends to all Listeners that a new Episode occured and updates currentEpisodeNummer.

Reimplemented from CSemiMDPSender.

Reimplemented in CAgent, and CHiearchicalAgent.


Member Data Documentation

int CSemiMarkovDecisionProcess::currentEpisodeNumber [protected]
 
int CSemiMarkovDecisionProcess::currentSteps [protected]
 
bool CSemiMarkovDecisionProcess::isFirstStep [protected]
 
CAction* CSemiMarkovDecisionProcess::lastAction [protected]
 
int CSemiMarkovDecisionProcess::totalSteps [protected]
 

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