aGrUM 2.3.2
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 ()
 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 ( )
inlinevirtual

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

Definition at line 80 of file IDecisionStrategy.h.

80{}

Member Function Documentation

◆ checkState()

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

◆ 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 93 of file IDecisionStrategy.h.

93 {
94 optPol_ = nullptr;
95 if (allActions_.size() == 0)
96 for (auto actionIter = fmdp->beginActions(); actionIter != fmdp->endActions(); ++actionIter)
97 allActions_ += *actionIter;
98 }
const MultiDimFunctionGraph< ActionSet, SetTerminalNodePolicy > * optPol_

References allActions_, gum::FMDP< GUM_SCALAR >::beginActions(), gum::FMDP< GUM_SCALAR >::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()

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

Definition at line 111 of file IDecisionStrategy.h.

111 {
112 optPol_ = optPol;
113 }

References optPol_.

◆ stateOptimalPolicy()

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

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

Definition at line 115 of file IDecisionStrategy.h.

115 {
116 return (optPol_ && optPol_->realSize() != 0) ? optPol_->get(curState) : allActions_;
117 }

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 121 of file IDecisionStrategy.h.

121{nullptr};

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


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