It's good to be a man
Culture

絕妙好棋竟是程式錯誤,超級電腦深藍戰勝棋王的祕密

By KLINT FINLEY
|
Deep-blue-kasparov

1997年5月,IBM超級電腦深藍(Deep Blue)打敗當時的世界西洋棋棋王Garry Kasparov,而Kasparov曾經誇耀自己絕對不會敗給一台機器。

Kasparov和其他的西洋棋大師一樣,認為勝負的關鍵是IBM機器的一步棋,不過這個說法見仁見智,總之在第一局棋結束或第二局棋開始的時候,電腦做出一個犧牲,看起來暗示著它的往後策略。

Kasparov和很多人都覺得那步棋,對一台電腦來說太高超了,事情必有蹊蹺,令人不禁聯想棋局中應該有人類外力介入。西洋棋大師Yasser Seirawan在2001年受訪的時候告訴《Wired》:「那步棋實在是不可思議的精妙,一面防禦,一面還可以阻斷任何反擊的可能性。這步棋讓Garry陷入混亂。」

離這場比賽已經過了15年,深藍的設計師之一表示,那步棋其實是深藍軟體的程式錯誤造成的結果。

這項出人意外的事實發表在一本由統計學家暨《紐約時報》記者Nate Silver出版的書中。這本書叫做《訊號和雜訊》(The Signal and the Noise),而且馬上就受到《華盛頓郵報》的Ezra Klein大力推薦。

Silver為了他的書訪問了Murray Campbell,他是設計深藍的三名IBM電腦科學家之一,Murray告訴Silver,深藍沒辦法選擇棋步,只能隨機挑一步棋來走。

深藍對抗Kasparov的比賽,被推崇為電腦科學史上對未來發展影響深遠的重大時刻,而這場比賽的失敗,也羞辱了人類智力;另一方面,這場比賽對人類來說也是個教訓,人類太容易過度宣揚自己的能力。

許多西洋棋大師長久以來宣稱,Kasparov在比賽中處於嚴重的不利地位;因為深藍的設計師有機會在棋賽之間調整深藍的程式,以因應Kasparov下棋的風格和策略,而且深藍的設計師可以拿到Kasparov過去在公開比賽中的所有資料。

Kasparov沒有深藍棋賽表現的紀錄,因為深藍在上一次跟他比賽之後被大改造過,Kasparov基本上等於是盲目作戰。眾人深信,深藍因為有上述提到的優勢,所以才能下出那步奇怪的棋。

IBM團隊的確在棋局之間調整深藍的演算法,不過他們實際上做的是修正造成神來一筆之棋的程式錯誤。要是比賽過程中深藍犯了錯誤,他們要確定深藍不會再犯,諷刺的是,那步演算錯誤的棋把Kasporav弄糊塗了,而且沒有人可以修正他的錯誤。

Campbell告訴Silver:「Kasporav當時的結論是,這種違反直覺的下棋方式,一定是有更高層智慧介入的徵兆,他從來沒有想過這只不過是個錯誤而已。」

深藍的最後一場比賽已經好幾年前的事,Kasparov和後來的棋王Vladimir Kramnik,已經跟不同版本的深藍繼任者Fritz(德國西洋棋程式)對抗過。不過在這些比賽中,不允許工程師在棋局之間修改程式碼,Kramnik甚至有機會在比賽開始之前和軟體練習,而且可以在棋局進行到第56步棋的時候暫停比賽,爭取時間分析對手的棋路。

可惜比賽結果並沒有振奮人心。

Kasparov在2003年和X3D Frintz的比賽打成平手,Kramnik在2002年和Fritz的第一場棋也是以平手收場,2006年的時候,Kramnik更是因為失誤輸給Fritz。

這些比賽的勝利對機器來說並非探囊之物,可是人類還是贏不了。雖然人類可以想出對抗電腦運算優勢的策略,但是人類會疲累、犯錯,而且被焦慮感折磨,但機器從來不會覺得疲累或慌張。

與其說西洋棋棋手和電腦之間的關係是敵對的,不如說他們的關係更像是共生,現在的西洋棋大師廣泛使用電腦做為學習上的輔助。

據說,現代的電腦讓深藍看起來微不足道,或許是時候該再次舉行比賽來證明孰強孰弱。

來看看原作者 KLINT FINLEYwired.com的觀點吧!

Source Photo Credit Tags
written wired.com
author KLINT FINLEY
photo_credit Adam Nadel
IBM , 西洋棋 , Gaming , 棋王 , 深藍

分享這篇文章

Wired為您推薦

Comments

comments powered by Disqus
Back to top