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

CAdaptiveParameterUnBoundedValuesCalculator Class Reference

Super class for all classes which use unbounded target values. More...

#include <cparameters.h>

Inheritance diagram for CAdaptiveParameterUnBoundedValuesCalculator:

CAdaptiveParameterCalculator CParameterObject CParameters CAdaptiveParameterFromNEpisodesCalculator CAdaptiveParameterFromNStepsCalculator List of all members.


Public Member Functions

  CAdaptiveParameterUnBoundedValuesCalculator (CParameters *targetObject, string targetParameter, int functionKind, double param0, double paramScale, double targetOffset, double targetScale)
virtual  ~CAdaptiveParameterUnBoundedValuesCalculator ()
virtual void  onParametersChanged ()
  Updates all data elements which represents parameters.

virtual void  setParameterValue (double value)
  Returns the value of the parameter.



Protected Attributes

double  targetOffset
double  targetScale
double  paramOffset
double  paramScale
double  paramLimit

Detailed Description

Super class for all classes which use unbounded target values.

The subclasses of theses class use unbounded target values. These are for example the number of steps or the number of learned episodes. For unbounded target values you can define an offset and a scale value for the target (Parameters: "APTargetMin", "APTargetMax"). The target value is then transformed the following way x = target_offset + target_scale * target. After the transformation the function defined by the parameter "APFunctionKind" gets applied. The 6 different functions are calucalated the following way:

  • LINEAR: f(x) = x
  • SQUARE: f(x) = x^2
  • LOG: f(x) = log(x + 1.0)
  • FRACT: f(x) = (1.0 / (x + 1.0))
  • FRACTSQUARE: f(x) = (1.0 / (x^2 + 1.0)
  • FRACTLOG : f(x) = 1.0 / (1.0 + log(x + 1.0)); The result can be now again scaled and an offset can be added ("APParamScale", "APParamOffset"), so the resulting parameter value is calculated with the formular param = param_offset + param_scale * f(transformed_targetvalue). These gives you much degree of freedom to design your adaptive parameter calculator. The values of the parameters "APParamScale", "APParamOffset", APTargetMin" and "APTargetMax" are again stored in own data element for performance reasons and updated by the function onParameterChanged. See the subclasses for the different target values. Parameters of CAdaptiveParameterBoundedValuesCalculator:
  • "APFunctionKind": Defining the function to transform target value into the parameter value.
  • "APParamScale": Scale of the parameter value
  • "APParamOffset": Parameter Value offset
  • "APTargetScale": Scale value of the target
  • "APTargetOffset": Offset value of the target

Constructor & Destructor Documentation

CAdaptiveParameterUnBoundedValuesCalculator::CAdaptiveParameterUnBoundedValuesCalculator CParameters targetObject,
string  targetParameter,
int  functionKind,
double  param0,
double  paramScale,
double  targetOffset,
double  targetScale
 
virtual CAdaptiveParameterUnBoundedValuesCalculator::~CAdaptiveParameterUnBoundedValuesCalculator  )  [virtual]
 

Member Function Documentation

virtual void CAdaptiveParameterUnBoundedValuesCalculator::onParametersChanged  )  [virtual]
 

Updates all data elements which represents parameters.

Reimplemented from CAdaptiveParameterCalculator.

Reimplemented in CAdaptiveParameterFromNStepsCalculator, and CAdaptiveParameterFromNEpisodesCalculator.

virtual void CAdaptiveParameterUnBoundedValuesCalculator::setParameterValue double  value  )  [virtual]
 

Returns the value of the parameter.

The value of the parameter is calculated the follwing way:

  • param = param_offset + param_scale * f(target_offset + target_scale * target) For more details see class description.

Reimplemented from CAdaptiveParameterCalculator.


Member Data Documentation

double CAdaptiveParameterUnBoundedValuesCalculator::paramLimit [protected]
 
double CAdaptiveParameterUnBoundedValuesCalculator::paramOffset [protected]
 
double CAdaptiveParameterUnBoundedValuesCalculator::paramScale [protected]
 
double CAdaptiveParameterUnBoundedValuesCalculator::targetOffset [protected]
 
double CAdaptiveParameterUnBoundedValuesCalculator::targetScale [protected]
 

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