is_d_separator#
- is_d_separator(G, x, y, z)[源代码]#
返回节点集
x
和y
是否被z
d-分离。- 参数:
- Gnx.DiGraph
一个 NetworkX DAG。
- x节点或节点集合
G
中的第一个节点或节点集合。- y节点或节点集合
G
中的第二个节点或节点集合。- z节点或节点集合
潜在的分隔集(
G
中的条件节点集)。可以为空集。
- 返回:
- bbool
一个布尔值,如果
G
中给定z
时,x
与y
d-分离,则为 True。
- 抛出:
- NetworkXError
D-分离测试通常用于有向无环图中不相交的节点集。因此,如果节点集不相交或输入图不是 DAG,算法会抛出
NetworkXError
。- NodeNotFound
如果在图中找不到任何输入节点,则会抛出
NodeNotFound
异常。
注意
DAG 中的 D-分隔集是阻断两个集合之间所有路径的节点集合。集合
z
中的节点如果在路径上且不是汇合节点(collider)或汇合节点的后代,则阻断该路径。此外,不在z
中的汇合节点也阻断路径。沿路径的汇合结构是... -> c <- ...
,其中c
是汇合节点。