CCCF 专栏 | 计算复杂性 50 年:王浩与计算理论
原创 尼克 中国计算机学会 2021 年 12 月 21 日 17:25 北京
库克(Cook)1971 年发表的文章《定理证明过程的复杂性》被认为是计算复杂性的开山之作。从这篇文章的发表日开始算,今年(2021 年),计算复杂性理论已经 50 岁了,且恰逢库克的导师王浩百年诞辰。本文回溯计算复杂性的起源,并力图梳理王浩和这门学科的关系。
如果说图灵 (Turing) 1936 年那篇开天辟地的文章《论可计算数及其在判定问题上的应用》[1] 奠定了计算理论的基础,那么称库克 (Cook) 1971 年发表的文章《定理证明过程的复杂性》[2] 是计算复杂性的开山之作,一点也不夸张。从库克这篇文章的发表日期开始算,今年(2021 年),计算复杂性理论已经 50 岁了,且恰逢库克的导师王浩百年诞辰。本文回溯计算复杂性的起源,并力图梳理王浩和这门学科的关系。
计算复杂性的源头
计算复杂性的基本概念的形成可以归功于科巴姆 (Cobham)、哈特马尼斯 (Hartmanis) 与斯特恩斯 (Stearns) 的工作。科巴姆于 1964 年发表了文章《函数的内在计算难度》[3],哈特马尼斯与斯特恩斯 1965 年在《美国数学学会会刊》上发表了《论算法的计算复杂性》[4]。这两篇文章定义了计算的时间和空间复杂性,科巴姆甚至探讨了用多项式时间作为有效计算的衡量,但他博士没有毕业就进入了工业界,后来帮助美国东部精英学校维思大学 (Wesleyan University) 创办了计算机系;而哈特马尼斯和斯特恩斯则获得了 1993 年 ACM 图灵奖。这两篇文章成文都在 1963 年,有意思的是科巴姆的文章是发表在科学哲学领域的会议上,尽管那会议和逻辑关系密切,但由此可见,计算复杂性在那时着实没人待见,会议论文集也出版于 1965 年。库克在哈佛读博期间就和科巴姆相熟,哈特马尼斯曾到哈佛大学做过一次关于计算复杂性的演讲,令库克记忆深刻。
哈特马尼斯在 1988 年发现了一封哥德尔 (Gödel) 于 1956 年 3 月 20 日写给冯・诺伊曼 (von Neumann) 的信 [5],哥德尔在信中指出:一个问题的难度可以表达为在图灵机上求解该问题所需步骤的函数,这个函数就是算法复杂性。于是,他把计算复杂性理论的诞生时间提早到 1956 年。
在 2012 年解密的美国国家安全署 (National Security Agency,NSA) 的一批文件中,人们发现了一封纳什 (Nash) 于 1955 年 1 月写给 NSA 的信 [6](见图 1)。这封信手写在麻省理工学院 (MIT) 的办公信纸上,一共 8 页。纳什在 1954 年就提出了多项式复杂性和指数复杂性的区别,他推测指数复杂性对加密算法是有用的。纳什和当时麻省理工学院的几位同仁还讨论过所谓的 “指数猜想”,其中就有后来发明霍夫曼编码的霍夫曼 (Huffman),而且英雄所见略同,霍夫曼也有类似想法。于是麻省理工学院的计算理论顶级学者西普塞 (Sipser) 认为纳什是计算复杂性概念的原创者 [7]。
但更早,王浩在 1953 年曾写过一篇文章《递归性和可计算性》(Recursiveness and calculability),文中提出了速度函数 (speed function) 的概念,这其实就是计算复杂性的雏形,可惜此文从未公开发表。王浩 1953 年夏天将此文提交给《英国科学哲学杂志》(British Journal for the Philosophy of Science)。评审的修改意见很长,王浩 1954 年做了修改,经过和评审的几次沟通,他失去了进一步修改的耐心。1984 年北京大学的逻辑学家吴允曾看到 1954 年的手稿后,建议王浩将此文收录进文集《计算,逻辑,哲学》[8](Computation, Logic, Philosophy),并将文章题目改为《可计算性的概念》(The Concept of Computability)。据此,我们也可以说计算复杂性起源于 1953 年。
我甚至曾把复杂性理论的缘起回溯得更早 [9]。1939 年,哲学家维特根斯坦 (Wittgenstein) 在剑桥开讲 “数学基础”(Foundations of Mathematics),内容主要是维特根斯坦转型期思想的杂烩。此时刚从美国回到英国的图灵在剑桥赋闲,计划开讲数理逻辑,碰巧也把自己的课名设置为 “数学基础”,当他得知大名鼎鼎的维特根斯坦也要开讲同名课程,于是决定去旁听维特根斯坦的课程。维特根斯坦讲课是苏格拉底式的,没有讲义。他去世后 20 多年,他的学生们把当年的听课笔记凑到一起,整理成《维特根斯坦剑桥数学基础讲义,1939》[10] 一书。其中图灵和维特根斯坦的对话构成该书很大一部分内容,图灵的发问很精彩。书中,他们就证明的复杂性有过深刻讨论:一个命题的证明难度和证明的长度有关。由此,把计算复杂性概念的诞生再推早到 1939 年似乎也不无道理。
计算复杂性概念溯源见表 1。其实如果只是泛泛而谈,我们甚至可以把计算理论的起源推早到巴贝奇(Babbage)和艾达(Ada)对 “分析机” 的研究。但任何事情的发展脉络都要有若干明确、毋庸置疑的里程碑,里程碑之前和之后确有明显不同。从这个意义上说,图灵(1936/1937)和库克(1971)有更显著更深刻的影响。最近德国计算机科学家施米德胡贝 (Schmidhuber) 对图灵的冷嘲热讽显示了他对英美学术话语体系的不满。但不满归不满,我们还是要看成果的彰显性 (significance)。库克的文章 [2] 提出了 P vs NP 的问题,该问题是当今计算机科学和数学中最重要的问题之一,库克因此获得 1982 年图灵奖。P vs NP 的问题也被克雷数学研究所列为七大千年数学难题之首。值得一提的是,这篇文章发表在计算理论的会议 (ACM SIGACT Symposium on the Theory of Computing) 上,该会议后来成为计算理论领域的顶级会议。
20 世纪 30 年代初期,对 “effectively calculable” 的定义也是不清楚的,类似现在对 “智能” 的定义。早期人们更喜欢用 “calculable”,甚至王浩在 1953 年也在用 “calculability”,而到了 60 年代,人们普遍使用 “computability” 一词了。丘奇 (Church) 和克里尼 (Kleene) 实际上在 1934 年(早于图灵)就知道他们的 λ- 可定义函数 (λ-definable) 和埃尔布朗 (Herbrand) 与哥德尔 1933 年提出的递归函数 (recursive function) 是一回事,于是有了所谓的丘奇论题,但哥德尔本人并不买账。哥德尔是在看到图灵的文章后才信服的,他说图灵 “第一次给出了一个有趣的认识论概念的绝对定义,这个定义不依赖任何形式化机制”。于是,丘奇论题变成了丘奇 - 图灵论题。
库克与 P vs NP
库克本科就读于密歇根大学,一开始学的是工程,但后来数学教授鼓励他改学了数学。他本科毕业后在哈佛大学读研究生,想学代数。但那时已经在哈佛读研究生的科巴姆影响了他。库克和王浩很聊得来,就选定王浩做博士导师,并于 1966 年获得博士学位。
库克于 1966~1970 年在伯克利大学数学系教书,但 1970 年因为没有拿到终身教席 (Tenure) 而被迫离开。图灵奖获得者理查德・卡普 (Richard Karp) 当时也是伯克利大学的教授,他后来回忆说:“我们没能给库克终身教席是伯克利永久的耻辱。” 库克后来去了离他老家水牛城不远的多伦多大学,同时担任该校计算机系和数学系的副教授。那时多伦多大学刚成立计算机系,只招收研究生,第二年他的划时代论文发表,他也获得了终身教职,全职在计算机系工作,而计算机系也日渐成熟,开始招本科生了。60 年代后期,计算机科学作为一门独立的学科刚刚开始发展,数学系的主流还没把计算理论当回事。
尽管那时伯克利大学数学系有个很强的逻辑学小组,带头人塔尔斯基 (Tarski) 曾经野心勃勃地想把数学系的十分之一教职分给逻辑学 [9],尽管相比数学系主流,逻辑学家会更加理解库克的工作。但很明显,不是所有的逻辑学家都曾远见到计算理论的重要性,计算理论一开始只是作为逻辑学四大论之一 —— 递归论的若即若离的边角料,而现在计算机系则成为逻辑学家最理想的就业地。王浩曾说罗素时代的数理逻辑是 90% 逻辑、10% 数学,而当下则是 90% 数学了。另一位图灵奖获得者戴克斯特拉 (Dijkstra) 大约在同时也被阿姆斯特丹大学拒绝了终身教职,之后搬到美国加入德克萨斯大学奥斯汀分校。
库克在 1971 年证明了命题逻辑的可满足问题 (Satisfiability,SAT) 是 NP 完全的,这是第一个 NP 完全问题。这个证明现在有标准的教科书式呈现方式,基本思路是:首先证明 SAT 属于 NP 类,这很简单,只要能够说明任何 SAT 问题是多项式可验证就可以了。另一方面比较难:要证明所有的 NP 问题都可以归约到 SAT。库克的办法是用命题逻辑来描述非确定图灵机多项式时间运行的所有可能状态。也恰是因为库克用了命题逻辑,于是他的论文题目和定理证明相关。
把库克的理论推向大众,首功是卡普。他 1972 年证明了 21 个问题(大部分是组合数学问题)都可以和库克的可满足性问题互相归约 (reducibility)[11]。这就意味着有一大类问题都和可满足性问题有类似的性质,即 NP 完全性。理论计算机科学的很多结果都有类似的呈现方式,就是把一些貌似不相干的东西,利用某种变换,找到隐藏于其中的内在共性。丘奇和克里尼在证明 λ- 可定义函数和递归函数等价时,证明了大量数论函数都是递归的,异曲同工。
图灵奖获得者瓦利安特 (Valiant) 讲述了他 1972 年在导师帕特森 (Mike Patterson) 的办公室里听到一场在 IBM 开会的录音,被震撼到,他听到的那段恰是卡普在讲那篇可归约性 (reducibility) 的文章,他回去研究了一晚上卡普的文章,第二天早上兴冲冲地去帕特森的办公室问 “你看过这篇文章了吗?” 帕特森反问 “为啥这么激动,你解决了吗?” 于是计算复杂性成为瓦利安特终生的学术追求 [12]。瓦利安特本科的背景是数学和物理,他说计算机科学那时还没成型,学校里教授的计算机课程的内容经常变来变去,没有定式,但卡普的文章使他脱胎换骨 (transforming experience)。这不仅是他的个人经验,对那时站在数学、逻辑和计算机科学交叉路口的一批人来说,库克和卡普的工作就是灯塔。后来 “计算机” 的研究被冠以 “计算机科学”,和这有着密切关系。数学家、菲尔兹奖得主斯梅尔 (Stephen Smale) 晚年沉迷于计算理论,他曾说 “NP 完全问题是计算机科学送给数学的大礼。”
王浩对计算理论的贡献
王浩 1948 年在哈佛哲学家蒯因 (Quine) 的指导下获得了博士学位,那时他的主要研究方向是数学基础和数学哲学。王浩在 50 年代曾动过回国的念头,于是把研究兴趣转向更接近实际、与计算机相关的研究,具体来说就是计算理论和机器定理证明。王浩在这方面的贡献总结见表 2。下面几节分别介绍其中重要且有趣的几项。
王浩 1961 年从牛津重回哈佛,职位是 “计算理论讲席教授”。他对计算机科学作出诸多贡献,其中一个重大而直接的贡献就是指导了库克的博士论文 (1966)。按照库克的回忆,王浩尽管是数理逻辑教授,但他的归属并不是在数学系,也不是在他导师蒯因所在的哲学系,而是在应用物理学部(这个回忆可能不严谨,哈佛那时正在扩大自己的应用科学和工程科系)。1914 年,哈佛和 MIT 曾计划把哈佛的应用科学系科并给 MIT,但后来麻省州法院取消了合并计划,这使得哈佛后来应用科学和工程系科一直落后于 MIT,直到 60 年代哈佛重振应用与工程学科。
一个极易被忽视的事实是库克用到的方法受到了王浩的启发。这个方法的核心就是用逻辑来描述一个要解决的问题,从而定义一个问题类。图灵是用一阶逻辑来描述图灵机,而库克就是用命题逻辑来描述非确定多项式时间运行的图灵机。库克 (1971) 引用了王浩 (1962) 的论文 [13]。王浩在那篇论文里提出了 “王浩瓷砖”(Wang Tiles),作为逻辑和被描述问题之间的一个中间环节。很多人头一次看明白库克定理时的震撼来自那方法,就像头一次看明白哥德尔定理和图灵 (1936) 时一样。库克后来回忆王浩对他的启发:“我很了解王浩的思想和方法,我对 NP 完全问题的结论与他非常类似。只不过图灵和王浩说的是谓词演算,我说的是命题演算。” 王浩有结集论文的习惯,他将那篇 1962 年的长达 33 页的长文编入他的文集《计算,逻辑,哲学》[8]。
库克和他的学生瑞克郝 (Reckhow) 1974 年的文章 [14] 是库克所有文章中引用量第二高的。命题逻辑的可满足性是测试一组逻辑公式是否有可满足的真值分配。而一般的定理证明问题则是测试不可满足性,也就是不存在可满足的真值分配。定理证明问题一般是用反证法,也就是 “不可满足问题”,它是 NP 问题的补,也称 “Co-NP” 问题。这篇文章开启了 “证明复杂性”。
王浩此时也和 IBM 人工智能的老兵顿汉 (Dunham) 合作研究永真式问题的复杂性,研究结果 1976 年发表在《数理逻辑年刊》[16] 上。永真式问题就是把不可满足性问题正过来说,也是 Co-NP 问题。王浩和顿汉对 Co-NP 问题感兴趣主要是因为它和定理证明的关系更加密切。定理证明中最常用的 “归结方法”(resolution)已经被证明不是多项式的 [17]。但 NP 和 Co-NP 是否相等,现在尚不知道。这是 2019 年在纪念库克在多伦多大学任教 50 年的会议上讨论最多的议题之一。素数分解问题属于 NP∩Co-NP,但不知道是否是 NP 完全的,如果素数分解是 NP 完全的,则 NP=Co-NP。相当多属于 NP∩Co-NP 的问题都是多项式的,最广为人知的问题就是线性规划,但我们不知道是不是 P=NP∩Co-NP。值得指出的是,素数分解是量子计算和传统理论计算机科学的最重要的链接。王浩那时正在深研唯物辩证法,能够分神和老友关注 Co-NP 问题实属难得,除了因为他们早期对定理证明的共同兴趣之外,王浩肯定也洞察到库克工作的深刻性并为之吸引。
一个鲜为人知的轶事是王浩把中国数学家洪加威推荐给库克做访问学者。洪加威在多伦多大学访问期间提出了曾经轰动一时的相似性原则,即:计算装置之间互相模拟的成本是多项式的 [18],也就是说靠谱的计算装置之间并不存在原则上的差异。相似性原则实际上是复杂性版本的丘奇 - 图灵论题,也就是强丘奇 - 图灵论题。恰如丘奇 - 图灵论题,它是观察而不是数学定理。洪加威证明了若干种计算模型之间都可以在多项式时间内互相模拟。相似性原则现在较少被人提起,主要原因是它已成为计算理论的工作假设,被大家默认。如果量子计算能够在多项式时间内解决图灵机上不能有效解决的问题,有可能导致强丘奇 - 图灵论题不成立。另外,相比可计算性问题,复杂性问题初看和哲学关系不大,但最熟悉量子计算的理论计算机科学家阿伦森 (Scott Aaronson) 认为复杂性实际上要比可计算性有更多的哲学涵义。
一个插曲:王浩机 (Wang Machine)
冯・诺伊曼架构有两个核心思想,第一是存储程序 (stored-program),第二是随机读取 (RAM)。图灵机的存储纸带是顺序读取而不是随机读取的。但一般大家都把冯・诺伊曼架构等同于第一条,而把第二条当作理所应当。冯・诺伊曼早就指出,存储程序就是通用图灵机 (Universal Turing Machine),原创权应归于图灵。王浩注意到在计算机设计上理论和实践的脱节,于是 1954 年在 ACM 的一次会议上发表了《图灵机的一个变种》[19],这篇文章后来重印在 1957 年的 JACM 上。文中,王浩对原始图灵机做了简化和增强,使得计算模型不只是某种思想实验,而在工程上更加可行,结果被称为 “王浩机”。在王浩机中,图灵机中的有限自动机被替换成了一系列程序指令,这已经有点像现代汇编语言了。
明斯基 (Minsky) 是王浩的 “铁粉”,他不仅是人工智能的先行者,也曾经深度介入计算理论,他的学生中唯一得过图灵奖的是理论家布鲁姆 (Manuel Blum)。明斯基在 1967 年出版了计算理论专著 Computation: Finite and Infinite Machines [20],这本书的价值被低估,其实内容深入浅出,今天读来仍有意思。明斯基在书中高度评价了王浩机,称之为 “第一个得自真正计算机模型的图灵机理论”(the first formulation of a Turing-machine theory in terms of computer-like models)。这带动了一批对原始图灵机修正的工作,于是在 60 年代的计算理论的刊物上充斥着各种机器模型的论文。王浩不大看得起这类工作,他说:“作者们不过是找个借口向做实际工作的工程师吹牛说他们是理论家,但又回头向真正的理论家小声说:我们在干实际工作”。
又一个插曲:王浩瓷砖
王浩在研究机器定理证明的过程中,碰到了一阶逻辑的某些子类,AEA 就是其中之一。AEA 就是前束范式只有三个量词的公式,这里 A 是全称量词,E 是存在量词。AEA 被证明也是不可判定的。这有点像把 SAT 问题缩小到 3SAT,仍然是 NP 完全的。为解决并说明 AEA 问题,王浩设计了王浩瓷砖。王浩瓷砖就是用一系列瓷砖来铺满地板,一块砖的四边可以有不同颜色,约束条件是两个相邻的砖头的边颜色必须相同。普遍的铺砖问题是不可解的:王浩的另一位学生伯格 (Robert Berger) 把图灵机归约为铺砖问题,也就是说可以用王浩瓷砖来实现任何图灵机。在贝格和其他人的后续工作中,进一步对 AEA 的各种子类作了梳理。
王浩瓷砖后来在逻辑之外找到了更加广泛的应用,王浩 1965 年在《科学美国人》杂志上写了一篇科普文章介绍王浩瓷砖 [21]。一时间,各路数学家和理论计算机科学家都在拓广王浩的结果。而后来得过诺贝尔物理奖的数学家彭罗斯 (Roger Penrose) 则把王浩瓷砖从四边形推广到多边形,提出了王浩瓷砖的变种 —— 彭罗斯瓷砖,可用于准晶体中原子排列的研究。王浩瓷砖变成了一种组合数学的工具,后来在证明二维细胞自动机可逆性不可判定时也起了重要作用。
思考与结语
获得过数学最高奖之一阿贝尔奖 (Abel Prize) 的理论计算机科学家威格森 (Wigderson) 一直在思考计算理论,特别是计算复杂性理论和其他几门科学的关系 [22],企图说明计算理论对其他学科是有用的。计算理论应该成为通识教育的一部分,就像数学、物理从古希腊时期起一直就是通识教育的核心内容一样。如果要我们定量地比较丘奇 - 图灵论题和牛顿第二定律哪个更重要更基础,恐无标准答案。但丘奇 - 图灵论题应该成为所有人受教育的一部分,这些知识为其他学科设定了边界和可能性,就是俗称 “第一性原则” 的东西。计算理论之于数字化社会,就像牛顿力学之于工业化社会。
和费曼、温伯格、杨振宁等对当代哲学的鄙视不同,阿伦森曾撰长文苦口婆心地劝说哲学家学一些计算理论尤其计算复杂性 [23],但这恐怕是对牛弹琴:学习计算理论需要一定的智力。王浩作为哲学家,有着深厚的数学背景,他对机器定理证明、逻辑的多个分支和计算理论都有过深刻的贡献。同时他又深度卷入他所处时代的重要事件。可惜他去世太早,没有把他的思想更加系统地写出来,这和他晚年一直没有找到合适的话语有关。
在可计算性理论和计算复杂性理论之间,王浩起了承上启下的作用,其实,他介入复杂性理论相对机器定理证明要更早,但他对复杂性理论的贡献多少被忽视。这有外在的原因:图灵 (1936) 和库克 (1971) 影响如此之广之深;另一方面,也有内在的原因:王浩晚年转向哲学,对计算理论兴趣不大。1986~1987 年间,我的老师杨学良教授曾在洛克菲勒大学访问,王浩请杨老师吃饭,席间杨老师谈起我们合作的一项工作用到了王浩研究过的 Co-NP 问题和调度问题的关系,但王浩说他对这类工程性的枝节问题已无兴趣。在哥德尔 40 年代的工作之后,连续统假设 (continuum hypothesis) 一直是数理逻辑学家在家偷偷努力的题目,就像当下数论家都在家里偷偷证明黎曼猜想一样。据说,王浩也曾下过功夫,但 1966 年这个问题被寇恩 (Paul Cohen) 解决之后,王浩就没再投入精力研究过大的技术问题。王浩曾经比较过自己和杨振宁的经历,杨振宁离开普林斯顿高等研究院到石溪分校,好似入世,他以此为基地培养了一批学生;而王浩自己则从哈佛跳槽到洛克菲勒大学,则似躲进象牙塔,因为洛克菲勒没有本科生,不用上课,他可以花更多的时间研究哲学。洛克菲勒大学体制独特,每个教授都有以自己名字命名的实验室,“王实验室” 网罗了当时逻辑学领域最重要的人物。但后来洛克菲勒重定位,消减了数学物理等学科,只保留生物学科,“王实验室” 只剩下王浩,他也真成了 “躲进小楼成一统”[9]。
芝加哥大学的逻辑学家索阿雷 (Robert Soare) 2013 年在评论图灵(1936)时自问 “Why Turing and not Church”[24],他的漂亮自答用了文艺复兴初期的艺术家多拿太罗 (Donatello) 和盛期的米开朗基罗 (Michelangelo) 作对比,他们都有以大卫为题的雕像。但米开朗基罗的大卫像是艺术史最重要的作品之一。多拿太罗比达芬奇大 60 多岁,而米开朗基罗比达芬奇小 23 岁。索阿雷引用艺术史家的评论,认为米开朗基罗最完美地体现了艺术家在现代的概念,即使是和达芬奇相比。他暗喻图灵是计算理论的米开朗基罗。我们也可以对计算复杂性类比发问 “Why Cook,but not Hartmanis,not Cobham,not Nash,not even Turing nor Wittgenstein”,因为库克就是复杂性理论的米开朗基罗。
王浩呢?他更像是比米开朗基罗年长一辈、更加多才多艺且兴趣广泛的达芬奇。对王浩其人和学问都深有研究的哈佛哲学家帕森斯 (Charles Parsons) 曾经在纪念哥德尔 90 岁诞辰的会议上有文:“作为哲学家的王浩”[25],比较了王浩和视王浩为知己的哥德尔两人的哲学方法,他们都是从更加专门的学问起家,逐渐过渡到更加广泛的哲学,帕森斯称之为 “逻辑之旅”(王浩书名),他们晚年都对自己的哲学阐述不够满意,但帕森斯说王浩的哲学对即使不赞同他立场的人也是有益的。这令我们宽慰。 ■
(参考文献略)
尼克
CCF 专业会员,CCCF 特邀专栏作家。乌镇智库理事长,图灵算力研究院院长。早年曾任职于哈佛大学和惠普,后连环创业,曾获吴文俊人工智能科技进步奖。中文著作包括《人工智能简史》、《UNIX 内核剖析》和《哲学评书》等。nick@iwuzhen.org
via:
-
CCCF 专栏 | 计算复杂性 50 年:王浩与计算理论 原创 尼克 中国计算机学会 2021 年 12 月 21 日 17:25 北京
计算复杂性理论:从 P 与 NP 问题到元复杂性
原创 Goñi-Moreno 集智俱乐部 2024 年 06 月 12 日 21:41 北京
~
导语
证明一个问题难以解决这件事究竟有多难?这是元复杂性理论学家一直追问的问题。经过数十年,探索的路径从 P 与 NP 问题转变到元复杂性问题,他们试图通过复杂性理论的视角观察复杂性理论本身。
研究领域:计算复杂性,理论计算机科学,P 与 NP 问题,信息论,元复杂性,自指
Ángel Goñi-Moreno | 作者
朱欣怡 | 译者
梁金 | 审校
文章题目:Complexity Theory’s 50-Year Journey to the Limits of Knowledge
文章链接:https://www.quantamagazine.org/complexity-theorys-50-year-journey-to-the-limits-of-knowledge-20230817/
复杂性理论发展的 100 年历程。|来源:Samuel Velasco/Quanta Magazine
1. 起源
2007 年秋季学期,Marco Carmosino 在读大二,正考虑从大学退学去设计电子游戏。开学第一周,他硬着头皮去参加马塞诸塞大学阿默斯特分校计算机科学专业必修的数学课。然后教授提出了一个改变他一生的简单问题:**你怎么知道数学真的有用?
Carmosino 现在成为了 IBM 的理论计算机科学家,他回忆当时场景说,“这个问题让我坐直起来,并集中注意力”。他后来报名了一个关于库尔特・哥德尔(Kurt Gödel)工作的选修研讨会。哥德尔关于自指论证的工作令人眼花缭乱,既暴露了数学推理的局限性,还为未来所有关于计算基本极限的工作奠定了基础。Carmosino 从中受益匪浅。他说道:“我完全听不懂,但我知道这就是我想干的。”
如今,即使是经验丰富的研究人员在面对理论计算机科学中的核心开放问题 —— 即 P 与 NP 问题 —— 时,也会发现理解欠缺。这个问题本质上在问:那些长期以来被认为难以计算的问题是否可以(通过我们尚未发现的秘密捷径)轻松解决?或者,就像绝大多数研究者怀疑的那样,他们的确就是很难。关键在于可知事物的本质。
尽管研究者们在计算复杂性理论(computational complexity theory)—— 研究不同问题的本质困难 —— 领域耕耘数十年,但 P 与 NP 问题仍让人摸不着头脑,甚至不知道证明该从何开始。Michael Sipser 是麻省理工学院资深复杂性理论学家,在 20 世纪 80 年代思考这个问题多年。他形容这种探索就像 “没有路线图,走进荒野。”
证明计算问题难以解决本身似乎就很艰巨。但为什么这么难呢?到底难成什么样呢?Carmosino 和其他元复杂性(meta-complexity)子领域的研究者们将此类问题重新表述为计算问题,通过复杂性理论的视角观察复杂性理论本身来推动该领域向前发展。“你可能会想,‘好吧,这挺酷的。也许复杂性理论家们疯了。’” Rahul Ilango 如是说,他最近在该领域取得了一些令人兴奋的成果。
研究者们通过研究这些问题发现,证明计算难度的难度与一些看似无关的问题密切相关。在看似随机的数据中发现隐藏的模式有多难?如果真正的困难问题确实存在,那么它们究竟有多少?“很明显,元复杂性接近事物的核心。” Scott Aaronson 如是说,他是德克萨斯大学奥斯汀分校的复杂性理论学家。
从 P 与 NP 问题转变到元复杂性的路,研究者们走得漫长而曲折。旅程并不轻松,路上尽是错误的分岔和路障,且往复循环。然而,对于元复杂性的研究人员们来说,踏入未知的旅程本身就是奖励。加拿大西蒙・弗雷泽大学(Simon Fraser University)的复杂性理论家 Valentine Kabanets 说,从提出看似简单的问题开始,“行至何处,不知道。”
已知的未知
P 与 NP 问题(P versus NP problem)的名称平平无奇,是因为复杂性理论学家习惯用暗示纳斯达克股票代码的标签将计算问题分类为广泛的 “复杂性类别”。计算问题可以被算法(一连串精确的指令)解决。但不是所有的算法都同样有效,算法之间的差异暗示了不同类别问题之间的根本差别。复杂性理论学家面临的挑战就是,将这些 “暗示线索” 转化成在复杂性类别之间关系的严格定理。
Kabanets 说:“这些关系反映出的东西远超任何特定技术,是关于计算的永恒真理,就像发现宇宙法则一样。”
复杂性类别的数目不断增长,成百上千,“P” 和 “NP” 是其中两个最重要的成员。简单来说,“P” 是一类易于解决的问题,比如按字母顺序排序。“NP” 类问题则易于验证解决方案,例如数独谜题。由于所有易于解决的问题都易于被验证,因此 “P” 类问题从属于 “NP” 类。但有些 “NP” 类问题看起来很难解决 —— 如果没有预先尝试,你就不能立马凭直觉给出数独问题的答案。这种显见的困难是幻觉吗?——**我们能否找到简单的技巧轻易解决所有 “NP” 类问题?
P 与 NP 问题。|来源:Samuel Velasco/Quanta Magazine
如果可以,那么 P=NP :这两个问题就是等价的。如果是这样的话,那么我们一定能找到某种方法轻易解决大量的数独谜题、轻易优化全球航运路线、破解最先进的密码以及自动化证明数学定理。如果 P ≠ NP,那么许多原则上可以解决的计算问题将永远无法解决。
在 P 与 NP 问题提出之前,实际上可以说是早在现代计算机科学开始之前,研究者们就担心形式数学推理(formal mathematical reasoning)的局限性。1921 年,数学家戴维・希尔伯特(David Hilbert)抛出了一个研究计划,旨在确保数学的绝对确定性。他希望能从一些简单的假设(即公理,axioms)开始,导出一个符合三个关键条件的统一数学理论。
希尔伯特的第一个条件是一致性**(consistency),这是数学体系不存在矛盾的基本条件:如果可以从同一个公理出发证明两个矛盾的论述,那么整个理论体系将无可救药。但一个没有矛盾的理论体系其掌控范围就受限。这就是希尔伯特提出第二个条件 ——完备性(completeness)的动机:他要求所有数学命题都可证明真伪。他的第三个条件是可判定性(decidability),要求有明确的机制程序确定任何数学命题的真假。希尔伯特在 1930 年的一次会议上宣称:“我们的口号是‘我们必须知道,我们终会知道’”。
仅仅一年后,哥德尔就给希尔伯特的梦想带来了第一次打击。他证明像 “这个命题不可证” 这样自相矛盾的论述可以从任意一组公理中推导出来。如果这样的命题确实无法被证明,那么这个理论就是不完整的,但如果它可以被证明,那么这个理论体系就是不一致的 —— 更糟了。在同一篇论文中,哥德尔还证明,没有任何数学理论能证明其自身的一致性。
20 世纪 20 年代,大卫・希尔伯特(David Hilbert,左)想把数学建立在更坚实的基础上。库尔特・哥德尔(Kurt Gödel,中)和艾伦・图灵(Alan Turing)后来证明希尔伯特的梦想是不可能的。|来源:University of Göttingen (left); Kurt Gödel Papers, the Shelby White and Leon Levy Archives Center, Institute for Advanced Study; GL Archive/Alamy Stock Photo
研究者们仍对未来的数学理论抱有希望,尽管它不一定完备,但仍可能是可判定的。也许他们可以开发一套程序,识别所有可证明的命题,就能避开像哥德尔这样恼人的命题。问题是没人知道怎么推理这些假设的程序。
1936 年,图灵(Alan Turing)23 岁,在读研究生。他用当时还不熟悉的计算机语言重新表述了希尔伯特的可判定性条件,并给了它致命一击。图灵创造了一个数学模型(现在叫图灵机),可以表示所有可能的算法,并表明,如果希尔伯特的程序存在,那么它将也适合这个模型。然后他借鉴哥德尔的自指方法证明,不可判定的程序 —— 或者等价地,不可计算的问题是存在的,任何算法都不能解决。
希尔伯特的计划失败了:可证明和可计算的内容将永远存在基本限制。但随着计算机从抽象的理论演变成真实的机器,研究者们意识到,图灵将问题简单区分为可解决和不可解决,为后世留下许多未解之谜。到 20 世纪 60 年代,计算机科学家已经发展出解决某些问题的快速算法,但对于其他问题,唯一已知的算法慢得让人难以接受。如果问题不止是这些问题能否解决,还有这些问题解决起来有多困难呢?Carmosino 说:“丰富的理论出现了,但我们不再知道答案。”
不同的路径
怎么形象地表示关于 “难度” 的问题如何让人头疼呢?让我们在图(graph)上讨论。节点(node)和连边(egde)组成网络,计算机科学家们用网络模拟从量子计算(quantum computation)到交通流等众多问题。
哈密顿路径(Hamiltonian path),路径经过每个节点,且只经过一次。|来源:Samuel Velasco/Quanta Magazine
给你一个图,让你找到图上的哈密顿路径(Hamiltonian path,路径经过每个节点,且只经过一次)。这个问题理应是可以解决的,因为所有路径数量有限,即便别无他法,也可以检查每条路径是否符合要求。如果图上只有几个节点那就好办了,但对于稍微大一点的图,总路径数就会急剧上升以至失控,这个算法实际上就失效了。
还有更复杂的哈密顿路径算法,但算法解决问题所需的时间总是随着图的大小呈指数增长。加州大学圣迭戈分校(University of California, San Diego)的复杂性理论学家 Russell Impagliazzo 说:“图不需要特别大,但即使是最好的算法研究者也无法在 [任何合理的时间内] 找到路径,我说的 [合理的时间] 是指 [在宇宙终结之前]。”
哈密顿路径问题还有另一个有趣的性质。如果有人声称在特定图上找到了一条哈密顿路径,即使这个图非常大,你也可以快速地检查它的解是否正确。所需要做的仅是沿着路径逐一勾选节点,并检查确保没有勾选任何节点两次。如果最后没有节点丢失,那么这条路径就是哈密顿路径。
检查算法所需的时间与图的大小成正比,我们将其归入多项式算法类别,其运行时间随着图大小的多项式函数而增加。多项式增长比指数增长更温和,因此多项式算法即使在很大的图上也是可行的。Carmosino 说:“这大大提高了效率。”
哈密顿路径问题具有明显的不对称性(asymmetry):可以用多项式算法快速验证解,但求解则只能用缓慢的指数算法。这种不对称性也并不意外 —— 欣赏艺术品总比创作更容易,验证数学定理总比证明要容易,但并非所有的计算问题都具有这样的不对称特征。事实上,有一个与寻找哈密顿路径非常相似的问题,其难度却截然不同。
指数算法与多项式算法对比。并非所有问题的复杂性都以同样的速度增长。|来源:Paul Chaikin/Quanta Magazine
假设再给你一张图,现在要求你找到欧拉路径(Eulerian path),即经过每条边恰好一次的路径。同样的,可以用多项式算法验证解,但对于求解欧拉问题,也存在多项式算法,这个问题就不存在不对称。在复杂性理论中,某些路径似乎会比其他路径更好找。
欧拉路径(Eulerian path),经过每条边恰好一次的路径。|来源:Samuel Velasco/Quanta Magazine
哈密顿路径问题和欧拉路径问题都属于复杂度类别 NP,NP 问题的定义是所有可以用多项式算法检验解的问题。欧拉路径问题也属于 P 类,因为可以用多项式算法求解。但显然,哈密顿路径问题不是这样的。为什么这两个图问题表面上如此相似,却有如此显著的不同?这就是 P 与 NP 问题的本质。
两个相似的问题可能具有截然不同的复杂性。|来源:Paul Chaikin/Quanta Magazine
“普遍” 问题
起初,复杂性类别似乎是为了分类出相似但不直接相关的问题 —— 没有人怀疑过寻找哈密顿路径与其他困难计算问题之间有什么关系。直到 1971 年,复杂性理论学家 Stephen Cook 在美国获取终身教职受挫后,搬到多伦多大学,一年内就发表了一个非凡的结果。他发现了一个神奇的特定NP问题:如果存在一个多项式算法可以解决这个问题,那么它也可以解决 NP 中的其他所有问题。Cook 发现的这个 “普遍” 问题似乎是一根单独的柱子,支撑着看似困难问题的类别,将它们与地面的简单问题分开。一旦解决了这个问题,NP 中的其余问题就会变得简单。
Cook 怀疑他的 “普遍” 问题没有快的算法,他在论文中也表达了这种怀疑,并补充道:“我觉得值得花费大量精力来证明这个猜想。” 后来证明, “大量精力” 的表述还是保守了。
Stephen Cook、Leonid Levin 和 Richard Karp 在 20 世纪 70 年代初共同提出了 P 与 NP 问题。|来源:BBVA Foundation
大约在同时,苏联的本科生 Leonid Levin 证明了一个类似的结果,他确定了多个不同的普遍问题。此外,美国复杂性理论家 Richard Karp 证明,Cook 和 Levin 所确定的普遍性属性本身几乎普遍存在(尽管 Karp 和库克直到多年后才得知 Levin 的工作)。几乎所有没有已知多项式算法的NP问题,即几乎所有看似困难的容易验证的问题都具有相同的性质,这被称为NP 完全问题**(NP-completeness)。这意味着所有 NP 完全问题(包括哈密顿路径问题、数独和其他成千上万的问题)在精确意义上是等价的。“你面对的这些所有不同的问题,都神奇地变成了同一个问题,但我们仍不知道它是否能被解决。”Ilango 说。
解决任何一个 NP 完全问题的难度足以媲美解决 P 和 NP 问题。如果 P ≠ NP,则易于解决和难以解决的问题之间的差别就是遥不可及的天堑,被上千个柱子牢牢支撑;如果 P = NP,那么整个结构就在崩溃的边缘摇摇欲坠,只等一块巨石落下。
几乎所有看似困难的 NP 问题都是 NP 完全的:其中任何一个问题的难度等价于 P 和 NP 问题。|来源:Samuel Velasco/Quanta Magazine
Cook、Levin 和 Karp 将这些看似不相关的问题统一了起来。现在,所有复杂性理论家都只需解决一个问题:P = NP 吗?
五十年后,这个问题仍然没有答案。Kabanets 把关于计算能力极限的推理比作在一个广阔无垠的领域中进行勘测,只能看到一小部分,无法领略到全局。一个拥有无限计算能力的 “神” 却可以从山顶俯瞰,但凡人无法指望获得这种优势。“我们这些身处山脚下的人可以试着跳起来获得更好的视野,”Kabanets 说。
假设 P = NP。为了证明这一点,研究者们需要找到一个快速解决 NP 完全问题的算法,这个方法可能隐藏在广阔图景中的某个隐秘角落。没有人能保证很快可以找到它:复杂性理论家们或许只需要研究几十年,就能偶然发现一些解决看似困难(尽管不是 NP 完全)问题的巧妙算法。现在我们假设 P ≠ NP。要证明这一点似乎更加困难。复杂性理论学家必须确定,不存在快速算法,才能有效地抢先挫败未来所有研究人员的努力。
有一部分问题在于不知从何入手。但是,这并不意味着研究者们没有尝试过。在过去几十年里,他们从许多角度探讨了这个问题,但均以失败告终。“这是计算机理论科学中最明显的事实之一,” Carmosino 说。“当一种现象如此持久时,就需要一些解释。”
2. 障碍
到了 Carmosino 读大学的最后一年,好奇心引导他从哥德尔转向了复杂性理论的研究课程。他惊讶地发现,花在家庭作业上的时间比他最感兴趣的项目还要多,这个项目是一个计算机程序,可以学习童话故事的叙述结构并生成新的童话故事。“我想,我得认真对待这件事,” Carmosino 回忆说。不久之后,因为他对复杂性理论的研究过于投入,以至于导师温和地建议他重新考虑毕业后的计划。
“他说,‘你知道,如果你想继续做这个,如果你想继续研究计算机理论和复杂性理论,你可以去研究生院。’” Carmosino 说。获得硕士学位后,他在 2012 年搬到圣地亚哥,在 Impagliazzo 的指导下攻读博士学位。
Marco Carmosino 对 20 世纪 90 年代一项重大成果的痴迷,激发了 20 年后在元复杂性方面的突破。|来源:Kaitlin Abrahamson
起初,Carmosino 的主要目标是更好地理解 20 年前的一篇具有里程碑意义的论文,这篇论文激发了他的想象力。该论文由复杂性理论家 Alexander Razborov 和 Steven Rudich 撰写,证明 P ≠ NP 的 “自然” 策略肯定会失败,因为成功的代价将是加密技术的彻底崩溃,而研究人员认为这种情况非常不可能发生。研究人员将 Razborov 和 Rudich 的结果解释为证明 P ≠ NP 的流行方法的障碍。
“自然证明障碍”(natural proofs barrier)只是解决复杂性理论中开放问题已知的许多障碍之一。把这种障碍比作路障,就像在警告我们所有看似有希望的道路实际上都是一条死胡同。总之,这些障碍表明,任何解决 P 与 NP 问题的证明都必须与过去的证明方法截然不同;这就是为什么大多数研究者认为解决方案仍然遥不可及。但至少这些障碍可以告诉他们哪些地方不应该去尝试。Ilango 表示:“复杂性理论的发展存在许多障碍,备受诅咒与祝福。”
当 Carmosino 遇到自然证明障碍时,它已经有将近 20 年的历史了。但他怀疑它能给研究者带来更多启发。这一天终会到来,他和三个同事从元复杂性的角度研究自然证明障碍,得到了一个令人惊讶的结果。他们的证明引发了人们对元复杂性(meta-complexity)的新兴趣,在之后几年里引发了一阵热潮。
要从自然证明障碍到元复杂性,我们必须回到 20 世纪 70 年代,那时的研究者们刚开始处理 P 与 NP 问题。是什么让证明问题变得如此困难?
电路复杂度
最初,研究人员试图证明 P ≠ NP —— 也就是说,证明存在一些 NP 问题 ,它们不能被任何可能的多项式算法所解决 —— 使用的是图灵用来证明一些问题根本无法被任何算法所解决的技巧的变体。但是他们很快发现了一个证明,表明这些方法是行不通的 —— 这是解决 P 和 NP 问题的第一个主要障碍。于是他们开始寻找另一种方法,很快就在图灵的同时代人香农(Claude Shannon)的工作中找到了一个。
香农在他的硕士论文中开发了一个基于电路的计算理论模型。|来源:Courtesy of MIT Museum
Shannon 在北密歇根州的一个小镇长大,似乎不像是能开创信息时代的人物。然而,他证明了计算机科学这门新兴学科的跨学科性质。他对电气工程和数学逻辑都很熟悉。在他的硕士论文中,Shannon 展示了由机电开关组成的电路如何表示包含布尔变量(只能取两个值,如 0 或 1,真或假)的逻辑表达式。
在这些表达式中,布尔变量通过 “逻辑门控”(logic gates)与(AND)、或(OR)和非(NOT)连接在一起。例如,初等表达式 “A AND B”,当 A 和 B 都为真时为真,否则为假;另一方面,对于 “A OR B”,如果 A 和 B 中至少有一个为真则为真。NOT 更简单:它可以反转单个变量的值。有了足够多的这些基本构件,就可以执行任何计算。
香农的工作为理论学家们提出了一种思考计算问题难度的新方法 ——“电路复杂度”(circuit complexity),尽管这里讨论的电路只是数学上的抽象。有一段时间,研究人员认为这种方法可以解决 P 与 NP 问题,但这条路最终还是遇到了自然证明障碍。
哈佛马克 I 型计算机的基本组成部分,摄于 1944 年,是像香农论文中分析的机电开关。|来源:RBM Vintage Images/Alamy Stock Photo
电路复杂度的框架要求研究者们重新思考图灵计算模型中最基本的概念。在这里,研究人员考虑的不是计算问题和解决这些问题的算法,而是布尔函数和计算它们的电路。布尔函数接受和输出布尔变量(0 或 1)。与算法一样,电路描述了在给定输入条件下产生输出的过程。“我的理解是,人们开始研究电路复杂度是因为他们认为图灵机太复杂了,” 麻省理工学院的复杂性理论家 Ryan Williams 说。“我们可以一个门一个门地研究电路。”
所有的计算问题都可以有很多种算法,有些算法更快,许多不同的电路可以计算给定的任意布尔函数,有些电路的门数比其他电路更少。研究人员将电路复杂度定义为计算该函数的最小电路的总门数。对于一个输入变量固定的函数,电路复杂度也是固定的 —— 某些函数的电路复杂度会高于其他函数。
截然不同的电路可以产生同样的真值表。|来源:Merrill Sherman/Quanta Magazine
但在很多情况下,我们可以通过增加输入的变量数来考虑相同函数更复杂的版本,就像更大的图形会让寻找哈密顿路径更难一样。研究者们在研究算法运行时间时发问:计算布尔函数所需的最小门数是否随着输入变量数量的增加而呈多项式或指数增长?研究者们依据这个将函数划分成 “易于计算”(多项式增长)和 “难以计算”(指数增长)两类。
易于计算的布尔函数类似于 P 类计算问题,即可以在多项式时间内解决的问题。但是也存在类似于 NP 困难(NP-hard)问题的函数,研究人员发现计算这些函数的最佳方法随着门数量呈指数增长,但答案可以很容易地验证。如果复杂性理论家能够证明确实没有更好的方法能计算这样的函数,那么这就意味着 P ≠ NP。
这是在 20 世纪 80 年代大多数复杂性理论学家追求的策略,而且他们占着上风。香农在 1949 年证明了几乎所有的布尔真值表(一个固定大小的布尔函数的所有可能输入和输出的长列表)都具有尽可能高的电路复杂度。他的论证非常简单:组合少量门的方法要比组合许多门的方法少得多。“我们没有那么多的小电路,”Aaronson 说。
所以复杂性理论学家发现他们自己陷入了一个奇怪的困境。如果所有真值表都有很高的电路复杂度,那么几乎每个布尔函数都是很难计算的。研究人员只需要找到一个已知属于 NP 类并且具有高电路复杂度的布尔函数。这能有多难?
密码学与复杂性
起初,进展很快。1981 年,Sipser 和两个合作者证明,如果他们使用的电路对门的布置有一定的限制,那么,一个特定的布尔函数肯定是难以计算的。Sipser 说:“我们当时幻想,可以证明这些受限模型的一些性质,然后基于所学知识来减少限制。”
1981 年,Michael Sipser 用限制电路模型辅助证明了一个具有里程碑意义的结果,但最终陷入停滞。|来源:Bryce Vickmark
1985 年,Razborov 又迈出了一大步。当时他刚在莫斯科开始读研究生,在解决一个数学分支的问题时偶然加入了这项工作,结果发现解决这个问题的先决条件是 P 与 NP 问题。“我很幸运,当时我不知道这个问题有多难,”Razborov 说。“否则也许我根本都不会开始。”
Razborov 分析了只包含 AND 和 OR 门的电路,并证明了无论门如何排列,这种电路都难以计算特定的 NP 完全的函数。所有研究人员要解决 P 与 NP 问题,就必须将 Razborov 的技术推广到带 NOT 门的电路中。Razborov 说:“人们普遍认为,再多走两步,我们就会成功。” 但事实并非如此。Razborov 本人就证明了,如果把 NOT 门加入进来,他的方法就会失败,而且没有人能找到其他的方法。随着时间的流逝,他开始想,为什么这条路线会失效。
在美国,Ruzick 也在思考同样的问题。他和 Impagliazzo 是大学同学,又一起读研究生。他们的友谊源于对哥德尔和图灵自指论证的共同着迷,而且他们俩都对数学和计算机科学基础的影响感兴趣。“我们开玩笑说我们要得到一个标有‘自指’的按钮,”Impagliazzo 说。
1994 年,Alexander Razborov (左) 和 Steven Rudich 发现了自然证明障碍,这解释了之前证明 P≠NP 的尝试失败的原因。|来源:Jean Lachat (left); Courtesy of Carnegie Mellon University
作为研究生,Rudich 和 Impagliazzo 都在密码学的复杂性理论基础上工作,这一学科可能是试图证明 P≠NP 的最佳实践动机。密码学家通过 “伪随机” 来隐藏秘密信息 —— 以这种方式加密的信息在任何窃听者看来都像是一堆随机的数字,但它仍然可以被预期的接收方解码。但是你怎么能确定一个想要窃听的人会发现破译密码太难了呢?
这是复杂性理论的战场。如今最广泛的加密方法都基于看似困难的 NP 问题。若要解密消息,攻击者就需要先发现能够快速解决 NP 问题的算法;若要证明加密方法的安全,我们就必须先证明 P ≠ NP。“如果不能证明,那只能祈祷窃密者数学不好。”Sipser 说。
虽然密码学本身很迷人,但它似乎与自指论证相差甚远,正是自指论证在最初吸引 Rudich 和 Impagliazzo 进入该领域。但随着 Rudich 努力理解为什么电路复杂度方法陷入停滞,他开始意识到这两个学科实际上并没有那么遥远。研究人员在尝试证明 P ≠ NP 时采取的策略具有自相矛盾的特征,让人想起了哥德尔的著名命题 “这个陈述无法证明”,而密码学可以帮助解释原因。在俄罗斯,Razborov 在同一时间发现了类似的联系。这些是自然证明障碍的种子。
自然证明障碍的核心问题是,区分高复杂度函数和低复杂度函数的任务类似于区分用于加密信息的真正随机性和伪随机性。我们希望证明高复杂度函数与低复杂度函数有根本的区别,以证明 P ≠ NP。但为了密码学的安全,我们也希望伪随机与真随机难以区分。也许我们不能两者兼得。
自然证明障碍
在 1994 年,Razborov 和 Rudich 意识到他们的发现如此相似!于是他们开始合作,将成果结合起来。他们首先发现,之前所有用电路复杂度来证明 P≠NP 的尝试都采用了相同的策略:识别一个 NP 完全布尔函数的特殊性质,然后证明任何一个容易计算的函数都没有这种性质。这表明选择的 NP 完全函数确实很难计算,从而证明 P≠NP。
Sipser、Razborov 等人用同样的策略成功地证明了他们更有限的结果,而且在每个案例中,研究人员发现的特殊属性是大多数布尔函数所共有的。因为没有已知的替代方法,Razborov 和 Rudich 甚至创造了 “自然证据” 这个词来指代这种性质共享的情况。如果 “非自然” 的证明是可能的,那么它必须是非常反直觉的,而且名副其实地 “不自然”。
然后,Razborov 和 Rudich 证明了他们的主要结论:要想自然地证明 P≠NP,我们就需要全面地认识易于计算和难以计算函数之间的区别,而且这些知识还能够推动快速算法的发展,找出 “隐藏的” 易于计算的函数。如果复杂性理论家能够自然地证明 P≠NP,他们就会发现一种几乎绝对正确的方法,只要看一眼任意真值表,就能确定相应的函数的电路复杂度是高还是低 —— 这是一个比他们的目标更强、更普遍的结果。“你几乎无法阻挡意外之喜。”Carmosino 这样形容。
这就好像你试图核实一个具体的陈述,但每次尝试都变成了一个通用检验的蓝图 —— 这看起来太好了,不像是真的。对于复杂性理论学家来说,自然证据的惊人力量同样使成功的可能性降低。但是,如果这样的证明成功了,由于电路复杂性和伪随机性之间的联系,对于密码学来说,可能是个坏消息。
要理解这种联系,请想象一下,查看一个布尔函数的真值表的输出列,其中包含许多输入变量,并将每个 “真” 替换为 1,每个 “假” 替换为 0:
Merrill Sherman/Quanta Magazine
如果布尔函数具有较高的电路复杂度,那么这一长串输出在原则上与由 0 和 1 组成的真正随机字符串(比如通过反复抛硬币获得的字符串)是无法区分的。但如果函数的电路复杂度较低,那么貌似复杂的字符串也必须具有简单、简洁的描述。这使得它非常类似于密码学中使用的伪随机字符串,其简洁的描述是隐藏在明显的随机性中的秘密信息。
密码学中的真随机性和伪随机性。|来源:Merrill Sherman/Quanta Magazine
因此,Razborov 和 Rudich 的结果表明,任何 P≠NP 的自然证明产生的同时也会诞生一种快速算法,可以区分包含隐藏信息的伪随机字符串和真正的随机字符串。安全密码学是不可能的 —— 这正好与研究人员希望通过证明 P≠NP 来建立的结果相反。
另一方面,如果安全密码学是可能的,那么自然证明就不能证明 P≠NP—— 这是安全密码学的先决条件。简单地说,这就是自然证明障碍。复杂性理论似乎面临着一个残酷的笑话。“如果你相信复杂性,那么你就应该相信证明复杂性有多复杂,” Kabanets 说。
元复杂性
P≠NP 猜想的含义和证明它的困难之间的联系很有趣,但很难确定。一方面,自然证明障碍只阻止了一种证明 P≠NP 的方法。另一方面,它不把证明 P≠NP 的困难与 P≠NP 本身联系起来,而是与安全密码学联系起来。安全密码学与之密切相关但又不完全等同。为了真正理解这种联系,研究人员必须熟悉元复杂性(meta-complexity)。
Williams 说:“有一种直觉,‘哦,因为 P≠NP,所以很难证明 P≠NP’。但为了让这种直觉有意义,必须把证明 P≠NP 作为一个计算问题来考虑。” 这就是 Kabanets 在研究生时期所做的。他在乌克兰长大,在苏联解体两年后完成了计算机科学的本科学业。但在随后的混乱中,他几乎没有机会研究自己最感兴趣的理论课题。
Valentine Kabanets 研究生时写了一篇有影响力的论文,关于一个典型的元复杂性问题,他称之为最小电路尺寸问题(minimum circuit size problem,MCSP)。|来源:Antonina Kolokolova
“我想做一些更学术的事情,”Kabanets 回忆道。“我也好奇地想看看这个世界。” 他搬到加拿大攻读研究生学位,在那里他了解了自然证明障碍。像 Carmosino 一样,Kabanets 被结果深深吸引:“这种联系似乎非常深刻。”2000 年,他研究生快毕业时,在与复杂性理论学家蔡进一(Jin-Yi Cai)的谈话中,发现自然证明的障碍不断出现。蔡进一当时正在多伦多休假。他们开始把障碍视作邀请,这是一个精确研究证明困难问题到底有多难的机会。他们提出这一新观点的论文,成为新兴的元复杂性领域中最具影响力的早期作品之一。
论文题目:Circuit minimization problem
论文链接:https://dl.acm.org/doi/10.1145/335305.335314
Kabanets 和蔡进一的论文强调了 Razborov 和 Rudich 的自然证明障碍公式中隐含的一个计算问题:给定一个布尔函数的真值表,判断它的电路复杂度是高还是低。他们称之为最小电路尺寸问题(minimum circuit size problem),简称 MCSP。最小电路尺寸问题是一个典型的元复杂性问题:它是一个计算问题,但其主题不是图论或其他外部主题,而是复杂性理论本身。实际上,确实,这就像是驱使复杂性理论家们在 20 世纪 80 年代使用电路复杂性方法来解决 P 与 NP 问题的定量版本:哪些布尔函数难以计算,哪些则容易?Impagliazzo 说:“如果我们能够开发出一种解决最小电路尺寸问题的算法,那就像是在自动化我们在复杂性理论中所做的工作。它至少应该让我们对如何把工作做得更好有一个深刻的认识。”
复杂性理论家并不担心这种神奇的算法会让他们失去工作 —— 因为他们认为它根本不存在,因为 Razborov 和 Rudich 表明,任何这种能区分高复杂度真值表和低复杂度真值表的算法都会毁灭密码学。这意味着 MCSP 可能是一个很难计算的问题。但这有多难呢?它是 NP 完全的吗,就像哈密顿路径问题和研究人员在 20 世纪 60 年代努力解决的几乎所有其他问题一样?
对于 NP 问题,“它有多难?” 这个问题通常很容易回答,但最小电路尺寸问题(MCSP)很奇怪,似乎是例外。Kabanets 表示:“我们很少遇到与 NP 完全问题无关的‘真空’问题,尽管它们似乎很难解决。”
Kabanets 知道他和蔡进一并不是第一个考虑最小电路尺寸问题的人。苏联的数学家们早在 20 世纪 50 年代就研究过一个非常类似的问题,他们早期试图理解不同计算问题的内在难度。20 世纪 60 年代后期,在发展 NP 完全理论的时候,Leonid Levin 曾与它斗争过,但他无法证明 MCSP 是 NP 完全的,于是他没有把 MCSP 放在他的重要论文里。
在那之后的 30 年里,这个问题几乎没有引起人们的注意,直到 Kabanets 和蔡进一注意到它与自然证明障碍的联系。Kabanets 并没有想要独自解决这个问题 —— 相反,他想知道为什么要证明 “这个看似困难的计算困难问题实际上是困难的”。“从某种意义上说,这是元元复杂性(meta-meta-complexity),” 牛津大学的复杂性理论家 Rahul Santhanam 说。
但是,它是一直都很困难吗?还是至少有一些方法可以理解为什么研究人员没有成功证明最小电路尺寸问题(MCSP)是 NP 完全的?Kabanets 发现,是的,有一个原因:理解电路复杂性的困难就像一个障碍,阻碍了任何已知的策略来证明 MCSP 的 NP 完全性 —— 这个问题本身是理解电路复杂性的困难。自然证明障碍扭曲的 “自相矛盾” 的逻辑似乎是不可避免的。也有可能最小电路尺寸问题(MCSP)不是 NP 完全的,但似乎也不太可能 —— 因为我们已知某些更简单的变体问题是 NP 完全的。
最小电路尺寸问题(MCSP)是少数不确定是 NP 完全也不确定属于 P 类的问题之一。|来源:Samuel Velasco/Quanta Magazine
Impagliazzo 说:“我们只是不知道怎么把我们研究的所有问题联系起来。”
Kabanets 揭示了最小电路尺寸问题(MCSP)的奇怪行为,但他不知道接下来该怎么办。元复杂性的研究变得越来越少。16 年后,当研究人员发现元复杂性与另一个基本问题的惊人联系时,这种想法再次蓬勃兴盛。这个问题是:如果你大多数时候只关心得到正确的答案,那么解决问题有多难?
复杂性的世界
对于日常问题,有通常有效的答案就很好了。例如,我们会根据日常的交通状况规划通勤,而非最坏的交通情况。
但大多数复杂性理论学家都难以满足:只有当他们找到对所有可能输入都能得到正确答案的快速算法时,才会声称一个问题很容易。这种标准方法根据研究人员所说的 “最坏情况” 的复杂性对问题进行分类。但也有一种 “平均情况”(average-case)的复杂性理论,在这种理论中,如果有一个快速算法能在大多数情况下得到正确的答案,那么这个问题就是简单的。
对于密码学家来说,这种区别很重要。想象一个计算问题,算法能轻易解决几乎所有的情况,除了个别情况。最坏情况的复杂性理论认为这是一个困难的问题,但对于密码学来说这是无用的:如果只有很少的消息难以破译,那有什么意义呢?
事实上,在 Levin 关于 NP 完全理论的开创性工作发表十年后,他才开始对平均复杂度进行严格的研究。Levin 1978 年移民到美国,在 20 世纪 80 年代中期,他开始关注平均复杂度。他开始与其他人合作,进一步发展这一理论,包括当时还在读研的 Impagliazzo。Impagliazzo 发现虽然研究者们在努力推进平均复杂性理论的发展,但他们经常偏离讨论的主题,没有直接针对问题进行讨论。他希望他们都对这个问题有相同的理解,尽管 Levin 的论文以简洁著称(开创平均复杂性领域的那篇论文不到两页长),但这也无济于事。
Leonid Levin 开创平均复杂性领域的论文
论文题目:Average Case Complete Problems
论文地址:https://epubs.siam.org/doi/10.1137/0215020
Impagliazzo 说:“我本来打算把 Levin 的工作翻译成更易懂的文章。” 他决定首先对大的图景做一个简短、有趣的概述,然后再深入讨论数学。“这几乎占满了当时的论文,而且也是人们唯一记得的部分。” 该论文于 1995 年发表,立即成为经典之作。Impagliazzo 根据不同程度的计算难度和不同的密码学能力,将复杂性难度分为五类世界,并为它们创造了神奇的名字。我们生活在其中一个难度的世界,但不知道是哪一个。
论文题目:A personal view of average-case complexity
论文地址:https://ieeexplore.ieee.org/document/514853
Leonid Levin(右)在 20 世纪 80 年代中期开始了对平均情况复杂性的研究。Russell Impagliazzo 后来在一篇关于我们可能生活的五个计算世界的标志性论文中,使这一主题变得更加容易理解。|来源:Courtesy of Simons Foundation (left); Cydney Scott/Boston University Photography
自从 Impagliazzo 的论文发表以来,研究人员一直梦想着消除他的微型多重宇宙的一部分 —— 通过证明某些世界根本不存在来缩小可能的空间。有两个世界特别引人注目,在其中,即使 P ≠ NP,当前的加密算法也无法实现安全的加密通信。
在其中一个被称为 Heuristica 的世界中,所有 NP 完全问题在大多数输入上都是容易解决的,但快速算法偶尔会出现错误,因此按照最坏情况复杂性理论的标准,这些问题仍然被认为是困难的。因为在这个世界中几乎所有的代码都很容易被破解,因此加密是不可能的。在另一个名为 Pessiland 的世界中,加密之所以不可能是另一个原因:每个问题在平均情况下都是困难的,但加密一条消息会让它的目标接收者也无法理解。
这两个世界与元复杂性问题密切相关 —— 特别是 Heuristica 的命运与最小电路尺寸问题(MCSP)是否是 NP 完全的问题有关。Kabanets 和 Levin 多年前所着迷的问题不仅仅是出于好奇:有一个完整的世界岌岌可危。为了排除掉 Heuristica,研究者们必须消除最坏情况和平均情况之间的区别,也就是说,他们必须证明任何假设的算法都可以在大多数情况下正确解决 NP 完全问题,并且可以在所有情况下实际解决问题。这种联系称为最坏情况到平均情况的约简(worst-case to average-case reduction),虽然已经证明对于某些问题,这种约简是存在的,但这些问题都不是 NP 完全的,因此这些结果并不会给出更多的信息。如果能够证明 Heuristica 不存在,那么在 P ≠ NP 的情况下实现安全的加密通信就更容易了。
但要排除掉 Heuristica 并不容易。2003 年,两位复杂性理论家表明,证明已知 NP 完全问题的最坏情况到平均情况的约简的现有方法将导致荒谬的后果,这表明这样的证明可能行不通。研究人员必须找到另一种方法,现在他们认为最小电路尺寸问题(MCSP)可能正是他们需要的问题。但这在十多年后才变得清晰起来。Carmosino 对自然证明障碍的执着追求,让我们第一次看到了这种联系。
论文题目:On worst-case to average-case reductions for NP problems
论文地址:https://ieeexplore.ieee.org/document/1238205
3. 机遇
通过 Kabanets 和其他四名研究人员于 2013 年发表的一篇论文,Carmosino 在研究生期间首次接触到元复杂性研究,该论文进一步发展了 Kabanets 十多年前开创的自然证明障碍的方法。这让他更加相信,我们仍然可以从 Razborov 和 Rudich 的经典论文中学到很多东西。
论文题目:Mining Circuit Lower Bound Proofs for Meta-Algorithms
论文地址:https://eccc.weizmann.ac.il/report/2013/057/
“当时我沉迷于那篇论文,”Carmosino 说。“一切都没有改变。” 在访问加州大学伯克利分校长达一学期的研讨会时,他的痴迷终于结出果实。在那里,他花了很多时间与 Impagliazzo、Kabanets 和 Antonina Kolokolova 交谈,Antonina Kolokolova 是纽芬兰纪念大学的复杂性理论家,曾与 Kabanets 合作撰写 2013 年的论文。Carmosino 之前曾与他们三人合作过,这种成功的合作给了他信心,他能够向这三个人提出关于这个主题的最迷人问题。
“他以一种好的方式困扰着人们,”Kabanets 回忆道。起初,Carmosino 为证明 Razborov 和 Rudich 论文中自然证明障碍的最小电路尺寸问题(MCSP)版本具有 NP 完全性提出了新的想法,但这些想法并没有奏效。相反,Impagliazzo 不经意间的评论使这四名研究人员意识到,自然证明障碍可以产生比任何人想象的更强大的算法 —— 在自然证明障碍中存在一个秘密地图。
2016 年,Antonina Kolokolova 与 Carmosino、Impagliazzo 和 Kabanets 合作,证明了 MCSP 和 “学习” 之间令人惊讶的联系,这引起了对元复杂性的新关注。|来源:Colette Philips
在 2016 年的一篇文章中,这四名研究人员证明,某种平均情况下的 MCSP 算法可以用来构建一种最坏情况下的算法,用于识别隐藏在随机数字串中的模式 —— 计算机科学家将此任务称为 “学习”。这是一个惊人的结果,因为从直观上看,学习似乎比 MCSP 算法执行的二元分类任务(复杂性高还是低)更难。而且令人惊讶的是,它将一个任务的最坏情况复杂性与另一个任务的平均情况复杂性联系起来。
论文题目:Learning algorithms from natural proofs
论文地址:https://dl.acm.org/doi/10.5555/2982445.2982455
“这种联系是否存在并不明显,”Impagliazzo 说。对于一般的布尔电路,MCSP 的快速算法纯属假设:除非我们能证明 MCSP 是一个容易计算的问题,否则这种快速算法根本不可能存在,而这意味着这四名研究人员论文中暗示的学习算法也是同样假设的。
但是对于一些更简单的 MCSP 版本 —— 当电路具有特定限制时,区分复杂度高和低的真值表,早在很多年前就已经有了快速算法。Carmosino、Impagliazzo、Kabanets 和 Kolokolova 的论文表明,这些算法可以转化为同样受到限制的 “学习” 算法。尽管这些算法受到限制,但它们仍然比研究人员此前在严格理论水平上所理解的任何算法都要强大。“不知为何,他们的‘自指’能让你做一些似乎在更标准的问题上做不到的事情。”Ilango 说。这一结果引起了其他主题的复杂性理论家的关注。这也是在之后几年,元复杂性和平均情况复杂性之间出现进一步联系的预兆。最重要的是,这证明了研究人员可以通过问一些简单的问题来取得大的进步,虽然这些问题一开始似乎只会阻碍他们的进步。Impagliazzo 说:“这种对偶性(duality)贯穿了过去至少 30 或 40 年的复杂性研究。机遇与挑战往往并存。”
部分问题的证明
自从 Carmosino 和他的同事发表了论文之后,进展才得以加速。Kolokolova 说:“复杂性研究的进展日新月异,现在有很多非常非常聪明的年轻人加入。”
Ilango 就是这群年轻人之一,在读研的前三年内,他采用双管齐下的策略,证明了 “MCSP 问题是 NP 完全的” 这样艰巨的开放问题:正如电路复杂性研究者在上世纪 80 年代挑战 P 和 NP 问题时那样,在证明 MCSP 更简单版本 NP 完全的同时,也证明了 MCSP 更复杂版本的 NP 完全性。证明复杂版本的 MCSP 的 NP 完全性在直觉上似乎更难,因此要证明它更困难就更容易。Ilango 将他对元复杂性的兴趣归功于 Eric Allender,他是罗格斯大学的复杂性理论家,是少数在 2000 年代和 2010 年代初继续研究元复杂性的研究人员之一。“他的热情很有感染力,” Ilango 说。
另一位受 Allender 启发的年轻研究员是 Shuichi Hirahara,目前是东京国家信息研究所(National Institute of Informatics)的教授。2018 年,当 Hirahara 还是一名研究生时,他揭示了 Carmosino 和他的合作者发现的元复杂性与平均复杂性之间的本质关系。这四名研究人员发现了一个问题:MCSP 的平均复杂性与布尔学习问题的最坏情况复杂性之间的联系。Hirahara 进一步发展了他们的技术,推导出 MCSP 的最坏情况到平均情况的约简。他的结果表明,像 Carmosino 和他的同事考虑的那种假设的平均情况 MCSP 算法实际上足够强大,即使 MCSP 问题稍有不同,该算法仍然能够成功地解决问题,而且不会犯错。
Rahul Ilango(左)和 Shuichi Hirahara 最近开发了新的密码技术来证明 MCSP 的变体是 NP 完全的。|来源:Jennifer Krupa (left); Takuma Imamura
Hirahara 的结果令人兴奋,因为许多研究人员怀疑 MCSP 是 NP 完全的,与其他所有已知最坏情况到平均情况的约简问题不同。如果他们能够将 Hirahara 的结果扩展到所有平均情况算法,并证明 MCSP 是 NP 完全的,那么这将证明前面谈论的 Heuristica 世界将坍塌。“那真的会是一个震撼人心的结果,”Santhanam 说。证明 MCSP 是 NP 完全的可能是一个艰巨的任务。毕竟,这个问题已经公开了 50 多年。但是在去年 Hirahara 取得了突破之后,研究人员现在离目标更近了,比几年前任何人的预期都要近。
Hirahara 证明了部分 MCSP 问题(MCSP 问题的一个变体)的 NP 完全性,这个问题忽略了每个真值表中的某些项。他的证明建立在 Ilango 开发的方法上,该方法表明部分 MCSP(partial MCSP)问题等价于一个看似无关的问题。这个问题涉及一种名为秘密共享的加密技术,这是一种将加密信息分配给许多人的方法,只有在他们中的某些人合作时,信息才能被解码。
对于任何实际的密码学应用,你都希望事先知道需要多少人进行合作,但是在额外的密码学技巧的帮助下,可以构造一个令人沮丧的场景,在其中我们甚至很难知道需要多少人合作。Hirahara 找到了一种方法来证明如此设计的密码问题是 NP 完全的,并且表明该证明暗示了部分 MCSP 的 NP 完全性。
部分 MCSP 的 NP 完全性得到证明,而证明完整的 MCSP 的 NP 完全性仍然面临障碍。|Samuel Velasco/Quanta Magazine
这个结果给元复杂性研究人员带来的鼓励甚至超过了 Hirahara 早期的工作,其他研究人员也注意到了这一点 —— 复杂性理论家 Lance Fortnow 称其为年度成果。这是因为处理这样的 “部分函数” 版本的计算问题一直是其他 NP 完全证明的关键中间步骤。“这是一项了不起的工作,”Williams 说。“每个人都认为,这种 “部分问题” 与完整问题的难度大致相同。”
证明完整的 MCSP 的 NP 完全问题仍然面临障碍。但这些障碍并不需要我们找到新的工具包,可能通过已知技术的正确整合就能解决这个障碍。这一证明将最终解决自复杂性理论存在以来阻碍分类的少数几个问题之一。Levin 在邮件中谦虚地写道:“我没能看到它,我实在是太笨了:-)。”
缺失的碎片
MCSP 甚至不是唯一引发重大突破的元复杂性问题。2020 年,康奈尔科技校区的密码学家 Rafael Pass 和他的研究生 Yanyi Liu 发现了一个不同的元复杂性问题,而且他们还定义了 Heuristica 和 Pessiland 之间边界的基本密码学协议之间的联系。Pessiland 是 Impagliazzo 提出的五个世界中最糟糕的一个(NP 完全问题在平均情况下难以解决,但密码学仍然不安全)。他们研究的问题是消灭 Pessiland 的主力军,他们最近的工作表明,它也可以消灭 Heuristica。
Pass 说:“拼图有不同碎片缺失了,但对我来说,这些领域的联系如此紧密实在是太神奇了!”Hirahara 警告说,对于那些试图消灭 Impagliazzo 在 30 年前构想的部分世界的研究者们来说,前方仍有挑战。“但我想说的是,某天我们一定能够排除掉 Heuristica 和 Pessiland,只是我不知道这一天什么时候到来。”
许多研究人员预计,最大的困难将是弥合两种不同平均复杂性模型之间看似无害的差距。密码学家通常研究在两个方向上都会犯错误的平均情况算法,偶尔会将随机字符串错误地标记为伪随机,反之亦然。与此同时,Hirahara 从最坏情况到平均情况的约简适用于只犯第一种类型错误的平均情况算法。像这样的微妙区别可能会在复杂性理论中产生重大影响。但是,尽管存在这个障碍和其他许多问题,Allender 仍不禁表现出谨慎的乐观情绪。Allender 说:“我尽量不让自己报有过高的期望,因为以往的记录表明,很多进展是无用的。但我们看到了很多令人兴奋的进展 —— 克服看似障碍的方法。”
如果要问研究者们在与 “P 与 NP” 问题(the P versus NP question)的斗争中学到了什么?或者说从中理解了什么,那一定是复杂性理论本身是复杂的。但也正是这个挑战让探索变得如此有意义。Carmosino 说:“这个问题真的很难,这一点实在是太棒了,我将永不厌倦!”
via:
-
计算复杂性理论50年:从P与NP问题到元复杂性 Goñi-Moreno 集智俱乐部 2024年06月12日 21:41 北京
P/NP 问题 50 年:基础理论举步维艰,但 AI 正在不可能中寻找可能
原创 Lance Fortnow 返朴 返朴 2024 年 06 月 18 日 08:01 北京
核心观点:
- 至 2021 年,P/NP 问题已经 50 岁了,但其解决方案仍遥不可及。尽管算法与硬件的卓越进步使我们可以解决许多 NP 完全问题,但在密码系统的破解方面仍进展甚微。
- 随着我们持续地在机器学习以及以数据为中心的计算领域取得激动人心的进步,P/NP 问题向我们提供了一个宝贵的视角,去了解在未来的机器学习领域什么是可能的,什么是不可能的。
- 虽然 P/NP 问题一开始涉及复杂问题的计算求解,但如今我们将其视为绘制这个领域未来发展蓝图的一种方法。
(编者注:正文内参考文献序号为原文标注;原文发表于 2022 年。)
撰文 | Lance Fortnow(伊利诺斯理工学院计算机学院教授)
翻译 | 许钊箐
1971 年 5 月 4 日,数学家、计算机科学家史蒂夫・库克(Steve Cook)在他的论文《定理证明过程的复杂性》(The Complexity of Theorem Proving Procedures)中向世人介绍了 P/NP 问题。如今,50 多年过去了,全世界仍在尝试解决这一问题。在 2009 年,我在《ACM 通讯》(Communications of the ACM)杂志上发表综述文章《P/NP 问题的现状》,探讨过这一话题 [13]。
自 2009 年那篇文章发表以来,P/NP 问题及其相关的理论并没有显著的进展,但是计算领域无疑发生了巨变。云计算的发展促进了社交网络、智能手机、零工经济、金融科技、空间计算、在线教育等领域的进步,并且也许其中最重要的是数据科学与机器学习的崛起。在 2009 年,市值排名前十名的公司中仅仅只包含一家大型科技公司:微软。而截止至 2020 年 9 月,市值排名前七名的公司是:苹果(Apple)、微软(Microsoft)、亚马逊(Amazon)、谷歌(Alphabet)、阿里巴巴(Alibaba)、脸书(Facebook)、腾讯(Tencent)[38]。在此期间,美国计算机科学专业毕业生的数量增加了两倍多 [8],但仍远远不能满足岗位的需求。
在本文中,我选择通过 P/NP 问题的视角来看待计算、优化以及机器学习领域的进展,而不仅仅是简单修改或更新 2009 年文章的内容。我们将关注这些进展是如何使我们更接近 P=NP 的世界,P/NP 问题至今仍存在的局限性,以及已经涌现的新的研究机会。特别地,我会探讨我们是如何走向一个我称之为 “Optiland” 的世界,在那里我们几乎可以奇迹般地获得 P=NP 的许多优点,并且同时避免一些缺点,比如打破密码学的相关理论。
作为一个开放的数学难题,P/NP 问题至今是其中最重要的之一;它被列入克莱数学研究所的千禧年大奖难题之一**[21]**(该组织为其中每一个问题的求解提供 100 万美元的奖金)。在本文的最后,我也将陈述一些前沿计算机科学的相关理论结果。虽然这些结果没有让我们更接近于解决 P/NP 问题,但它们向我们展示了对于 P/NP 问题的思索仍然推动了该领域众多的重要研究。
P/NP 问题
是否存在 300 个 Facebook 用户彼此之间都是好友的关系?你将如何为这个问题提供一个解答?假设你在 Facebook 公司工作,可以访问公司所有数据,了解哪些用户是好友关系。你现在需要设计一个算法来寻找彼此都是好友并且人数足够多的朋友群体(Clique)。你可以先尝试搜索所有满足条件的 300 人朋友群体,但由于实际人数过多,无法全部搜索。你也可以选择一些更明智的方法,比如先尝试搜索一些小型朋友群体,之后再小的群体合并为更大的群体,但你会发现你所做的似乎都不起作用。事实上,没有人知道比遍历所有朋友群体明显更快的搜索方法,同时我们也不知道更快的方法是否不存在。
这基本上就是 P/NP 问题。NP 代表我们可以高效检验其解答的问题。如果我告知你有 300 人可能形成了一个满足条件的团体,你可以相对较快地检验他们彼此之间形成的 44850 对用户是否都是好友关系。上文的分团问题(Clique problem)便是一个 NP 问题。而 P 则表示我们可以高效地找到解的问题。对于分团问题,我们不知道它是否在 P 问题这个集合中。或许会令你惊讶的是,分团问题有一个被称为 NP 完备(NP-complete)的性质 —— 即当且仅当 P=NP 时,我们才可以高效地解决分团问题。许多其他问题也有这一性质,比如三着色问题(一副地图能否可以仅被三种颜色着色使得任意相邻的两个国家拥有不同的颜色?),旅行商问题(在众多的城市中找到一个最短路线,使得商人访问每座城市一次并回到初始的位置),以及其他成千上万的问题。
严格地来说,P 表示 “多项式时间”(polynomial time),对应一类求解时间是以输入长度为自变量的固定多项式的问题。而 NP 表示 “非确定性多项式时间”(nondeterministic polynomial time),对应一类非确定性图灵机可以不可思议地选择出最佳答案的问题。在本文中,读者可以把 P 和 NP 简单地看作可高效求解的问题以及可高效验证的问题。
如果读者希望对于 P/NP 问题的重要性有更深入的非专业讨论,可以阅读我 2009 年的综述文章 [13] 或者我在 2013 年基于这篇综述文章写作的科普书籍 [14]。对于更专业的介绍,由迈克尔・加里(Michael Garey)和大卫・约翰逊(David Johnson)[16] 在 1979 年创作的专著对于需要理解哪些问题是 NP 完备问题的读者非常合适。这本专著至今仍然是这方面的宝贵参考资料。
为什么我们现在谈论 P/NP 问题?
1971 年一个周二的下午,在美国俄亥俄州谢克海茨市的斯托弗萨默塞特酒店,史蒂芬・库克(Stephen Cook)在 ACM 计算理论专题研讨会上向与会者展示了他的论文,他证明了布尔表达式可满足性问题(Boolean Satisfiability Problem)是 NP 完备的,并且证明了重言式问题(Tautology)是 NP 困难(NP-hard)的 [10] 。这些定理也表明,重言式问题是一个不在 P 集合中不错的候选,并且我认为花费相当大的精力来尝试证明这个猜想是值得的。这样的证明将会是复杂性理论的重大突破。
与一个数学概念 “约会” 几乎总是一个挑战,历史上也许还有很多 P/NP 问题可能的诞生时间。算法和证明的基本概念可以被追溯到古希腊时期,但据我们所知,P/NP 这样一般性的问题他们从未考虑过。高效计算与非确定性的理论基础是在 20 世纪 60 年代发展起来的,而 P/NP 问题在此之前就形成了,只是我们不知道具体时间而已。
在 1956 年库尔特・哥德尔(Kurt Gödel)写给约翰・冯・诺伊曼(John von Neumann)的一封信中,哥德尔本质性地描述了 P/NP 问题。目前我们尚不清楚,当时身受癌症侵袭的冯・诺伊曼是否阅读了这封信。直到 1988 年,这封信才被人们发现,并广为传播。而 P/NP 问题是直到理查德・卡尔普(Richard Karp)1972 年发表论文 [23] 指出大量著名组合问题(包括分团问题、三着色问题、以及旅行商问题)是 NP 完备的之后才真正成为一种现象。1973 年,当时在苏联的列昂尼德・莱文(Leonid Levin)在其 1971 年独立研究的基础上发表了一篇论文,其中定义了 P/NP 问题 [27]。而当莱文的论文传到西方的时候,P/NP 问题已经成为计算领域最重要的问题了。
乐观之地(Optiland)
在 1995 年的一篇经典论文中**[20]**,拉塞尔・因帕利亚佐(Russell Impagliazzo)描述了对于 P/NP 问题拥有不同程度可能性的五个世界:
- 算法世界(Algorithmica):P=NP 或者某种理论上的等价,比如 NP 问题的快速随机算法。
- 启发世界(Heuristica): 在最坏的情况下 NP 问题很难求解,但是通常情况下求解是容易的。
- 悲观世界(Pessiland;译者注:引申自拉丁语悲观主义 pessimus):我们可以轻易地构建难以求解的 NP 问题,但是很难构建我们知道解答的 NP 问题。这是所有可能性中最坏的,因为在这个世界中,我们既不能在通常情况下解决困难的问题,也不能由这些问题的难度获得任何明显的加密优势。
- 单向加密世界(Minicrypt):单向加密函数存在,但是我们没有公开密钥加密算法。
- 加密狂欢世界(Cryptomania): 公开密钥加密是可能的,也就是说,双方可以通过公开的信道交换加密信息。
这些对应不同情况的不同世界特意没有被正式定义。根据我们对于 P/NP 问题的了解,它们表明了未知的各种可能性。人们通常认为(不是全体统一地),我们生活在可以 “加密狂欢” 的世界里。
因帕利亚佐从 P/NP 的理论中总结出:“鱼与熊掌不可兼得(You can’t have it all)”。我们可以求解困难的 NP 问题,或者可以拥有密码学,两者必有其一,但不会共存。不过,或许我们正在前往一个现实中的 “乐观之地”(Optiland;译者注:与 pessiland 对应,引申自 Optimum)。机器学习和软件与硬件优化的进展,使我们能够对于此前长期被认为是困难或不可能的问题取得进展,比如语音识别与蛋白质折叠等问题,并且在大多数情况下我们的加密协议仍然是安全的。
在我 2009 年的综述文章 [13] “ 如果 P=NP 会怎么样?” 章节里,我当时写道,“通过使用奥卡姆剃刀原则(Occam’s razor),学习变得容易了 —— 我们只需寻找与数据一致的最简单的方法”。近乎完美的视觉识别、语言理解、翻译,以及所有其他的学习任务都变得容易解决。我们也将更好地预测天气、地震以及其他自然现象。
如今,我们可以通过面部扫描来解锁智能手机,通过询问手机问题得到通常较为理想的回复,也可以将我们的问题翻译为另一种语言。智能手机会接收关于天气和极端气候的警报,而其预测能力比我们十几年前想象的要好得多。同时,除了小长度密钥加密会受到类似暴力破解的攻击之外,密码学理论基本没有被撼动。接下来,让我们来看一看计算、优化以及学习领域最近的进展是如何将我们领入 “乐观之地” 的。
困难问题的求解
2016 年,比尔・库克(Bill Cook, 与前文中的史蒂夫・库克没有关系)和他的同事们决定迎接这项挑战 [9]:如何使用最短的路程到访英国的每一家酒吧?他们列出了 24727 家酒吧的名单,并确定了最后的酒吧旅行路线 —— 一次总长度 45495239 米的徒步旅行。这一距离比绕地球一圈还要长一些。
实际上,库克对该问题做了一些简化:他忽略了一些酒吧使得该问题有一个合适的规模。在一些英国媒体进行报道 [7] 之后,许多人抱怨名单中没有他们最爱的酒吧。因此库克团队重新整理了一份包含 49687 家酒吧的名单,而新的行程长度是 63739687 米(见下图)。与之前的路径相比,人们只需要多走 40% 的路程,便能到访数量是之前两倍多的酒吧。这个酒吧旅行的问题与旅行商问题(最著名的 NP 完备问题之一)是等价的。到访 49687 家酒吧所有可能路线的数量大约是 “3 后面跟着 211761 个 0”。当然库克的电脑不会遍历所有路线,他们使用了各种优化技术。更令人印象深刻的是,这份路线还附带一份基于线性规划对偶性的最优性证明。
穿过 49687 家英国酒吧的最短路线 图片来源:math.uwaterloo.ca/tsp/uk
库克团队也承担了一个更大的任务 —— 寻找一条穿越 200 多万恒星的最短路径,其中恒星之间的距离可以被计算。他们获得的路线总长度为 28884456 秒差距(译者注:1 秒差距约为 3.26 光年),和理论最佳值相比只有 683 秒差距的差别。
除了旅行商问题,我们在求解布尔可满足性问题和混合整数规划问题(Mixed-integer programming question)领域也取得了重大进展 —— 一种线性规划方法的变体,其中一些变量(不一定是全部)必须是整数。通过使用高度精炼的启发式方法、高速处理器、专业硬件以及分布式云计算,人们基本已经可以解决实践中出现的具有数以万计的变量和数十万甚至上百万的约束的问题。
面对需要求解的 NP 问题,人们通常会将问题转述为布尔可满足性问题或混合整数规划问题,进而使用最好的求解器求解。这些工具已经被成功地应用在电路与编码的验证与自动化测试、计算生物学、系统安全、产品与包装设计、金融交易中,甚至用于求解困难的数学问题。
数据科学与机器学习
如今,任何《ACM 通讯杂志》的读者和其他大多数人都不会忽视机器学习带来的变革性影响,尤其是通过神经网络实现的机器学习。使用人工神经元(笼统地讲,计算加权阈值函数)实现建模计算的概念可以追溯到 20 世纪 40 年代沃伦・麦卡洛克(Warren McCulloch)和沃尔特・皮茨(Walter Pitts)[28] 的研究。在 20 世纪 90 年代,约书亚・本希奥(Yoshua Bengio)、杰弗里・辛顿(Geoffrey Hinton)和杨立昆(Yann LeCun)[26] 提出了反向传播等算法,为多层神经网络学习训练的发展奠定了基础。更快、更广泛的分布式计算、专业硬件和海量数据也帮助并推动了机器学习的发展,使得它可以非常出色地完成众多原本需要人类完成的任务。计算机协会(the Association for Computing Machinery,ACM)也为本希奥、辛顿和立昆授予了 2018 年的图灵奖,以表彰他们的工作对人类社会产生的深远影响。
那么,机器学习与 P/NP 问题有什么联系?(在本节中,当我们提及 P=NP,它表示所有的 NP 问题在实践中都有相关的高效算法。)奥卡姆剃刀原则指出,“如无必要,勿增实体”,或者说,最简单的解释可能才是正确的。如果 P=NP,我们可以利用这一思想来建立一个强大的学习算法:找到一个与数据一致的最小的回路。但即便可能没有 P=NP 这个结论,机器学习也可以近似地实现这种方法,从而赋予了神经网络惊人的能力。然而,神经网络不太可能是那个 “最小的” 回路。如今使用深度学习技术训练的神经网络往往结构是固定的,其参数与网络中的权重有关。为了拥有足够的表达能力,人们通常需要设置数百万甚至更多的权重参数。而数量众多的参数限制了神经网络的能力:它们可以很好地进行面部识别,但是却无法根据示例来学习如何进行乘法运算。
通用分布(Universal distribution)和 GPT-3 让我们考虑任意长度二进制字符串的分布。尽管均匀分布是明显不合理的,但是我们是否可以构建分布使得任意相同长度的字符串拥有相同的概率?实际上,有些字符串确实会比其他的更重要。比如,π 的前 100 万位数字比随机生成一个 100 万位数字更有意义。因此或许你会希望给更有意义的字符串设置更高的概率。实现这一目标的方法很多,而实际上存在一个接近于任何其他可计算分布的通用分布(读者可以参考科尔什赫等人的文章**[25]**)。通用分布与学习训练有很大的联系,例如,任意以小误差率学习这种分布的算法将可以学习所有可以计算的分布。可惜的是,即便 P=NP,通用分布也是不可计算的。不过,如果 P=NP,我们仍然可以得到一些有用的东西 —— 我们可以创建一个可高效计算的分布,使得它对于其他可高效计算的分布是通用的。
我们能从机器学习中获得什么?以 GPT(Generative Pre-trained Transformer,生成式预训练转换器)为例,特别是 2020 年发布的 GPT-3 [5]。GPT-3 从尽可能多的书面语料库中提取了 4100 亿个标记,进而训练了 1750 亿个参数。它可以回答问题,可以根据提示书写文章,甚至可以生成代码。尽管它还有漫长的优化之路要走,但是它已经可以像人类一样创造内容,并因此受到好评。我们可以把 GPT-3 看作是一种分布,并考虑算法输出对应的概率 —— 即一个弱版本的通用分布。如果我们以一个给定的前缀限制通用分布,那么它就提供一个由该前缀提示的随机样本。GPT-3 也可以基于这样的提示,无需进一步训练就能处理极大范围的相关领域知识。随着这方面研究的进展,我们也将越来越接近一个通用度量标准并从中实现内置式学习:基于给定上下文生成一个随机的例子。
科学与医药 在科学世界,我们已经通过大规模模拟取得了众多进展,比如探索核聚变反应。研究者们使用一种科学方法的范式:首先对于物理系统建立假设;然后使用模型进行预测;再用实验模拟检验该预测,而不是直接实现核聚变反应。如果测试结果与预期不同,再修改或推翻这个模型并重复以上的过程。
在我们拥有一个有说服力的模型之后,我们可以在现实反应堆中进行一些昂贵的实验测试。如果 P=NP,像上文提及的,我们可以使用奥卡姆剃刀理论来建立假说 —— 找到一个与数据一致的最小回路。机器学习的技巧可以紧接着沿着这个思路自动地创建假设。不管数据是来自于模拟、实验还是传感器,机器学习都可以创建出匹配数据的模型。然后我们可以使用这些模型来进行预测,并像前文提到过的那样检验做出的预测。
尽管机器学习可以帮助我们找到未发现的假设和模型,但所获得的结果未必是正确的。我们通常可以接受有 95% 置信水平的假设(这意味在 20 个不合格的假设中,有一个可能会被接受)。机器学习与数据科学的工具为我们生成假设的同时,也带来了结果不符合事实的风险。医学研究人员,特别是试图解决癌症等疾病的研究人员,常常遇到算法上的阻碍,因为生物系统极其复杂。我们知道 DNA 构成一种编码,它描述了我们的身体如何形成以及身体不同部分的功能,但我们对其运作原理知之甚少。
2020 年 11 月 30 日,谷歌的 DeepMind 公司发布了 AlphaFold—— 一种基于氨基酸序列预测蛋白质结构的新算法**[22]**。AlphaFold 的预测准确度几乎达到了人工实验的水平,即通过实验构建氨基酸序列并测试其生成的蛋白质结构。虽然关于 DeepMind 是否真的 “解决” 了蛋白质折叠的问题仍存争议,并且现在便评估其影响力还为时过早,但从长远来看,它为我们提供了一个新的数字化工具来研究蛋白质,理解它们是如何相互作用,并学习如何设计蛋白质来对抗疾病。
P/NP 之外:象棋与围棋 NP 问题就像解谜游戏。数独问题就是 NP 完备的:在一个任意大小的宫格上,给定一些初始数字,然后求解其余空格中数字。但是对于两位玩家轮流执子的回合制游戏,比如象棋和围棋,如果我们想知道谁会在给定棋局下获胜,情况又会怎么样呢?事实上,即便是 P=NP,我们也未必可以找到完美的棋类算法。我们不得不考虑对于黑子的每一步,白子都可以走出合适的一步,并不断循环直到白棋胜利。而设计这种交替的算法仅仅依靠 P=NP 是不够的。这一类游戏的算法设计被称为 PSPACE-hard—— 在没有时间限制下,使用合理的存储容量进行计算是困难的。根据具体的规则设定,象棋和围棋的算法设计会更有难度。(感兴趣的读者可以阅读德迈纳与赫恩的文章**[11]**。)
不过,这并不意味着在假设 P=NP 的前提下,我们不能找到一个好的棋类算法。你可能做出一个大小合适的高效计算机程序,使其优于所有比它体量略小的高效程序。另一方面,即便没有 P=NP 这一假设,计算机在棋类方面已经足够强大。在 1997 年,IBM 的超级电脑 “深蓝” 击败了当时的国际象棋世界冠军加里・卡斯帕罗夫(Gary Kasparov),然而在当时,即便是与有实力的业余选手的对决,围棋程序也难以取胜。在这之后,机器学习在计算机游戏的算法设计方面取得了巨大的进步。让我们直接跳过这段悠久的历史,来看看 2017 年 DeepMind 开发的 AlphaZero [35]。
AlphaZero 使用了一种被称为蒙特卡洛树搜索(MCTS)的技术 —— 让双方玩家随机地落子从而决定最佳的棋路方案。AlphaZero 使用深度学习来预测棋局的最佳分布,以优化使用 MCTS 获胜的机会。虽然 AlphaZero 并不是第一个使用 MCTS 的程序,但是它没有任何内置策略或者访问之前的棋类数据库 —— 它仅仅假设了游戏的规则。这也使得 AlphaZero 在国际象棋和围棋上都表现得出色,这两种游戏除了交替回合制和固定大小的棋盘之外截然不同。DeepMind 最近进一步地研究了 MuZero [33]—— 它甚至没有完整的规则,仅仅有一些棋盘位置的表示,一系列符合规则的落子,以及哪些情况是赢、输或者平局。现在我们已经明白,在国际象棋和围棋中,纯粹的机器学习可以很轻易地击败人类或者其他算法。而人为地干预只会妨碍它。对于象棋和围棋这类游戏,即便 P=NP 不足以解决这类问题,但机器学习却可以取得成功。
可解释的人工智能 很多机器学习算法似乎已经都运行得很好,但是我们却不理解为什么。如果你去观察为了语音识别而训练的神经网络,你通常会难以理解它为何做出这样的选择。我们为什么要关心这个问题呢?以下是一些原因:
1.置信:我们如何知道神经网络运行正确?除了检查输入和输出,我们不会做其他任何的分析。不同的应用场景会有不同的置信水平:Netflix 推荐了一部水平不高的电影没什么关系,但如果是自动驾驶的汽车选择了一个错误的转弯,结果就很严重。
2.公平:有很多例子表明,通过数据训练的算法受到了数据中有意或无意的偏差的影响。如果我们不理解程序,我们如何发现这些数据中的偏差?
3.安全:如果使用机器学习来监管安全系统,我们将不知道哪些漏洞仍然存在,特别是当我们的敌手是不断变化的时候。但如果我们理解代码,我们就可以发现并修补安全漏洞。当然,如果敌手获得了代码,他们也可以发现漏洞。
4.因果关系:目前我们最多只能检查机器学习算法是否与我们想要的输出类型相关。理解代码可以帮助我们理解数据中的因果关系,从而在科学与医学方面取得新的进步。
如果 P=NP,我们会得到一个更好的情况吗?如果我们有一个 NP 完全问题的快速算法,你可以将其用于匹配问题或旅行商问题,找到可能的最小回路,但你不会知道为什么这个回路是对的。另一方面,我们想要一个可解释算法的原因是我们希望可以理解它的性质,但如果 P=NP,我们可以直接导出这些性质。现在研究可解释的人工智能会议涌现出来,例如 ACM FAccT 会议。
机器学习的局限性虽然在过去十年中,机器学习已经展现了许多令人惊奇的结果,但很多系统还远未达到完美的水平,在大多数应用场景中,人类仍然更胜一筹。人们也将继续通过新的优化算法、数据收集与专业硬件来提高机器学习的能力。不过,机器学习似乎确实有其局限性。正如我们上文提到过的,机器学习让我们一定程度的接近 P=NP,但却永远无法替代 P=NP—— 机器学习在密码破解方面进展甚微,我们也将在本文后面看到这一点。
机器学习似乎无法学习简单的算术 —— 例如对大量的数字求和或者大数之间相乘。人们可以想到将机器学习与符号运算的数学工具结合起来。然而,尽管在定理证明方面我们取得了一些令人瞩目的进展 [19],但这与我们期待中的实际科研任务仍距离遥远,即选取一篇科研文章,文中证明还未正式完成,使用 AI 系统补充细节并检验证明。
而 P=NP 将使这些任务变得简单,或者至少易于处理。机器学习在面对不属于其训练分布的任务时可能表现不佳。但这可能是概率较低的极端情况,例如训练数据中并未获得很好代表某个种族的人脸识别;或者可能是一种对抗性的尝试 —— 通过对输入进行微小的更改来强行获得不同的输出,比如把停车标志修改几个像素,从而让算法将其识别为一个限速标志 [12]。深度神经网络算法可能有数百万个参数,因此它们在分布之外的泛化效果可能不理想。如果 P=NP,我们可以获得最小尺寸的模型从而有望实现更好的泛化,但如果没有相应的实验,我们永远也无法验证。
尽管机器学习令人印象深刻,但我们还没有获得任何接近于通用人工智能的东西 —— 这个术语指的是对于一个主题有真正的理解,或是实现真正的意识或自我认知的人工系统。定义这些术语可能是棘手的、有争议的,甚至是不可能的。于我个人而言,我从未见到过一个关于意识的正式定义,能够体现我对于意识的直观认识。我怀疑即使 P=NP,我们也永远无法实现强意义下的通用人工智能。
密码学
虽然我们在解决 NP 问题方面取得了很大进展,但是密码学的多种理论,包括单向函数(one-way functions)、安全散列算法(secure hashes)以及公钥密码学似乎都完好无损。如果 NP 问题存在一个高效的算法,那么除了那些在信息学上安全的密码系统,比如一次性密码簿和一些基于量子物理学的密码系统,其他所有密码系统都会被破解。我们已经见证了很多成功的网络安全攻击,但它们通常源于糟糕的代码漏洞、很弱的随机数生成器或者人为疏漏,很少是因为密码学理论的问题。
现在大多数 CPU 芯片都内置了 AES(Advanced Encryption Standard),因此一旦我们使用了公钥加密系统设置私钥,我们就可以像发送普通文本一样轻松地发送加密后的数据。加密技术为区块链和加密货币的发展提供了动力,这意味着人们对于加密技术的信任足以让他们愿意把货币换成比特。迈克尔・卡恩斯(Michael Kearns)和莱斯利・瓦利安特(Leslie Valiant)在 1994 年证明 [24],如果可以学习到最小的回路,甚至只是学到了最小的有界层的神经网络,那么它们就可以被用来分解质因数并破解公钥加密系统。而到目前为止,机器学习算法还从未成功破解过加密协议,不过也没有人期望机器学习算法可以成功。
为什么我们在许多其他 NP 问题取得了进展,而加密系统仍可以表现良好?在密码学中,我们可以选择问题,特别是可以将其设计成难以计算并可被广为测试的。而其他的 NP 问题通常来自应用问题或自然界。它们往往不是最困难的,也更容易折服于当下技术。
量子计算似乎威胁着当下保护我们互联网交易的公钥加密协议。秀尔算法(Shor’s algorithm)[34] 可以进行质因数分解与其他数论计算。这种忧虑可以通过几种方式来缓和。尽管量子计算取得了一些令人印象深刻的进展,但要开发出能处理足够多纠缠比特的量子计算机,从而在一定规模上实现秀尔算法,我们可能仍需要几十年甚至几个世纪的时间。此外,研究者们也在开发可抵抗量子攻击的公钥密码系统并取得了一定的进展。更多量子计算内容我们将在后文详细讨论。
我们不知道因式分解问题是否是 NP 完备的,所以即便我们没有大规模的量子计算机,数学上的突破也有可能会带来高效的算法。但无论你对量子领域的未来有什么样的看法,如果拥有多种方法来优化公钥加密系统,它们可能都会派上用场。
如摩擦力般的复杂性
我们可以从计算复杂性中获得什么?此时,密码学可能会从你的脑海浮现。但或许就像存在摩擦力一样,宇宙使得某些计算很困难是有原因的。在物理世界中,克服摩擦力通常以消耗能量为代价,但是如果没有摩擦力,我们寸步难行。在计算世界中,错综复杂的计算一般会使计算过程缓慢而低效,但如果没有复杂性,就像没有摩擦力一样,我们也会有很多其他的问题。而 P=NP 在很多情况下,会让我们消除 “摩擦力”。
计算领域的最新进展表明,消除 “摩擦力” 有时会产生负面影响。例如人们不能直接阅读别人思想,只能看到其采取的行动。经济学家有一个术语,“偏好揭示”(preference revelation),旨在根据人们的行为来确定其偏好。在过去,由于缺乏数据与足够的算力,这一领域一直被认为最多只是非常不精确的一种艺术。
而如今,我们已经收集到了相当可观的数据 —— 来自人们的网络搜索、相片与视频、网购记录、虚拟与现实世界中的访问记录、社交媒体上的活动等等。而且,机器学习可以处理这些庞杂的信息,并对人们的行为做出异常精确的预测。如今,计算机比我们更了解我们自己。
我们甚至已经有足够的技术制作一副眼镜,戴上它就可以让我们了解对面人的名字、兴趣与爱好,甚至其政治立场。因此这种信息上的复杂性已不再赋予我们隐私。人们需要依赖法律和企业责任来保护隐私。
计算上的 “摩擦力” 不仅体现在隐私这一方面。在 1978 年,美国政府解除了对航空公司的定价管制,但如果想要找到一条航线的最佳价格,人们往往需要给多家航空公司打电话咨询,或者通过旅行社代理购票,当然旅行社也并不总是有动力去寻找最低的价格。因此航空公司致力于打造声誉,一些公司侧重优质的服务,另一些公司可以提供更低的价格。今天,我们可以很容易地找到最便宜的航班,因此航空公司在价格这个单一维度上投入了相当大的努力,他们通过计算优化定价并以牺牲飞行体验的代价来安排座位。
这种 “摩擦力” 在以前也有助于打击学生的作弊行为。在上世纪 80 年代,我读大学时必须计算作答的微积分问题,现在已经可以被 Mathematica 软件轻松解决。在我的入门理论课程中,我在为学生准备作业与考题的时候遇到了麻烦 —— 答案都可以在网上找到。随着 GPT-3 和其后续版本能力日益强大,甚至连论文与代码都可以自动生成,如果 GPT 这类的工具已经可以解决对于学生来说最复杂的问题,我们要如何激发学生?
股票交易过去是在现场进行的,交易员用手势来进行价格匹配。如今,交易算法自动地调整以适应新的价格,偶尔会导致价格瞬间暴跌。机器学习技术的发展已经引领了决策系统、人脸识别,将社交媒体内容与用户,还有司法判决进行大规模匹配。这些决策系统带来了一些好的改变,但也为我们带来了重大的挑战,比如放大偏见、加剧政治上的两极分化 [30]。本文不详细探讨这个话题。
以上提到的这些只是许多可能的场景中的一小部分。作为计算机科学家,我们的目标是使计算尽可能的高效和简单,但我们也必须牢记减少 “摩擦力” 的代价。
量子计算机的能力
随着摩尔定律的极限越来越明显,计算机科学家们已经将目光投向非传统的计算模型以追寻下一阶段的突破。这促进了量子计算理论与应用的发展。大型科技公司,如谷歌、微软和 IBM,还有一大批初创公司,都已在量子计算机开发上投入了大量资源。美国已经启动了国家量子计划(National Quantum Initiative),其他国家,尤其是中国,也都加入了这一行列。
2019 年,谷歌 [1] 宣布其使用了一台拥有 53 个量子比特的量子计算机实现了 “量子遥遥领先”,解决了当前传统计算无法解决的计算任务。尽管有些人质疑这一说法,但我们确实正处在量子计算新时代的边缘。然而我们还远没有达到实现皮特・秀尔(Peter Shor)算法 [34] 所需要的数万个量子比特的水平,从而解决当今计算机计算质因数分解问题。通常来说,量子计算被描述为由比特表示的状态数,比如 53 量子比特的机器有 253 个状态。这似乎表明,我们可以使用量子计算通过创建足够多的状态来解决 NP 完全问题 —— 例如,在一个图结构中,检验所有可能满足条件的团体。可惜的是,量子算法操控这些状态是受限的,而且所有的证据都表明,除了由格罗弗(Grover)算法 [18] 给出的二次加速改善,量子计算机无法解决 NP 完备问题 [3]。
复杂性的进展
自 2009 年我发表那篇综述文章之后,我们在理解高效计算能力方面取得了几项重大进步。虽然这些结果对于解决 P/NP 问题没有带来显著的进展,但依旧展现了它们是如何继续启发后续优秀研究的。
图同构: 一些 NP 问题可能既不是 P(高效可解),也不是 NP 完备的(像分团问题一样难)。其中我们前文提及的最著名的质因数分解问题,仍然需要指数级的时间来求解。而对于另一个类似的问题 —— 图同构问题,我们最近见证了激动人心的进展。图同构指的是在重新标号的意义下,两个图是否相同。以 Facebook 为例,给定两个千人的群组,我们能否将名字在两个群组中以一种方式相互对应,并保持人们之间的好友关系?
20 世纪 80 年代发表的与交互性证明相关的结果为证明图同构不是 NP 完备的提供了强有力的证据 [4]。而且即便是简单的启发式算法通常也可以快速解决这类问题。可是我们仍然缺乏一个适用于所有情况的多项式时间的图同构算法。对于该问题,拉斯洛・巴拜(László Babai)在 2016 年取得了突破性成果 [2],他提出了一种图同构的拟多项式时间的算法。P 对应的问题的算法所用的是多项式时间,时间是 nk,其中 k 是常数,n 是输入数据的大小,如每一个群体的人数。而拟多项式时间的算法的运行时间是 nklog n,与多项式时间相比要差一些,但与我们预料中 NP 完备问题求解所需的指数时间! 2 n ∈ \mathop{2}^{{{\text{n}}^{\in }}} 2n∈ 相比已经有了巨大的进步。
巴拜的证明是一份将组合学与群论结合的杰出工作。尽管让算法在多项式时间内运行结束仍需要很多新的突破,但巴拜给出了一个重要的理论结果,是 P 与 NP 完备之间最重要问题之一的重大进展。
电路设计: 如果在完备的基(与门、或门、非门)下,小型电路不能求解 NP 问题,则 P≠NP。虽然上世纪 80 年代有很多关于电路复杂度的研究成果问世,但它们都没能接近于证明 P≠NP。2009 年的综述文章指出,在此前的 20 年里,电路复杂性领域没有取得新的重大成果。这种情况一直持续到 2010 年。1987 年,拉兹波洛夫(Razborov)[32] 和斯莫伦斯基(Smolensky)[36] 证明了对于固定素数 p 对应的常数深度电路 —— 由取余电路(Modp)、与门、或门、非门电路组成 —— 是不可能计算大多数函数的。不过,如果是有 6 对应的取余电路(Mod6),存在少量的一些证明工作。但即使是证明 NEXP(一种 NP 的指数时间版本)不能被常数深度的、由与或非门电路以及 6 对应的取余电路组成的小型电路计算这一问题,其仍在几十年中未被解决。因此常数深度的电路被认为在计算上能力很弱。在这方面工作的缺乏也反映了我们在阐释计算模型局限性这一领域取得的进展十分有限。
在 2010 年,瑞恩・威廉姆斯(Ryan Williams)[39] 证明了 NEXP 确实不能被常数深度、由 6 对应的取余电路或任意其他取余电路的小型电路计算求解。他构造了一种新技术,应用了可满足性算法。这种算法比尝试所有赋值并使用几种复杂工具来获得下界要好一些。后来,威廉姆斯和他的学生科迪・默里(Cody Murray)[29] 在此结果上更进一步,证明了即便是不确定的拟多项式时间的算法,也不存在对应的常数深度的、带有固定 m 对应的取余电路(Modm)的小型电路。然而证明不存在任意深度的小型电路可以求解 NP 问题(这正是证明 P≠NP 所需要的)仍然遥不可及。
复杂性的反击: 在 2009 年的综述文章中,有一节题为 “新希望” [13]。在这一节中,我们基于克坦・穆穆利(Ketan Mulmuley)和米林德・索霍尼(Milind Sohoni)提出的代数几何与表示理论,讨论了一种新的几何复杂性理论来攻破 P/NP 问题。简而言之,穆穆利和索霍尼试图构造高维多边形,以体现代数形式的 NP 问题的性质,并表明它具有任意与 P 问题的代数性质相对应多边形不同的性质。他们的猜想之一是认为多边形包含某种表示论的结构。然而在 2016 年,彼得・布尔吉瑟(Peter Bürgisser),克里斯蒂安・艾肯迈尔(Christian Ikenmeyer),和格蕾塔・帕诺娃(Greta Panova)[6] 证明这种方法不会成功。
尽管布尔吉瑟、艾肯迈尔、与帕诺娃的工作否定了几何复杂性理论(GCT)区分 P 与 NP 问题的可能,人们仍然有可能根据表示论结构的数量构造不同的多边形。只不过我们不再应该期待 GCT 理论可以在不久的将来解决 P/NP 问题。
不可能的可能性
当我们思考 P/NP 问题时,我们发现它有许多不同的含义。P/NP 是正式定义的、长时间悬而未决、仍有百万美元悬赏的一个数学问题。在本文中,我们看到通过可计算性理论、电路设计、证明和代数几何等工具试图解决 P/NP 问题的努力。目前我们还没有一种强有力的方法解决 P/NP 问题。甚至从某种意义上说,我们到解决这个问题的距离比以前任何时候都要远。
还有一些 NP 问题是我们希望或需要解决的。在 1976 年的经典文献《计算机与难解性:一本 NP 完备性理论的指南》中**[16]**,加里(Garey)与约翰逊(Johnson)举了一个例子:一位倒霉的员工被要求解决一个 NP 完备的优化问题。最后这位员工找到老板说:“我找不到一个高效的算法,但这世界上的天才名流也一样找不到。“言外之意是老板不应该解雇这位员工,因为雇佣其他人也无法解决这个问题。
在 P/NP 问题的研究早期,我们将 NP 完备性看作一种障碍 —— 这些问题是我们无法解决的。但随着计算机与算法的发展,人们发现通过启发式算法、近似算法和暴力计算的结合,我们也可以在 NP 问题上取得进展。在加里和约翰逊的故事中,如果我是老板,我不会解雇这位员工,而是建议尝试使用混合整数规划、机器学习或者暴力搜索等方法。NP 完备意味着不可能的时代已经过去了。现在 NP 完备仅仅意味着可能没有一种算法可以永远有效和可扩展。
在我 2013 年关于 P/NP 问题的书中 [14],有一章名为 “美丽的世界”。在这一章中,我想象了一个理想化的世界:一位捷克数学家在这个世界中证明了 P=NP,从而得出一个对于所有的 NP 问题都非常高效的算法。尽管我们现在没有,也很可能永远不会生活在这样理想的世界,但是随着我们在计算上一步一步地前进,我们已经实现了很多医学进步,打造出与现实难以区分的虚拟世界,发明出创造新艺术作品的机器学习算法,P=NP 所带来的美妙或没那么美妙的结果似乎不再遥不可及。
我们正走在几乎完全颠覆 P/NP 问题的意义的道路上。与其将其认为是一种障碍,不如将 P/NP 问题看作一扇为我们指引方向,展现不可能中的可能性的大门。
致谢
感谢乔希・格罗乔(Josh Grochow)与我对 GCT 问题非常有帮助的讨论,以及库克允许我们使用相关图片。同样感谢乔希以及审稿人对于本文的建议与帮助。本文的一些材料改编自作者的博客。
参考文献
[1] Arute, F., Arya, K., Babbus, R., Bacon, D., Bardin, J.C., Barends, R., Biswas, R., Boxio, S., Brandao, F.G.S.L., Buell, D.A., et al. Quantum supremacy using a programmable superconducting processor. Nature 574, 7779 (2019), 505–510. https://doi.org/10.1038/s41586-019-1666-5
[2] Babai, L. Graph isomorphism in quasipolynomial time [extended abstract]. In Proceedings of the 48th Annual ACM Symposium on Theory of Computing (2016), 684–697. https://doi.org/10.1145/2897518.2897542
[3] Bennett, C., Bernstein, E., Brassard, G., and Vazirani, U. Strengths and weaknesses of quantum computing. SIAM J. Comput. 26, 5 (1997), 1510–1523.
[4] Boppana, R., Håstad, J., and Zachos, S. Does co-NP have short interactive proofs? Information Processing Letters 25, 2 (1987), 127–132.
[5] Brown, T.B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T., Child, R., Ramesh, A., Ziegler, D.M., Wu, J., Winter, C., Hesse, C., Chen, M., Sigler, E., Litwin, M., Gray, S., Chess, B., Clark, J., Berner, C., McCandlish, S., Radford, A., Suskever, I., and Amodei, D. Language models are few-shot learners (2020). arXiv:2005.14165 [cs.CL]
[6] Bürgisser, P., Ikenmeyer, C., and Panova, G. No occurrence obstructions in geometric complexity theory. J. of the American Mathematical Society 32, 1 (2019), 163–193. https://doi.org/10.1090/jams/908
[7] Coldwell, W. World’s longest pub crawl: Maths team plots route between 25,000 UK boozers. The Guardian (Oct. 21, 2016). https://www.theguardian.com/travel/2016/oct/21/worlds-longest-pub-crawlmaths-team-plots-route-between-every-pub-in-uk
[8] CRA Taulbee Survey. Computing Research Association (2020), https://cra.org/resources/taulbee-survey.
[9] Cook, B. Traveling salesman problem (2020), http://www.math.uwaterloo.ca/tsp/uk.
[10] Cook, S. The complexity of theorem-proving procedures. In Proceedings of the 3rd ACM Symposium on the Theory of Computing (1971), 151–158.
[11] Demaine, E.D. and Hearn, R.A. Playing games with algorithms: Algorithmic combinatorial game theory. Games of No Chance 3: Mathematical Sciences Research Institute Publications, Vol. 56. Michael H. Albert and Richard J. Nowakowski (Eds.), Cambridge University Press (2009), 3–56. http://erikdemaine.org/papers/AlgGameTheory_GONC3/
[12] Eykholt, K., Evtimov, I., Fernandes, E., Li, B., Rahmati, A., Xiao, C., Prakash, A., Kohno, T., and Song, D. Robust physical-world attacks on deep learning visual classification. In Proceedings of the IEEE Conf. on Computer Vision and Pattern Recognition (2018).
[13] Fortnow, L. The status of the P versus NP problem. Commun. ACM 52, 9 (Sept. 2009), 78–86. https://doi.org/10.1145/1562164.1562186
[14] Fortnow, L. The Golden Ticket: P, NP and the Search for the Impossible. Princeton University Press, Princeton, (2013). https://goldenticket.fortnow.com
[15] Fortnow, L and Gasarch, W. Computational Complexity. https://blog.computationalcomplexity.org
[16] Garey, M. and Johnson, D. Computers and Intractability. A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, New York, (1979).
[17] Gödel, K. Letter to John von Neumann. (1956). https://www2.karlin.mff.cuni.cz/~krajicek/goedel-letter.pdf
[18] Grover, L. A fast quantum mechanical algorithm for database search. In Proceedings of the 28th ACM Symposium on the Theory of Computing (1996), 212–219.
[19] Hartnett, K. Building the mathematical library of the future. Quanta Magazine (Oct. 1, 2020). https://www.quantamagazine.org/building-the-mathematical-library-of-the-future-20201001/.
[20] Impagliazzo, R. A personal view of average-case complexity theory. In Proceedings of the 10th Annual Conference on Structure in Complexity Theory. IEEE Computer Society Press (1995), 134–147. https://doi.org/10.1109/SCT.1995.514853
[21] Jaffe, A. The Millennium Grand Challenge in Mathematics. Notices of the AMS 53, 6 (June/July 2006), 652–660. http://www.ams.org/notices/200606/feajaffe.pdf
[22] Jumper, J., Evans, R., Pritzel, A., Green, T., Figurnov, M., Tunyasuvunakool, K., Ronneberger, O., Bates, R., Žídek, A., Bridgland, A., Meyer, C., Kohl, S.A.A., Potapenko, A., Ballard, A.J., Cowie, A., Romera-Paredes B., Nikolov, S., Jain, R., Adler, J., Back, T., Petersen, S., Reiman, D., Steinegger, M., Pacholska, M., Silver, D., Vinyals, O., Senior, A.W., Kavukcuoglu, K., Kohli, P., and Hassabis, D. High accuracy protein structure prediction using deep learning. In 14th Critical Assessment of Techniques for Protein Structure Prediction (Abstract Book) (2020), 22–24. https://predictioncenter.org/casp14/doc/CASP14_Abstracts.pdf
[23] Karp, R. Reducibility among combinatorial problems. In Complexity of Computer Computations, R. Miller and J. Thatcher (Eds.). Plenum Press, New York, (1972), 85–103.
[24] Kearns, M. and Valiant, L. Cryptographic limitations on learning boolean formulae and finite automata. Journal of the ACM 41, 1 (Jan. 1994), 67–95. https://doi.org/10.1145/174644.174647
[25] Kirchherr, W., Li, M., and Vitányi, P. The miraculous universal distribution. The Mathematical Intelligencer 19, 4 (Sep. 1, 1997), 7–15. https://doi.org/10.1007/BF03024407
[26] LeCun, Y., Bengio, Y., and Hinton, G. Deep learning. Nature 521, 7553 (May 1, 2015), 436–444. https://doi.org/10.1038/nature14539
[27] Levin, L. Universal’ny̆ie pereborny̆ie zadachi (Universal search problems: in Russian). Problemy Peredachi Informatsii 9, 3 (1973), 265–266. Corrected English translation in.37
[28] McCulloch, W.S. and Pitts, W. A logical calculus of the ideas immanent in nervous activity. The Bulletin of Mathematical Biophysics 5, 4 (Dec. 1, 1943), 115–133. https://doi.org/10.1007/BF02478259
[29] Murray, C. and Williams, R. Circuit lower bounds for nondeterministic quasi polytime: An easy witness Lemma for NP and NQP. In Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing (2018), 890–901. https://doi.org/10.1145/3188745.3188910
[30] O’Neil, C. Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy. Crown (2016), New York.
[31] Peikert, C. Lattice cryptography for the Internet. In Post-Quantum Cryptography, Michele Mosca (Ed.). Springer International Publishing, Cham (2014), 197–219.
[32] Razborov, A. Lower bounds on the size of bounded depth circuits over a complete basis with logical addition. Mathematical Notes of the Academy of Sciences of the USSR 41, 4 (1987), 333–338.
[33] Schrittwieser, J., Antonoglou, I., Hubert, T., Simonyan, K., Laurent Sifre, L., Schmitt, S., Guez, A., Lockhart, E., Hassabis, D., Graepel, T., Lillicrap, T., and Silver, D. Mastering Atari, go, chess and shogi by planning with a learned model. Nature 588, 7839 (Dec. 1, 2020), 604–609. https://doi.org/10.1038/s41586-020-03051-4.
[34] Shor, P. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J. Comput. 26, 5 (1997), 1484–1509.
[35] Silver, D., Hubert, T., Schrittwieser, J., Antonoglou, I., Lai, M., Guez, A., Lanctot, M., Sifre, L., Kumaran, D., Graepel, T., Lillicrap, T., Simonyan, K., and Hassabis, D. A general reinforcement learning algorithm that masters chess, shogi, and go through self-play. Science 362, 6419 (2018), 1140–1144. https://doi.org/10.1126/science.aar6404
[36] Smolensky, R. Algebraic methods in the theory of lower bounds for Boolean circuit complexity. In Proceedings of the 19th ACM Symposium on the Theory of Computing (1987), 77–82.
[37] Trakhtenbrot, R. A survey of Russian approaches to Perebor (brute-force search) algorithms. Annals of the History of Computing 6, 4 (1984), 384–400.
[38] Wikipedia contributors. List of public corporations by market capitalization. Wikipedia, the Free Encyclopedia. https://en.wikipedia.org/w/index.php?title=List_of_public_corporations_by_market_capitalization&oldid=1045945999.
[39] Williams, R. Nonuniform ACC circuit lower bounds. Journal of the ACM 61, 1, Article 2 (Jan. 2014). https://doi.org/10.1145/2559903.
本文经作者授权发表于《返朴》,原文译自 Fortnow, Lance. “Fifty years of P vs. NP and the possibility of the impossible.” Communications of the ACM 65.1 (2021): 76-85. DOI: 10.1145/3460351
via:
-
P/NP问题50年:基础理论举步维艰,但AI正在不可能中寻找可能 原创 Lance Fortnow 返朴 2024 年 06 月 18 日 08:01 北京