我需要一个算法来查找有向图中所有平行路径的集合。这里是一个我用于测试的示例的可视化表示。
这是我使用networkx编写的Python示例代码:
import networkx as nx
G = nx.MultiDiGraph()
# relevant part of graph to my question
G.add_edges_from([(1,2),(2,3),(3,4),(2,5),(5,6),(6,4),(4,7)])
# subordinate part of graph to my question
G.add_edges_from([(7,8),(8,9),(7,10),(10,11),(11,13),(11,12),(12,14)])
pp = get_parallel_paths(G) # -> the function I'm looking for
# pp should contain:
# pp = [[[(2,3),(3,4)],[(2,5),(5,6),(6,4)]],[...]]
# the procedure should list all sets of parallel paths
# hence the [...] indicates a possible other set of parallel paths (not in example)
我需要的是 "get_parallel_paths" 函数。它不必是 Python 的:任何能帮助我实现的算法指针都非常欢迎。