怕不怕(P/NP)?技術帖

英子發表於2013-12-09

尋找金券

怕不怕(P/NP)?技術帖

一個糖果廠老闆決定推出一個活動,將五張金券藏到巧克力的包裝裡,而這種巧克力每年的產量數以千萬計。找到金券的人將得到一次珍貴的參觀工廠的機會。如何找到這些金券?你可以買儘可能多的巧克力。你可能會試試用磁鐵,可惜金沒有磁性。或者你可以僱傭數千人,讓他們每人篩查一小堆巧克力。

旅行推銷員問題

怕不怕(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嗎?

怕不怕(P/NP)?技術帖

你的手是最不可思議的工程裝置,它能戳、抓和指,能繫鞋帶,能射箭,還能彈鋼琴、拉小提琴,能變戲法,能駕駛車、船、火車或飛機。一隻手有27塊骨頭,5根手指。手具有結構複雜的神經、肌腱和肌肉,這些都包裹在富有彈性的皮膚裡。然而,這一不可思議的裝置,自然造物的傑作,卻不能自己做事,而只能執行人腦的指令。 然而我們的腦就能控制手。可以將腦看作一個效能強大的計算機,如果腦能控制手去繫鞋帶或是創作藝術,那麼計算機程式也一定能。知道這樣的程式存在並不意味著就能找到它們。隨著時間的推移,電腦科學家肯定會寫出更精深的程式,松岡的機械手將能執行更復雜的活動。這肯定是一個精彩的旅程,但也可能進展緩慢、舉步維艱。

一定要這樣緩慢嗎?想象一下,只要我們簡單描述一項任務,馬上就會有一個程式提供相應的功能;給計算機輸入一段演示人如何打結的電影,然後它立刻就能用機械手重複打結的過程;把莎士比亞全集錄入計算機,然後它就能創作一部新的“莎士比亞”戲劇;只要我們能認出某個東西,就能找到它。這些夢想都能成真——前提是P=NP。

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萬美元的獎金。

  1. 貝赫和斯維訥通-戴爾猜想(Birch and Swinnerton-Dyer conjecture)
  2. 霍奇猜想(Hodge conjecture)
  3. 納維-斯托克斯方程(Navier-Stokes equations)
  4. P/NP問題(P versus NP)
  5. 龐加萊猜想(Poincaré conjecture)
  6. 黎曼猜想(Riemann hypothesis)
  7. 楊-米爾斯理論(Yang-Mills theory)

千禧年難題中的龐加萊猜想已於2003年被格里高利•佩雷爾曼解決,但他婉拒了100萬美元的獎金。截至本書寫作時其他6個難題都尚未解決。

解決P/NP問題就能拿到100萬美元,這可是貨真價實的金券啊!

怕不怕(P/NP)?技術帖

更妙的是,如果你能證明P=NP,那麼你也就掌握了找到金券的祕訣,解決其餘的千禧年難題將是舉手之勞。也就是說,證明了P=NP,你就能解決6道千禧年難題,並得到600萬美元。然而證明P=NP或P≠NP可沒那麼容易。一心想得到600萬美元的人最好去玩彩票,那樣把握更大一些。

相關文章