Re: [问题] P=NP是什么?

楼主: LPH66 (-6.2598534e+18f)   2011-09-20 12:44:28
※ 引述《mabus (CodeINCEPTION)》之铭言:
: 能不能用白话一点的方式解释?在wiki里有看没懂呀...。
: 若这个问题解决了,有什么影响吗?
: 本身不是学CS的,可以的话能否推荐书籍呢?
: 先谢谢各位了!
这个大概没什么书会讨论吧...
你说你不是学 CS 的那这篇就尽量不放太多专有名词进去
P = NP 的意义是这样的
我们现在有一类问题叫做 P 有另一类问题叫做 NP
P 的问题就是解决它所需时间随着问题大小只成多项式成长
(例如问题大小的三次方或五次方成长等等)
NP 的问题就是给我问题和一个答案我可以很快的检查这是不是真的是这问题的答案
(同样这里的很快是指多项式成长)
P = NP 问题就是问说这两类问题到底是不是一样的
之所以这是难题的原因是 NP 里有一大类问题被叫做 NP-Complete (NP完全)
目前最好的解法所需要的时间都随着问题大小增加而成指数成长
找不到多项式成长的解法 但也无法证明它不存在这种解法
这代表当我们想要解决一个稍微大一点的问题时目前暂时没有很快的解法存在
以其中一个问题 旅行推销员问题 为例
它需要我们在一张地图上找出经过所有城市正好一次再回到出发点的最短路线
最简单的想法就是所有路线都去试试看 那试的次数就是城市数的阶乘
用一些技巧可以把试的次数降到指数成长
但是目前仍然找不到多项式成长的做法 也证明不出不存在这种做法
虽然 P = NP 是个很大的问题 但是看起来又好像没有那么难
这是因为所有的 NP-Complete 问题有种一个串一个的性质就是
如果你找到其中一个问题的多项式成长做法之后
你可以一个串一个地给出所有 NP-Complete 问题的多项式成长做法
最后再串到所有 NP 问题也都能给出多项式成长做法
于是你就证明了 P = NP
反过来如果你证明了其中一个问题不能有这种做法的话
那么你便找到了一个问题是属于 NP 但不属于 P 的 于是证明了 P≠NP
无论哪一个你都会在历史上留名的 (附带一笔一百万镁的奖金 XD)
之所以现在许多计算机理论家会这么想要解决它也是因为 NP-Complete 问题实在很多
英文维基上就列出了至少一两百个属于 NP-Complete 的问题
去年的这个时候也有一个叫 Vinay Deolalikar 的家伙提出了可能是 P≠NP 的证明
(后来被其他专家挑出几个重大错误 他现在还在改)
影响的话其实个人认为刚证出来时多半是理论上的影响
毕竟它要的是多项式成长 如果是以问题大小的一百次方成长也算
但一百次方实际上很难有什么实质上的影响
但当更进一步的研究之后
NP-Complete 问题这种一个串一个的性质很容易发生某处一个小进步就扩展到全部
这时一些依靠这些问题这种强度的使用就变得不可靠了
例如最常提的就是密码学上的应用 若 P = NP 被证明之后许多这些应用都会变得不安全
(像是这里面最常提的 RSA 所依靠的质因子分解
这个问题目前只已知是 NP 连是不是 NP-Complete 都不知道
但如果 P = NP 被证明的话它一样会遭殃)
反过来如果证明了 P≠NP 那我们可以放心的说这些问题要完美解决没招
于是可以专心的研究它们的近似算法 (就是能给出接近完美的做法 这可以快很多)
这方面的研究现在就已经很多了
(因为现在许多状况证据都让大家认为 P≠NP 应该是对的
所以与其去撞这堵大墙不如先去做一些能够做的实质性进展)
作者: mabus (CodeINCEPTION)   2011-09-20 12:51:00
如果这个方法实现了,是不是可以预知未来呀?这是不是像翻书一样呀?要翻到指定的那一页,总要试几次,若是这个方法实现了,那每次翻都可以翻到指定页面?又或者明天会发生什么事,过去就可以事先知道?可是,有没有具体一点的例子?像是这个方法实现了,就可以让单核心的处理器发挥出N核心的的效能?
楼主: LPH66 (-6.2598534e+18f)   2011-09-20 12:57:00
没有到预知未来这么夸张啦 只是可以快"很多"而已
作者: mabus (CodeINCEPTION)   2011-09-20 12:57:00
啊,我又异想天开了...。
作者: mabus (CodeINCEPTION)   2011-09-20 13:00:00
也就是说,目前的安全,是基于慢很多的条件下才成立的呀。
楼主: LPH66 (-6.2598534e+18f)   2011-09-20 13:00:00
P=NP 若证明→质因子分解可以"很快"→ RSA 危险了大概像这种感觉 你没说错 很多现代密码学的东西都是这样几乎没有 impossible 只有 infeasible
作者: mabus (CodeINCEPTION)   2011-09-20 13:03:00
那这个方法、理论,是建立在已经存在的事物上囉?并非可以去让我用最小的消耗,去执行未知的事物。像是让电脑去预测我要做什么,而不经由学习。好像把趋近尽可能逼近的感觉呀。
作者: yayarice (夜夜米)   2011-09-20 17:33:00
NP真的很难懂啊....
作者: vity (逍遥杯-佛得)   2011-09-21 14:35:00
写得不错~可以再写NP-Hard吗 像halting problem
作者: demintree ( )   2011-09-21 21:03:00
质因子分解还没证明在NP中吧....
作者: bernachom (Terry)   2011-09-22 00:26:00
http://www.scribd.com/doc/35539144/pnp12pt别人提出的证明,你真的很闲的话可以看一看我是说2012那篇,推错了
作者: azureblaze (AzureBlaze)   2011-09-24 22:13:00
http://ppt.cc/o6ta 用量子论可以P=NP前提是要能在O(1)内毁灭整个宇宙XD
楼主: LPH66 (-6.2598534e+18f)   2011-09-26 13:45:00
质因子分解是 NP 喔 因为给定分解我们可以乘起来看对不对这正符合"给定答案检查对不对"的定义顺带一提, 在 AKS 出现之前它的确还没证明在 NP 里是在 AKS 出现后我们才能用多项式时间检查给定的数真是质数因此 AKS 也连带证明了质因子分解在 NP(以及co-NP, 如果你知道这是什么的话)
作者: shiuhungjr (米虫)   2011-09-28 00:47:00
质数的检测已经被证明在P中,请google"prime is in p"
楼主: LPH66 (-6.2598534e+18f)   2011-09-28 14:10:00
那正是我提到的 AKS

Links booklink

Contact Us: admin [ a t ] ucptt.com