在具有约束的图中查找顶点不相交路径的最大数量

时间:2012-07-11 19:50:56

标签: algorithm graph theory np-complete

给定无向图G =(V,E),每条边与非负值相关联。

如何在图G上找到从s到t的顶点不相交路径的最大数量,并且约束路径长度之和不大于预定义值T.

2 个答案:

答案 0 :(得分:5)

您可以从将顶点不相交路径问题转换为边缘不相交路径问题开始。有关详细信息,请参阅this answer to other question

现在,您可以在此图上求解Minimum-cost flow problem,以查找具有最小路径长度总和的任意数量的不相交路径。这样做,为每个边缘分配流量等于1,然后在s和t之间搜索最小成本流量,流量等于所需的路径数量。

要查找最大路径数,请在每个二进制搜索步骤中应用最小成本流程序,从一些初始路径数开始,可以通过以下过程之一确定:

  1. 如果您希望最大路径数量较大,请解析此图表的Maximum flow problem
  2. 如果您希望最大路径数量较小,请使用单边二进制搜索(每个步骤也采用最低成本流程)。

答案 1 :(得分:2)

由于您只对顶点不相交路径的数字感兴趣,因此您可以使用Menger's theorem(对于证明外观here),其说明如下:

设G是有限无向图,x和y是两个不相邻的顶点。然后该定理指出x和y的最小顶点切割的大小(其移除断开x和y的最小顶点数)等于从x到y的成对顶点无关路径的最大数量。

但是这不满足路径长度之和不大于预定值T的约束。

为此你必须使用Menger定理的一个版本来限定有限长度的路径 提交的内容为herehttp://www.math.elte.hu/~lovasz/scans/mengerian.pdf