aGrUM  0.14.2
gum::IDecisionStrategy Class Referenceabstract

<agrum/FMDP/SDyna/IDecisionStrategy.h> More...

#include <IDecisionStrategy.h>

+ Inheritance diagram for gum::IDecisionStrategy:
+ Collaboration diagram for gum::IDecisionStrategy:

Public Member Functions

Constructor & destructor.
virtual ~IDecisionStrategy ()
 Destructor (virtual and empty since it's an interface) More...
 
Initialization
virtual void initialize (const FMDP< double > *fmdp)
 Initializes the learner. More...
 

Incremental methods

const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * _optPol
 
ActionSet _allActions
 
virtual void checkState (const Instantiation &newState, Idx actionId)=0
 
void setOptimalStrategy (const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > *optPol)
 
virtual ActionSet stateOptimalPolicy (const Instantiation &curState)
 

Detailed Description

<agrum/FMDP/SDyna/IDecisionStrategy.h>

Interface for manipulating decision center

Definition at line 48 of file IDecisionStrategy.h.

Constructor & Destructor Documentation

◆ ~IDecisionStrategy()

virtual gum::IDecisionStrategy::~IDecisionStrategy ( )
inlinevirtual

Destructor (virtual and empty since it's an interface)

Definition at line 57 of file IDecisionStrategy.h.

57 {}

Member Function Documentation

◆ checkState()

virtual void gum::IDecisionStrategy::checkState ( const Instantiation newState,
Idx  actionId 
)
pure virtual

Implemented in gum::AdaptiveRMaxPlaner, gum::E_GreedyDecider, gum::StatisticalLazyDecider, gum::LazyDecider, and gum::RandomDecider.

Referenced by gum::SDYNA::feedback(), and initialize().

+ Here is the caller graph for this function:

◆ initialize()

virtual void gum::IDecisionStrategy::initialize ( const FMDP< double > *  fmdp)
inlinevirtual

Initializes the learner.

Reimplemented in gum::AdaptiveRMaxPlaner, and gum::E_GreedyDecider.

Definition at line 69 of file IDecisionStrategy.h.

References _allActions, _optPol, gum::FMDP< GUM_SCALAR >::beginActions(), checkState(), gum::FMDP< GUM_SCALAR >::endActions(), and gum::ActionSet::size().

Referenced by gum::E_GreedyDecider::initialize(), gum::AdaptiveRMaxPlaner::initialize(), and gum::SDYNA::initialize().

69  {
70  _optPol = nullptr;
71  if (_allActions.size() == 0)
72  for (auto actionIter = fmdp->beginActions();
73  actionIter != fmdp->endActions();
74  ++actionIter)
75  _allActions += *actionIter;
76  }
Size size() const
Gives the size.
Definition: actionSet.h:208
SequenceIteratorSafe< Idx > beginActions() const
Returns an iterator reference to he beginning of the list of actions.
Definition: fmdp.h:134
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * _optPol
SequenceIteratorSafe< Idx > endActions() const
Returns an iterator reference to the end of the list of actions.
Definition: fmdp.h:141
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setOptimalStrategy()

void gum::IDecisionStrategy::setOptimalStrategy ( const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > *  optPol)
inline

Definition at line 87 of file IDecisionStrategy.h.

References _optPol.

Referenced by gum::SDYNA::makePlanning().

88  {
89  _optPol =
90  const_cast< MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy >* >(
91  optPol);
92  }
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * _optPol
+ Here is the caller graph for this function:

◆ stateOptimalPolicy()

virtual ActionSet gum::IDecisionStrategy::stateOptimalPolicy ( const Instantiation curState)
inlinevirtual

Reimplemented in gum::E_GreedyDecider, and gum::RandomDecider.

Definition at line 94 of file IDecisionStrategy.h.

References _allActions, and _optPol.

Referenced by gum::E_GreedyDecider::stateOptimalPolicy(), and gum::SDYNA::takeAction().

94  {
95  return (_optPol && _optPol->realSize() != 0) ? _optPol->get(curState)
96  : _allActions;
97  }
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * _optPol
+ Here is the caller graph for this function:

Member Data Documentation

◆ _allActions

ActionSet gum::IDecisionStrategy::_allActions
protected

◆ _optPol

const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy >* gum::IDecisionStrategy::_optPol
protected

Definition at line 101 of file IDecisionStrategy.h.

Referenced by initialize(), setOptimalStrategy(), and stateOptimalPolicy().


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