AIToolbox
A library that offers tools for AI problem solving.
AIToolbox::MDP::ImportanceSampling Class Reference

This class implements off-policy control via importance sampling. More...

#include <AIToolbox/MDP/Algorithms/ImportanceSampling.hpp>

Inheritance diagram for AIToolbox::MDP::ImportanceSampling:
AIToolbox::MDP::OffPolicyControl< ImportanceSampling > AIToolbox::MDP::OffPolicyBase

Public Types

using Parent = OffPolicyControl< ImportanceSampling >
 
- Public Types inherited from AIToolbox::MDP::OffPolicyControl< ImportanceSampling >
using Parent = OffPolicyBase
 
- Public Types inherited from AIToolbox::MDP::OffPolicyBase
using Trace = std::tuple< size_t, size_t, double >
 
using Traces = std::vector< Trace >
 

Public Member Functions

 ImportanceSampling (const PolicyInterface &behaviour, const double discount=1.0, const double alpha=0.1, const double tolerance=0.001, const double epsilon=0.1)
 Basic constructor. More...
 
- Public Member Functions inherited from AIToolbox::MDP::OffPolicyControl< ImportanceSampling >
 OffPolicyControl (size_t s, size_t a, double discount=1.0, double alpha=0.1, double tolerance=0.001, double epsilon=0.1)
 Basic constructor. More...
 
void stepUpdateQ (const size_t s, const size_t a, const size_t s1, const double rew)
 This function updates the internal QFunction using the discount set during construction. More...
 
void setEpsilon (double e)
 This function sets the epsilon parameter. More...
 
double getEpsilon () const
 This function will return the currently set epsilon parameter. More...
 
- Public Member Functions inherited from AIToolbox::MDP::OffPolicyBase
 OffPolicyBase (size_t s, size_t a, double discount=1.0, double alpha=0.1, double tolerance=0.001)
 Basic construtor. More...
 
void setLearningRate (double a)
 This function sets the learning rate parameter. More...
 
double getLearningRate () const
 This function will return the current set learning rate parameter. More...
 
void setDiscount (double d)
 This function sets the new discount parameter. More...
 
double getDiscount () const
 This function returns the currently set discount parameter. More...
 
void setTolerance (double t)
 This function sets the trace cutoff parameter. More...
 
double getTolerance () const
 This function returns the currently set trace cutoff parameter. More...
 
void clearTraces ()
 This function clears the already set traces. More...
 
const TracesgetTraces () const
 This function returns the currently set traces. More...
 
void setTraces (const Traces &t)
 This function sets the currently set traces. More...
 
size_t getS () const
 This function returns the number of states on which QLearning is working. More...
 
size_t getA () const
 This function returns the number of actions on which QLearning is working. More...
 
const QFunctiongetQFunction () const
 This function returns a reference to the internal QFunction. More...
 
void setQFunction (const QFunction &qfun)
 This function allows to directly set the internal QFunction. More...
 

Additional Inherited Members

- Protected Member Functions inherited from AIToolbox::MDP::OffPolicyBase
void updateTraces (size_t s, size_t a, double error, double traceDiscount)
 This function updates the traces using the input data. More...
 
- Protected Attributes inherited from AIToolbox::MDP::OffPolicyControl< ImportanceSampling >
double epsilon_
 
- Protected Attributes inherited from AIToolbox::MDP::OffPolicyBase
size_t S
 
size_t A
 
double discount_
 
double alpha_
 
double tolerance_
 
QFunction q_
 
Traces traces_
 

Detailed Description

This class implements off-policy control via importance sampling.

See also
ImportanceSamplingEvaluation

Member Typedef Documentation

◆ Parent

Constructor & Destructor Documentation

◆ ImportanceSampling()

AIToolbox::MDP::ImportanceSampling::ImportanceSampling ( const PolicyInterface behaviour,
const double  discount = 1.0,
const double  alpha = 0.1,
const double  tolerance = 0.001,
const double  epsilon = 0.1 
)
inline

Basic constructor.

Parameters
behaviourBehaviour policy
discountDiscount for the problem.
alphaLearning rate parameter.
toleranceTrace cutoff parameter.
epsilonThe epsilon of the implied target greedy epsilon policy.

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