aGrUM  0.16.0
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 51 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 60 of file IDecisionStrategy.h.

60 {}

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 72 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().

72  {
73  _optPol = nullptr;
74  if (_allActions.size() == 0)
75  for (auto actionIter = fmdp->beginActions();
76  actionIter != fmdp->endActions();
77  ++actionIter)
78  _allActions += *actionIter;
79  }
Size size() const
Gives the size.
Definition: actionSet.h:211
SequenceIteratorSafe< Idx > beginActions() const
Returns an iterator reference to he beginning of the list of actions.
Definition: fmdp.h:137
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * _optPol
SequenceIteratorSafe< Idx > endActions() const
Returns an iterator reference to the end of the list of actions.
Definition: fmdp.h:144
+ 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 90 of file IDecisionStrategy.h.

References _optPol.

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

91  {
92  _optPol =
93  const_cast< MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy >* >(
94  optPol);
95  }
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 97 of file IDecisionStrategy.h.

References _allActions, and _optPol.

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

97  {
98  return (_optPol && _optPol->realSize() != 0) ? _optPol->get(curState)
99  : _allActions;
100  }
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 104 of file IDecisionStrategy.h.

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


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