is_d_separator#
- is_d_separator(G, x, y, z)[source]#
返回节点集
x
和y
是否由z
在G
中 d-分离。- Parameters:
- Gnx.DiGraph
一个 NetworkX 有向无环图(DAG)。
- x节点或节点集合
G
中的第一个节点或节点集合。- y节点或节点集合
G
中的第二个节点或节点集合。- z节点或节点集合
潜在的分离器(
G
中的条件节点集合)。可以是空集。
- Returns:
- bbool
如果
x
在给定z
的情况下与y
在G
中 d-分离,则为 True 的布尔值。
- Raises:
- NetworkXError
d-分离测试通常用于有向无环图中不相交的节点集合。因此,如果节点集合不互斥或输入图不是 DAG,算法会引发
NetworkXError
。- NodeNotFound
如果输入节点中有任何一个在图中找不到,则会引发
NodeNotFound
异常。
Notes
DAG 中的 d-分离集是一组节点,它阻断了两个集合之间的所有路径。
z
中的节点如果它们是路径的一部分且不是碰撞节点,或者是碰撞节点的后代,则阻断路径。不在z
中的碰撞节点也会阻断路径。路径上的碰撞结构是... -> c <- ...
,其中c
是碰撞节点。