更改

跳到导航 跳到搜索
删除444字节 、 2022年3月14日 (一) 15:13
伪代码翻译
第39行: 第39行:     
It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute, each of which carries a US$1,000,000 prize for the first correct solution.
 
It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute, each of which carries a US$1,000,000 prize for the first correct solution.
      
P/NP问题是计算机科学领域一个尚未解决的重要问题。它想知道是否每一个问题都既可以快速验证它的解,同时也能快速求解。
 
P/NP问题是计算机科学领域一个尚未解决的重要问题。它想知道是否每一个问题都既可以快速验证它的解,同时也能快速求解。
第483行: 第482行:     
== 关于证明难度的结果 ==
 
== 关于证明难度的结果 ==
尽管P=NP问题本身仍然是开放的,尽管获得了100万美元的奖金和大量的专门研究,但解决这个问题的努力已经产生了几种新技术。特别是,与P=NP问题相关的一些最富有成效的研究表明,现有的证明技术不足以回答这个问题,因此表明需要新的技术方法。
+
尽管P=NP问题本身仍然是开放的,有着100万美元的奖金和大量专门的研究,为了解决这个问题的已经产生了几种新技术。尤其是与P=NP问题相关的一些最富有成效的研究表明,现有的证明技术不足以回答这个问题,因此意味着需要新的技术方法。
   −
作为问题难度的额外证据,计算复杂性理论中的所有已知证明技术基本上都属于以下分类之一,其中每一种都不足以证明P≠ NP:
+
作为表面问题困难的额外证据,计算复杂性理论中的所有已知的证明技术基本上都属于以下分类,它们都无法有力证明P≠ NP:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
!Classification
+
!分类
! Definition
+
! 定义
 
|-
 
|-
|Relativizing proofs
+
|相对化证据
|Imagine a world where every algorithm is allowed to make queries to some fixed subroutine called an oracle (a black box which can answer a fixed set of questions in constant time, such as a black box that solves any given traveling salesman problem in 1 step), and the running time of the oracle is not counted against the running time of the algorithm. Most proofs (especially classical ones) apply uniformly in a world with oracles regardless of what the oracle does. These proofs are called relativizing. In 1975, Baker, Gill, and Solovay showed that P = NP with respect to some oracles, while P ≠ NP for other oracles. Since relativizing proofs can only prove statements that are uniformly true with respect to all possible oracles, this showed that relativizing techniques cannot resolve P = NP.
+
|想象一下,在一个世界里,每个算法都可以对一个名为oracle(一个可以在固定时间内回答一组固定问题的黑匣子,例如一步解决任何给定旅行商问题的黑匣子)的固定子例程进行查询,oracle的运行时间不计入算法的运行时间。大多数证明(尤其是经典证明)都适用于有神谕的世界,无论oracle做什么。这些证明被称为相对化。1975年,贝克、吉尔和索洛维证明,对于某些oracle,P=NP,而对于其他oracle,P≠ NP。由于相对化证据只能证明对所有可能的预言都一致正确的陈述,这表明相对化证据无法解决P=NP。
 
|-
 
|-
|Natural proofs
+
|自然证据
|In 1993, Alexander Razborov and Steven Rudich defined a general class of proof techniques for circuit complexity lower bounds, called natural proofs. At the time all previously known circuit lower bounds were natural, and circuit complexity was considered a very promising approach for resolving P = NP. However, Razborov and Rudich showed that, if one-way functions exist, then no natural proof method can distinguish between P and NP. Although one-way functions have never been formally proven to exist, most mathematicians believe that they do, and a proof of their existence would be a much stronger statement than P ≠ NP. Thus it is unlikely that natural proofs alone can resolve P = NP.
+
|1993年,亚历山大·拉兹博罗夫(Alexander Razborov)和史蒂文·鲁迪奇(Steven Rudich)为电路复杂度下限定义了一类通用的证明技术,称为自然证明。当时,所有已知的电路下界都是自然的,电路复杂性被认为是解决P=NP的一种非常有前途的方法。然而Razborov和Razich证明如果单向函数存在,那么没有一种自然证明法可以区分P和NP。虽然单向函数从未被正式证明存在,但大多数数学家认为它们确实存在,证明它们存在的证据将比P≠ NP更有力。因此,仅自然证明不太可能解决P=NP。
 
