理论计算机科学中最令人困惑的谜题之一被解开

640?wx_fmt=jpeg

来源:原理


“自敏感度猜想提出以来,它便是所有组合学和理论计算机科学中最令人沮丧和尴尬的开放性问题之一。”德克萨斯大学奥斯汀分校的理论计算机学家Scott Aaronson在一篇博客中写道。


Aaronson提到的猜想是一个与计算机电路的基本构件结构有关的猜想,近30年以来,许多人都试图攻克这一难题,写出了一篇又一篇长而复杂的论文,但结果都以失败告终。然而,在一篇于本月初发表在arXiv上的论文中,年轻的数学家黄皓以令人惊叹的简洁方法解决了这一猜想。


1.


这个猜想与布尔函数有关,布尔函数是一系列将一串输入位(0和1)转换成一个独个的输出位的规则。比如它的规则可以是,当输入字符串中的比特位全部为1时,那么输出为1,其他情况则输出为0;又比如它可以是,当输入字符串中含有1的个数为偶数时,那么输出为0,否则输出为1。


试想你正在填写一份银行贷款的申请表,你需要填写一系列“是/否”问题,银行会根据你填写的答案进行评判,然后决定你是否有资格申请贷款。这个过程就是一个布尔函数,你的每一道“是/否”问题的答案都是一个输入位,银行的最终决定是输出位。


为了度量布尔函数的复杂性,计算机科学家已发展出许多不同的度量方法,每一种都针对的是“输入字符串中的信息会如何决定输出位”这一问题的不同方面。例如布尔函数的“敏感度”所描述的就是当一个单个的输入位被改变时,输出位因此而改变的可能性。


我们可以用上面的银行贷款例子来作进一步解释。假如你的申请没有通过,于是你想,要是你修改某个问题的答案,是否就可以改变结果?比如在关于收入的问题上,你谎称自己年薪百万,而实际上却并没有,会不会就可以通过贷款申请?如果修改这个问题的答案真的能反转结果,那么计算机科学家会说,布尔函数对这个特定位的值是“敏感的”。


再比如说在这张长长的申请表中有7个关键的问题,如果你对这7个问题的任何一个撒谎都能反转结果,那么对于你的贷款概况而言,布尔函数的敏感度为7。


敏感度只是测量布尔函数的复杂性的其中一个度量,每种度量都为审视布尔函数的结构提供了一个独特的视角。然而计算机科学家发现,几乎所有这些度量都符合一个统一的框架,也就是说其中的任何一个度量的值都可被用来大致衡量其他度量的值,而敏感度似乎是唯一的例外。


1992年,希伯来大学的Noam Nisan和罗格斯大学的Mario Szegedy推测,敏感度也是符合这一框架的。但这么多年来,一直没有人能证明这一点,这个猜想成为了布尔函数研究中最突出的待解问题。


现在,埃默里大学的数学家黄皓利用立方体上的点的组合学,用仅仅两页纸的篇幅,巧妙地完成了论证。他证明了敏感度猜想!


2.


1992年,Craig GotsmanNati Linial就发现,可以将敏感度猜想的证明归结为解答关于不同维度下的立方体的简单问题。有一种方法能将含有n个0和1的字符串转换到n维立方体上的点上,那就是直接用n个字符位作为点的坐标。


例如你有4个2位的字符串——00、01、10和11,就可以分别对应于二维平面上的一个正方形的四个角——(0,0)、(0,1)、(1,0)和(1,1);再比如你有8个3位的字符串,就可以对应于一个三维立方体的8个角,更高维度也可依次类推。


640?wx_fmt=gif

○ 举例说明如何将n个输入位表示成一个n维立方体的坐标,如果电路输出为1,则灯泡亮蓝光;如果电路输出为0,则灯泡亮红光。


而布尔函数可以被视作为用两种不同颜色(例如红色表示0,蓝色表示1)来对这些角进行着色的规则。如果将一个立方体超过一半的的角着上红色,那么是否总有一些红点会与许多其他的红点相连?



