aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
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 ()=default
 Destructor (virtual and empty since it's an interface).
Initialization
virtual void initialize (const FMDP< double > *fmdp)
 Initializes the learner.

Incremental methods

const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * optPol_ {nullptr}
ActionSet allActions_
virtual void checkState (const Instantiation &newState, Idx actionId)=0
void setOptimalStrategy (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 70 of file IDecisionStrategy.h.

Constructor & Destructor Documentation

◆ ~IDecisionStrategy()

virtual gum::IDecisionStrategy::~IDecisionStrategy ( )
virtualdefault

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

Member Function Documentation

◆ checkState()

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

◆ initialize()

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

Initializes the learner.

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

Definition at line 48 of file IDecisionStrategy_inl.h.

48 {
49 optPol_ = nullptr;
50 if (allActions_.size() == 0)
51 for (auto actionIter = fmdp->beginActions(); actionIter != fmdp->endActions(); ++actionIter)
52 allActions_ += *actionIter;
53 }
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * optPol_

References allActions_, gum::FMDP< GUM_ELEMENT >::beginActions(), gum::FMDP< GUM_ELEMENT >::endActions(), and optPol_.

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

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setOptimalStrategy()

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

Definition at line 55 of file IDecisionStrategy_inl.h.

56 {
57 optPol_ = optPol;
58 }

References optPol_.

◆ stateOptimalPolicy()

INLINE ActionSet gum::IDecisionStrategy::stateOptimalPolicy ( const Instantiation & curState)
virtual

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

Definition at line 60 of file IDecisionStrategy_inl.h.

60 {
61 return (optPol_ && optPol_->realSize() != 0) ? optPol_->get(curState) : allActions_;
62 }

References allActions_, and optPol_.

Referenced by gum::E_GreedyDecider::stateOptimalPolicy().

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_ {nullptr}
protected

Definition at line 112 of file IDecisionStrategy.h.

112{nullptr};

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


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