第165章NPC真不是很难(1 / 2)

加入书签

所谓“p=np?”问题,“?”才是关键。

因为不知道等不等于,需要证明的就是等不等于。

简单点的说,计算机解不同的题目,就是将之拆分成加加减减这样最基础的运算。

所以一道题究竟有多难……嗯,主要是对计算机多难,就取决于可以拆分成多少步,或者说花多少时间——计算机基础运算的时间基本一样,所以忽略空间方面的因素,二者大致等价。

这叫时间复杂度,用大o也叫渐进符号表示。

o(1)就是常数级复杂度——最常规的计算,数据规模增加多少,运算花费时间也随之增加多少。

o(logn)就要复杂一点了。

然后还有o(n),o(nlogn),o(n^),o(n!),o(n^n)……

一级一级,难度逐层上升,解题所用时间花式暴涨。

其中o(n^c)之下,是多项式时间内能解决的,就叫做p类问题。

在此之上的,虽然会随着n的增长,出现指数级甚至更过分的暴涨,却有一个共同点,就是正向解很难,给你一个答案去验证,一般就不难了。

比如大数的质因数分解。

想知道一个大数是不是素数很难,需要从2开始,一直除到根下n。

但告诉你它能被某个数整除,你去验证,则就几步的事。

这类可以在多项式时间里验证的问题,就叫做np问题。

显然所有p类问题,都是np问题,因为是简单可验证的。

但np类问题,是否都是p类问题?是否存在某些特殊的算法,能将这些问题的难度降低到多项式时间可以解决,就仿佛给答案去验证的程度上去呢?

这就是“p=np?”了。

在研究的过程中,又诞生出了npp-hard问题。

所谓npp问题可以约化成为的一类问题。

只要解决这样一个问题,就可以附带的解决一大票问题。只要证明了npc问题有快速算法,就基本证明了p=np。

【np-hard就不说了,这是一类包括nppc的问题,定义是超出np的,所以和这道题没什么关系。】

最初所有人都以为npc只是空想,直到真的出现了这样一个问题

也就是npc的鼻祖——逻辑电路问题。

此后一大堆npc冒出来,因为要证明新的npc,只要将之归约为已知的npc就行了,于是哈密顿回路、tsp问题、sat问题、背包问题、旅行商问题,都变成了npc。

不过出这道题的人一定没看到叶寒那篇关于蛋白质折叠的论文……

或者看到了还没来得及改;

也可能想改但是落子无悔,改不了了……

如果p=np被证明,那整个世界,都会变得与我们认为的完全不同。

灵感与创造将没有任何价值,因为所有问题的解,都可以用努力的算法解决,而且在多项式时间内。

就仿佛是,任何能够欣赏交响乐的人,都能成为莫扎特;每个懂得数学论证的人,都是高斯;每个研究投资策略的人,都可以是巴菲特……

同样道理,预测蛋白质折叠再不需穷举,多项式时间就可以得到确定答案。

怎么可能!

所以对于p=np?问题,叶寒是倾向于业界多数意见的——不成立。

不过他也没有能够成功证明或证伪,只是提出了某一类nppc问题并不等价——这已经很强大了。

更强大的是,他搞出了这类问题的混沌模型,并给出了对应的三维流形吸引子,简称叶氏吸引子,然后结合某种空间密铺算法,进行了大幅优化修正。

绝大多数人都知道相对论,知道量子力学,也听过混沌两个字,但不一定知道,混沌理论,和量子力学、相对论并列,被认为二十世纪科学领域的最伟大发现。

很多人说,物理学已经一百多年没有像样的进展了,混沌的发现,绝对算是一个。

↑返回顶部↑

书页/目录