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

CBatchStepUpdate Class Reference

Class for doing Batch Updates. More...

#include <chistory.h>

Inheritance diagram for CBatchStepUpdate:

CSemiMDPListener CParameterObject CParameters List of all members.


Public Member Functions

  CBatchStepUpdate (CSemiMDPListener *listener, CStepHistory *logger, int numUpdatesPerStep, int numUpdatesPerEpisode, std::list< CStateModifier * > *modifiers)
virtual  ~CBatchStepUpdate ()
virtual void  newEpisode ()
  tells the Listener that a new Episode has startet.

virtual void  nextStep (CStateCollection *oldState, CAction *action, CStateCollection *nextState)
  sends the Listener the S-A-S tuple from a new step

virtual void  simulateSteps (CSemiMDPListener *listener, int num)
  simulates num random steps to the listener

virtual void  simulateAllSteps (CSemiMDPListener *listener)
  simulates "getNumSteps)" random steps to the listener



Protected Attributes

int  numUpdates
CSemiMDPListener listener
CStepHistory steps
CStep step
CActionDataSet dataSet

Detailed Description

Class for doing Batch Updates.

Another possibility to improve performance is the batch update. In CBatchStepUpdate after each episode the steps from a logger can be showed to the assigned listener again. This can improve learning specially for TD-Learning algorithms, but be careful, it can also falsify the state transition distributions, especially if the problem doesn't have exactly the Markov property. The class needs obviously a listener and a assigned step history. Additionaly you have to determine the number of steps which are shown to the listener.


Constructor & Destructor Documentation

CBatchStepUpdate::CBatchStepUpdate CSemiMDPListener listener,
CStepHistory logger,
int  numUpdatesPerStep,
int  numUpdatesPerEpisode,
std::list< CStateModifier * > *  modifiers
 
virtual CBatchStepUpdate::~CBatchStepUpdate  )  [virtual]
 

Member Function Documentation

virtual void CBatchStepUpdate::newEpisode  )  [virtual]
 

tells the Listener that a new Episode has startet.

Reimplemented from CSemiMDPListener.

virtual void CBatchStepUpdate::nextStep CStateCollection oldState,
CAction action,
CStateCollection nextState
[virtual]
 

sends the Listener the S-A-S tuple from a new step

Reimplemented from CSemiMDPListener.

virtual void CBatchStepUpdate::simulateAllSteps CSemiMDPListener listener  )  [virtual]
 

simulates "getNumSteps)" random steps to the listener

Calls simulateSteps(listener, getNumSteps())

virtual void CBatchStepUpdate::simulateSteps CSemiMDPListener listener,
int  num
[virtual]
 

simulates num random steps to the listener

Since the sequenced states shown to the listener are not related, a newEpisode event is send to the listener after each step.


Member Data Documentation

CActionDataSet* CBatchStepUpdate::dataSet [protected]
 
CSemiMDPListener* CBatchStepUpdate::listener [protected]
 
int CBatchStepUpdate::numUpdates [protected]
 
CStep* CBatchStepUpdate::step [protected]
 
CStepHistory* CBatchStepUpdate::steps [protected]
 

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