无向图中的路径

时间:2008-12-12 07:21:36

标签: algorithm graph-theory

给出无向图G =(V,E)和两个顶点s,t∈V。我们认为很简单 s和t之间的路径。如果每个顶点最多访问一次,则路径很简单。

以下是P还是NP-complete?

以下是否存在有效的算法多项式时间?

“n”表示图形“V”

中的顶点数
  1. 是否存在从s到t的长度最多为n / 100的简单路径?
  2. 是否存在从s到t的长度至少为n / 100的简单路径?
  3. 是否存在从s到t的长度恰好为n / 100的简单路径?
  4. 从s到t有两条边缘不相交的路径吗? (如果他们不共享边缘,则说两条路径是不相交的。)
  5. 我的想法(如果我错了,请纠正我)。感谢您的意见。

    1. 我想我可以运行Dijkstra算法在多项式时间内找到S和T之间的最短路径。所以问题1在P。
    2. 我认为有必要枚举从s到t的所有简单路径。我不知道这会是什么运行时间,但我认为它会比多项式更糟。
    3. 与上述2类似。没有多项式算法。
    4. 我不确定。我不知道在两个节点之间找到多条路径的任何有效(多时间算法),但这并不意味着它们不存在。

2 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。我写了another piece on NP-complete,我将向您推荐一些细节,但回想一下,基本上你需要做两件事来证明NP完整的东西:

  1. 显示问题在NP
  2. 显示多项式时间减少 已知的问题 NP完全问题。
  3. 做1很容易(如果走在图中的某些东西“知道”下一条边的所有正确决定,它会在多项式时间内找到答案吗?);我会认真思考我在另一篇文章中描述的“决定TSP”问题。

答案 1 :(得分:0)

我想出了什么:

  1. 与您说的相同,请使用任何适用的SPP算法。
  2. 这是最长的路径决策问题,即使对于未加权的图形也是NP-Hard。
  3. 对于未加权的图形,线性数量的应用程序就足以解决2,因此它也是NP-Hard。
  4. 您可以使用具有单位容量的最大流量算法来查找边缘不相交路径的最大数量。