如果这个集合中所包含的角的个数恰好是那个立方体的一半,那么就可能没有一个角是相连的。就比如在三维立方体的8个角中,(0,0,0)、(1,1,0)、(1,0,1)和(0,1,1)这四个点都位于对角线上。但是,只要立方体中超过一半的点被着上了红色,那么这些红点之间就必然有一些是相连的。问题是:这些连接是如何分布的?至少会有一个是高度相连的点吗?


640?wx_fmt=jpeg

○ 立方体中有一半以上的点被着上了红色。


黄皓决定用矩阵来追踪哪些点是相连的,他想到了用一种已有200年历史的数学方法——柯西交错定理(Cauchy interlace theorem),这种方法能将矩阵的特征值与子矩阵的特征值联系起来。上个月他突然意识到,他只要改变矩阵中的一些数字的符号,就可以完整地将这种方法一直推演到最终结果。通过这种方法,他成功地证明了在一个n维立方体中,任何超过一半的点的集合,都会有某个点至少与其他√n个点相连接——从这个结果可以立即得出敏感度猜想。


3.


人们或许会以为,证明这样一个已经存在了30年难题,它的论证过程一定非常冗长,而且肯定极度晦涩难懂。有的同行甚至在读之前就做好了读完之后发现自己什么都没看懂的准备。


然而,黄皓的证明却异常简明,许多研究人员一看就全明白了。可以说,这一结果用来证明敏感度猜想绰绰有余,它所蕴含的能力或许能让我们对复杂性度量产生新的见解,是我们在未来解答布尔函数分析中的其他问题的一个强有力工具。


而且最重要的是,黄皓的研究结果消除了人们一直以来的一个担忧,那就是在复杂性度量的世界中,敏感度是否是某种奇怪的异常值。想必有了这个结果后,许多计算机科学家都能睡得更安稳了。


参考链接:

https://www.quantamagazine.org/mathematician-solves-computer-science-conjecture-in-two-pages-20190725/

https://www.scottaaronson.com/blog/?p=4229

https://arxiv.org/abs/1907.00847



640?wx_fmt=jpeg

张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹联合推荐


这是一部力图破解21世纪前沿科技大爆发背后的规律与秘密,深度解读数十亿群体智能与数百亿机器智能如何经过50年形成互联网大脑模型,详细阐述互联网大脑为代表的超级智能如何深刻影响人类社会、产业与科技未来的最新著作。


《崛起的超级智能;互联网大脑如何影响科技未来》2019年7月中信出版社出版。刘锋著。了解详情请点击:【新书】崛起的超级智能:互联网大脑如何影响科技未来


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”


640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成都Uber优步司机奖励政策(4月2、3日)

滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里:http://www.cnblogs.com/mfry…

MATLAB保存当前窗口图像

saveas(gcf,image.jpg); gcf会获得当前figure窗口的句柄

Halcon学习笔记:select_points_object_model_3d(3D对象模型阀值分割)

Halcon学习笔记:select_points_object_model_3d 3D对象模型阀值分割 This example program shows how to use the operators connection_object_model_3d and select_object_model_3d in HALCON. First, a threshold is applied to the 3D object model. Then, t…

MATLAB的GUI设置为不能点击状态(将按钮变为灰色)

有的时候想让GUI的按钮变灰,设置为不能点击状态,只有点击了另一个按钮后才能恢复该按钮的功能,举个例子,如下图所示,此时步骤1和步骤2这两个按钮是点击不了的,只有先点击了“打开图像”这个按钮&#xff0c…

idea修改文件名后出现main method should be static错误

1.确保你有main方法 2.别忘了main方法里还有参数: String[] args转载于:https://www.cnblogs.com/yrqiang/p/5347982.html

脑结构、脑工作原理最详细图解

来源: 深度学习进阶学习社这个帖子很好地提醒了我,为什么我愿意跟如此美丽可爱的大脑一起工作。因为真正的大脑非常不可爱,长得也难看。但是,过去一个月,我一直生活在充斥着红色血管的 Google 图像的地狱里&#xff0c…

Halcon算子学习:create_pose

