Graph 两个顶点之间不相交的路径数

Graph 两个顶点之间不相交的路径数,graph,Graph,如果之前有人问过这个问题,我很抱歉,但我找不到任何信息 我的问题很简单,是否有任何算法可以确定无向连接图中每对顶点之间的不相交(简单)路径的数量。不相交路径是指除了起点和终点之外没有公共顶点的路径 我使用了BFS的一个修改版本来查找每对顶点之间的所有路径,然后比较每一条路径的一个公共顶点,但是这个过程非常慢,我不确定它的准确性。您知道两个顶点之间的路径数可能是指数级的。所以在这种情况下,算法慢是正常的。是的,可能有,这就是为什么我问是否有某种算法,比如说标记第一条路径包含的顶点,然后尝试找到另一

如果之前有人问过这个问题,我很抱歉,但我找不到任何信息

我的问题很简单,是否有任何算法可以确定无向连接图中每对顶点之间的不相交(简单)路径的数量。不相交路径是指除了起点和终点之外没有公共顶点的路径


我使用了BFS的一个修改版本来查找每对顶点之间的所有路径,然后比较每一条路径的一个公共顶点,但是这个过程非常慢,我不确定它的准确性。

您知道两个顶点之间的路径数可能是指数级的。所以在这种情况下,算法慢是正常的。是的,可能有,这就是为什么我问是否有某种算法,比如说标记第一条路径包含的顶点,然后尝试找到另一条不包含这些顶点的路径,而不是检查路径的指数数量。我不知道是否有任何“好”算法可以做到这一点。但是知道您正在寻找确定图形的“顶点连通性”可能会有所帮助。Menger定理说,如果图是k连通的,那么任意两个顶点之间都有k条不相交的路径。有快速算法来确定图是否连通(BFS是1)。确定连通性的一个非常糟糕的算法是:删除k个顶点(以各种可能的方式),并为每个新图形确定它是否连通。用越来越大的k重复此操作,直到断开连接。正如我所说的,一般来说,这种算法非常糟糕,即计算成本很高。