2011年12月2日

圍棋與數學

作者/游森棚

最近發現平板電腦的大螢幕與觸控功能,用來下圍棋是最好不過了。於是下載了圍棋程式,或是津津有味上網看高手下棋。寫稿的同時,台灣到日本發展的當今頂尖棋士「棋聖」張栩正在進行「王座」的五戰三勝頭銜衛冕戰,才剛下完第一局。

圍棋是在19 × 19 的棋盤中黑白雙方輪流在交叉點下子,比賽圍空地的遊戲,圍了一個空白交叉點就稱為圍了一目,多的獲勝,但先下的黑棋因先手有優勢,最後計算要扣掉6.5目。所以圍棋沒有平手,一定分得出勝負。

十幾年前個人電腦剛流行時,就有圍棋程式了。但是那時的程式棋力實在無甚可觀——讓電腦九子還可以倒贏一百多目。但這個月我才發現當今的圍棋程式遠非吳下阿蒙,不小心亂下會輸給電腦的!
主要原因當然是科技發達。電腦的計算能力與速度愈來愈強,加上巨大的資料庫,這使得很多流行的棋,人類都已經下不贏電腦了。

比如說黑白棋(Riversi,或稱Othello),電腦黑白棋老早就已經把人類遠遠甩在後面。讀者如果會下黑白棋,可以上網下載程式「斑馬」(WZebra),這是一個非常強的免費黑白棋程式——一盤黑白棋不過六十四步,電腦不僅可以考慮到二十步之後的局面,而且有自我學習的功能!

西洋棋與象棋的狀況好一點。這兩種棋,最強的電腦程式和頂尖的棋手相比,仍然互有勝負。兩年前的專欄中有提及,IBM的超級電腦「深藍」在1996年以24 輸給西洋棋的棋王,隨後在1997 年以3.52.5 打敗棋王。2009 年電腦象棋程式的前三強,分別與三位象棋高手下棋,以四勝二和立於不敗之地。

我想不出幾年,隨著演算法(algorithm)和人工智慧(A.I.)不斷改良,配合電腦速度與更龐大的資料庫,很快地,下象棋與下西洋棋時,人類也要被電腦甩到後面去了。

這樣看來,圍棋目前看來是人類的最後一個堡壘。主要的原因不出以下幾點:

一、棋局變化太多。人工智慧專家Allis曾估計,若一盤圍棋平均150手結束,每一手有250個選擇,則共有約10360個棋局。這可是一個天文數字——全宇宙的原子總數估計是1080個。古今中外的棋局不知凡幾,但是幾乎不可能有兩盤棋重複。

二、搜尋深度太深。一個局部看起來沒有用的子,也許在五十手後變成一個勝負的關鍵。要電腦搜尋五十手,資料庫要非常龐大。這也就是我很佩服職業棋手的原因之一。

光是先下後下的差別就必須補貼到6.5 目,這是難以想像的世界。幾年前轟動一時的漫畫「棋靈王」(後來更名為「棋魂」),就是在描寫職業棋手的世界。劇中有下盲棋(沒有棋盤,全憑想像),一色棋(雙方用同樣顏色的子下棋),以及最不可思議的,看出再過幾十手後會輸棋而提早投降。【更詳細的內容,請參閱第504期科學月刊】

1 則留言:

magiclass 提到...

一、棋局變化太多。人工智慧專家Allis曾估計,若一盤圍棋平均150手結束,每一手有250個選擇,則共有約10360個棋局。這可是一個天文數字——全宇宙的原子總數估計是1080個。古今中外的棋局不知凡幾,但是幾乎不可能有兩盤棋重複。

這裡應該有點問題。棋局的總數應該是10的360次方,原子總數則是10的80次方。大概是把文章貼上來時沒有修改到。