为什么NP中没有这个无法确定的问题?


25

显然,NP中没有任何无法确定的问题。但是,根据维基百科

NP是所有决策问题的集合,对于这些问题,答案为“是”的实例具有[..证明]可通过确定性图灵机在多项式时间内验证。

[...]

当且仅当存在在多项式时间内执行的问题的验证者时,才认为问题出在NP中。

现在考虑以下问题:

给定Diophantine方程,它有没有整数解?

给定一个解决方案,很容易在多项式时间内验证它确实一个解决方案:只需将数字插入方程式即可。因此,问题出在NP。然而,众所周知解决这个问题还不确定

(类似地,似乎暂停问题应该在NP中,因为“该程序在第N步停止”的“是”解决方案可以在N步中得到验证。)

显然我的理解有问题,但这是什么?


1.请记住,您引用的定义是针对决策问题的。2.关于您的Diophantine示例,您并不是在宣称每个系统都存在一个解数大小的多项式边界,对吗?
德米特里·丘巴罗夫

@Dmitri:嗯,是的,我声称是。解决方案的大小与问题的大小完全相同-如果存在N个未知数,则解决方案包含N个整数。这一个决策问题-整数解决方案(需要验证“是”的情况)将是其证书
BlueRaja-Danny Pflughoeft 2012年

19
现在的问题是,有多大的intgerers
阿尔乔姆Kaznatcheev

10
@ BlueRaja-DannyPflughoeft如果您有一个无限的字母来编码您的整数,那么您就不再处于复杂性理论的标准设置中。对于有限的字母,编码的大小随整数的值而增长。
德米特里·丘巴罗夫

停止问题的解决方案将仅返回“是”,而没有提示要模拟多少步骤以进行验证。
RemcoGerlich'9

Answers:


10

NP的等效定义是,它包含由不确定性Turing机器在多项式时间内可确定(不仅可验证)的所有问题。从NTM可以确定的问题集合与TM可以确定的问题集合相同的意义上讲,NTM的功能不如TM强大,因此很明显,根据此定义,NP中不会存在无法确定的问题。

为了证明NP的两个定义是等效的,给定确定性验证器的存在,您可以证明存在非确定性决策者,反之亦然。

假设您有确定性多项式验证程序。然后还有一台机器,它不确定性地猜测长度与该问题/验证程序的证书大小范围相对应的多项式所限制的证书,然后运行验证程序。由于字母是有限的,因此任何给定输入的证书都是有限的(并且输入的大小最多为多项式),并且验证程序以多项式时间运行,因此该机器在所有输入的所有分支上暂停并在(非-确定的)多项式时间。因此,每个确定性验证者都有一个非确定性决策者。

如果您有一个不确定的决策者,那么对于每个接受的计算,您都可以写下决策者为达到接受状态所进行的选择的路径。由于决策程序以多项式时间运行,因此该路径最多具有多项式长度。确定性TM可以很容易地验证这样的路径从NTM到接受状态的有效路径,因此,此类路径形成了针对该问题的多项式时间验证器的证书。因此,每个非确定性决策者都有一个确定性验证器。

因此,任何无法确定的问题都不能使验证程序对多项式大小的证书起作用(否则,验证程序的存在将意味着判决程序的存在)。


当您声称存在针对暂停问题的验证程序时,您所谈论的证书是(TM,I,N)的某种编码,其中TM以N步的形式在输入I处暂停。确实可以在N步中验证这一点,但是证书的大小不是输入到原始问题(暂停问题)的(TM,I)大小的多项式;N可以任意大(与编码无关)。如果尝试将这样的验证程序转换为不确定的决策程序,则最终会得到一台有趣的机器。当(TM,I)为一个TM运行,你应该能够证明在输入I上停止时,不存在通过机器的非停止路径,但是对于导致停止状态的任何路径,总是存在另一条较长的路径(对应于较大的N的猜测),因此对它的执行时间。从本质上讲,这是因为最初的不确定性猜测需要探索无限的空间。将此类NTM转换为确定性 TM会导致其中一台既不会循环输入也不会暂停输入的机器。实际上,不存在任何可以确定停止问题的NTM,因此没有验证程序可用于具有有限大小的证书。

我对Diophantine方程不是很熟悉,但是看起来您的论点本质上是同样的问题。

因此,我发现对NP的NTM定义进行推理更容易。存在无法确定问题的验证器(只有那些验证器使用的多项式大小受原始问题的输入大小限制的验证器)。实际上,任何能够识别但不能决定某种语言的TM 都可以轻松地转换为同一语言的验证器。

如果您确实考虑过验证者,那么我想您必须根据原始问题输入的大小(而不是证书的大小)给出他们的时间范围;您可以任意增加证书的大小,以便验证程序在证书大小方面的运行时间较短。


