27 #ifndef GUM_INFLUENCE_DIAGRAM_INFERENCE_H 28 #define GUM_INFLUENCE_DIAGRAM_INFERENCE_H 48 template <
typename GUM_SCALAR >
61 template <
typename GUM_SCALAR >
231 #ifndef DOXYGEN_SHOULD_SKIP_THIS 232 template <
typename GUM_SCALAR >
251 void makeEliminationOrder(
const std::vector< NodeId >& elim,
269 void cleanFromInference();
284 void removeAllEvidence();
335 #endif // DOXYGEN_SHOULD_SKIP_THIS aGrUM's Potential is a multi-dimensional array with tensor operators.
Potential< GUM_SCALAR > * __makeDummyPotential(NodeId cliqueId)
Returns a pointer over a "dummy" potential, which is a CPT filled with one MultiDimSparse filled with...
Set< Potential< GUM_SCALAR > *> __utilityDummies
The set of dummies sparse utilities matrix created.
Set< Potential< GUM_SCALAR > *> __potentialDummies
The set of dummies sparse potential matrix created.
<agrum/ID/inference/influenceDiagramInference.h>
bool __IsEliminatedAfter(NodeId observedNode, NodeId currentNode)
Returns true if observed node is eliminated after current node.
Idx getBestDecisionChoice(NodeId decisionId)
Implementations of the classes defined in InfluenceDiagram/inference/influenceDiagramInference.h.
Headers of MultiDimSparse.
NodeProperty< NodeId > __nodeToCliqueMap
Mapping of the nodes with the clique used to put their CPT.
Triangulation & getTriangulation()
Returns the Triangulation used by this class.
NodeId __getClique(const std::vector< NodeId > &eliminationOrder, NodeId id)
Potential< GUM_SCALAR > * __inferenceUtility
The resulting utility from inference.
Base class for discrete random variable.
Generic doubly linked lists.
gum is the global namespace for all aGrUM entities
The class for generic Hash Tables.
Triangulation * __triangulation
The triangulation algorithm.
Representation of a setA Set is a structure that contains arbitrary elements.
void __cleanUp()
Cleans Up remaining stuff due to inference.
std::string displayResult()
displays the result of an inference
void __reduceClique(CliqueProperties< GUM_SCALAR > *absorbedClique, NodeSet &separator, Potential< GUM_SCALAR > *&potentialMarginal, Potential< GUM_SCALAR > *&utilityMarginal)
Reduces a clique down to her separator from another clique elements.
Generic class for manipulating lists.
void __makeCliquePropertiesMap()
Builds the cliques tables Uses __getCliquesTable to initialize the cliques table, and multiply the ta...
virtual void makeInference()
HashTable< Size, NodeId > __cliqueEliminationMap
Mapping of the nodes with the clique used to put their CPT.
void __collectChild(NodeId parent, NodeId child)
collect child clique for inferences
void __absorbClique(NodeId absorbedCliqueId, NodeId absorbingCliqueId)
Performs the operation of absorption of a clique by another.
InfluenceDiagramInference(const InfluenceDiagram< GUM_SCALAR > &infDiag)
Default constructor.
Potential< GUM_SCALAR > * __inferencePotential
The resulting potential from inference.
Class for assigning/browsing values to tuples of discrete variables.
virtual ~InfluenceDiagramInference()
Destructor.
virtual void eraseAllEvidence()
class for graph triangulations for which we enforce a given partial ordering on the nodes elimination...
NodeProperty< CliqueProperties< GUM_SCALAR > *> __cliquePropertiesMap
Mapping of the nodes with the clique used to put their CPT.
bool __inferenceMade
Mapping of the nodes with the clique used to put their CPT.
Headers of the MultiDimBucket class.
Size Idx
Type for indexes.
<agrum/ID/inference/IInfluenceDiagramInference.h>
void displayStrongJunctionTree(std::ostream &stream=std::cout)
Displays on terminal the result of strong junction tree computation for test purpose only...
This file contains abstract class definitions influence diagrams inference classes.
virtual void insertEvidence(const List< const Potential< GUM_SCALAR > * > &evidenceList)
Interface for all the triangulation methods.
HashTable< NodeId, Idx > __utakenDecisionMap
Mapping of the nodes with the clique used to put their CPT.
const NodeSet & __getSeparator(NodeId clique_1, NodeId clique_2)
virtual void eraseEvidence(const Potential< GUM_SCALAR > *evidence)
Potential< GUM_SCALAR > * __makeDummyUtility(NodeId cliqueId)
Returns a pointer over a "dummy" utility, which is a utility table filled with one MultiDimSparse fil...
Size NodeId
Type for node ids.
void __makeStrongJunctionTree()
Makes a strong junction tree that make easier elimination.
Class representing an Influence Diagram.