第679章 回到研究状态(2 / 3)

,是陈舟长久以来习惯使用的研究方法。

也是在一个新的研究课题开始时,陈舟必定会经历的一个过程。

随着第一篇文献资料的下载完成,陈舟移动鼠标,点开了这篇文献资料。

然后再次拿来草稿纸,拧开笔盖,准备刷文献。

n完全问题,也叫nc问题。

是多项式复杂程度的非确定性问题。

简单的写法就是“n”。

问题也就在这个问号上面。

到底是n等于,还是n不等于。

当然,几乎绝大多数的人,都希望n等于。

因为这背后的实际意义,太过重大。

只可惜,就算再多人的希望,也不能将这道千禧年大奖难题,给变成事实。

它仍旧在等待着,能够解决它的人出现。

“类问题和n类问题的关系”

第一篇文献结束,陈舟看了看草稿纸上,自己所写的内容,小声的呢喃了一句。

事实上,要知道“n”是个什么问题,先要知道什么是类问题,什么是n类问题。

类问题和n类问题这两个概念,是和计算理论中的时间复杂度有关的。

至于计算理论中的时间复杂度,简单来说,就是解决一个问题的某种算法,所需要的计算量,随着这个问题的规模增长而增长的速度。

这个概念,更多的被应用在信息学的计算机算法上。

在算法中,时间复杂度本质上,是指计算量增长的速度,而不是这个算法运行的时间。

自然的,对于同样的一个问题。

如果采用不同的算法,其时间复杂度也是不一定相同的。

而如果某个问题,能够找到的最优算法的时间复杂度,是n的多项式函数。

那么,这个问题就被称之为类问题。

也就是多项式的英文首字母。

此外,还有一些问题,无论其是否能够在多项式时间复杂度内求解,如果知道一个随便给出的可能解,能够在多项式时间复杂度内验证其是否为所求的解。

那么,这类问题就被称之为n类问题。

至于为什么要研究一个问题,是否有多项式时间复杂度的算法。

则是因为,多项式时间复杂度的计算量增长速度,有些过于“快”了。

随着n的增大,其计算量远远小于o2n、on、onn这些时间复杂度问题。

就好比那个很有名的大整数质因数分解问题。

给出一个2048位的二进制整数,要找出它的某个质因数。

一般来说,可能举全世界的计算能力,也需要上百年的时间,才能完成这个求解计算过程。

但是,如果知道某一个质数的话。

却可以用最普通的计算机,在几秒钟时间内,确定这个质数,是不是这个2048位二进制整数的一个因数。

而这,便是不同时间复杂度,在实际计算过程中的差别

虽说有时候快了不好,可是在时间复杂度上,还是快一点比较有应用价值。

自然的,全部的类问题,都属于n类问题。

看着草稿纸上的内容,陈舟已经给出了这一显而易见的解释。

一个问题可以在多项式时间复杂度内求解,当然可以在多项式时间复杂度内验证。

只不过,写完这行文字的陈舟,又在下面加了一个“”。

问号的旁边,陈舟写到“反过来呢”

没错,反过来呢

一个可以在多项式时间复杂度内验证的问题,又是否能够通过多项式时间复杂度的算法求解呢

陈舟暂时不知道。

所以,他在这个反问的话下面,划上了两道横线。

实际上,这个反问的话,其实也就是,是否全部的n类问题,都属于类问题呢

而这,便是著名的n完全问题,也就是“n”。

陈舟虽然还不知道这个问题的答案。

但是,已经不是信息学小白的陈舟,自然知道这个问题的答案,所具有的现实意义。

如果“n”没有了问号。

也就意味着,任何一个原来找不到类算法的n类问题,都可以找到相应的类算法了。

也就代表大整数的质因数分解问题,变成了类问题。

如2048位二进制大整数,也就可以用一台普通的电脑,在几秒钟,甚至更短的时间内,完成质因数的分解。

如果是这样的话,那现在被广泛应用的rsa加密算法,将彻底失效。

大量的银行数字证书,网站ss加密,也将不再安全。

那些如今大热的数字货币,也将变成随时可能被取走的移动财富。

整个数字金融,都将大洗牌。

同时,如果n的话,也代表那些通过计算很难解决的大量问题,都将通过算法的优化