第165章 NPC,真不是很難!(1 / 2)

學霸的無限 桔子泛泛 5387 字 9個月前

,最快更新學霸的無限最新章節!

所謂“p=np?”問題,“?”才是關鍵。

因為不知道等不等於,需要證明的就是等不等於。

簡單點的說,計算機解不同的題目,就是將之拆分成加加減減這樣最基礎的運算。

所以一道題究竟有多難……嗯,主要是對計算機多難,就取決於可以拆分成多少步,或者說花多少時間——計算機基礎運算的時間基本一樣,所以忽略空間方麵的因素,二者大致等價。

這叫時間複雜度,用大o也叫漸進符號表示。

o(1)就是常數級複雜度——最常規的計算,數據規模增加多少,運算花費時間也隨之增加多少。

o(logn)就要複雜一點了。

然後還有o(n),o(nlogn),o(nc),o(),o(n!),o(nn)……

一級一級,難度逐層上升,解題所用時間花式暴漲。

其中o(nc)之下,是多項式時間內能解決的,就叫做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?問題,葉寒是傾向於業界多數意見的——不成立。

不過他也沒有能夠成功證明或證偽,隻是提出了某一類npc問題,與其他npc問題並不等價——這已經很強大了。

更強大的是,他搞出了這類問題的混沌模型,並給出了對應的三維流形吸引子,簡稱葉氏吸引子,然後結合某種空間密鋪算法,進行了大幅優化修正。

上一章 書頁/目錄 下一頁