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

金劵

划分的难题

  • 这个简短的难题抓住了 P/NP问题的本质:一个程序如果能解决这个难题 的复杂版本,那么它也能解出任意问题。

  • 一只手有27块骨头,5根手指,包括最重要的拇 指。手具有结构复杂的神经、肌腱和肌肉,这些都 包裹在富有弹性的皮肤里。然而,这一不可思议的 装置,自然造物的杰作,却不能自己做事,而只能 执行人脑的指令。
  • 只要我们简单描述一项任务,马上就会有一个程序提供相应的功能;给计算机输入一段演示人如何打结的电影,然后它立刻就能用机械手重复打结的过程;把莎士比亚全集录入计算机,然后它就能创作一部新的“莎士比亚”戏剧;只要我们能认出某个东西,就能找到它。这些梦想都能成真——前提是P=NP。

P/NP问题

  • P/NP问题都是在问:我们搜索大量可能性的速度能有多快?我们找到“金券”(即最佳答案)的过程能变得多容易?
  • 千禧年难题中的庞加莱猜想已于2003年被格里高 利·佩雷尔曼解决,但他拒绝了100万美元的奖金。 截至本书写作时其他6个难题都尚未解决。如果解决了P/NP问题,剩下的5个问题也会解决,就会得到600万美元的奖金

找到金劵

  • 旅行时间有一个有趣的性质。随便选一个中间地点(比如匹兹堡),从芝加哥经过匹兹堡到纽约的最短路线,一定是芝加哥到匹兹堡的最短路线,再接上匹兹堡到纽约的最短路线。不走匹兹堡可能有更快的路线,但是芝加哥到纽约的最短路线,绝不会比从芝加哥经过匹兹堡到纽约的最短路线还要长。
  • GPS的计算机程序正是利用了这个性质,快速缩小搜索范围并找到了最佳路线。这可能仍需要检查上亿条路线,但是GPS的计算机处理器完全能胜任, 毕竟这个数字比“不可思议”小多了
  • 找到最短路径并没有体现P/NP问题的全部力量。 最短路径问题告诉我们,全部的可能性数量特别大,但这并不总意味着必须遍历所有的可能性才能找到答案。P/NP问题其实是问,是不是对于任意给定的搜索问题,我们都不必遍历所有的可能性就能找到答案?
漫漫长途
  • 如果P=NP会怎么样?那么我们将迎来一个美好的世界,计算所有的事物都将易如反掌。我们能快速 地了解一切,揭开世界上所有事物的神秘面纱,从治愈绝症到洞悉宇宙的本质。美好的世界也有它灰暗的一面,人们将丧失隐私、丢掉工作,因为没有什么是计算机不能知道或完成的。
  • 计算机科学家已研发出许多技术,包括很有可能对许多问题奏效的启发式方法,以及能给出接近理想解的近似技术。
  • 为了分析问题的复杂 度,我们可以把计算过程分解为最基本的单元。算 术几何学(数学的一个抽象分支),为人们能在有 朝一日解决这个重要的问题带来了新的希望。
  • P≠NP会带来什么好处呢?它能帮助我们保守秘 密,产生看上去真随机的伪随机数。

美妙的世界 (P=NP的未来世界)

厄巴纳算法

  • 让计算机自动生成的求解NP问题的算法

计算机1,癌症0

  • 先鉴别出某个人的正常DNA和癌细胞的突变DNA,然后制造出特定的蛋白质,其折叠方式不仅能有效地饿死癌细胞,而且对正常细胞没有任何影响。死亡的癌细胞会被排出体外。”
  • 在过去,即使是世界上 最快的计算机在解决DNA密码方面也显得太慢,所 以一直没有什么突破。
  • 厄巴纳算法帮人们战胜了癌魔,治愈了艾滋病和糖尿病。可是,我们还不知道如何应对普通感冒。”

