GreedyPolicy< EnvironmentType > Class Template Reference

Implementation for epsilon greedy policy. More...

Public Types

using ActionType = typename EnvironmentType::Action
 Convenient typedef for action. More...


Public Member Functions

 GreedyPolicy (const double initialEpsilon, const size_t annealInterval, const double minEpsilon, const double decayRate=1.0)
 Constructor for epsilon greedy policy class. More...

void Anneal ()
 Exploration probability will anneal at each step. More...

const double & Epsilon () const
ActionType Sample (const arma::colvec &actionValue, bool deterministic=false, const bool isNoisy=false)
 Sample an action based on given action values. More...


Detailed Description


class mlpack::rl::GreedyPolicy< EnvironmentType >

Implementation for epsilon greedy policy.

In general we will select an action greedily based on the action value, however sometimes we will also randomly select an action to encourage exploration.

Template Parameters
EnvironmentTypeThe reinforcement learning task.

Definition at line 31 of file greedy_policy.hpp.

Member Typedef Documentation

◆ ActionType

using ActionType = typename EnvironmentType::Action

Convenient typedef for action.

Definition at line 35 of file greedy_policy.hpp.

Constructor & Destructor Documentation

◆ GreedyPolicy()

GreedyPolicy ( const double  initialEpsilon,
const size_t  annealInterval,
const double  minEpsilon,
const double  decayRate = 1.0 

Constructor for epsilon greedy policy class.

initialEpsilonThe initial probability to explore (select a random action).
annealIntervalThe steps during which the probability to explore will anneal.
minEpsilonEpsilon will never be less than this value.
decayRateHow much to change the model in response to the estimated error each time the model weights are updated.

Definition at line 48 of file greedy_policy.hpp.

Member Function Documentation

◆ Anneal()

void Anneal ( )

Exploration probability will anneal at each step.

Definition at line 90 of file greedy_policy.hpp.

References core::v2::max().

◆ Epsilon()

const double& Epsilon ( ) const
Current possibility to explore.

Definition at line 99 of file greedy_policy.hpp.

◆ Sample()

ActionType Sample ( const arma::colvec &  actionValue,
bool  deterministic = false,
const bool  isNoisy = false 

Sample an action based on given action values.

actionValueValues for each action.
deterministicAlways select the action greedily.
isNoisySpecifies whether the network used is noisy.
Sampled action.

Definition at line 65 of file greedy_policy.hpp.

References mlpack::math::RandInt(), mlpack::math::Random(), and core::v2::size().

The documentation for this class was generated from the following file:
  • /home/jenkins-mlpack/