P问题:可由多项式时间解决的问题,比如一般的排序,最短路,数独,01背包问题,即求解出来很容易,这类问题一般称为P问题。
NP问题:这类问题求解出来比较繁琐,但是验证起来很容易,比如RSA算法,用两个大质数相乘获得一个大数 。分解这个大数非常困难,但是给定其中一个质数,可以快速判断它的正确性,用整除就可以。
NP难问题,比如旅行商问题,值得一提的是,科学家发现蜜蜂可以在非常短的时间里解决花朵之间的“旅行商问题”。
如果P=NP,意思就是一个问题如果能够在多项式时间里被验证,那么它也可以在多项式时间里求出答案。目前大部分计算机科学家都认为NP≠P。
在这里摘录一段非常有感情色彩的观点。
麻省理工学院的科学家Scott Aronson在一篇博文中提出了10个NP≠P的理由,第九个理由:如果NP=P,那么“创造性的飞跃”将没有特殊价值,在解决问题与认可解决方案之间没有根本的隔阂,任何能欣赏交响乐的人都是莫扎特,每个能看懂一步一步的数学证明的人都是高斯,每个能认识到好的投资策略的人都是巴菲特。
也许正是由于NP=P会使这个世界太过于无趣,所以上帝不允许这样的事情发生。
这个解释似乎对世界背后的规律有所触及。