棒球比赛

  • 在算法的帮助下,人类的天气预测技术取得了不可思议的进步,可以提前一年准确预测温度、风力、云量和降水。类似的算法可以做到准确预测风暴、龙卷风和飓风,让人们有充足的准备和撤离时间。
  • 尽管科技让在家看球的体验远比在体育场看球还要好,兰迪还是愿意享受一种参与感,厄巴纳算法再厉害也无法再现这种感情上的依恋。
  • 纵使以厄巴纳算法为代表的科技改变了几乎所有的事物,但比赛还是那个比赛。三振出局的老规矩,永远都不会改变。

奥卡姆剃刀

  • 奥卡姆剃刀法则,即主张最简单的解释通常是最好的解释
  • 笛卡尔哲学命题:我思故我在
  • 至于为什么行星运动符合这些定律,开普勒无 法给出一个简单的解释。艾萨克·牛顿将奥卡姆剃刀法则运用到物理世界。他著名的运动定律以非常简单的方式,表述了物体如何相互作用
  • 爱因斯坦:“把所有事都变得尽可能简单,而不可过于简单。”
  • 简单的模型永远无法反映世界全部的复杂性,但它们通常可以很接近这个目标。为某些情形找到一种简单的解释,就能对未来发生的类似情形做出很好的预测。
  • 找到任意形式的程序中最短小而有效的数据分类程 序,是一个困难的问题,一个NP问题。

创造力的自动化

  • 到了2026年的时候,几乎所有候选人撰写演 讲稿时都会让计算机帮忙甚至代劳,大家习以为 常,见怪不怪。当然,人人演讲出色,等于没人演 讲出色。

终极侦探

  • 此案引发了公众对丧失隐私权的大规模抗议

美妙世界的阴暗面

  • 对厄巴纳算法最大的顾虑是就业问题。从秘书到中层管理人员,几乎所有的白领职位都受到算法的威胁
  • 个人隐私被剥夺,并对此感到恐慌。原来看起来人畜无害的视频摄像头突然能识别和追踪每个人了
  • 政府继续推行法令,保护民众不受厄巴纳算法的冲 击,但科技的影响覆水难收。人类总是能很快适应 新形势,渐渐很少有人会在民意测验中表示愿意时 光倒流

P和NP

敌友国 & 六度理论

  • 是不是任意两个人都能通过一条足够短的好友链联系起来。这个现象称为“小世界
  • 好友链的平均长度是5.2个人,从而产生了所谓六度分割的概念,就是说任何人最多经过6个人就能认识所有人
  • 增广路径(augmenting path),它可以用来增大 配对的数量。1957年,克劳德·伯杰证明任何未达 到最大可能配对数的匹配方式都对应一个增广路径
  • 存在一个计算方法,它解决这种规模的问题所花费的时间是“算术级别的”, 比如1004、1002或10012。后来这一类型的问题有 了另一个人们更为熟知的名字——P(代表 polynomial,多项式级别的,它代替了埃德蒙兹的“算数级别的”),人们用它来指代那些可以高 效解决的问题。

团的问题

  • 递棍问题来源于哥尼斯堡七桥问题
  • 欧拉证明,没有人能将每座桥跨过并且只跨过一次,因为四块地区都有奇数条桥梁与其他地区相连。
  • “递棍儿”游戏的成功完成方式叫做欧拉回路。
  • 递棍儿2”游戏 的成功完成方式叫做哈密顿回路。
  • 弗朗西斯·格思里在为英国各郡的地图填色时,猜想是否只用四种颜色,就足够让所有地图上每两个接壤的地区有不同的颜色
  • 最小割问题,因为老师想把被分割的好友数减到最小
  • 研究者需要尽可能多地把敌人分割开,这叫做最大割问题
  • 这一类能够很快验证一个解的有效性的问题,计算 机科学家给它们起了一个名字:NP。如果你非想 知道的话,这两个字母代表nondeterministic polynomial time(不确定性多项式时间)。团、 哈密顿回路、地图填色和最大割都是NP中的典型例子。
  • 与之形成对比的是P类问题,即我们能很快找到最 优解的这些问题:最短路径、配对、欧拉回路(“递棍儿1”),以及最小割

