![]() |
aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
|
d-Separation and c-Separation tests for aGrUM graphs. More...
#include <agrum/agrum.h>#include <agrum/base/core/exceptions.h>#include <agrum/base/graphs/algorithms/generic/bayesBall.h>#include <agrum/base/graphs/algorithms/generic/moralization.h>#include <agrum/base/graphs/algorithms/generic/separation_tpl.h>Go to the source code of this file.
Namespaces | |
| namespace | gum |
| gum is the global namespace for all aGrUM entities | |
| namespace | gum::graph |
Functions | |
| template<GUM_DiGraphable G> | |
| bool | gum::graph::dSeparated (const G &g, NodeId X, NodeId Y, const NodeSet &Z) |
Returns true iff X and Y are d-separated by Z in g. | |
| template<GUM_DiGraphable G> | |
| bool | gum::graph::dSeparated (const G &g, const NodeSet &X, const NodeSet &Y, const NodeSet &Z) |
Returns true iff every node in X is d-separated from every node in Y by Z in g. | |
| template<GUM_MixedGraphable G> | |
| bool | gum::graph::cSeparated (const G &g, NodeId X, NodeId Y, const NodeSet &Z) |
Returns true iff X and Y are c-separated by Z in g. | |
| template<GUM_MixedGraphable G> | |
| bool | gum::graph::cSeparated (const G &g, const NodeSet &X, const NodeSet &Y, const NodeSet &Z) |
Returns true iff X and Y are c-separated by Z in g. | |
d-Separation and c-Separation tests for aGrUM graphs.
All functions live in namespace gum::graph and are constrained by the concepts defined in graphConcepts.h :
GUM_DiGraphable — dSeparated (DAGs) GUM_MixedGraphable — cSeparated (PDAGs / chain graphs)
dSeparated uses the Bayes Ball algorithm (Shachter 1998, O(n+e)): X ⊥ Y | Z iff Y ∉ requisiteNodes(g, {X}, Z).
cSeparated uses the moralization-based algorithm (Pearl 1988):
Definition in file separation.h.