aGrUM  0.16.0
dSeparation.h
Go to the documentation of this file.
1 
30 #ifndef GUM_D_SEPARATION_H
31 #define GUM_D_SEPARATION_H
32 
33 
34 #include <agrum/BN/IBayesNet.h>
35 #include <agrum/agrum.h>
36 
37 
38 namespace gum {
39 
44  class dSeparation {
45  public:
46  // ############################################################################
48  // ############################################################################
50 
52  dSeparation();
53 
55  dSeparation(const dSeparation& from);
56 
58  dSeparation(dSeparation&& from);
59 
61  ~dSeparation();
62 
64 
65 
66  // ############################################################################
68  // ############################################################################
70 
72  dSeparation& operator=(const dSeparation& from);
73 
76 
78 
79 
80  // ############################################################################
82  // ############################################################################
84 
91  void requisiteNodes(const DAG& dag,
92  const NodeSet& query,
93  const NodeSet& hardEvidence,
94  const NodeSet& softEvidence,
95  NodeSet& requisite);
96 
99  template < typename GUM_SCALAR, template < typename > class TABLE >
101  const NodeSet& query,
102  const NodeSet& hardEvidence,
103  const NodeSet& softEvidence,
104  Set< const TABLE< GUM_SCALAR >* >& potentials);
105 
107  };
108 
109 
110 } /* namespace gum */
111 
112 
113 #ifndef GUM_NO_INLINE
115 #endif // GUM_NO_INLINE
116 
118 
119 
120 #endif /* GUM_D_SEPARATION_H */
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
~dSeparation()
destructor
the d-separation algorithm as described in Koller & Friedman (2009)
Definition: dSeparation.h:44
void relevantPotentials(const IBayesNet< GUM_SCALAR > &bn, const NodeSet &query, const NodeSet &hardEvidence, const NodeSet &softEvidence, Set< const TABLE< GUM_SCALAR > * > &potentials)
update a set of potentials, keeping only those d-connected with query variables given evidence ...
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Class representing the minimal interface for Bayesian Network.
Definition: IBayesNet.h:62
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
dSeparation & operator=(const dSeparation &from)
copy operator
void requisiteNodes(const DAG &dag, const NodeSet &query, const NodeSet &hardEvidence, const NodeSet &softEvidence, NodeSet &requisite)
Fill the &#39;requisite&#39; nodeset with the requisite nodes in dag given a query and evidence.
Definition: dSeparation.cpp:41
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
dSeparation()
default constructor
Base class for dag.
Definition: DAG.h:102