is_d_separator#
- is_d_separator(G, x, y, z)[source]#
Return whether node sets x and y are d-separated by z.
- Parameters:
- Gnx.DiGraph
A NetworkX DAG.
- xnode or set of nodes
First node or set of nodes in G.
- ynode or set of nodes
Second node or set of nodes in G.
- znode or set of nodes
Potential separator (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 on disjoint sets of nodes in acyclic directed graphs. Accordingly, the algorithm raises a
NetworkXErrorif the node sets are not disjoint or if the input graph is not a DAG.- NodeNotFound
If any of the input nodes are not found in the graph, a
NodeNotFoundexception is raised
Notes
A d-separating set in a DAG is a set of nodes that blocks all paths between the two sets. Nodes in z block a path if they are part of the path and are not a collider, or a descendant of a collider. Also colliders that are not in z block a path. A collider structure along a path is
... -> c <- ...wherecis the collider node.