两页纸证明了悬而未决几十年的计算机科学猜想

两页纸证明了悬而未决几十年的计算机科学猜想

原文:Eica Klarreich,QuantaMagazine

本月,一篇论文证明了一个有近30年历史的计算机科学难题。这个被称为“敏感度”猜想的问题探讨了计算机逻辑基本组成部分的结构。多年来很多最富盛名的计算机科学家都曾与其搏斗并败下阵来。而这份新证明居然简洁到一位研究者仅用一条280字母的推特就概括了。

德州大学奥斯汀分校的斯科特·艾伦森在博客内写道:“这个猜想是组合数学及理论计算机科学中最困难、最让人难堪的未解问题。“他也在电邮中提到:”尝试解决该猜想最后败北的学者名单直接就可以拿来当理论计算机科学名人榜。”

这个猜想的核心是布尔函数。布尔函数代表将一串输入比特(0或1)转化为一个输出比特的规则。举个例子,所有输入比特都是1时输出1,不然则输出0,或在输入中有偶数个1时输出0,不然输出1等等。所有的计算机电路都可以看成是布尔函数的组合。哥伦比亚大学的洛克·瑟夫迪欧将它们描述为“计算机科学内万物的基本组成。”

多年以来,计算机科学家发明了各种衡量布尔函数复杂度的办法。每一种测度都试图捕捉输入信息如何决定输出信息的不同特征。例如,布尔函数的“敏感度”粗略说来就是将某一输入比特反转后输出被反转的机会。而“查询复杂度”则计算你需要确定多少个输入比特才能定下输出比特。

每一种测度都在以独特的视角审视布尔函数的结构。而计算机科学家们后来发现几乎所有这些测度都在某一统一框架内互相相关,知道其中一个的数值让你可以大约估计其它测度的数值。而这其中唯一的格格不入者正是敏感度。

1992年,耶路撒冷希伯来大学的诺姆·尼桑和如今在罗格斯大学任教的马里奥·赛格德提出一条猜想,认为敏感度也可以融入这一框架。但之后该猜想却一直无人能够证明。瑟夫迪欧表示:“这个问题在我看来就是布尔函数领域唯一剩下的未解难题。”

卡内基大学的莱恩·欧康奈尔评论:“大家在这个问题上撰写了大量冗长复杂的论文,哪怕是取得一点点微不足道的突破也好。”

现在,埃默里大学的黄皓教授凭借巧夺天工的基础方法,利用高维方形顶点的组合数学仅用两页纸就证明了敏感度猜想。法国国家科研中心的克莱尔·马修在受访时写道:“这个证明如洁白的珍珠那么美丽。”

艾伦森和欧康奈尔两人更是称黄皓的证明为“神书”证明。这个典故出自当年保罗·厄多斯所做的比喻——在神的书里,每个数学定理都以一个极致完美的证明形式收录。艾伦森表示:“我觉得就算神亲自来证明敏感度猜想也不可能更简洁了。”

敏感话题

马修解释:想象你在向银行申请贷款,需要填一系列答案为是或否的问题。你填完后,银行人员会给你打分,然后告诉你是否批准贷款。这个过程就是一个布尔函数,你的答案是输入比特,而银行人员的决定是输出比特。

如果你的申请被拒,你也许会想:是不是可以在某个问题上撒谎来改变结果呢?例如对年薪5万以上回答是而不是否?如果改变这一个回答就能彻底反转最后的决定,计算机科学家称该布尔函数对于这个特定的比特“敏感”。如果有7个问题的答案任一改一下都能改变结果,那么对于你的申请来说,此布尔函数的敏感度为7。

计算机科学家把布尔函数的敏感度定义为在所有可能的申请中最大的那个敏感度值。换句话说,这个测度计算在最极端的情况下,有多少道问题是真正至关重要的?只要改变其中一题的答案就能彻底改变决定。

敏感度通常是最容易计算的复杂测度,但它绝不是唯一的重要测度。例如,银行人员可以决定不进行笔试,而是面试,先问一个问题,再根据你的回答决定下面问什么。最多需要几个问题可以做出决定就是布尔函数的查询复杂度。

这个测度在很多时候很有用。例如,医生可能希望病人做尽可能少的化验就能确诊,机器学习专家可能希望一个算法在面对某一对象时只需要观察尽可能少的特征就能对其进行分类。欧康奈尔说:“在很多情况下,不管是诊断或是学习,你最想看到的是其基本判断规则……的查询复杂度很低。”

其它复杂度测度包括将布尔函数写作数学式的最简单表达,或是计算银行人员要给上级提供多少个样本才能证明自己做的决定是对的。查询复杂度甚至有一个量子物理版本,其中银行人员可以同时询问多个问题的“叠加态”。对这个测度和其它测度关系的研究让学者们理解了量子算法的一些极限。除了敏感度以外,计算机科学家已经证明了所有这些测度都是紧密相关的。更具体来说,这些测度值互相之间都成多项式关系。例如,一个测度值可能大约是另一个测度值的平方,或立方,或平方根。只有敏感度固执地拒绝融入到这个优美的框架之中。很多研究者认为它应该是其中的一份子,但却无法证明不存在某些奇怪的布尔函数其敏感度和其它测度成指数关系,而不是多项式关系,或者说敏感度要远小于其它测度。