P和NP

  • P=NP意味着美好世界的到来, 每个NP中的问题都对应一个有效的解法,也就是 说每个有解的问题都能很快地验证给定解,并且快 速地找到其中最优的解。
  • DNA测序中,拼接序列是一个很难的计算问题,也是一个NP问题
  • 生物学家需要更多的序列才能绘制出基因组图 谱。而且很可能绘制出的图谱上有更多的空白和错 误。研发出剪接序列的最优算法将显著提升基因图 谱的质量。
  • 寻找物理系统能量的最低值是一个NP问题
  • 一个对冲基金经理需要从许多复杂的投资工具中作 出选择。一个预算有限的消费者走进超市,面对各种商品难以取舍。他们其实都在求解困难的NP计算问题
  • 纳什获得(迟到的)诺贝尔奖, 是因为他证明了个体间根据策略互动时存在一个均 衡状态,在此状态下所有个体采取的策略经过博弈 达到均衡,即任何一方改变策略的做法,都不会为任何人带来利益。

NP中最难的问题

在这里插入图片描述

21个问题

  • 卡普证明,甚至连调度的简单改进 也是一个难度不亚于任意NP问题的难题
  • 规划线路这种类似于旅行商问题的都是一个NP难问题,所以规划路线一点也不简单!

起个好名字

  • 该怎么称呼那些NP中最难的问题呢?库 克用了一个非常学术的名称deg({DNF 重言式}), 而卡普使用了术语(多项式时间)完全。高德纳接手了这个命名问题,最终获胜的来信建议是“NP-complete”(NP完全),它由新泽西州贝尔实验室的几个人提出,是那里的研究者经过多次讨论之后产生的。“complete”(完全或完备)这个词出自数学逻辑学,一个事实集合被称为完备的,就是说它能 解释某些逻辑系统的所有真命题。类似地,“NP 完全”表示这些NP问题的集合强大到能够用来解 决任何其他的NP问题。
  • 但是高德 纳说了:“即使将来可能觉得尴尬,我也愿意冒这 个险——我将奖给第一个证明P=NP的人一只活蹦 乱跳的火鸡。”
  • 大规模数独游戏和扫雷游戏 / 俄罗斯方块都是NP-Complete问题
  • 大规模的魔方复原是基于一个叫群论的数学分支,其比上面三个问题要简单很多
  • 肾脏之间相互配对是一个NP问题

漏网之鱼

  • 好友关系图之间的映射被称为图的同构问题。有可 能存在多种映射,也可能不存在,这取决于给定的 图集。
  • 质数/因数分解是P问题
  • 在这类条件下进行最优化选择的问题叫做线性规划。可能的解集在高维空间形成一个几何体,叫做多面体。这也是P问题

处理困难的问题

  • 对于中等规模的问题,我们可以用如今非常快的计算机遍历所有的解决方案。我们可以采用一些虽然不能包治百病,但对我们关心的问题起作用的算法。还有的算法虽然不能给出所有可能方案中最好的,但是能给出一个足够好的方案。
  • 启发式算法
  • 搜索小规模的解
  • 近似计算方法
  • 解决一个不同的问题

一些尝试解决P/NP问题时曾经产生过的想法

骗子悖论

  • 20世纪30年代,库尔特·哥德尔发现了数学可以讨论证明的真伪
  • 于是哥德尔同时也表明了,我们不能证明“所有能被证明为真的命题都确实是真的”

