考虑P对NP问题的两种可能性:P = NP和P NP。
令Q为已知的NP难题之一。为了证明P = NP,我们需要为Q设计一个多项式时间算法A,并证明A正确地解决了Q。
为了证明P NP,我们需要证明 没有多项式时间算法可以求解Q。换句话说,我们必须排除所有多项式时间算法。
我听说有人说这使第二个任务更加困难(假设这确实是事实)。
有理由认为证明P = NP(假设P = NP)比证明P NP(假设P NP)容易吗?≠
考虑P对NP问题的两种可能性:P = NP和P NP。
令Q为已知的NP难题之一。为了证明P = NP,我们需要为Q设计一个多项式时间算法A,并证明A正确地解决了Q。
为了证明P NP,我们需要证明 没有多项式时间算法可以求解Q。换句话说,我们必须排除所有多项式时间算法。
我听说有人说这使第二个任务更加困难(假设这确实是事实)。
有理由认为证明P = NP(假设P = NP)比证明P NP(假设P NP)容易吗?≠
Answers:
正如拉斐尔(Raphael)解释的那样,这个问题是不恰当的,因为至多P = NP和P≠NP中的一个应该完全可以证明。但是,在理论计算机科学中,有多种形式出现了类似的问题,其中最引人注目的是近似算法领域。
给定一个NP困难的优化问题(例如,最大化),我们可以询问近似程度。证明可能近似的上限类似于P = NP,而证明可能近似的下限类似于P≠NP。前者比后者容易得多。实际上,要证明一个上限,所有人要做的就是提出一种近似算法并对其进行分析。相反,所有已知的下限都是有条件的:仅当P≠NP时它们才有效(实际上,如果P = NP,则每个NP困难的优化问题都可以解决)。为了证明这些下界,我们证明了如果我们可以很好地近似问题,那么对于某些NP-hard问题,我们将获得多项式时间算法。通常,这是通过PCP定理的复杂技术机制完成的。这个领域,称为“近似硬度”,只能由专家来解决,并且在技术上比大多数近似算法更具挑战性。因此,至少在这种情况下,P = NP实际上比P≠NP更容易。
我们没有排除简单证明P = NP的可能性。如果明天某人想出一种可以在P时间内解决NP完全问题的算法,那么世界将会改变。
在另一方面,我们已经排除了一个简单的证明将P!= NP的可能性。我们的用于证明两个不同复杂性类别的典型证明技术已被正式证明是不足的。三种这样的技术被称为“算术化”,“自然证明”,而证明的类别称为“相对化”(一种不在乎使用哪种Oracle的证明)。可以证明,属于这些类别中的任何三个类别的任何证明技术都不能证明P!= NP。
实际上,有充分的证据表明证明P!= NP需要新的证明(具有不同属性的新技术),而不仅仅是众所周知的证明技术的新颖应用。
现在,可能会发现P = NP,而在P中没有简单的验证算法可以解决NP完全问题,并且需要新颖的证明技术来证明P = NP。(如果P = NP,我们已经很有趣地知道P中专门用于解决NP难题的算法。由于其恒定因子很大,因此不可行。)
基本上,我们对不能用来证明P!= NP的知识了解很多,而对我们不能用来证明P = NP的知识似乎了解甚少。
有一些专家认为,就他们认为解决P vs. NP问题所需的时间而言,证明P NP比证明P = NP困难。但这主要是基于这样的直觉,即感觉到为问题设计算法比证明没有(有效的)算法容易。通常,我们在证明问题的下限方面不是很成功。我们甚至不能排除SAT的线性时间算法。我们不能排除没有针对SAT的日志空间算法。我们甚至无法证明不存在具有∧,∨,¬和的恒定深度的多项式大小布尔电路。个无法解决SAT的门(用外行的术语来说,可能存在一种具有多项式处理器的恒定时间并行算法,可以解决SAT,并且每个进程仅计算这些门之一)。最好的下界,我们有图灵机解决SAT甚至不能显示,没有一种算法,其运行时间乘以它使用的空间 ñ 1.9。关于证明下界的令人尴尬的状态,我可以继续讲很多(但请记住,我们也有障碍结果来解释为什么很难证明下界)。一些专家认为,基坦·穆穆利(Ketan Mulmuley)的GCT计划最有可能解决P对NP问题,穆穆利本人也重复表示,他认为可能需要一百多年才能实现。
但是,Ryan Williams和其他一些学者最近的工作表明,证明下界和发现算法之间存在内在联系。例如,他表明对于特定的受限SAT问题,比蛮力算法稍好的算法意味着电路的下限,然后他设计了这种算法。因此,我认为人们没有那么悲观,似乎也没有像以前认为的那样开发算法并证明下界是分开的。
并且算法返回是或否。您可以通过这种方式想到任何证明检查器。您也可以在像ZFC这样的数学系统中考虑证明。检查过程本身可以在证明大小的多项式时间内完成,因为这是一项语法任务。
在某种意义上说,您可以从证明和规则中的当前行确定先前的行。一个重要的例外是切割规则。这很重要,因为尽管我们不需要为证明陈述而采用割断规则,但可以大大缩短最短证明的大小。但是,割断规则不是确定性的:我们必须猜测割断公式。您可以将剪切规则视为证明引理并加以使用。Cut公式就像一个引理。但是我们应该证明什么引理可以帮助我们呢?那是困难的部分。通常,通过找到一个好的引理可以在数学上证明结果。同样,当您使用先前证明的结果时,您实际上是在使用切割规则。证明陈述中的另一个重要组成部分是定义。我们通常会定义一个新概念,然后证明有关它的陈述,最后将其应用于我们的特定情况 使用定义可以减小公式的大小(尝试通过扩展定义以将数学公式扩展为纯集合理论语言,以了解定义的重要性)。同样,我们应该使用什么新定义?我们不知道 这使我想到了难以证明的陈述的第三种含义。陈述可能很难证明,因为您需要强大的公理。以例如 陈述可能很难证明,因为您需要强大的公理。以例如 陈述可能很难证明,因为您需要强大的公理。以例如CH。它不能在ZFC中证明,也不能在ZFC中反驳。这是一个极端的情况,但是您认为这种情况经常发生。例如,我们是否需要大的基本公理(才能在Grothendieck宇宙中工作)来证明FLT,还是可以用像PA这样较弱的理论来证明它?这是关于证明陈述困难的另一个概念。
我认为问题可以简化为:证明某事物存在还是更容易证明某事物不存在。
支持证明某物存在的论据是,构造满足要求的事物很容易,并且检查它们是否确实满足要求也很容易。
在某些情况下,这是正确的:如果要查找多项式的根,则构造数字很容易,并且很容易检查它们是否是根。
当然,问题在于您必须很幸运。您可能可以减小搜索空间,例如,通过证明它必须是5的倍数或1到10之间的倍数;但是,除非您将其限制为有限的一组数字(在这种情况下,您实际上并没有使用“猜测并验证”方法),否则您将没有解决问题的方法:只有假设您非常幸运,可能会产生解决方案。
但是,如果您愿意,可以很容易地证明不存在某些东西!生成可能是可能的解决方案的文本,并检查它们是否确实存在。
因此,拥有一种可以通过纯粹的运气解决问题的方法,并不意味着证明存在某些东西就容易得多。
现在,通常更容易证明某种其他方法是否存在吗?这取决于实际问题,因为否则证明不存在的东西将简化为证明不存在的证明。而且我担心我们无法衡量这一点,因为从来没有任何东西被证明既存在又不存在,因此我们可以(尝试)衡量证明的难度。
for any X: is it easier to prove that X exists or to prove that X does not exist
,我是说,for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.
即如果E证明形式为'X的句子存在的证明集和NE证明形式为'Y的句子不存在的证明集,而d( P)证明的难度,是否确实是d(X)<d(Y),其中E中的X和NE中的Y。