克雷數學研究所(Clay Mathematics Institute,CMI)是在1998年由商人蘭頓·克雷(Landon T. Clay)和哈佛大學數學家亞瑟·傑夫(Arthur Jaffe)創立,蘭頓·克雷資助的一家非牟利私營機構,總部在麻薩諸塞州劍橋市,機構的目的在於促進和傳播數學知識。克雷數學研究所給予有潛質的數學家各類獎項和資助,該研究所在2000年5月24日公佈的七個千禧年難題,它們是:html
(1)霍奇猜測程序員
(2)龐加萊猜測算法
(3)黎曼假設安全
(4)楊-米爾斯規範場存在性和質量間隔假設網絡
(5)NS方程解的存在性與光滑性機器學習
(6)貝赫和斯維訥通-戴爾猜測分佈式
(7)P=NP?函數
這七個問題被研究所認爲是「重要的經典問題,經許多年仍未解決」。解答任何一題的第一我的將獲頒予一百萬美圓獎金,因此這七個問題共值七百萬美圓。工具
近20年過去了,在這7個問題中,只有龐加萊猜測獲得瞭解決。對於普通的程序員來講,前6個難題或許過於遙遠,可是你必定據說過NP問題的大名。post
在我讀高中的時候,小浣熊乾脆面中的水滸英雄卡曾經風靡一時。當時1998年央視版的《水滸傳》剛開播不久,再加上課本上《魯提轄拳打鎮關西》和《林教頭風雪山神廟》的助攻,同窗們收集英雄卡的熱情空前高漲。
卡片雖然精美,可是每袋乾脆面只有一張英雄卡,想要收集齊全頗爲不易。一個快速收集的辦法就是多買乾脆面。當時的高中生並無多少零花錢,最富裕的同窗也不過天天買兩袋。在收集時也發現了另外一個問題,若是在同一家店買,那麼獲得重複英雄卡的概率會大大增長,有個運氣極差的同窗連吃了兩星期乾脆面,竟然獲得了十幾張豹子頭林沖。
住校的同窗紛紛求助於我這種走讀生,因而我天天多了一個任務,在上學路上的每一所食雜店購買小浣熊乾脆面。
英雄卡的人物漸漸豐富起來,你們還互相交換,只是到了畢業,仍然沒有人把全套英雄卡收集齊全。
回顧水滸英雄卡的故事,不管是加大購買量仍是擴大購買範圍,都很難達成「收集全套卡片」的最終目標,整個過程費時費力又費錢,還須要很大的運氣成分。若是沒有網購平臺,我甚至都不知道是否真有人可以集全。
水滸英雄卡的故事就是一個P/NP問題,它的焦點在於,集全英雄卡的過程是否可以變得垂手可得?
計算機能夠幫助咱們解決不少問題,可是仍有一部分問題可能永遠沒法經過簡單的計算獲得答案,試着解答它們是計算機科學家和數學們的重要挑戰。人們給這類問題了一個奇怪的名字——P/NP問題。
咱們討論的「有效」算法幾乎都是多項式時間算法,P/NP中的P就是指多項式時間(Polynomial)。一個複雜問題若是能在多項式時間內解決,它就被稱爲P問題,這意味着計算機很容易求解。
NP問題就是除了P問題以外的問題嗎?若是是就行了。世界老是很複雜,有時候咱們並不用能證實一個問題能在多項式時間內解決,同時也無法證實它不能在多項式時間內解決,也就是說這個問題是懸案,在當下看起來無法有效解決,可是誰也說不許在將來是否能很容易解決。對於這類問題,簡單地歸爲非P類問題就不和合適了,就像咱們沒法把創建月球基地和創建銀河星系聯盟歸爲非P類問題。
NP問題不是非P類問題,NP不是「Not P」的意思,NP指非肯定性多項式時間(nondeterministic polynomial)。NP問題強調的不是「是否能在多項式時間內找到解」,而是「是否可以在多項式時間內驗證解」,若是一個問題的解能夠在多項式的時間內被驗證,那麼這個問題就是NP問題。
咱們在 密碼疑雲 (3)——詳解RSA的加密與解密 中曾提到了RSA加密機制的原理:「將兩個大素數相乘很容易,可是想要對它們的乘積進行素因子分解卻極其困難」。假若有人告訴你3999991能夠分解成兩個素數的乘積,也許你不知道能夠分解成哪兩個素數,可是若是告訴你這兩個素數是1997和2003,那麼你很容易計算出1997×2003=3999991。
大整數的素因子分解就是典型的NP問題,有沒有多項時間的分解算法並不重要,重要的是若是有人給了你兩個素數,你很容易驗證這兩個素數的乘積是不是那個大整數。這符合通常的認知:在大多數時候,驗證一個解比獲得一個解更容易。
既然能在多項式時間內解決一個問題,必然也能在多項式時間內驗證這個問題的解,這意味着全部的P問題都是NP問題,P∈NP。
大約在公元前4200年,古代埃及人按尼羅河水的漲落和農做物生長的規律,把一年分爲氾濫季、耕種季、收穫季3個季節,每季分爲4個月,每個月30天,歲末增長5天節日,共計365天。
5000多年前,中國就有《陰陽曆》,每一年366天。魏晉南北朝(公元220年~公元518年)時期,祖沖之制定《大明曆》,首次將歲差計算入內,每一年365.2428天,與如今的精確測量值僅相差52秒。
古代瑪雅人已經知道了一些天體的精確運行週期,他們測得太陽年的長度是365.2420天,比現代的測量值365.2422只至少了0.0002天,至關於17.28秒。
通過漫長的歲月,不一樣的文明在不一樣的時期分別獨立發現了地球公轉的規律,從而制定了曆法,這至少從哲學上證實「曆法」這一律念是真實存在的。相似地,在不一樣時期的人們對不少不一樣領域問題的研究中,也都不約而同地提出了相同的問題——是否全部的NP問題都是P問題?也就是說,是否全部可以在多項式時間內驗證的問題均可以在多項式時間內解決?這個問題被簡稱爲「P=NP?」
所謂的「P/NP問題」,其實就一句話:證實或推翻P=NP。只要證實一個任意規模下的NP問題均可以在多項式時間內求解,就能夠說對於該問題P=NP,即該問題是一個P問題。
我常常聽到程序員們在討論問題時說:「××是NP問題,只能用蠻力法。」 程序員們的說法並不徹底準確,NP問題可沒有強調非得用蠻力法,只強調了在有解的狀況下能夠輕鬆地驗證解,他們真正指的應該是NPC問題。
NPC問題也稱NP徹底問題,是NP-Complete的縮寫。NPC問題知足兩點,首先,NPC問題確定也是NP問題;其次,全部NP問題都可以在多項式時間內規規約到NPC問題。爲何要將NP問題規約到NPC問題呢?這是由於人們發現某些NP問題的複雜性與整個類的複雜性相關聯,若是這些問題中的任何一個存在多項式時間的算法,那麼全部該類問題都是多項式時間可解的。這也符合常理,NPC問題是NP問題規約來的,因此NPC問題的難度必定大於NP問題,只要能在多項式時間內解決NPC問題,那麼NP問題也能在多項式時間內解決,此時NP問題也就變成了P問題,P=NP。
在《西遊記》的第二回中,孫悟空學成本領回到花果山後,得知不少猴子猴孫被混世魔王擄走,連水簾洞中的石盆、石碗也被搶了去。大怒的孫悟空在混世魔王的老巢將其「照頂門一下,砍爲兩段。領衆殺進洞中,將那大小妖精,盡皆剿滅。」在解救了衆猴後,對衆道:
「汝等跟我回去。」衆猴道:「大王,咱們來時,只聽得耳邊風聲,虛飄飄到於此地,更不識路徑,今怎得回鄉?」悟空道:「這是他弄的個術法兒,有何難也!我現在一竅通,百竅通,我也會弄。大家都合了眼,休怕!」
花果山的小猴們顯然無法在多項式時間內「弄的個術法兒」,可是能很容易驗證「弄的個術法兒」的結果,就是「只聽得耳邊風聲,虛飄飄到於此地」,所以能夠把混世魔王的法術看做NP問題。至於孫悟空,在學藝時從沒把猴子或相似的動物攝到空中,只修習了筋斗雲和七十二變,但因爲七十二變是高端的NPC法術,所以「一竅通,百竅通」,不只能順利地把衆猴帶回花果山,還在後續的大鬧天宮和西天取經路上施展過諸如三頭六臂、身外身、隱身法、定身術、元神出竅、法天象地、擔山趕月等其餘NP法術。
NPC問題是在P問題與NP問題上的一個重大進展,問題是,想要在NPC問題上找到一個多項式時間內的算法出奇地困難,難倒人們甚至不相信存在這樣的算法,就像孫悟空的「一竅通,百竅通」同樣,反正我沒見過誰能作到。
另外一個具備表明性的NPC問題是銷售員旅行問題(traveling salesman problem)。一個推銷員要從北京出發,通過上海、南京、杭州、南昌、廣州等n個城市,最後返回北京。每兩個城市之間都有直達的飛機、高鐵等交通工具。銷售員的交通費用預算是Q,他在每一個城市僅駐留一次,是否存在這樣一個行程,銷售員既能遍歷全部城市,又能讓總費用小於Q?
有人說這還不簡單?從北向南走就行了。現實生活中也許我也會這麼安排,可是加上預算費用後就不是那麼回事了。雖然上海到南京很近,但也許正好有一趟上海到廣州的特價航班,這時候又該怎麼選擇呢?若是用蠻力法遍歷,3個城市間會產生2!種路線,10個城市會產生9!=362880種路線,20個城市會產生19!≈1.21×1017種路線,在這麼多種路線中挑選,簡直太可怕了。
銷售員旅行問題能夠規約爲圖論中一個著名的問題,已給一個n個點的徹底圖(圖中每兩個頂點之間都存在權值已知的邊),求每一個頂點正好遍歷一次,且總權值小於某個值的封閉迴路。這是一個NPC問題,迄今爲止仍未一個找到一個可以應對大型問題的有效算法。正是因爲NPC問題的存在,才令人們廣泛相信P≠NP。
NP-hard問題也稱NP難題,從名字就知道,它是NP家族中最難的。NPC問題屬於NP-hard問題,因此NP-hard問題確定沒有能在多項式時間內找到解算法,至少目前沒有。NP-hard問題之因此hard,是由於對於一些NP-hard問題來講,即便給出解,也難以在多項式時間內驗證,因此NP-hard問題未必是NP問題。
「難以在多項式時間內找到解」容易理解,「即便給出解,也難以在多項式時間內驗證」又是怎麼回事呢?咱們把銷售員旅行的問題稍做修改,求使銷售員能遍歷全部城市,每一個城市僅駐留一次,且總費用最小的行程。首先能夠肯定至少目前爲止還不存在有效的算法,如今給了你一個解並告訴你這就是最終解,你如何肯定它的正確性呢?辦法大概仍是遍歷,把這個解與全部其它行程比對,從而肯定它是不是最優的,驗證解的複雜度仍然是n!。
NP、NPC、NP-hard的關係:
從廣義來講,在認可P≠NP的前提下,NP問題也指難以在多項式時間內求解的問題(本章所指的NP問題都廣義的NP問題)。在實際工做中,咱們常常會遇到很難解決的問題,若是這些問題是NP問題,又該怎麼辦呢?
琪琳是「甜品之家」的程序員,她爲公司編寫了一個甜品創新的程序,這個程序可以微調各類配料,找到最具口感的甜品。公司使用這個程序開發了一系列爆款的產品,大賺了一筆。經理最近突發奇想,打算製做一款「風味獨特」的小甜餅,這款小甜餅不只可以知足全部人的味蕾,甚者能讓一個獨眼蛤蟆開心地笑起來。可是此次,被寄予厚望的程序失靈了,這可難壞了琪琳,連續加班一個月都沒有絲毫進展。另外一公室的劉闖得知了狀況,拍拍琪琳的肩膀說:「這很明顯是個NP問題,科學家都不相信有辦法解決。別浪費腦細胞了,我們一塊兒去打乒乓球吧!」 琪琳恍然大悟,真的去打乒乓球了。沒過多久,經理就以「工做不負責任」爲由,扣掉了她的項目獎金。
對於NP徹底問題,雖然咱們確信沒法找到一個快速的解決方案,但生活仍要繼續,問題仍是要解決,此時不妨試試下面的7個辦法。
1. 縮小問題規模
NP徹底問題之因此困難,最重要的緣由之一就是搜索規模過於龐大,所以適當地縮小問題規模就成了須要首先思考的問題。
在構建機器學習模型時,常常面對過於複雜的數據特徵,這就須要用到數據降維技術。 數據降維,是解決數據「維數災難」的有效手段,即經過某種數學變換將原始高維屬性空間轉變爲一個低維的「子空間」,從而極大地縮小的原始問題的規模。
實際上「降維」並不只僅存在於機器學習和科幻小說中,它就在咱們身邊。《三國演義》爲咱們鋪開了近100年的歷史畫卷,這裏既有軍閥割據的混戰,又有政治和軍事的爭鬥,更有叱詫風雲的英雄人物。神奇的是,這些多維度的故事經過「文字」這一工具實現了有效的降維,從而有效縮小了問題的規模,最終呈如今平面媒體上。
除了降維外,設置約束條件也是縮小問題規模的有效手段。
在《三體2·黑暗森林》中,做爲「面壁者」邏輯向大史提出了一個NP問題——找一個二十歲左右的夢中女孩兒:
羅輯啜了一口酒,坐到史強身邊:「大史啊,我求你幫個忙。在你之前的工做中,是否是經常在全國甚至全世界範圍找某我的?」「是。我對此很在行,找人嗎?」「固然。那好,幫我找一我的,一個二十歲左右的女孩兒,這是計劃的一部分。國籍、姓名、住址?都沒有,她甚至連在這個世界上存在的可能性都很小。」大史看着羅輯,停了幾秒鐘說:「夢見的?」羅輯點點頭:「包括白日夢。」
這個「二十歲左右的女孩兒」是邏輯夢中的完美女朋友,人海茫茫,可否找到只能看緣分,甚至是否存在都說不許,估計絕大多數人都會拒絕或敷衍這個找人的請求。可是閱人無數的大史警官並無回絕,而是嘗試讓客戶捋清需求,問清這個女孩的具體長相、愛好和其餘屬性:
「她是一個,嗯,東方女孩,就設定爲中國人吧。」羅輯說着,拿出紙和筆畫了起來,「她的臉型,是這個樣子;鼻子,這樣兒,嘴,這樣兒,唉,我不會畫,眼睛……見鬼,我怎麼可能畫出她的眼睛?大家是否是有那種東西,一種軟件吧,能夠調出一張面孔來,按照目睹者描述調整眼睛鼻子什麼的,最後精確畫出目睹者見過的那人?」
「有啊,我帶的筆記本里就有。」
「那你去拿來,咱們如今就畫!」
大史在沙發上舒展一下身體,讓本身坐得舒服些,「不必,你也不用畫了,繼續說吧,長相放一邊,先說她是個什麼樣的人。」
羅輯體內的什麼東西好像被點燃了,他站起來,在壁爐前躁動不安地來回走着,「她……怎麼說呢?她來到這個世界上,就像垃圾堆里長出了一朵百合花,那麼……那麼的純潔嬌嫩,周圍的一切都不可能污染她,但都是對她的傷害,是的,周圍的一切都能傷害到她!你見到她的第一反應就是去保護她……啊不,呵護她,讓她免受這粗陋野蠻的現實的傷害,你願意爲此付出一切代價!她……她是那麼……唉,你看我怎麼笨嘴笨舌的,什麼都沒說清。」
「都這樣。」大史笑着點點頭,他那初看有些粗傻的笑如今在羅輯的眼中充滿智慧,也讓他感到很舒服,「不過你說得夠清楚了。」
「好吧,那我接着說,她……可,可我怎麼說呢?怎樣描述都說不出我心中的那個她。」羅輯顯得急躁起來,彷彿要把本身的心撕開讓大史看似的。
邏輯提供了一大堆無助解決問題的信息,僅僅是在需求外圍打轉,這種場景是否似曾相識?因而大史開始引導邏輯:
大史揮揮手讓羅輯平靜下來,「算了,就說你和她在一塊兒的事兒吧,越詳細越好。」
羅輯吃驚地瞪大了雙眼,「和她……在一塊兒?你怎麼知道?」
大史又呵呵地笑了起來,同時四下看了看,「這種地方,不會沒有好些的雪茄吧?」
「有有!」羅輯趕緊從壁爐上方拿下一個精緻的木盒,從中取出一根粗大的「大衛杜夫」,用一個更精緻的斷頭臺外形的雪茄剪切開頭部,遞給大史,而後用點雪茄專用的松木條給他點着。
大史抽了一口,愜意地點點頭,「說吧。」
羅輯一反剛纔的語言障礙,口若懸河起來。他講述了她在圖書館中的第一次活現,講述他與她在宿舍裏那想象中的壁爐前的相逢,講她在他課堂上的現身,描述那天晚上壁爐的火光透過那瓶像晚霞的眼睛的葡萄酒在她臉龐上映出的美麗。他幸福地回憶他們的那次旅行,詳細地描述每個最微小的細節:那雪後的田野、藍天下的小鎮和村莊、像曬太陽的老人的山,還有山上的黃昏和篝火……
在收集到一些信息後,大史開始縮小問題規模,將複雜的描述拆解成一個個定類屬性:
大史聽完,捻滅了菸頭說:「嗯,基本上夠了。關於這個女孩兒,我提一些推測,你看對不對。」
「好的好的!」
「她的文化程度,應該是大學以上博士如下。」
羅輯點頭,「是的是的,她有知識,但那些知識尚未達到學問的程度去僵化她,只是令她對世界和生活更敏感。」
「她應該出生在一個高級知識分子家庭,過的不是富豪的生活,但比通常人家要富裕得多,她從小到大享受着充分的父愛母愛,但與社會,特別是基層社會接觸不多。」
「對對,極對!她從沒對我說過家裏的狀況,事實上從未說過任何關於她本身的狀況,但我想應該是那樣的!」
「下面的推測就是猜想了,錯了你告訴我――她喜歡穿那種,怎麼說呢,素雅的衣服,在她這種年齡的女孩子來講,顯得稍微素了些。」羅輯呆呆地連連點頭,「但總有很潔白的部分,好比襯衣呀領子呀什麼的,與其他深色的部分造成挺鮮明的對比。」
「大史啊,你……」羅輯用近乎崇敬的目光看着大史說。
史強揮手製止他說下去,「最後一點:她個子不高,一米六左右吧,身材很……怎麼形容來着,纖細,一陣風就能刮跑的那種,因此這個兒也不顯得低……固然還能想出不少,應該都差不離吧。」
羅輯像要給史強跪下似的,「大史,我五體投地!你,福爾摩斯再世啊!」
大史站起來,「那我去電腦上畫了。」
大史成功地將一個NP問題加上了若干約束條件,最後找到了這個女孩兒,名字叫莊顏,只是比幻想中的「她」多了淡淡的憂傷。
2. 繞過問題
在碰到難題時,除了積極面對外,咱們也應當思考一下,問題是否真的有解決的必要?是否能夠繞過問題直指目標?
在第一次世界大戰後,法國爲了防止德軍入侵而在其東北邊境地區構築起了一道有鋼筋混凝土建造而成的防線,防線內部擁有各式大炮、壕溝、堡壘、廚房、發電站、醫院、工廠等,通道四通八達,較大的工事中還有有軌電車通道,這就是著名的馬其諾防線。馬其諾防線從1928年起開始建造,1940年才基本建成,造價50億法郎。這道「徹底防護」軍事思想的防線被譽爲「不可攻破的防線」。結果你們都知道了,德國人沒有對着馬其諾防線死磕,而是繞過防線,率領28個師穿入阿爬山區進攻比利時、荷蘭和盧森堡,還沒等法國人來得及反應,德國軍隊就兵臨巴黎城下,法國投降。
德國人的目標是佔領法國,馬奇諾防線是達到目標途中的一個難題,這個難題被輕易地繞開了。不少時候,「搬家」或許比「移山」更有效。
3. 轉換問題
另外一種值得一試的辦法是把待解決的難題轉換成另外一個可以解決的問題。
密碼疑雲 (3)——詳解RSA的加密與解密 中,Mallory並無嘗試破解「芒碭山系統」,而是經過一系列社會工程學的知識騙取了密碼,從而輕易進入「號稱可以安全運行100年」的系統。
最小二乘法(2)——多項式函數可以擬合非線性問題原理 中,咱們介紹了泰勒展開,它將一個難以處理的積分轉換成了無數個易於處理的簡單積分,使用極限的思想求解,達到化質爲量的目的。
網絡流(3)——找到最小st-剪切 中,咱們將多源點的押糧問題轉換成了標準的最大流問題,用已掌握的知識求解。
4. 退而求其次
若是在通向目標的途中必定要解決某個NP困難問題,那麼 搜索的策略(2)——貪心策略、A*搜索詳解(1)——通往基地的最短路線 介紹的一些有啓發性質的算法或許會提供一些參考;退而求其次(2)——遺傳算法 的遺傳算法還告訴咱們,在必要的時候應當放棄尋找最優解,轉而尋找能夠接受的較好解。若是考不上清華、北大,其餘「985」也不是不可接受。
5. 依賴計算機的高速運算
對於八皇后問題,1854年在柏林的象棋雜誌上不一樣的做者發表了40種不一樣的解。今天,咱們能夠經過近乎蠻力的搜索找到所有的92種解。
1946年誕生的ENIAC,每秒只能進行300次各類運算或5000次加法。
2019年,美國的「頂點」,取代「神威太湖之光」 成爲「世界第一計算機」,其預算速度爲20億億次/每秒。
75年間,計算機的速度已經獲得了極大的提高,雖然NP問題仍然是NP問題,可是技術的進步給了咱們一戰的勇氣,讓咱們可使用蠻力法處理一些中等規模的問題。
處理器運算速度的提高帶給了咱們更多的可能性。Square公司於1997年在PS上發行的角色扮演類遊戲《最終幻想7》,儘管劇情優秀,但畫質着實「感人」,可是在當年,那種充滿方塊感的畫面仍然是PS平臺上不可逾越的經典。2019年6月10日,Square Enix公司在美國洛杉磯舉辦了《最終幻想7》音樂會,宣佈遊戲《最終幻想7:重製版》將於2020年3月3日登錄PS4平臺,並公佈了遊戲的宣傳片。在宣傳片中,遊戲畫面十分華麗,人物幾可亂真。
計算機性能的提高能夠幫咱們解決至關一部分問題,這樣看來,蠻力法也不是那麼一無可取。
6. 嘗試NC搜索
隨着多核技術和分佈式計算的發展,咱們彷佛更有勇氣碰觸一些過去的禁地。咱們把那些可以經過並行計算快速找到答案的搜索稱爲NC搜索。然而遺憾的是,NP問題的規模也在擴大,咱們今天面對的問題也比過去複雜得多,所以NC也不是萬能藥。
儘管在將來,NP是否能用NC仍然不得而知,可是NC搜索能夠幫咱們快速解決一些小規模的NP問題,或者在可接受的時間解決一些中等規模的NP問題。
7. 打乒乓球去吧
當上述方案都無效時,大概能夠打乒乓球去了。
其實P/NP問題並不只僅是一道數學難題,它更像是一種指導思想,一種根據問題的困難程度將問題分類的工具。當面對一個NP徹底問題時,咱們知道沒有一個可以在全部狀況下都解決該問題的算法,咱們要作的並不死磕硬打,而是找到某些替代方法,作出某些「退而求其次」或「不得已而爲之」的選擇。
美國科幻做家艾薩克·阿西莫夫的小說《永恆的終結》講訴了一個關於時空的神奇故事:27世紀,人類在掌握時間旅行技術後,創造了「時空壺」,併成立了一個叫作「永恆時空」的組織,在每一個時代的背後,默默地守護着人類社會的發展。這一系列功勞都歸功於24世紀的一個名叫馬蘭鬆的偉大科學家,正是他發明了時間力場,從而創造了「時空壺」。儘管馬蘭鬆的後人們一直在使用「時空壺」,但並不明白它的運做原理,由於做爲「時間力場」理論基礎的「列斐伏爾方程」在24世紀尚未出現!隨着劇情的推動,最終揭示了完整的「因果鏈」——來自27世紀的庫珀爲24世紀帶去了「列斐伏爾方程」,並今後留在24世紀,最終更名爲馬蘭鬆。
歐幾里得在著做《幾何本來》時未曾想到會有內角和不等於180°的三角形。1830年先後,俄國數學家羅巴切夫斯基發表了關於非歐幾何的理論,即後來的羅氏幾何。在這種幾何裏,羅巴切夫斯基平行公理替代了歐幾里得平行公理,即存在直線a及不在a上的一點A,過A點至少有兩條直線與a共面且不相交。由此可演繹出一系列全無矛盾的結論,而且能夠得出三角形的內角和小於180°。正是羅氏幾何啓發了愛因斯坦,成爲發現廣義相對論的基礎。
對於NP問題來講,強調的是「不肯定」是否在能作多項式時間內解決。隨着科技的發展,過去「不肯定」的問題在將來未必不可觸及。既然P/NP問題的解決可能有賴於大幅度提高的理論和技術,那麼咱們不妨把但願寄託於將來,暢想一下P=NP的世界。
若是P=NP,基於NP徹底問題的密碼大廈將會瞬間傾塌,安全體系將會被重構;若是P=NP,電子遊戲將再也不侷限於策劃師設計好的劇本,而是像《安德的遊戲》中的心理測試遊戲同樣,根據安德的選擇作出自行演化;若是P=NP,DNA密碼將被破解,生命之謎將被解開,人類將獲得新一輪的進化;若是P=NP,機器人將被賦予更高級的智能,《銀河帝國》將再也不是幻想……到了那時,人類文明應當通向何方呢?
做者:我是8位的
出處:http://www.cnblogs.com/bigmonkey
本文以學習、研究和分享爲主,如需轉載,請聯繫本人,標明做者和出處,非商業用途!
掃描二維碼關注公做者衆號「我是8位的」