26

我认为您误解了求解双色子方程和Matiyasevich的不可确定性定理的含义

Matiyasevich证明,对于每个RE集都有一个二元方程,使得仅在存在整数系数,..,使得。特别地,停止问题是典型的RE集合,因此解决上述问题是不确定的。˚F Ñ ; X 1Sf(n;x1,...,xk)nSx1xkf(n;x1,...,xk)=0

请注意,的大小,并且通常可以任意大,因此在此问题中没有明显的“多项式大小的证书”。x1,...xk

要扩展:整数必须以二进制形式写入才能成为证书。由于这些整数可以任意大(与无关),因此我们证明证书不是多项式或更重要的是,不受可计算函数的限制。x1,...,xknlogn

但是每个问题都有一个证书,该证书受某个多项式约束(其中是输入的大小)。因此问题是可以轻易确定的,因为您可以枚举长度为每个可能的位串,并且如果没有一个可以证明输入,则返回false。如果有,则返回true。 p N N N p p N NPp(N)NNPp(N)


当然,我了解“求解双色子方程”的含义-您会找到满足方程的数字。我不知道为什么需要将Matiyasevich的不可确定性定理或递归可枚举的集合引入讨论中。但是我认为最后一段可以解释它……
BlueRaja-Danny Pflughoeft 2012年

1
好了,这个新的编辑对其进行了解释-这也解释了为什么暂停问题不在NP中,因为暂停所需的步骤可能任意大。谢谢!
BlueRaja-Danny Pflughoeft 2012年

我建议的编辑是删除前两段。前两段解释了为什么希尔伯特的第十个问题是不确定的,这与该问题完全相切。他们只会减损其余答案(否则,这是一个很好的答案!)
BlueRaja-Danny Pflughoeft 2012年

@ BlueRaja-DannyPflughoeft如果第一段侮辱了您,那么我可以将其删除(尽管您确实问过“ 我的理解有什么问题?”)。由于您不在问题中,因此第二段对于更正式地设置问题很有必要。
Artem Kaznatcheev 2012年

3
@ BlueRaja-DannyPflughoeft最好是问题和答案是独立的。我的第二段提出了这个问题,并解释了该问题无法确定的含义。我的第三段给出了快速答案。我的第四和第五段对此进行了更详细的说明。据我所知,所有段落都是必要的。
Artem Kaznatcheev 2012年

8

您应该向下滚动到正式定义

LpqM

  • xMp(|x|)(x,y)
  • xLyq(|x|)M(x,y)=1
  • xLyq(|x|)M(x,y)=0

也就是说,验证者还必须处理非解决方案。在那里的某个地方,无法确定的问题失败了(在您的情况下,解决方案候选者的长度限制可能得不到满足),从(在可计算性的意义上)更清晰的定义显而易见:

NP是由多项式时间内运行的非确定性图灵机确定的一组决策问题。


“验证者还必须在非解决方案上工作” -如果您说验证者需要针对非解决方案而失败,那么它已经做到了。如果您声称验证者需要能够验证“否”的答案,那是不正确的-就是co-NP。而且我已经知道第二个定义了,但是我对第二个定义的含义感到困惑,因为一个定义似乎承认了问题中的问题,而另一个则没有。
BlueRaja-Danny Pflughoeft 2012年

@ BlueRaja-DannyPlughoeft:我的观察是:验证者必须能够驳斥非解决方案。如果您知道这一点,请相应地编辑您的问题;它使您看起来相当不可知。
拉斐尔

显而易见,验证者已经驳斥了非解决方案:只需将数字插入方程式中,看看它是否成立。恐怕我不明白您要达到的目标。
BlueRaja-Danny Pflughoeft 2012年

@ BlueRaja-DannyPlughoeft:您引用的“定义”没有指定此行为。
拉斐尔

-1

我尝试为上述答案提供更多详细信息。

实际上,这个问题是一个难题。

一方面,根据马蒂耶斯维奇定理(迪奥定理定理回答了希尔伯特的第十个问题,图灵的霍尔廷问题回答了希尔伯特的第十个问题,即Entscheidungsproblem的推广),丢番图方程问题(DEP)是不可确定的。但另一方面,根据NP的定义(可确定和可验证),NP中没有任何无法确定的问题。

也就是说,DEP不在NP中,或者DEP在NP中。他们两个都涉及NP的定义。

如果DEP不在NP中,则意味着NP中的问题(NDTM =非确定性图灵机)是可确定和可验证的,也就是说我们接受P = NP(NDTM)。