艾伦森是这么形容的:“这个问题让大家30年如坐针毡。”

逼近证明

黄皓在2012年末第一次接触这个猜想。当时他在普林斯顿高等研究院做博士后。一天午饭时他听数学家麦克·萨克斯提到了这个猜想。他立刻被这个猜想的简洁优美吸引了。他说:“自那一刻起,我不断固执地思索着这个问题。”

黄皓把敏感度猜想加到了一张感兴趣问题的“秘密清单”上。每次他学会一种新的数学工具就会思考其对这些问题的证明是否有用。“每次我发表一篇新论文后,我都会重新审视这个问题,”他说。“当然,我花一定时间精力却没有突破后就会把它搁在一边,转而研究其它更实际的问题。”


黄皓和更广泛的研究圈子都知道如果数学家能证明某个关于不同维度下方形顶点集合的一个简洁猜想,那么敏感度猜想就等于被证明了。n 个输入比特0或1和n 维方形顶点有很直接的联系,它可以被视为该顶点的坐标。

例如,2比特串共有4种情况00, 01, 10和11,对应于二维平面上正方形的顶点(0,0), (0,1), (1,0)和(1,1)。同样,8个3比特串对应于三维立方的8个顶点,更高维下也以此类推。任一布尔函数等于把所有顶点涂上两种不同颜色的方法(例如,输出为1涂蓝色,0涂红色)。

以下图内OR代表或门,任一输入为1则输出1,所有输入均为0则输出0,AND代表和门,所有输入均为1则输出1,任一输入为0则输出0。

这个简单布尔函数的输入为011,输出为1,于是我们将3维立方的(0,1,1)顶点涂蓝

反转第一个比特,移动到(1,1,1)顶点,输出依然为1,新顶点标为蓝色,此布尔函数对这个比特反转不敏感。

如果反转的是最后一个比特,那么移动到(0,1,0)顶点,输出变为0,标红,此布尔函数对这个比特反转敏感。

以此类推,直到所有顶点都涂上色。每个顶点和它异色的相邻顶点连线都表示结果的反转,其中标为绿色的坐标即自身反转后能反转结果的输入比特。那么这一线路整体的敏感度就是所有顶点中相邻异色顶点数的最大值。在这个例子中,这个最大数字是2,在(0,1,1),(1,0,1)和(0,0,1)顶点达到。

1992年,现在在新泽西理工学院任教的克莱格·格兹曼和希伯来大学的纳提·李尼尔证明了敏感度猜想可以简化为关于不同维度下方形的一个简洁猜想:如果你将方形的超过一半顶点涂为红色,是否总存在和很多其它红点相邻的红点?(“相邻”指两点被方形的边而不是对角线相连。)

如果只选一半顶点,那么很可能其中没有任何两点是相连的。例如,三维下8个顶点中选出(0,0,0), (1,1,0), (1,0,1)和(0,1,1)四个点则两两不相邻。但只要超过一半的顶点被涂红,立刻会出现一些相邻现象。问题在于:这些连接是怎么分布的?会不会存在至少一个高度相连的点?

2013年,黄皓感觉证明的最佳思路应该将网路转化为一个代表两点是否相连的矩阵,并探索这个矩阵的特征值。在接下来的5年里,他不断重温这个思路,但一直没有突破。他在艾伦森的博客下评论:“至少思考这个问题经常让我很快入眠。”

2018年,黄皓突然意识到可以借用一个已经有200年历史的柯西隔行扫描定理。这个定理将矩阵的特征值和其子矩阵的特征值挂上勾,这意味着该定理用来研究方形和其顶点子集再恰当不过了。黄皓决定向国家科学基金申请研究资金进一步探索这个想法。

上个月,他坐在马德里一间酒店里写科研申请书时,突发灵感意识到只要把矩阵里某些数的符号逆转就能把问题完全解决。这么一来,他能证明n 维方形中任一超过一半顶点的集合中,必有一点和至少 \sqrt{n} 个其它同在该集合中的点相连。敏感度猜想应声而落。

当黄皓的论文发到马修的邮箱里后,她的第一反应是“呃……”。“一个人尽皆知,30年未解的问题的证明大概率要么既冗长又枯燥且复杂,要么非常深奥。”她打开邮件时已经做好自己完全看不懂的准备了。

但是证明非常简洁,马修和其他研究者一读完就理解了。她说:“我觉的今年秋天所有组合数学硕士课程都可以教这个定理了,而且一节课就可以教完。”

黄皓证明的结果甚至比敏感度猜想还要强,这一证明应该会在复杂度测量上带出许多新的成果。瑟夫迪欧说:“这个证明提供了更多的工具,我们也许可以用它解决另一些布尔函数的分析问题。”

更重要的是,黄皓的结果完全终结了关于敏感度会不会是复杂测度世界中的一个特异者的猜测。瑟夫迪欧说:“我想听说这个证明之后很多人终于能更安心地睡觉了。””

编辑于 2019-07-27