怕不怕(P/NP)?技術帖
尋找金券
一個糖果廠老闆決定推出一個活動,將五張金券藏到巧克力的包裝裡,而這種巧克力每年的產量數以千萬計。找到金券的人將得到一次珍貴的參觀工廠的機會。如何找到這些金券?你可以買儘可能多的巧克力。你可能會試試用磁鐵,可惜金沒有磁性。或者你可以僱傭數千人,讓他們每人篩查一小堆巧克力。
旅行推銷員問題
認識一下可憐的旅行推銷員Mary,她來自華盛頓特區,為美國木槌集團公司工作。她需要從家鄉旅行到48個州的首府,向各州法院推銷木槌。木槌公司為了削減成本,讓Mary找到通過所有城市的最短路徑。
劃分難題
看下邊38個數字:
14 175, 15 055, 16 616, 17 495, 18 072, 19 390, 19 731, 22 161, 23 320,
23 717, 26 343, 28 725, 29 127, 32 257, 40 020, 41 867, 43 155, 46 298,
56 734, 57 176, 58 306, 61 848, 65 825, 66 042, 68 634, 69 189, 72 936,
74 287, 74 537, 81 942, 82 027, 82 623, 82 802, 82 988, 90 467, 97 042,
97 507, 99 564
這38個數字之和為2 000 000。你能把它們平分成兩組,每組19個數字之和分別為1 000 000嗎?
手
你的手是最不可思議的工程裝置,它能戳、抓和指,能繫鞋帶,能射箭,還能彈鋼琴、拉小提琴,能變戲法,能駕駛車、船、火車或飛機。一隻手有27塊骨頭,5根手指。手具有結構複雜的神經、肌腱和肌肉,這些都包裹在富有彈性的皮膚裡。然而,這一不可思議的裝置,自然造物的傑作,卻不能自己做事,而只能執行人腦的指令。 然而我們的腦就能控制手。可以將腦看作一個效能強大的計算機,如果腦能控制手去繫鞋帶或是創作藝術,那麼計算機程式也一定能。知道這樣的程式存在並不意味著就能找到它們。隨著時間的推移,電腦科學家肯定會寫出更精深的程式,松岡的機械手將能執行更復雜的活動。這肯定是一個精彩的旅程,但也可能進展緩慢、舉步維艱。
一定要這樣緩慢嗎?想象一下,只要我們簡單描述一項任務,馬上就會有一個程式提供相應的功能;給計算機輸入一段演示人如何打結的電影,然後它立刻就能用機械手重複打結的過程;把莎士比亞全集錄入計算機,然後它就能創作一部新的“莎士比亞”戲劇;只要我們能認出某個東西,就能找到它。這些夢想都能成真——前提是P=NP。
P/NP問題的魅力就在這裡。究竟能否讓所有的事都變得易如反掌?還是說,有些事情註定就沒有簡單的解決方法?不能排除這種可能性。無論如何,我們並不指望著生活會那麼簡單。儘管我們並不認為P=NP,但這麼美好的世界卻讓我們忍不住充滿憧憬
P/NP問題討論的是以上所述的所有問題,以及許多與之類似的問題。它們歸根到底都是在問:我們搜尋大量可能性的速度能有多快?我們找到“金券”(即最佳答案)的過程能變得多容易?
P/NP問題是在1956年庫爾特•哥德爾在寄給約翰•馮•諾依曼的一封信中首次提出的,哥德爾和馮•諾依曼都是20世紀數學界的泰斗。這封信後來不幸遺失,20世紀80年代又被找到。P/NP問題在學術界的亮相是在20世紀70年代初,由斯蒂芬•庫克和列昂尼德•萊文獨立提出,當時兩位所在的國家正在冷戰。之後理查德•卡普列出了這個領域中的21個重要難題,包括前面提到的旅行推銷員難題和劃分難題。電腦科學家從卡普的工作開始認識到P/NP問題極為重要,由此電腦科學研究的方向發生了戲劇性的轉變。如今,P/NP問題的關鍵性作用已經不僅限於電腦科學領域,還延伸到其他許多領域,如生物學、醫學、經濟學和物理學。
P/NP問題已成為所有數學領域最難的開放問題之一。1994年安德魯•威爾斯證明了費馬大定理,受這一訊息的鼓舞,克雷數學研究所決定舉辦競賽,攻克他們認為最為重要而尚未解決的數學難題。2000年,他們列出了下面這7個千禧年難題,併為每道難題的攻破設立了100萬美元的獎金。
- 貝赫和斯維訥通-戴爾猜想(Birch and Swinnerton-Dyer conjecture)
- 霍奇猜想(Hodge conjecture)
- 納維-斯托克斯方程(Navier-Stokes equations)
- P/NP問題(P versus NP)
- 龐加萊猜想(Poincaré conjecture)
- 黎曼猜想(Riemann hypothesis)
- 楊-米爾斯理論(Yang-Mills theory)
千禧年難題中的龐加萊猜想已於2003年被格里高利•佩雷爾曼解決,但他婉拒了100萬美元的獎金。截至本書寫作時其他6個難題都尚未解決。
解決P/NP問題就能拿到100萬美元,這可是貨真價實的金券啊!
更妙的是,如果你能證明P=NP,那麼你也就掌握了找到金券的祕訣,解決其餘的千禧年難題將是舉手之勞。也就是說,證明了P=NP,你就能解決6道千禧年難題,並得到600萬美元。然而證明P=NP或P≠NP可沒那麼容易。一心想得到600萬美元的人最好去玩彩票,那樣把握更大一些。
相關文章
- 非技術帖
- 數字技術賦能鄉村振興NP
- 外掛製作--------過NP技術漸漸
- P2P技術(一):NAT
- P2P技術(2)——NAT穿透穿透
- AI數學基礎之:P、NP、NPC問題AI
- 從計算機CPU設計談P\NP問題(0)計算機
- 從計算機CPU設計談P\NP問題(1)計算機
- 淺析GPU通訊技術(上)-GPUDirect P2PGPU
- 技術解讀:Dragonfly 基於 P2P 的智慧映象加速系統 | 龍蜥技術Go
- 在此開帖整理常用或者NB的技術站資料
- 什麼是重複資料刪除技術(轉帖)
- 網路為鄰—P2P網站監控技術網站
- 英雄帖 | 深圳&廣州&珠海招募“機器學習Google開發技術專家”機器學習Go
- 在ITPUB連續1000多天發技術帖的日子
- 【轉帖】SAP NetWeaver整合化技術平臺解決方案
- P2P技術詳解(一):NAT詳解——詳細原理、P2P簡介(轉)
- 從計算機CPU設計談P\NP問題(2),圖靈機計算機圖靈
- 那些面經、技術帖和標準答案有什麼意義?
- numpy 中np.array 與 np.ndarry的區別
- Python:range、np.arange和np.linspacePython
- 淺析GPU通訊技術(上)-GPUDirectP2PGPU
- np.random.choicerandom
- 量子計算機加法運算的非確定型圖靈機例項,p=np計算機圖靈
- 【求助帖】從技術轉為專案經理後,如何快速進入角色?
- 技術普及帖:你剛才在淘寶上買了一件東西
- Python基礎——min/max與np.argmin/np.argmaxPython
- 使用P2P直播加速技術,IPTV直播系統可以節省多少頻寬?
- numpy中np.array()與np.asarray的區別以及.tolist
- P2P技術給網路音影片即時通訊帶來的發展
- np.random.multivariate_normal()randomORM
- np.stack函式函式
- python np.hstackPython
- python---np.shufflePython
- 破解NP的建議
- NP-完全問題
- [快取]迅雷下載的原理——P2SP加速技術快取
- 阿里宣佈開源容器技術Pouch和P2P檔案分發系統“蜻蜓”阿里