如果DEP在NP中,则NP(NTM =非图灵机)包含可判定和不可判定,显然可判定是可验证的,因此问题在于不可判定是否可验证?实际上,这就是P对NP的著名问题。当然,不确定性是无法验证的,因此NP对应于NTM(非图灵机)而不是NDTM(非确定性图灵机)。

在DEP的前提下是NP(NTM),我们认为NP(NTM)是不确定性问题(不确定),而当前NP(NDTM,可确定和可验证)的定义已经失去了这种不确定性(不确定)。我们认为它需要受到质疑。


1
不,直到1970年,Matiyesevich才表明DEP的不确定性(希尔伯特的第十个问题)。Entscheidungs问题不是希尔伯特的第十个问题。涉及一阶逻辑公式的有效性。而且,PNP问题绝对不是关于不确定问题是否可验证的问题。
David Richerby

1
如果您想提供更多详细信息,则应编辑原始帖子。
汤姆·范德赞丹

@DavidRicherby注意Ben给出的答案:“ NTM可以确定的问题集合与TM可以确定的问题集合相同”。从这个意义上讲,我认为NP的定义使P与NP混淆,从而导致P = NP(NDTM)。如果需要质疑此定义,则还需要质疑从该定义得出的其他结论,例如确定性验证者和非确定性决策者的等效性。
于莉

@YuLi“它导致P = NP(NDTM)。” 我不知道你是什么意思。另外,我看不出指出TM和NTM决定相同语言的相关性。如果他们不决定使用相同的语言,那么NTM将是一个完全不合理的计算模型,很难想象我们会关心它们在多项式时间内可以计算出什么。在复杂性理论中,我们采取了更为细化的观点,并询问了所需的计算资源,而NP的定义根本不会混淆这一点。
David Richerby '16

@DavidRicherby谢谢,我根据您的发言修改了答案,以阐明Entscheidungs问题与希尔伯特第十个问题的关系。关于当前NP的定义问题,很难用几个词来讨论。我回答的目的是唤起人们对这个基本主题的反思,…
于莉

-2

我们认为您对Diophantine方程提出的难题非常重要,因为它揭示了当前NP定义中的某些异常现象:-仅当存在针对多项式执行的问题的验证者时,NP才存在问题时间。

关于NP的定义,它可以追溯到60年代,在那里发现了许多适用的重要问题,没有找到多项式算法可以解决这些问题,以便从多项式时间内可解决的问题中识别出这些问题。 (P),提出了NP的概念。

但是,当前的NP定义在多项式时间内可验证,这使NP与P混淆,因为P中的问题在多项式时间内也可验证。换句话说,这样的定义导致NP本质的丧失“不确定性”。因此,它在理解NP方面造成了严重的歧义,例如,您的困境:从本质上来说,Diophantine方程的问题是不确定的。但是根据NP的定义,这是可以决定的……

我们认为,解决“ P vs. NP”的困难首先在于认知水平,因此,如果我们希望深入了解“ P vs. NP”,我们首先要问:什么是NP?


4
这似乎是关于NP定义的观点,而不是问题的答案。NP的定义很好。它不会将PNP混淆; 相反,它承认PNP的子集。对我来说,如果P不是NP的子集,那将是非常不自然的。NP是一类可以在某些资源范围内解决的问题。这必然包括许多容易解决的问题(P),而这些问题不会接近可用资源的限制。
David Richerby '16

@DavidRicherby P和NP具有“可在多项式时间内验证的证书”的共同属性,但这不是NP的本质。如果使用此属性来定义NP,则P是NP的子集,并且NP将P作为其子集(可确定)和自身(不确定)。因此,人们会怀疑NP是可决定的还是不可决定的?就像上述难题一样:Diophantine方程是不可确定的还是可确定的?因此,我的答案是建议从NP的定义角度研究这个难题:可验证的,无法确定的不可验证!
Yu Li

在问题NP是通过定义可判定:NP是类的问题,决定由非确定型图灵机。容易证明这与具有可以在多项式时间内验证的多项式长度证书的问题完全相同。如果您担心NP中的问题可能无法确定,那么您就误解了。
David Richerby '16

是的,我担心NP中的问题可能无法确定。您谈到了NP的两个定义的等效性:NP是由不确定性Turing机器确定的一类问题。NP是具有在多项式时间内验证过的多项式长度证书的问题的类别。我对这种等效性表示怀疑,因为一个问题与解决问题的算法有关,而另一个问题与解决问题的方法有关。关于丢番图方程的困境可能与这种等效性直接相关(请参阅我的论点的更多细节:arxiv.org/abs/1501.01906)。
于莉

2
@YuLi NP的两个定义的等效性如此简单,以至于在大学复杂性理论课中就已经教授过。如果您不了解该领域的基础知识,建议不要上传到ArXiv。
David Richerby '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.