從曆史的開端,人類就一直在是解決各種問題。從早期農業到太空探索,解決數學問題似乎是人類生存的一個關鍵因素。自上世紀70年代以來,一些曾經單調乏味的計算問題在一瞬間就可以解決,這主要是由于計算能力的指數級增長。然而,一些獨特的問題僅僅通過技術進步是無法解決的,即使對于最強大的計算機來說,解決這些問題所花費的時間比人的一生還要長。事實上,現代加密技術依賴于這樣一個事實:大質數不可能因式分解。這些問題似乎都有一個共同的難題,也就是P( polynomial time)對NP( non-deterministic polynomial time)謎題的核心——什麼是可化簡的,什麼是不可化簡的?
1859年,愛爾蘭數學家威廉·漢密爾頓畫了一個叫做伊科希的數學遊戲。這個遊戲是在一個由20個角(頂點)組成的木制十二面體表面上進行的。每個角落都标上了一個城市的名字。遊戲的目标是找到一個循環,即訪問每個頂點一次,然後返回起點。這種路徑稱為哈密頓循環。這個簡單的博弈産生了圖論中的一個重要問題,即哈密頓循環決策問題——給定一個任意地圖,我們如何知道它是否包含一個哈密頓循環?
給出一個圖,确定它是否包含一個哈密頓循環。
解決這個問題的一種方法是遍曆圖中任何可能的路徑,并檢查該路徑是否為哈密頓循環。然而,由于可能路徑的數量可以達到n的階乘。這樣,即使一個隻有40個頂點的圖也可能包含超過10^45條路徑,使得問題幾乎不可能在合理的時間内解決(即使對于最強大的處理器也是如此)。此外,由于頂點數量與路徑數量之間的階乘依賴關系,即使我們再增加一個頂點,也需要大幅提升計算機的計算能力。我們可以說,階乘增長的根本性質使這個問題比其他問題更困難。這就是數學問題的艱巨性——如果一個問題需要的資源随着投入的增加而急劇增加,那麼這個問題就非常棘手。
為了使這個想法形式化,計算機科學家使用了時間複雜度的尺度。時間複雜度指的是解決一個問題需要多少步長,以及所需的步長如何随問題的大小而變化。給定一個算法,算法的時間複雜度被描述為一個漸近函數,它依賴于算法的輸入大小。
漸進觀點是計算複雜性理論所固有的,它揭示了有限而精确的分析所掩蓋的結構——阿維·威格森
- 一個算法的時間複雜度被描述為一個漸近函數,它依賴于算法的輸入大小。一個主要的區别是階乘,指數和多項式複雜度函數。
對于具有多項式複雜度的算法和具有更基本複雜度函數的算法,有一個基本的區别。這種區别主要是由于多項式增長被認為比其他增長更為緩慢,因為增大輸入不會導緻所需步驟急劇增加。多項式(Polynom)是一種隻涉及加、減、乘和非負整數指數運算的構造,因此不是指數或階乘增長。選擇多項式來表示有效的計算似乎是任意的,然而,随着時間的推移,它從許多角度證明了自己的合理性。例如,多項式在加法、乘法和組合下的閉包保留了自然編程實踐中的效率概念,比如将程序鍊接到一個序列中,或者将一個程序嵌套到另一個程序中
具有多項式時間複雜度的算法被稱為“高效”。
多年來,為了有效地解決哈密頓循環決策問題,科學家們進行了許多嘗試。其中一種是Held-Karp算法,它能在指數時間内解決這個問題。然而,沒有已知的算法可以在多項式時間内解決這個問題,因此,它仍然被認為是一個難題。
- 邁克爾·赫爾德,理查德·史克和理查德·卡普。
然而,一個有趣的現象發生了,盡管我們不能有效地解決這個問題,給定一個路徑圖中,我們至少可以有效地檢查是否是哈密頓循環,因為簡單循環中的最大頂點數為n,則遍曆路徑所需的時間被多項式限定為n。。
這種現象也出現在其他難題中,例如數獨決策問題——給定一個不完整的數獨網格,我們希望知道它是否至少有一個有效的解決方案。任何提出的數獨解決方案都可以很容易地驗證,并且随着網格的增大,檢查一個解決方案的時間會多項式的增長。然而,所有已知的尋找解決方案的算法,對于困難的例子,時間會随着網格的增大呈指數增長。與哈密頓路徑決策問題相似,目前還沒有任何已知的算法可以有效地解決數獨問題,但是,隻要給出一個解,就可以有效地驗證該解。似乎許多其他決策問題都具有這一特性——不管它們是否能被有效地解決,它們所提出的解決方案都能被有效地驗證。這類問題被定義為NP。
如果一個決策問題的解能被有效地驗證,那麼這個決策問題就是NP問題。
首字母縮寫NP代表不确定性多項式時間(盡管人們普遍認為NP的意思是“非P”)。
進一步思考問題的可解性與其解的可驗證性之間的關系,我們可以得出下一個結論:如果一個決策問題是有效可解得,那麼它的解必須是有效可驗證的。為什麼?因為如果一個決策問題是可以有效地解決的,那就意味着我們可以有效地找到它的解決方案。然後,給出一個解決方案,我們可以簡單地通過與問題的實際解決方案比較來驗證它。換句話說,生成解決方案的算法的正确性自動證明了該解決方案。從這個結論可以看出,很明顯,NP包含的問題子集也是有效可解的。這個子集被定義為P。
- P是所有可有效解決的決策問題的集合,是NP的一個子集。基本算法是多項式時間可解的。象棋決策問題不屬于NP問題,因為沒有一種有效的算法可以檢查給定的棋盤是否有效。魔方決策問題屬于NP問題,因為判斷一個給定的魔方是否是一個解是很簡單的。
哈密頓路徑決策問題有一個有效的算法可以驗證它的解,因此,它屬于NP。有人可能會問這個問題是否在P中,一方面,我們不知道有一個有效的算法可以解決這個問題。另一方面,沒有證據表明這樣的算法不存在。事實上,這樣的算法仍然有可能存在,而且還沒有被發現。數獨的決策問題也是一樣,事實上,對于許多其他主要問題,包括布爾可滿足性問題,旅行推銷員問題,子集和問題,派系問題,圖着色問題——盡管我們已經證明這些問題是NP,但沒有證據表明他們在P 。這就是P=NP問題的意義所在:
P和NP真的是一樣的嗎?如果是的話,這就意味着NP中的所有問題都可以被有效地解決,盡管我們仍然沒有找到實現這一點的神秘算法。否則,在NP中存在一些無法有效解決的問題,任何嘗試解決将意味着浪費我們的時間和精力。
大多數時候,不能有效地解決問題是一件消極的事情。然而,在某些情況下,我們可以從問題的“硬度”中獲益。屬于NP而不屬于P的問題,其主要特點是很難解決,但很容易驗證其解決方案。
給定兩個正整數n和k,判斷n是否有一個質因數小于k。——質因數分解決策問題
由于該問題的解可以有效地驗證,因此我們知道該問題屬于NP,給定一個整數c,它需要“多項式時間”來知道c是否是一個比k小的質數,還是n的因數。但是,目前還沒有一種算法可以在多項式時間内解決這一問題。因此,使用兩個相當大的質數,就可以計算它們的乘法,這用于生成一個公鑰和一個私鑰。公鑰可以為所有人所知,并用于加密消息。使用公鑰加密的消息隻能在合理的時間内使用私鑰解密,假設沒有有效的方法将一個大整數分解為它的質數因子。
- RSA-2048有617位十進制數字(2048位)。它是RSA數字中最大的,因式分解獲得的現金獎金最高,為20萬美元。除非在不久的将來在整數因子分解或計算能力方面取得重大進展,否則RSA-2048在許多年内可能無法分解。
但是,如果P=NP,則最後一個假設是錯誤的。為什麼?如果P等于NP,那麼質因數分解問題在P中,這意味着它可以被有效地解決。因此,一旦找到這樣一個算法,任何公鑰都可以在合理的時間内解密,而不需要私鑰,這使得整個RSA密碼系統完全崩潰,至少在理論上如此。
但是P=NP的負面影響與它所具有的潛在好處相比,是無關緊要的。在數學、優化、人工智能、生物學、物理學、經濟學和工業領域中,确實存在着數以千計的NP問題,這些問題都是出于不同的需要而自然産生的,而有效的解決方案将使我們在許多方面受益。證明P=NP将意味着所有這些難題都可以在多項式時間内解決,這将導緻在那些卓越的算法之後進行大規模的智力追求。一旦發現,這些算法将有可能推動人類的進步,遠遠超出我們的掌握。
- Christian Boehmer Anfinsen是1972年諾貝爾化學獎的獲得者之一,因為他緻力于研究一種小的,耐久的100個氨基酸長的蛋白質核糖核酸酶A的折疊。該蛋白質折疊問題是一個NP問題。
即使這樣的結果,與解決NP問題的有效方法在數學本身引起的革命相比,也可能顯得微不足道。
以著名的畢達哥拉斯定理為例,該定理闡述了直角三角形的直角邊和斜邊之間的關系。這個定理有370個已知的證明。這些證明都是下列決策問題的一個可能的解決方案:“勾股定理是正确的嗎?”這個想法可以概括為:
如果T是一個定理,p是它的證明,那麼p是決策問題的一個解:“T正确嗎?”
數學定理與決策問題之間的這種關系允許我們推廣關于P與NP的讨論——如果一個證明的正确性可以在多項式時間内得到驗證,那麼相應的決策問題就是NP問題(因為證明是對該決策問題提出的解決方案)。在一個P等于NP的世界裡,這樣一個決策問題在P中,這意味着它可以用多項式時間來解決。解決這樣一個決策問題本質上就是找到定理T的證明。這可能意味着,在某種程度上,證明一個數學定理并不比檢查一個給定證明的正确性難多少。
P = NP可能意味着證明一個數學定理從根本上來說并不比驗證其證明的正确性更難。
最後的結論是值得注意的,因為每一個數學證明都可以形式化為一系列定義良好的邏輯陳述,并由計算機程序進行處理,自動驗證證明。因此,P = NP意味着證明數學定理可以用一個簡單的計算機程序來完成。
“P = NP可以通過允許計算機找到任何定理的形式證明來改變數學,隻要這個定理能證明一個合理的長度,因為形式證明可以在多項式時間内很容易地被識别出來。”——斯蒂芬·庫克
人們認為P=NP不太可能的一個心理原因是,提出數學定理這樣的任務通常需要一定程度的創造力,而我們并不指望一個簡單的計算機程序具有這種創造力。
我們欣賞維爾斯關于費馬最後定理的證明以及牛頓,愛因斯坦,達爾文,沃森和克裡克的科學理論,欣賞金門大橋和金字塔的設計,有時甚至是赫爾克裡·波洛和馬普爾小姐對謀殺案的分析。正是因為他們似乎需要一個飛躍,這不是每個人都能做到的,更不用說簡單的機械設備了——阿維·威格森
以上的觀點讓我們開始讨論人類大腦的本質。雖然科學離理解大腦的機制還很遙遠,但物理定律控制着它的行為。因此,就像其他自然過程一樣,大腦是一種高效的計算設備。因此,任何解決任何問題的方法隻要被大腦識别,就可以被有效地識别。因此,P=NP可能意味着大腦有能力以同樣的效率解決這些問題。
如果P = NP,那麼任何人類或計算機都将擁有傳統上被認為是神的那種推理能力,這似乎很難接受。
對于大多數人來說,像懷爾斯對費馬最後定理的證明或愛因斯坦的相對論這樣的驚人發現可以由一個沒有頭腦的機器人産生是不可能的,因為他們都有一個強烈的觀點,即創造力對于獲得這樣的見解是絕對必要的。
如果P=NP,那麼這個世界将是一個與我們通常假設的完全不同的地方。每個能欣賞交響樂的人都會是莫紮特。”——Avi Wigderson
複雜性理論家普遍認為P不等于NP,這樣一個美麗的世界是不可能存在的。2000年,克萊數學研究所将P與NP問題列為數學中七個最重要的開放問題之一,并為能證明P是否等于NP的問題提供了100萬美元的獎金。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!