证P不等于NP时常犯的错误

  • 一类证明的思路是,任何试图求解团问题的算法在找不到一个有效解时,都必须确保不可能存在给定人数的团。唯一可行的方式是检查所有可能的人组成的集合,然后检查给定的集合是否成团。由于集合太多了,任何算法都必须花费特别长的时间。所以团问题不存在高效的解法。故P≠NP。Q.E.D
  • 而其中的逻辑漏洞在于“唯一可行的方式”。算法可行的方式也许非常难以捉摸。它并不需要按你认为的方式工作,甚至完全不用遵守问题本身的内在结构。也许有一个算法,把好友关系图转化成某些奇怪的代数表达式,当且仅当团存在时才存在某一类型的解。虽然这不太可能,但是不能因为你认为算法不这样工作,就排除它存在这样的可能性。
  • 而要证明P=NP,“只需”给出某个NP完全问题的有效算法。于是很多人会给出团问题的一个算法,然后就说他们证明了P=NP。但是一个算法本身并不 构成一个证明。必须还要形式化地论证该问题的每 一个实例,即在所有可能的好友关系图上,该算法 都能高效地运行,并给出正确的答案。而这些证明 的尝试要么没有覆盖所有可能的情况,要么本身就是错误的或不完整的。给出的算法不是结果是错误 的,就是在复杂的实例上无法高效地运行。
  • 目前唯一已知的有可能解决P/NP问题的方法,来 自芝加哥大学的凯坦·马尔马利。他的工作表明通过 解决代数几何学(它比高中的代数和几何要复杂得 多)这一数学领域的某些问题,可能会产生P≠NP 的证明。

秘密

  • 公钥加密有可能实现吗?如果P=NP那就不可能, 因为会存在一个高效的算法,通过公钥来计算出私钥。
  • 如果P=NP,那么因数分解问题将变得能被高效地计算,我们可以找到 几百万位数的质数因子。P=NP将让RSA协议失 效。所有基于公钥加密系统的协议也都将失效。 P=NP意味着如果不和对方事先联系好,你将无法 向任何人发送秘密消息。
  • 由于长度为12的一次性密码本和消息一样多,所有 加密字符串的概率都是相等的,数学上无法通过密码本对消息本身有任何了解,无论是否P=NP,结论都成立。那为什么我们不都用一次性密码本加密,而要使用更加复杂,而且有可能被破解的因数分解加密方法呢
  • 艾莉丝想在不透露任何答案信息的前提下,让鲍勃相信这个数独谜题是有解的。幸运的是艾莉丝在大学里主修计算机科学,她知道零知识证明。
  • 密码学攻击中常用的方法是通过冒充别人来蒙混过关。零知识证明则提供了一种防卫这种身份欺骗的方法。艾莉丝使用自己的公钥加密一些随机选择的个人机密信息。艾莉丝想向鲍勃证明她的身份。如果她直接把这些秘密告诉鲍勃,那么理论上鲍勃就有了冒充艾莉丝的机会。而如果艾莉丝提供的是一些零知识证明,那么她不仅能让鲍勃相信她知道这些秘密,更重要的是没有透露自己的任何秘密。这样鲍勃就能在不知道艾莉丝个人机密信息的前提下确认对方的身份。

未来

  • 对于某些NP问题的求解,并行技术还是没什么帮助。如果我们动用100万台计算机,每台有10亿个 核心,每个核心每秒能进行1×1018个操作,仍然 需要花费几乎10100倍于宇宙寿命的时间。P/NP问 题在并行的世界里仍然是有效的。
  • P/NP问题远远不只是一个数学谜题那么简单。它 是一种思考的方法,一种根据问题的内在难度对其 进行分类和认识的方法。
  • 虽然尚没有P≠NP的确凿 证据,我们起码知道了:当面临一个NP完全问题 时,不可能找到一个在所有情况下都能解决该问题 的算法。这时就需要借助于其他的工具,如近似计 算、启发式方法、暴力破解等方法的组合,然后尽 我们所能地争取最好的结果。NP完全性理论给了 我们一个通用的思考框架,允许我们建立一套由很多技术组成的工具体系,向那些难以计算的问题发起有效的攻击。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五月的天气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值