假设P NP,则NP完全问题“很难解决,但答案易于检查”。考虑相反的情况是否有意义,也就是说,对于这些问题而言,很容易计算出正确的答案,而很难验证任意一个所谓的解决方案?
我认为这样的问题暗示:
对于任何给定的输入,指数地有许多“正确”答案,因为否则可以通过简单地计算所有正确答案来执行验证。
一些“正确”的答案很容易计算,而另一些则很难找到。
假设P NP,则NP完全问题“很难解决,但答案易于检查”。考虑相反的情况是否有意义,也就是说,对于这些问题而言,很容易计算出正确的答案,而很难验证任意一个所谓的解决方案?
我认为这样的问题暗示:
对于任何给定的输入,指数地有许多“正确”答案,因为否则可以通过简单地计算所有正确答案来执行验证。
一些“正确”的答案很容易计算,而另一些则很难找到。
Answers:
如果您对人为问题感到满意,则可以解决很多问题。这里有一些:
补充:顺便说一句,我认为您在上一段中写的内容不成立:
我认为这样的问题对于任何给定的输入都将意味着成倍的“正确”答案,因为否则可以通过简单地计算所有正确答案来进行验证。
如果问题有一个解决方案,那么确实检查答案并不比计算正确的解决方案难。但是,如果问题有一个简单的解决方案和一个困难的解决方案,那么您将无法有效地计算所有解决方案。这是一个这样的问题(这是非常人为的):
尽管伊藤刚的答案涵盖了“主要”答案,但我还是想补充两点。
即使解决方案难以验证,使用简短的证明字符串仍然易于检查解决方案。也就是说,通过使用更多信息来扩展解决方案,它变得易于检查。验证始终在NP中。看到这种情况的一种方法是,计算解决方案的代理可以记录他们使用的所有随机位,然后验证者可以使用相同的随机字符串来执行相同的计算。(证明者必须使用随机位,否则它们始终输出相同的答案,并且验证者始终可以通过使用相同方法计算答案来轻松进行检查。)
对于量子计算机,这是一个非常开放的问题。对于经典计算机,验证者始终可以执行类似模拟证明者并检查其是否获得相同答案的操作。对于某些棘手的问题,完全有可能存在量子算法,该算法会在所有(呈指数形式)的解决方案中产生均匀的分布,这很难验证。您无法重新运行证明者,因为您很可能每次都会得到不同的答案。
作为类似问题的一个例子,德意志-乔萨(Deutsch-Jozsa)问题受此困扰。如果一个预言机不是平衡函数,那么量子计算机可以迅速确定情况是否如此,但是没有简短的证据可以使经典计算机对此进行验证。(这只是一个“类似”问题,因为它仍然可以由另一台量子计算机进行检查,并且即使不是在P中,检查也是在经典BPP中进行。)