aGrUM  0.16.0
gum::IInfluenceDiagramInference< GUM_SCALAR > Class Template Referenceabstract

<agrum/ID/inference/IInfluenceDiagramInference.h> More...

#include <IInfluenceDiagramInference.h>

+ Inheritance diagram for gum::IInfluenceDiagramInference< GUM_SCALAR >:

Public Member Functions

 IInfluenceDiagramInference (const InfluenceDiagram< GUM_SCALAR > &infDiag)
 Default constructor. More...
 
virtual ~IInfluenceDiagramInference ()
 Destructor. More...
 
virtual void makeInference ()=0
 Makes the inference. More...
 
virtual void insertEvidence (const List< const Potential< GUM_SCALAR > * > &evidenceList)=0
 Insert new evidence in the graph. More...
 
virtual void eraseEvidence (const Potential< GUM_SCALAR > *evidence)=0
 Remove a given evidence from the graph. More...
 
virtual void eraseAllEvidence ()=0
 Remove all evidence from the graph. More...
 
const InfluenceDiagram< GUM_SCALAR > & influenceDiagram () const
 Returns a constant reference over the InfluenceDiagram on which this class work. More...
 
virtual GUM_SCALAR getMEU ()=0
 Returns maximum expected utility obtained from inference. More...
 
virtual Idx getBestDecisionChoice (NodeId decisionId)=0
 Returns best choice for decision variable given in parameter ( based upon MEU criteria ) More...
 

Protected Attributes

const InfluenceDiagram< GUM_SCALAR > & __infDiag
 The Bayes net we wish to perform inference on. More...
 

Detailed Description

template<typename GUM_SCALAR>
class gum::IInfluenceDiagramInference< GUM_SCALAR >

<agrum/ID/inference/IInfluenceDiagramInference.h>

Abstract base class for inference engines in influence diagrams.

Definition at line 46 of file IInfluenceDiagramInference.h.

Constructor & Destructor Documentation

◆ IInfluenceDiagramInference()

template<typename GUM_SCALAR >
gum::IInfluenceDiagramInference< GUM_SCALAR >::IInfluenceDiagramInference ( const InfluenceDiagram< GUM_SCALAR > &  infDiag)
explicit

Default constructor.

◆ ~IInfluenceDiagramInference()

template<typename GUM_SCALAR >
virtual gum::IInfluenceDiagramInference< GUM_SCALAR >::~IInfluenceDiagramInference ( )
virtual

Destructor.

Member Function Documentation

◆ eraseAllEvidence()

template<typename GUM_SCALAR >
virtual void gum::IInfluenceDiagramInference< GUM_SCALAR >::eraseAllEvidence ( )
pure virtual

Remove all evidence from the graph.

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

◆ eraseEvidence()

template<typename GUM_SCALAR >
virtual void gum::IInfluenceDiagramInference< GUM_SCALAR >::eraseEvidence ( const Potential< GUM_SCALAR > *  evidence)
pure virtual

Remove a given evidence from the graph.

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

◆ getBestDecisionChoice()

template<typename GUM_SCALAR >
virtual Idx gum::IInfluenceDiagramInference< GUM_SCALAR >::getBestDecisionChoice ( NodeId  decisionId)
pure virtual

Returns best choice for decision variable given in parameter ( based upon MEU criteria )

Parameters
decisionIdthe id of the decision variable
Exceptions
OperationNotAllowedif no inference have yet been made
InvalidNodeif node given in parmaeter is not a decision node

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

◆ getMEU()

template<typename GUM_SCALAR >
virtual GUM_SCALAR gum::IInfluenceDiagramInference< GUM_SCALAR >::getMEU ( )
pure virtual

Returns maximum expected utility obtained from inference.

Exceptions
OperationNotAllowedif no inference have yet been made

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

◆ influenceDiagram()

template<typename GUM_SCALAR >
const InfluenceDiagram< GUM_SCALAR >& gum::IInfluenceDiagramInference< GUM_SCALAR >::influenceDiagram ( ) const

Returns a constant reference over the InfluenceDiagram on which this class work.

◆ insertEvidence()

template<typename GUM_SCALAR >
virtual void gum::IInfluenceDiagramInference< GUM_SCALAR >::insertEvidence ( const List< const Potential< GUM_SCALAR > * > &  evidenceList)
pure virtual

Insert new evidence in the graph.

Warning
if an evidence already w.r.t. a given node and a new evidence w.r.t. this node is onserted, the old evidence is removed.
Exceptions
OperationNotAllowedRaised if an evidence is over more than one variable.

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

◆ makeInference()

template<typename GUM_SCALAR >
virtual void gum::IInfluenceDiagramInference< GUM_SCALAR >::makeInference ( )
pure virtual

Makes the inference.

Implemented in gum::InfluenceDiagramInference< GUM_SCALAR >.

Member Data Documentation

◆ __infDiag

template<typename GUM_SCALAR >
const InfluenceDiagram< GUM_SCALAR >& gum::IInfluenceDiagramInference< GUM_SCALAR >::__infDiag
protected

The Bayes net we wish to perform inference on.

Definition at line 111 of file IInfluenceDiagramInference.h.


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