is_d_separator#
- is_d_separator(G, x, y, z)[source]#
Return whether node sets
xandyare d-separated byz.- 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
xis d-separated fromygivenzinG.
- 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
zblock 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 inzblock a path. A collider structure along a path is... -> c <- ...wherecis the collider node.