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

CExtendedAction Class Reference

This abstract class represents extended actions like behaviors or hierarchical SMDPs. More...

#include <caction.h>

Inheritance diagram for CExtendedAction:

CMultiStepAction CAction CExtendedPrimitiveAction CHierarchicalSemiMarkovDecisionProcess CPrimitiveActionStateChange CSubGoalBehaviour CTaxiHierarchicalBehaviour List of all members.


Public Member Functions

  CExtendedAction ()
virtual  ~CExtendedAction ()
virtual CAction getNextHierarchyLevel (CStateCollection *state, CActionDataSet *actionDataSet=NULL)=0
  Virtual function for determining the next action in the next hierarchie level.

void  getHierarchicalStack (CHierarchicalStack *actionStack)
  Constructs a hierarchical ActionStack, with the extended action itself as root.



Public Attributes

CAction nextHierarchyLevel
  Pointer to the action executed by the extended Action.

bool  sendIntermediateSteps
  Flag for sending the intermediate Steps of this action.



Protected Member Functions

  CExtendedAction (CMultiStepActionData *actionData)

Detailed Description

This abstract class represents extended actions like behaviors or hierarchical SMDPs.

The CExtendedAction class can represent behaviors and other actions which are composed of other primitive, or even extended actions. Since an extended action usually consists of a composition of several other, "more primitive" actions, the extended action has also an duration, so its derivated from CMultiStepAction. Like an agent controller you can retrieve an other action from the extended action to execute (with getNextHierarchyLevel(...)). The action returned by this method can be a primitive action or aswell an extended action with lower hierarchy. Gathering the next action until a primitiv action occurs is done by the class CHierarchicalController, meanwhile the Hierarchical Stack is also created. The Hierachic Controller also sets the nextHierarchyLevel Pointer according to getNextHierarchyLevel(...).

When using extended actions you have the possibility that all intermediate steps which occured during the execution of the extended action get send to the Listeners by the class CSemiMarkovDecisionProcess. For sending the intermediate steps to a agent listener the function "intermediateStep" is used instead of "nextStep", the different function is needed because intermediate steps has to be treated differently in some cases (ETraces). To get the intermediate steps of a executed behavior you take all states occured during the execution of the action. To create a S-A-S tuple you take one state of that list of states for the first state in the tuple (soo its the "current" state), set the duration of the extended action correctly and for the second state of the tuple you take the state in which the action has finished. This is only usefull for behaviors which finishing condition only depends on the actual state. With this method your are able to provide more training examples. If you don't wan


Constructor & Destructor Documentation

CExtendedAction::CExtendedAction CMultiStepActionData actionData  )  [protected]
 
CExtendedAction::CExtendedAction  ) 
 
virtual CExtendedAction::~CExtendedAction  )  [inline, virtual]
 

Member Function Documentation

void CExtendedAction::getHierarchicalStack CHierarchicalStack actionStack  ) 
 

Constructs a hierarchical ActionStack, with the extended action itself as root.

virtual CAction* CExtendedAction::getNextHierarchyLevel CStateCollection state,
CActionDataSet actionDataSet = NULL
[pure virtual]
 

Virtual function for determining the next action in the next hierarchie level.

Implemented in CHierarchicalSemiMarkovDecisionProcess, CExtendedPrimitiveAction, and CPrimitiveActionStateChange.


Member Data Documentation

CAction* CExtendedAction::nextHierarchyLevel
 

Pointer to the action executed by the extended Action.

bool CExtendedAction::sendIntermediateSteps
 

Flag for sending the intermediate Steps of this action.


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