|-
 
|-
|Algebrizing proofs
+
|代数证明
|After the Baker-Gill-Solovay result, new non-relativizing proof techniques were successfully used to prove that IP = PSPACE. However, in 2008, Scott Aaronson and Avi Wigderson showed that the main technical tool used in the IP = PSPACE proof, known as arithmetization, was also insufficient to resolve P = NP.
+
|在Baker-Gill-Solovay结果之后,新的非相对化证明技术被成功地用于证明IP=PSPACE。然而,在2008年,Scott Aaronson和Avi Wigderson证明了IP=PSPACE证明中使用的主要技术工具,即所谓的算术化,也不足以解决P=NP问题。
 
|}
 
|}
这些障碍是NP完全问题有用的另一个原因:如果可以为NP完全问题演示多项式时间算法,这将以上述结果不排除的方式解决P=NP问题。
+
这些障碍是NP完全问题有意义的另一个原因:如果可以为NP完全问题有多项式时间算法,这将以不被以上结果排除的方式解决P=NP问题。
   −
这些障碍还导致一些计算机科学家提出,P对NP问题可能独立于ZFC等标准公理系统(无法在其中证明或反驳)。对独立性结果的解释可能是,任何NP完全问题都不存在多项式时间算法,并且(例如)ZFC中不能构造这样的证明,或者NP完全问题可能存在多项式时间算法,但在ZFC中不可能证明这样的算法是正确的。[44]然而,如果可以证明,使用目前已知的适用技术,即使在扩展整数运算的Peano公理(PA)的较弱假设下,问题也无法确定,那么NP中的每个问题都必然存在近似多项式时间的算法。[45]因此,如果一个人认为(正如大多数复杂性理论家所做的那样)并非NP中的所有问题都有有效的算法,那么使用这些技术证明独立性是不可能的。此外,这一结果表明,使用目前已知的技术证明独立于PA或ZFC并不比证明NP中所有问题的有效算法的存在更容易。
+
这些障碍还导致一些计算机科学家提出,P对NP问题可能独立于ZFC等标准公理系统(无法在其中证明或反驳)。对独立性结果的解释可能是,任何NP完全问题都不存在多项式时间算法,并且(例如)ZFC中不能构造这样的证明,或者NP完全问题可能存在多项式时间算法,但在ZFC中不可能证明这样的算法是正确的。然而,如果可以证明,使用目前已知的适用技术,即使在扩展整数运算的Peano公理(PA)的较弱假设下,问题也无法确定,那么NP中的每个问题都必然存在近似多项式时间的算法。因此,如果一个人认为(正如大多数复杂性理论家所做的那样)并非NP中的所有问题都有有效的算法,那么使用这些技术证明独立性是不可能的。此外,这一结果表明,使用目前已知的技术证明独立于PA或ZFC并不比证明NP中所有问题的有效算法的存在更容易。
    
==Claimed solutions <span id="Deolalikar"></span>==
 
==Claimed solutions <span id="Deolalikar"></span>==
第612行: 第611行:     
== 多项式时间算法 ==
 
== 多项式时间算法 ==
已知任何NP完全问题的算法都不会在多项式时间内运行。然而,有一些已知的NP完全问题算法的性质是,如果P=NP,则该算法在接受实例时以多项式时间运行(尽管常数巨大,使得该算法不切实际)。然而,这些算法不符合多项式时间,因为它们在拒绝实例时的运行时间不是多项式时间。下面的算法就是这样一个例子,它是由Levin提出的(没有任何引用)。它正确地接受NP完全语言子集和。当且仅当P=NP:<syntaxhighlight>
+
任何已知的NP完全问题都没有多项式时间运行的算法。但是对于一些已知的NP完全问题,如果其满足P=NP这个性质,则该算法能以多项式时间接受实例(尽管常数巨大,使得该算法不切实际)。然而,这些算法并不是多项式时间的,因为它们在拒绝实例时的运行时间不是多项式时间。下面这个由Levin(没有任何引用)提出的算法就是这样一个例子。当且仅当P=NP时,它正确地接受NP完全语言SUBSET-SUM。:<syntaxhighlight>
// Algorithm that accepts the NP-complete language SUBSET-SUM.
+
// 接受NP完全语言SUBSET-SUM的算法。
 
