networkx.algorithms.d_separation.d_separated

d_separated(G: networkx.classes.digraph.DiGraph, x: AbstractSet, y: AbstractSet, z: AbstractSet) bool[source]

Return whether node sets x and y are d-separated by z.

Parameters
Ggraph

A NetworkX DAG.

xset

First set of nodes in G.

yset

Second set of nodes in G.

zset

Set of conditioning nodes in G. Can be empty set.

Returns
bbool

A boolean that is true if x is d-separated from y given z in G.

Raises
NetworkXError

The d-separation test is commonly used with directed graphical models which are acyclic. Accordingly, the algorithm raises a NetworkXError if the input graph is not a DAG.

NodeNotFound

If any of the input nodes are not found in the graph, a NodeNotFound exception is raised.