我正在使用 igraph (Python),希望获取有向图中两个节点之间的所有可能路径。我知道这个功能get_all_shortest_paths
,这是最短路径,但找不到通用路径。
Update:
我的主要目标是获取这些路径中的所有节点,以便我可以获得这些节点的子图。
由于您在问题中提到您的最终目标是仅获取这些路径中的节点而不是路径本身,所以我认为您甚至不必计算路径。
The Graph
igraph 中的对象有一个方法称为subcomponent
。默认情况下,它会提供与给定输入节点位于同一(弱连接)组件中的所有节点。然而,它也有一个mode
争论。当你设置mode
to "out"
,它将为您提供从某个节点可到达的所有节点。当你设置mode
to "in"
,它将为您提供可以到达某个节点的所有节点。因此,您可能需要从源顶点到达的节点集与可以到达目标顶点的节点集的交集:
s=set(graph.subcomponent(source, mode="out"))
t=set(graph.subcomponent(target, mode="in"))
s.intersection(t)
无论如何,这可能比计算所有路径要快得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)