//
 
//
// this is a polynomial-time algorithm if and only if P = NP.
+
// 当且仅当 P = NP时,它是一个多项式时间算法。
 
//
 
//
// "Polynomial-time" means it returns "yes" in polynomial time when
+
// "多项式时间" 意味着当答案是"yes"时,它在多项式时间内返回 "yes"
// the answer should be "yes", and runs forever when it is "no".
+
// 当答案是"no"时,它一直运行。
 
//
 
//
// Input: S = a finite set of integers
+
// 输入: S = 有限的整数集合
// Output: "yes" if any subset of S adds up to 0.
+
// 输出: 如果S的任何一个子集求和为0,输出"yes"
// Runs forever with no output otherwise.
+
// 如果没有输出就一直运行。
// Note: "Program number M" is the program obtained by
+
// 注意: “M号程序”是通过将整数M以二进制形式表示,
// writing the integer M in binary, then
+
// 然后将这些比特字符串视为一个程序得到的。
// considering that string of bits to be a
+
// 每一个可能的程序都可以通过这种方式生成,
// program. Every possible program can be
+
// 尽管由于语法错误,大多数程序什么也不做。
// generated this way, though most do nothing
  −
// because of syntax errors.
   
FOR K = 1...∞
 
FOR K = 1...∞
 
   FOR M = 1...K
 
   FOR M = 1...K
     Run program number M for K steps with input S
+
     输入S,运行K步M号程序
     IF the program outputs a list of distinct integers
+
     IF 程序输出一串不同的整数
       AND the integers are all in S
+
       AND 所有整数都在S中
       AND the integers sum to 0
+
       AND 这些整数相加为0
 
     THEN
 
     THEN
 
       OUTPUT "yes" and HALT
 
       OUTPUT "yes" and HALT
</syntaxhighlight>如果且仅当P=NP,那么这是一个接受NP完全语言的多项式时间算法。“接受”意味着它在多项式时间内给出“是”的答案,但当答案为“否”时,它可以永远运行(也称为半算法)。
+
</syntaxhighlight>当且仅当P=NP,那么这是一个接受NP完全语言的多项式时间算法。“接受”意味着它在多项式时间内给出“是”的答案,但当答案为“否”时,它可以永远运行(也称为半算法)。
   −
即使P=NP,这种算法也是非常不切实际的。如果能在多项式时间内求解子集和的最短程序是b位长,则上述算法将尝试至少2<sup>b</sup>位− 1.其他项目优先。
+
即使P=NP,这个算法也非常不实用。如果能在多项式时间内求解子集和的最短程序是b位长,则上述算法将首先至少尝试其他程序2<sup>b</sup>− 1次。
    
==Formal definitions==
 
==Formal definitions==
第848行: 第845行:  
在《基本演绎法》第二季第二集中,"求解x"围绕夏洛克和华生调查那些试图解决P/NP问题的数学家的谋杀案展开。
 
在《基本演绎法》第二季第二集中,"求解x"围绕夏洛克和华生调查那些试图解决P/NP问题的数学家的谋杀案展开。
   −
<u>备注:popular culture 直译为大众文化,因以下所举内容皆为影视,而且此翻译我感觉并不地道,故修改的更加具体。对于人名我习惯不翻译,但括号中还是给出了我通过百度或谷歌翻译得到的译法。</u>
+
<u>备注:popular culture 直译为大众文化,因以下所举内容皆为影视,而且此翻译我感觉并不地道,故修改的更加具体。</u>
    
==See also==
 
==See also==
134

个编辑

导航菜单