所謂“PNP?”問題,“?”才是關鍵。
因為不知道等不等于,需要證明的就是等不等于。
簡單點的說,計算機解不同的題目,就是將之拆分成加加減減這樣最基礎的運算。
所以一道題究竟有多難……嗯,主要是對計算機多難,就取決于可以拆分成多少步,或者說花多少時間——計算機基礎運算的時間基本一樣,所以忽略空間方面的因素,二者大致等價。
這叫時間復雜度,用大O也叫漸進符號表示。
O(1)就是常數級復雜度——最常規的計算,數據規模增加多少,運算花費時間也隨之增加多少。
O(logn)就要復雜一點了。
然后還有O(n),O(nlogn),O(nc),O(cn),O(n!),O(nn)……
一級一級,難度逐層上升,解題所用時間花式暴漲。
其中O(nc)之下,是多項式時間內能解決的,就叫做P類問題。
在此之上的,雖然會隨著n的增長,出現指數級甚至更過分的暴漲,卻有一個共同點,就是正向解很難,給你一個答案去驗證,一般就不難了。
比如大數的質因數分解。
想知道一個大數是不是素數很難,需要從2開始,一直除到根下n。
但告訴你它能被某個數整除,你去驗證,則就幾步的事。
這類可以在多項式時間里驗證的問題,就叫做NP問題。
顯然所有P類問題,都是NP問題,因為是簡單可驗證的。
但NP類問題,是否都是P類問題?是否存在某些特殊的算法,能將這些問題的難度降低到多項式時間可以解決,就仿佛給答案去驗證的程度上去呢?
這就是“PNP?”了。
在研究的過程中,又誕生出了NPC問題及NPhard問題。
所謂NPC,就是NP問題可以約化成為的一類問題。
只要解決這樣一個問題,就可以附帶的解決一大票問題。只要證明了NPC問題有快速算法,就基本證明了PNP。
NPhard就不說了,這是一類包括NPC又大于NPC的問題,定義是超出NP的,所以和這道題沒什么關系。
最初所有人都以為NPC只是空想,直到真的出現了這樣一個問題
也就是NPC的鼻祖——邏輯電路問題。
此后一大堆NPC冒出來,因為要證明新的NPC,只要將之歸約為已知的NPC就行了,于是哈密頓回路、TSP問題、SAT問題、背包問題、旅行商問題,都變成了NPC。
不過出這道題的人一定沒看到葉寒那篇關于蛋白質折疊的論文……
或者看到了還沒來得及改;
也可能想改但是落子無悔,改不了了……
如果PNP被證明,那整個世界,都會變得與我們認為的完全不同。
靈感與創造將沒有任何價值,因為所有問題的解,都可以用努力的算法解決,而且在多項式時間內。
就仿佛是,任何能夠欣賞交響樂的人,都能成為莫扎特;每個懂得數學論證的人,都是高斯;每個研究投資策略的人,都可以是巴菲特……
同樣道理,預測蛋白質折疊再不需窮舉,多項式時間就可以得到確定答案。
怎么可能!
所以對于PNP?問題,葉寒是傾向于業界多數意見的——不成立。
不過他也沒有能夠成功證明或證偽,只是提出了某一類NPC問題,與其他NPC問題并不等價——這已經很強大了。
更強大的是,他搞出了這類問題的混沌模型,并給出了對應的三維流形吸引子,簡稱葉氏吸引子,然后結合某種空間密鋪算法,進行了大幅優化修正。
絕大多數人都知道相對論,知道量子力學,也聽過混沌兩個字,但不一定知道,混沌理論,和量子力學、相對論并列,被認為二十世紀科學領域的最偉大發現。
很多人說,物理學已經一百多年沒有像樣的進展了,混沌的發現,絕對算是一個。
從三體問題,到湍流,到分子熱運動……包括生物種群、天文研究,無處沒有混沌的影子。
雖然仍舊很難給出確切的答案,畢竟混沌問題很難有確切答案,否則就不叫混沌了。
但也算成功給出了這類題型多項式時間內求解的優化算法。
十分幸運,米村給出的題目中,就有一道屬于被他解決掉的那一系列的。
雖然表面看上去和蛋白質折疊毫無關系,其實只要證明歸約一下,就可以簡單復制粘貼了……
到底要不要給出證明呢?
因為給了,就難免被看到了,雖然發表過了,不是又被回收了嗎?
葉寒確認的問了一下:“我這證明是肯定沒有問題的,不過……你確定出題的人,能看懂我的證明嗎?”
這個事一點都不好笑。
提出三大尺規作圖不能問題的希臘人,能看懂萬芝爾和林德曼的證明嗎?
意大利的塔塔利亞、卡爾達諾,看得懂伽瓦羅的群論嗎?
就算費馬,看得懂安德魯·懷爾斯那130頁的論文嗎?
提出問題者,根本沒理解自己提出的問題到底有多難,這在數學界稀松平常。
甚至可以說,每一個著名的猜想,都存在同樣的問題——猜想歲數不夠大,活的時間不夠久,那肯定不著名不牛嗶。
而只要牛逼,證明過程一定是極復雜的,出題者幾乎不可能看懂的。
葉寒論文通過,當初可是經過了長達數月的同行評議的。
米國人那邊實力再強,葉寒覺得,想湊齊有資格給自己做評議的同行人數,都是極難的。甚至一個沒有的概率,都要遠遠大過有。
為什么?
如果有,那對宇宙本質,還有量子力學、萬有理論這些方面的研究,早應該取得一定進展了,華夏村這邊就算參與不進去,也該有所聽聞的,但并沒有。
如果有,守關題目多半不會如此老舊,拾人牙慧;對外村的策略,想來也不會如此封閉保守不自信……
哦,他們給出了幾組參數,你將參數代入解法,只要規定時間內給出的答案正確,就可以了。
果然……葉寒忍不住推眼睛。
NPC問題雖然都沒有多項式內的最佳解法,卻也有不少逼近的算法,什么貪婪算法、分治算法、動態規劃算法、遺傳算法……
這幫人給出的驗證解,十有八九只要算法蒙對了,明明不對也會被認為對。
其實他的算法也是一種逼近算法,只不過能在任何給定的尺度,達到需要的精度,跟那些粗糙low嗶的算法完全不是一個檔次。
“我可以保證我的算法足夠準確,可沒法保證那些人給的解足夠正確……”
看不懂論文,得靠黑箱測試,如此露怯,葉寒對這幫人給的答案可不樂觀。
考試的時候,出題人給錯答案的事情難道還少嗎?
如此說著,他向系統討了參數,開始代入驗證。
有點意外,雖然這七八組參數數據很多位數很長,復雜度極高,對方給出的答案竟然完全正確。
所以,一遍過!
葉寒的身體,開始欻欻閃光!
臥去臥去臥去臥去!這家伙真做出來了!
1秒:m.114zw8