Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 具有NP复杂性的最长路径问题示例?_Graph_Theory_Proof_Np_Longest Path - Fatal编程技术网

Graph 具有NP复杂性的最长路径问题示例?

Graph 具有NP复杂性的最长路径问题示例?,graph,theory,proof,np,longest-path,Graph,Theory,Proof,Np,Longest Path,我在网上看到,寻找最长路径问题是NP完全问题 出于某种原因,我的老师告诉我这不是一个NP完全问题。 所以现在我在寻找一个例子,它表明获得最长路径所需的计算量大于多项式时间 目前为止,我只看到了它具有多项式时间复杂性的例子 任何人都可以给我一个证明这个问题是NP完全的吗?首先,根据你对最长路径问题的表述方式,这个问题实际上可能是NP难的,但不是NP完全的。此问题的完整版本如下所示: 给定一个图G和一个长度k,G是否有一个长度为k或更大的简单路径 这个问题被称为NP问题,其原因我将在后面详述。然而,

我在网上看到,寻找最长路径问题是NP完全问题

出于某种原因,我的老师告诉我这不是一个NP完全问题。 所以现在我在寻找一个例子,它表明获得最长路径所需的计算量大于多项式时间

目前为止,我只看到了它具有多项式时间复杂性的例子


任何人都可以给我一个证明这个问题是NP完全的吗?

首先,根据你对最长路径问题的表述方式,这个问题实际上可能是NP难的,但不是NP完全的。此问题的完整版本如下所示:

给定一个图G和一个长度k,G是否有一个长度为k或更大的简单路径

这个问题被称为NP问题,其原因我将在后面详述。然而,这个密切相关的问题实际上并不是NP完整的:

给定一个图G,G中最长的简单路径是什么

第二个问题是NP-难,但不是NP-完全的。要使一个问题NP-完全,这个问题必须是一个决策问题,一个答案是布尔“是”或“否”的问题。然而,这个问题的第二个版本不是一个决策问题,因此它不可能在NP中,因此它不可能是NP完全的。你的老师说最长路径问题不是NP完整的,这完全有可能是在考虑这个问题,尽管我不能肯定

至于为什么最长路径问题是NP完全的,我们需要讨论两点:

  • 这个问题在NP中。直觉上,有一种有效的方法来检查问题的答案是否正确

  • 这个问题是NP难的。也就是说,有一个NP难的问题可以归结为它

  • 对于第(1)点,直觉是,如果问题的答案是“这个图是否有长度为137或更长的简单路径?”是“是”,那么有一些简单的方法可以向某人证明这一点。给他们那条简单的路。一旦他们找到了路径,就很容易检查它是否符合要求。(现在,找到这条路可能真的很难。但一旦我们以某种方式隔离了它,就不难让人们相信它是可行的。)

    对于第(2)点,一般的方法是从现有的NP难问题开始,并将其简化为我们的问题。这里,我们将从哈密顿路径问题开始,如下所示:

    给定一个图G,是否有一条简单的路径通过G中的每个节点一次且恰好一次

    下面是我们如何将该问题简化为最长路径问题。从图G开始。现在,问一个问题:G是否有一条长度至少为n-1的简单路径,其中n是G中的节点数?如果是这样的话,那么这个简单的路径必须访问每个节点一次,而且只访问一次,因为否则路径中没有足够的节点使其长度至少为n-1。相反地,如果没有,那么就没有哈密顿路径,因为任何哈密顿路径都符合这个条件。因此,如果我们能有效地解决最长路径问题,我们就能有效地解决哈密顿路径问题。由于哈密顿路径问题是NP难的,所以最长路径问题也是NP难的

    现在,这个问题是NP完全的并不意味着它没有多项式时间解。PNP的对比问题仍然没有解决,而且不知道P=NP还是PNP我们不能说最长路径问题是否有多项式时间算法。我们能说的是,没有已知的算法是多项式时间运行的(你提到过一些网站声称他们有多项式时间算法来解决这个问题,但这听起来并不正确;如果是这样的话,任何发现该算法的人都是百万富翁)


    现在,你可以问一个后续问题:为什么哈密顿路径问题NP-难?证明这一点的通常方法是从3SAT开始,并进行巧妙的、基于小工具的简化。在这里探讨这一点太长了,但大多数介绍理论的教科书(包括Sipser的著名教科书)在解释这一点上做得很好。

    这是一个声称运行时间是多项式的网站。这篇文章假设图没有循环,也就是说,图是一个森林。在那个特定的情况下,这个问题有一个多项式时间的解决方案,但对于一般的图,除非P=NP,否则情况就不是这样了。非常感谢much@templatetypedef+我喜欢这个自信的答案;)