create_pose 创建3D位姿 ( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose) 输入: TransX 沿x轴平移(以[m]为单位)。 默认值:0.1 建议值:-1.0&#xff0…

MATLAB GUI引用了不存在的字段

假设在MATLAB的GUI中有两个回调函数,在第一个回调函数中,新建了一个变量handles.a;在下一个回调函数中想把handles.a拿出来,于是写了一句ahandles.a,运行发现报错了,出错在ahandles.a这一句,说引…

Halcon算子学习:sample_object_model_3d

sample_object_model_3d ( : : ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue : SampledObjectModel3D) 示例一个3D对象模型 输入: ObjectModel3D 对3D对象模型的处理进行采样。 Method 选择不同的子采样方法。 默认值:“fast” 值列表:‘…

MySQL安装之后没有MySQL数据库的原因

mysql安装完之后,登陆后发现只有两个数据库:mysql> show databases;--------------------| Database |--------------------| information_schema | | test | --------------------,mysql> use mysqlERROR 104…

剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事

来源:人工智能和大数据近日,剑桥大学发布了2019年度AI发展报告,在这份137页的报告中,涵盖了AI研究、人才、产业等多方面内容,值得一提的是,这份报告专门开辟了一个章节来介绍中国AI技术的发展。一、研究和技…

MATLAB imshow之后在四周加上边框

MATLAB的imshow函数功能默认不会在四周加上边框,有时候如果imshow的图像背景是白色的话,插入文档中则与纸颜色融合了,所以有时候需要给它加个边框,方法就是输入axis on,但这会加上坐标轴,再把坐标轴去掉就行…

SQL Server安全(8/11):数据加密(Data Encryption)

在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切。但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念。这篇文章提供了基础,因此你可以对SQL Server里的安全功能充分利用&#xf…

halconC++类:HDevWindowStack

C源码: // The class HDevWindowStack can be used to emulate the behavior of HDevelop // graphics windows for HALCON graphics windows. It is primarily intended for // usage in C programs exported from HDevelop programs containing HDevelop // wind…

模拟人脑项目彻底宣告失败:耗资10亿欧,10年前轰动全球,如今死得悄无声息...

来源:凹非寺10年砸入10亿欧元,为了用计算机模拟人脑。这个十年前曾轰动全球的项目,如今彻底“死”了,死得悄无声息。要不是有位西方记者提起,人们几乎已经完全遗忘。模拟人脑?呵,实际连一只蠕虫…

MATLAB bwareaopen函数删除二值图像中小面积白色对象

bwareaopen函数的功能是删除二值图像中小面积白色对象 BW2 bwareaopen(BW,P,conn),删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。 注意删除的是白色对象,不是黑色对象

变量传值

变量传值 PHP传方式有两种:赋值传值、引用传值 赋值传值: 将一个变量的值传递给另一个变量,array数组 示例: 引用传值: 将一个变量的内存地址传给另一个变量 写时复制: 对变量使用赋值传值时,PH…

物理学的忧伤,从现代物理学的死锁谈起

来源:量子学派“这是一篇信息量极大的文章,我不知道有多少人能真正读完。但希望大家能静下心来,暂且抛开生活的油盐酱醋茶,好好去感受一下——这些似乎离我们的生活太远的智慧和知识。”盛宴已过,天才再无用武之地&…

C++一维数组指针详解

int main() { int a[5]{1,2,3,4,5};int *p1;p1a; //相当于p1&a[0]&#xff0c;此时p1是数组a的第一个元素的地址cout<<*p1<<endl; //输出a[0]cout<<*(p11)<<endl; //输出a[1]int (*p2)[5];p2&a; //&a表示整个数组的地址&#xff0c;p…

范数

范数 机器学习中常用的几种范数 在介绍主题之前&#xff0c;先来谈一个非常重要的数学思维方法&#xff1a;几何方法。在大学之前&#xff0c;我们学习过一次函数、二次函数、三角函数、指数函数、对数函数等&#xff0c;方程则是求函数的零点&#xff1b;到了大学&#xff0…