`

可能与不可能的边界 P/NP问题趣史

 
阅读更多

第一章 金券

  假如我们想在数以万计的巧克力中找到一张含有金券的巧克力需要怎么做?(一共有5张金券)

  有大量的时间,请大量的人,大量的金钱(买下非常非常多的巧克力),然后人工筛选

 

  Mary的公司定制了一个计划,需要从她的家乡出发,然后经过48个州,并像这些州推销木锥,为了

节省开支,需要定制一个路线,即启动为Mary的家乡,然后经过48个州,距离最短。其实这个计算相

 

当于 48! 这么大的计算复杂度。大概是1.2 * 10^61,这个数有62位,以目前最快的计算机计算也需

 

要几亿亿年时间。这个就是著名的 旅行推销员问题

 

  划分难题,假设有个数有100位,每个位之和相加为2000,能将其平分为两组,每组50位,总和为

 

1000吗? 这个也是NP问题,即使能暴力计算,但如果是1W位长度,100W位长度能计算出来吗?

 

  GPS定位,假设我们从A地去往B,中间有非常非常多的路线可以选择,GPS导航是无法在这么短的时

 

间内计算完成的。类似旅行推销员问题,而这个问题有一个很有意思的性质,即从A到B要经过C,那

 

么计算A->C->B 的最短路线一定是 A到C的最短路线 + C到B的最短路径

A到B的最短路线只可能比AC+CB的路线更短

所以GPC导航使就使用了这种性质,可以快速的缩小计算范围

 

  人类的手能完成各种事情,但是通过机械模拟就非常困难,因为即使要完成一些简单的工作也需要

 

大量的代码,如果P=NP,那么就所有的事情最终都可以自动化完成了

  量子计算不可能完全解决N/NP问题,但是可以解决很多目前计算机束手无策的问题

 

  克雷数学研究所在2000年列出了7个千禧年的难题:(庞加莱猜想已被解决)

1.贝赫和斯维衲通-戴尔猜想

2.霍奇猜想

3.纳维-斯托克斯方程

4.P/NP问题

5.庞加莱猜想

6.黎曼猜想

7.杨-米尔斯理论

 

 

 

 

 

第二章 美妙的世界

如果P=NP,那么世界将是怎样的?

某一年一位数学家证明了 P=NP,不过算法实行时间过长,缺乏实际价值

后来另一位科学家对算法进行了改良,大幅度的提升了效率,但还是不够

又过了一段时间一些科学家继续优化代码,并实际解决了一些常见的NP问题

一位博士利用之前所有的资源继续优化,而且写了一个程序,让计算机自己找出最优的算法

最终这个算法被命名 厄巴纳算法,因为算法的重要性,最终算法被公开

 

也许癌症可以轻松的解决

首先鉴别出某个正常人的DNA和癌细胞的突变DNA,然后制造特定的蛋白,其折叠方式可以饿死

癌细胞,而且对正常细胞没有任何影响。最终吃两星期药就好了,当然这是根据某个人的DNA特指

的,所以对其他人不起作用,甚至会有严重后果。

 

体育比赛也会发现惊人的变化

以前比赛的场次都是随机安排的,因为比赛是在室外,如果碰到不好的天气也没办法。但现在可以

精准的预测天气,所有的比赛都是在最好的天气举行的

计算机预测比赛结果准确率非常之高

进入体育场不用门票了,脸部识别系统配合后台购票记录可以精准识别观众是否买票了

算法可以非常好的模拟场上任意角度,而且非常逼真

连转播员都可以大幅度减少,通过算法可以精准的将英语翻译为其他国家语言

一些小型中型比赛甚至都不用裁判而用计算机了

 

奥卡姆剃刀

即主张最简单的解释通常是最好的解释,剃刀一词比喻把一个理论中纠缠复杂的部分像胡子一样剔除

笛卡尔《方法论》中的 我思故我在

开普勒观察行星运动,归纳出一系列运动路线和速度定律,但是无法解释他

牛顿将奥卡姆剃刀运用到物理世界,发明了著名的运动定律:

1.如果不给物理施加任何力,静止的物体会保持静止,运动的物体速度保持不变

2.施加于物体上的力将产生一个风与其大小成正比的固定加速度

3.一个物体给另一个物体施加力,则施力物理也会受到来自受力物体的大小相等方向相反的力

爱因斯坦则发现速度接近光速的物体,牛顿的定律不成立,爱因斯坦的名言:

  把所有的事情变得尽可能简单,而不可过于简单

而对于非常小的粒子,爱因斯坦的理论也不成立了,它们所服从的法则被称为量子力学

科学家们试图能找到一种能融合广义相对论和量子力学的理论,即所谓的 大统一理论

   简单的模型永远无法反映世界的全部复杂性,但它们通常可以很接近这个目标

 

机器学习就是用大量的数据训练一个算法,比如识别手写的支票,人脸识别,图书推荐等

如果P=NP,我们只需要将大量的数据交给算法,然后它完成剩下的工作,此时我们几乎能了解

所有的事务

 

厄巴纳算法甚至对艺术也可以产生影响

总统候选的讲稿,都是可以根据之前的海量数据,然后由算法生成一个完美的讲稿

可以完成大师们未完成的名作:

普契尼的歌剧《图兰朵》,马勒的《第十交响曲》,舒伯特的《第八交响曲》

也能由算法自动创造一个交响曲,能将已故歌星的嗓音模仿的惟妙惟肖

出现一种自动生成的,完全符合你口味的小说

游戏里的故事情节不再是线性了,而是完全由玩家意识支配

厄巴纳算法可以根据DNA预测出犯罪嫌疑人的身高体重血型眼睛肤色等,从而根据这些信息自动素描

出犯罪人的相貌和年龄

 

由于解决了P=NP,公钥加密失效了,只能使用一次性秘钥

到处都安放了摄像头,计算机可以精准识别人的兴趣爱好,可以精确的推荐

任何恐怖分子都可以轻松识别

从秘书到中层管理,各种行业的人都受到算法的威胁,可能失业

大学里开始新课程,教受如何最快速的运用算法解决问题

 

只要能辨识,就能找到,前提是P=NP,所以大部分科学家认为P<>NP

以上的故事当中有一部分可能会变成现实

 

 

 

 

 

第八章 秘密

最早的加密方式为:凯撒加密,即将A->B, B->C 这样的方式:

hello -> ifmmp

 

15世纪文艺复兴时期,阿尔伯蒂创造了一种更复杂的加密方式: 多字母加密法

即对消息的不同部分使用不同的替换规则

 

艾伦坡的小说《金甲虫》属于第一批描述密码的小说

柯南道尔的小说《跳舞的小人》也有描述破译密码的情节

 

随着机械时代出现了一批加密解密的机器设备,谢尔比乌斯发明了恩尼格玛密码机

相当于阿尔伯蒂多字母加密法的更复杂版本

二战中德军就使用了这种加密机器,最终被图灵破译

 

加密和解密一直以来都是一场猫鼠游戏,但是1976年斯坦福的迪菲和赫尔曼彻底改变了这个格局

使用NP问题来隐藏自己的秘密,从此以后加密后的结果再也无法直接破译

使用恩尼格玛密码机和古典加密时,双方都必须约定好一套加密规则,也就是对称加密

但是互联网本身是不安全的,对称加密也不安全

迪菲和赫尔曼提出了 公钥加密

罗纳德,阿迪沙米尔,伦纳德阿德曼 联合发明了 RSA算法

RSA算法的核心是因数分解难题,也就是NP问题

 

如果P=NP那么所有公钥加密算法都将失效,只有一种方式可行,就是一次性密码本

假设消息为12个字符:

FIDDLESTICKS

密码本是一个随机数,并且和消息一样长:

JXORMQNAMRHC

无论是否P=NP,都无法通过密码本对消息本身有任何了解

但是这样的缺点也很明显,密码本只能使用一次,而且如何安全的在双方之间共享也是难题

在P=NP的世界中,也许我们会使用一个封装好的U盘,里面装满了一次性的密码本

 

现实世界中可以使用猜硬币来决定 是或否,如果是用电话沟通呢?

A 随即产生一个数字,经过公钥加密,之后将 公钥 和加密后的数 发给B

B 猜测结果,并用公钥加密后,将信息发送给A

A 用私钥解密就可以知道答案了,为保证公平性,A将私钥发送B

B 用私钥解密最开始A发来的加密信息,就知道原始的随即数字了,这样A B都知道原始结果了

甚至可以使用这种方法来玩 国际象棋,强手棋,但是玩纸牌就复杂很多了

 

如果使用了云提供商的存储服务,但是又不信任它,简单的使用公钥加密还不行

此时需要完全同态的加密方法,这种方法可以从加密的输入直接得到加密的输出

 

密码学和随机数有直接的关系,但是计算机生成的只是 伪随机数

伪随机数只有问题复杂到一定程度才有效,而P=NP的话,那么抛硬币这种随即事件将不再是靠运气了

 

现代密码学构建在NP完全问题的困难性以及P<>NP的假设之上的,也是该学科目前的心腹之患

人们也许会发明理论上牢不可破的加密方法,但是基本上永远都不可能实现绝对不会泄密的保密系统

 

 

 

 

 

第九章 量子

量子计算可以比普通的计算机更快的解决某些问题

 

假设A和B都是球迷,有一场比赛热火VS尼克斯,在昨天已经结束了,但是A和B都没看

A和B刻意不听任何比赛结果的报道,然后在网上看了比赛的录播视频

比赛最后一刻最后一投,此时真正的比赛早就结束了,但是A和B如果不看最后一秒,谁也不知道比赛

的结果,结果是随机的,但可以肯定是不是热火赢就是尼克斯赢,而且两人看到的结果一样。

这个故事和量子计算的关系:

  传统的计算机最基本的元素是 比特(bit),它只能取两个值中的一个

  量子计算机的基本元素叫: 量子比特(quantum bit),量子比特的取值能介于两个值之间

 

一个量子比特可以在一个二维的圆圈上取值,也是随机的

两个量子比特则需要四维的版本来表示,30个量子,则超过1万亿个纬度,这种纬度是呈指数增长的

可以使用这种方式来解决NP问题

3*10^150操作,有科学家证明至少需要2*10^75操作,所以即便造出了量子计算机也无法解决NP问题

贝尔实验室的肖尔发现量子计算可以轻松解决质因数分解

但是对通用的NP问题无效

 

经典加密和量子加密结合,理论上可以创造出 不可破译的密码

因为量子是不可观察的,就是海森堡的测不准原则,薛定谔猫佯谬

国际密码学会对应用于公开钥密码系统的加密算法推荐了两种:

1.基于大整数因子分解难题的RSA算法

2.基于椭圆曲线上离散对数计算难题的ECC算法

 

 

量子传输

可以将物体原地分解,然后在另一个地方毛发无损的重现它

但是首先双方都需要准备一些彼此缠绕的量子比特

即A和B拥有相同的纠缠量子

A再准备一些物体的描述信息量子,然后观察这些量子,将这些量子发给B

B根据这些描述信息,重新组装事先准备好的量子,这样就完成了物体的量子传输

 

 

 

 

 

 第十章 未来

摩尔定律,并行计算,未来几十年可能会出现百万核或者几十亿核的计算机

P/NP问题在并行计算的世界里仍然是有效的

Nick's Class,对于那些能用并行算法快速解决的问题叫做NC

我们不知道是否P=NC,更不知道是否有NP=NC

NP=NC意味着一个NP搜索问题能用极快的速度在并行计算机上有效的解决,NP=NC的可能性极小

 

facebook,谷歌,欧洲大型强粒子对撞机每天产生海量的数据

虽然这些数据量很大,但是其中大部分是无用信息,如果P=NP我们只要用算法把数据过一遍,挑出

重要的部分,再用奥卡姆剃刀法则工具,就能形成对数据的理解和预测能力

通过拥有更多的数据胜过拥有更好的算法,谷歌在垃圾邮件检查,语音识别做的不错,得益于它有

海量的数据

 

如果一切事物网络话,不用笔做记录,你的衣服告诉你如何搭配更好

不会再丢失钱包,通过手机远程开门,自动驾驶汽车

当然这些问题也涉及了一些P/NP问题

 

P/NP问题需要过20,200,甚至2000年才能证明

当面临一个NP问题时,不可能找到一个在所有情况下都能解决该问题的算法。这时就需要借助其他

工具,如近似计算,启发式方法,暴力破解等方法的组合

P/NP问题让各个学术界团结在一起,物理学家的实验结果可能对经济学家有帮助或启发

P/NP问题归根结底与自然本身的极限有关,与生物和物理系统进化的极限有关,甚至可以说与人类

思想所能达到的极限有关。

 

 

 

分享到:
评论

相关推荐

    算法设计技巧与分析:第九讲 NP完全问题.ppt

    通过深入研究NP完全问题,算法设计者不仅可以更加精准地评估算法的效率,还能掌握在面对复杂问题时可能采取的策略与方法。 在计算机科学中,P类问题是那些存在多项式时间算法能够求解的决策问题,即可以在输入大小...

    Advanced Complexity Theory

    P/NP问题是复杂性理论中最著名的未解决问题之一,它询问是否所有可以在多项式时间内验证解的问题(NP类),也可以在多项式时间内找到解(P类)。如果P=NP,那么将意味着许多目前认为难以解决的问题将变得容易处理,...

    带有零边界条件和非线性边界条件的p阶椭圆方程解的存在性

    综上所述,这篇文章的贡献在于通过数学分析的方法,研究了具有零边界条件和非线性边界条件的p阶椭圆方程的解的存在性问题,为这类问题提供了新的数学理论支持,并可能在物理学、工程技术等领域找到应用。

    基于高德地图逆地理编码 获取乡镇/街道边界+百度地图手工描绘边界

    然而,实际获取的数据可能会与实际边界有所偏差,或者包含不必要的细节,需要后期处理。 4. **数据处理**: 由于边界数据量大且可能不准确,通常需要进行数据清洗和简化。这可能涉及到去除重复点、平滑曲线、合并...

    c# socket Server/Client 解决消息边界问题

    本文将深入探讨如何使用C#中的Socket类来实现一个Winform客户端/服务器程序,并解决消息边界问题。 首先,让我们了解什么是消息边界问题。在TCP/IP通信中,数据是以字节流的形式传输的,没有明确的分隔符来指示每个...

    形式语言与自动机:第十三讲 计算理论初步.pdf

    总的来说,形式语言与自动机的第十三讲深入探讨了计算理论的基本概念,包括对角语言、通用语言、问题归约、图灵机的判定问题以及 P/NP 问题,这些都是理解计算能力边界和算法复杂性理论的基础。

    四种传统边界条件(用于图像):抗反射、反射、周期、零边界

    这种处理方式可以避免引入新的数据,但可能会在边界附近产生不自然的图像效果。在某些情况下,反射边界条件能够保留图像原有的结构信息。 3. **周期边界条件(Periodic Boundary Condition, periodBC)** 周期边界...

    大学算法课件包括分治法,动态规划,集合算法,随机算法,计算模型,NP完全问题

    理解这些模型有助于我们定义和理解计算的边界,如计算的复杂性、可计算性问题以及P和NP类问题。 **NP完全问题** NP完全问题是指一类在非确定性图灵机上能在多项式时间内验证解的正确性,但在确定性图灵机上找不到...

    边界_FDTD边界程序_

    **边界条件在FDTD方法中的应用** 在时域有限差分法(Finite-Difference Time-Domain, FDTD)中,边界条件是至关重要的部分,它们决定了计算域外电磁场的处理方式,对模拟结果的准确性有直接影响。FDTD是一种广泛...

    yicengjunxun.zip_人工边界_吸收边界_吸收边界MATLAB_吸收边界条件_地震波边界

    这个压缩包文件"yicengjunxun.zip"包含了与地震波数值模拟相关的关键知识点,特别是关于人工边界和吸收边界条件的应用。以下是这些概念的详细解释: 1. **人工边界**:在地震波数值模拟中,由于计算域的有限性,...

    HFSS三种辐射边界的区别与选择技巧

    对于弱辐射问题,如果仅关心辐射损耗而不关注远场结果,辐射体到边界的距离可以小于λ/4。Radiation边界上的网格密度会影响计算天线辐射特性的精度,其吸收性能与入射波的角度有关。当入射角超过40度时,吸收效果会...

    普朗特边界层微分方程的详细推导[整理].pdf

    该方程是研究流体力学边界层问题的重要工具。 普朗特边界层理论相关知识: 1. 概念:定常绕流中流体粘性只在贴近物面极薄的一层内主宰流体运动,称这一层为边界层;边界层的流动可近似为无粘的理想流动。 2. ...

    CC_3D_Y_1.rar_Abaqus 周期边界_abaqus 脚本_abaqus 边界条件_abaqus周期性_python

    在物理问题中,如果一个系统的一侧与另一侧在几何和物理特性上是重复的,那么我们可以应用周期性边界条件。在ABAQUS中,这允许我们只模拟结构的一部分,从而大大减少计算资源的需求。 `Abaqus_周期边界`是指在...

    图片移动不超出边界

    标题“图片移动不超出边界”涉及的是在编程中处理图像时的一个常见问题,尤其是在开发图形用户界面(GUI)或者游戏引擎时。这个问题的核心是确保图片或图像对象在屏幕上移动时不会离开预设的显示区域,以免导致视觉...

    第四章 边界层PPT

    在某些条件下,边界层内的流体可能会逆着主流方向流动,最终与主流分离,形成所谓的边界层分离现象。这种分离通常发生在物体表面形状突变处,如曲率较大的部分或尖锐的边缘。边界层分离不仅会导致流体阻力的增加,还...

    图灵机与NP-通俗易懂

    通过图灵机,我们可以探讨计算的可能性边界,即哪些问题是可计算的,哪些不是。 - **通用性**:图灵机的一个关键特性是它的通用性。给定足够的时间和空间资源,任何可以被算法化的问题都可以通过适当的图灵机实现...

    精确的最小边界球和圆:计算3D / 2D点集的精确和近似最小边界球/圆-matlab开发

    寻找最小边界球(又名最小包围球)的问题在许多应用中经常遇到,包括计算机图形学和模式识别。 虽然存在许多用于查找此类球体的相对简单的算法,但在 Matlab 中没有可以轻松在线找到这些算法的稳健实现。 本提交中...

    boit边界元程序,FORTRAN编写

    【boit边界元程序】是一种基于数学模型的计算方法,主要应用于解决偏微分方程在物理或工程问题中的应用。边界元法(Boundary Element Method, BEM)的核心思想是将待解区域的内部问题转化为边界上的问题,通过求解...

Global site tag (gtag.js) - Google Analytics