find_induced_nodes#

find_induced_nodes(G, s, t, treewidth_bound=9223372036854775807)[source]#

返回从节点 s 到节点 t 路径中的诱导节点集合。

Parameters:
G

一个无弦的 NetworkX 图

s节点

寻找诱导节点的源节点

t节点

寻找诱导节点的目标节点

treewidth_bound: 浮点数

图 H 可接受的最大树宽。一旦超过 treewidth_bound,搜索诱导节点的过程将终止。

Returns:
induced_nodes节点集合

在图 G 中从节点 s 到节点 t 路径中的诱导节点集合

Raises:
NetworkXError

该算法不支持 DiGraph、MultiGraph 和 MultiDiGraph。 如果输入图是这些类之一的实例,将引发 NetworkXError 。 该算法只能应用于无弦图。如果输入图被发现是非无弦的,将引发 NetworkXError

Notes

G 必须是一个无弦图,且 (s,t) 是一条不在 G 中的边。

如果提供了 treewidth_bound,一旦超过 treewidth_bound,搜索诱导节点的过程将终止。

该算法灵感来源于 [1] 中的算法 4。 诱导节点的正式定义也可以在该参考文献中找到。

自环被忽略

References

[1]

学习有界树宽贝叶斯网络。 Gal Elidan, Stephen Gould; JMLR, 9(Dec):2699–2731, 2008. http://jmlr.csail.mit.edu/papers/volume9/elidan08a/elidan08a.pdf

Examples

>>> G = nx.Graph()
>>> G = nx.generators.classic.path_graph(10)
>>> induced_nodes = nx.find_induced_nodes(G, 1, 9, 2)
>>> sorted(induced_nodes)
[1, 2, 3, 4, 5, 6, 7, 8, 9]