電腦「深藍」一舉擊敗國際象棋大師卡斯帕羅夫震驚了西方世界,可這一消息在東方頂多讓人打個哈欠而已。
儘管在日本、中國、韓國和其他國家有很多人鍾情於國際象棋,但在那裡更流行的還是看上去再簡單不過的圍棋。這一古老的遊戲精深美妙,其之於國際象棋好比東方拳術之於西方拳擊。如今的圍棋迷們自豪地發現,電腦要想正兒八經地玩一玩這一迄今為止最純粹的「人類」的遊戲,還差得遠呢。
台灣的應昌期先生懸賞140萬美元徵求第一台擊敗圍棋高手的電腦。重賞之下必有勇夫,過去十年來,電腦設計家們絞盡腦汁,的確使圍棋電腦的本領日漸提高。目前在美國和日本舉行的國際電腦圍棋年賽,冠軍獎金均約為25,000美元。然而儘管這些冠軍們的才技鶴立雞群,在與學棋約一年的人比賽時仍然不堪一擊。初學者便可以橫掃當今所有的圍棋電腦,用不著有個卡斯帕羅夫。
「深藍」能夠擊敗國際象棋冠軍,靠的是基本的行棋知識加上強大無比的檢索演算能力。而這排山倒海般的能量在圍棋的精妙面前完全無能為力。迄今最強的電腦圍棋程序之一「多面圍棋」的設計者、美國惠普電腦公司的工程師大衛·佛特蘭德說:「強力檢索對圍棋全無作用。你得創造出一個像人一樣精明的程序來。」
要使電腦下出的圍棋多少像點樣子,必須使其具備辨認各種微妙複雜的圖形的能力以及運用自身直覺經驗的能力。這種能力正是人類智慧的一大特點。如果真有一天電腦能打敗圍棋高手,那將標誌著人工智慧開始成為實實在在的東西了,也將宣告又一個科技時代的到來。
下圍棋時,棋盤上的圖形如美麗的花瓣一一展開,人的思維就沉浸於這些圖形所構成的美妙世界中,一串串列雲流水般的行棋次序猶如一首首如泣如訴的旋律。關鍵就在於如何使電腦能夠譜寫並體會這視覺的音樂。表面上看來,圍棋似乎比國際象棋簡單:64個方格上的國際象棋每一方各有16隻棋子,等級從兵排到王;每隻棋子只能根據規則以自己特有的方式移動,譬如象只准走斜線,馬只准走L形等。而圍棋則沒有那麼複雜的規定。所有的棋子都是一樣的,對局者將黑白棋子分別放置在19路見方的棋盤的未被佔據的交叉點上。國際象棋在開局時,全部的棋子都在棋盤上,以後逐漸減少。而圍棋則是從零開始,361個交叉點,處處是戰場,有的地方硝煙瀰漫,有的地方則風平浪靜,有時幾處同時燃起戰火。通常人們把國際象棋比做一場中世紀的戰爭,圍棋則更像是一場烽火連天的世界大戰,很多情況下很難說清哪一方領先。在世界專業水平的國際象棋比賽中,如果你丟掉一個兵,棋局的結果在絕大部分情況下便有定論。而在圍棋中,也許你在某一局部的生死搏鬥中丟盔卸甲,但比賽可能遠沒有結束,你還可以在別處捲土重來。
對於電腦來說,國際象棋與圍棋的種種區別是無法逾越的巨大鴻溝。由於棋子移動方式的制約,國際象棋棋手在思考下一步棋時,大約只有35種合法選擇。「深藍」等電腦會針對這些選擇加以分析,考慮對手的回應以及下幾個回合可能出現的情況。最好的國際象棋電腦程序可以分析到七八個回合。這種信息檢索選擇方式就好比一棵枝葉繁茂的大樹:主幹分出35個枝幹,每個枝幹再分成35個樹杈,每個樹杈再分出35個樹枝,依此類推。愈是高級的電腦程序所派生的樹杈樹枝的層次就愈多,最終達到每一片樹葉,即可供選擇的結果。如要求電腦能思考到第7個回合,即14步棋,便需要有3514(十億萬億以上)片「樹葉」。每多一個回合,樹葉的數量就有爆炸性的增長。電腦工程師們使電腦能夠合理地「剪枝」,僅使一部分而非全部樹葉與主幹相連。儘管如此,能夠思索7個回合的國際象棋電腦每步棋仍然需要有500億或600億種選擇。
這樣的數字已足夠驚人,而電腦下圍棋則更不可思議。選擇之樹的龐大茂密使迄今最強大的電腦也無法承受。下第一步棋時,361點的任何一點都是合法的,而第二步棋有360個合法選擇。隨著棋局的進展,選擇逐漸減少。但一般說來,每步棋平均約有200個選擇,而國際象棋僅有約35個。也就是說,國際象棋在4步棋之後,全部棋子在棋盤上的位置變化大約為150萬種(35×35×35×35=1,500,625),而圍棋則有16億(200×200×200×200=1,600,000,000),在布局階段數字還要大得多。再多一回合,數字還會爆增:國際象棋為18億,圍棋為640億。要思考14步棋或7個回合,圍棋電腦的「樹葉」並非國際象棋的3514,而是20014之多。通過「剪枝」,還要剩下一億億種選擇,那麼一台與「深藍」同等速度的圍棋電腦(即每秒鐘可分析兩億種可能性)每下一子需要想一年半的時間。
還遠不止於此,即使經過如此這般上天入地的檢索,圍棋電腦在與人對局時並占不了多大便宜。國際象棋電腦在經過大量的信息篩選之後試圖找到使其處於最佳位置的那一步棋,所採用的辦法是稱做價值功能的相當簡單的公式:每個兵的價值為1、馬和象為3、車為5、後為9,這一數字再與顯示棋盤上位置強弱的另一數字相乘,以得出某一棋子在當時的相對值。還有其他一些公式用來決定某些概念的價值量,如王的安全程度或某一棋子受到攻擊的可能性等。這些規定雖不一貫正確,但能使電腦對棋局的進展有個大致的感覺並據此做出自己的決斷。而圍棋則不受這些簡單分析的約束。圍棋盤上並無像「王」一樣的棋子。每顆子都是平等的。統計雙方吃子的多寡也不能說明什麼問題。有時某一著棋便可以滄海變桑田,將對方苦心經營的領土化為己有,將對方的大龍變為自己的佐餐。
圍棋棋手們是通過對形狀的認識來評估棋局的進展,而對這些形狀的認識是無法做出幾何分析的。棋手完全依賴自身的經驗去感覺哪些形狀是活的或死的、好的或壞的。這一對形狀的感覺正是勝負的關鍵,也是棋手水平高低的關鍵。棋手不願浪費自己的棋子去無謂地攻擊對方活的形狀或無謂地去試圖挽救自己死的形狀。有時千鈞繫於一髮,高明的棋手也難以作出生死的判斷。要賦予電腦這種對形狀的感覺,電腦科學家們面臨著人工智慧領域的基本課題。佛特蘭德先生給他的圍棋程序「多面圍棋」輸入一些基本概念,如對領地的認識及對棋子連接的認識,並輸入二百多個高層次的戰術概念,如「攻擊弱棋」、「向處女地進行擴張」、「落後時開始無理的侵入」等。「多面圍棋」可辨認一千一百多個不同的形狀,每一種形狀都有一些可行的手數。像「深藍」一樣,「多面圍棋」儲存很多常用的開局形式及一些慣用套路。依賴這些儲存的知識,「多面圍棋」每一步棋僅在五至十種可能性中作出選擇,而非理想的二百多種。
給電腦輸入一些概念是一回事,而教給它靈活運用這些概念則是另外一回事。可接可不接的棋或可斷可不斷的棋什麼時候應連接或切斷?什麼時候又無需連接或切斷?比起人類對於模糊概念的處理能力,電腦今天還是個嬰兒。
能夠擊敗人類的圍棋冠軍而贏得應昌期圍棋基金會懸賞的140萬美元的獎金恐怕是個無法實現的夢。該項獎金將於2000年到期。圍棋電腦的設計師們希望把截止日期推遲一兩個世紀。