(此篇轉文自某通識課討論區)

嗯,昨天(凌晨了....)聽了正反方的辯論,想說AI和電腦的差別,實在是有點傻傻分不清楚....~"~

不過在看到有關棋賽系統的介紹,我想就所知的跟大家分享一下~在那西洋棋的深藍系統之後。

這個系統在職業棋賽的勝利,可說是被拿來當作電腦勝過人腦的著名例子,況且這週的辯論裡也有被小提到一下。就各位所知,他已經證實能夠打敗人腦,也就是在邏輯思維上的極致。

但事實上,似乎並非所有類型的棋藝均能到達如此模擬的,在對弈的棋賽裡,大致上比較有名的分為三類,分別是西方的西洋棋、東方的象棋和圍棋。想當然爾,目前的模擬程度也大不相同,在我的印象裡(可能會記錯或更新,聽聽就好,有興趣者可繼續求證~"~),西洋棋已經達到巔峰,象棋則是約在職業3段左右,而圍棋則僅僅停在業餘2段(*註一)的程度。

*註一:圍棋可分成業餘30級,約有棋力者,可從丙組(10~7級)、乙組(6~4級)、甲組(3~1級),直升至業餘段位(初~六段);再者通過職業考試(此方面以日本棋院、中國棋院、韓國棋院、台灣棋院為準),可得到職業初段的資格,接續以職業賽和循環賽積分作為升段的依據,最高可至九段(" 十段"屬頭銜戰之一)。


當然,我們可以由格子數量的多寡來作直觀理解:西洋棋共64格,象棋共90格,圍棋則更是高達19的平方-361格。講到這裡,大家用簡單的排列組合應該就能了解,光是要讓電腦去記住每個棋格的變化,圍棋就來得難上許多許多(光是360!/90!,工程計算機就Math Error掉了 ....囧)。

再者,每種棋也都有不同的規則,均會影響程式設計上的難易程度;例如,西洋棋當中具斜行、斜殺和換堡等特殊規定,象棋則有飛砲和擋眼、拐角;至於圍棋,則是更為複雜的一種,稍後詳談。目前的電腦模擬系統,一般是以輸入大量的棋譜和攻防定式,交由電腦在對弈時,藉由對手的棋步來找出在建置資料庫裡類似的回應棋步。這樣的效果,在有限棋子數目的西洋棋和象棋裡頗有用處,因為棋子會愈來愈少,也就代表了變化搜尋的範圍是會愈來愈小的。再加上電腦並不具人類的情緒,儘管遇上了取王的危機,也能夠"冷靜"地去應對,從它的資料庫裡去尋找適合的應手,進而化解危機,很多職業選手常因此被反將一軍。

從此聽來,AI似乎在弈棋的領域內勝過了人腦,但這個觀念一直到了對圍棋的研究,才發現事情沒有想像中地那麼簡單。以下大概是我本人對圍棋AI系統的看法,並大致說明一下圍棋的規則等等。

首先,圍棋是一個棋子會"消失"和"增加"同時發生的益智遊戲,"圍"字之意,一方面指的就是去"圍殺"對方的棋團(此稱作"大龍"),但這仍無法精確地解釋"圍"棋的目的,更重要的不在殺敵,而是"圍地"。也就是黑白雙方,必須從空無一物的棋盤上,宣告並鞏固自己的領域,並適時去對他人的領域進行攻破和滲透。所謂"棋貴六和",正是指要能夠掌握攻擊和防守的關鍵契機,才能在圍棋盤上取得最後的勝利。(與中國的太極概念出自同源)

這種類似中國道家的虛實說法,要轉化成精闢簡要的程式語言,想來確實有實踐上的困難。若再深究的話,卻又有其階段性的分法。也就是依據一盤棋的弈手累積,分成前中後三階段,大致介紹:

(1)前期-序盤:

簡單說就是先在偌大的棋盤上,下幾手具關鍵性、能夠最有效率宣告領域範圍的棋(在下法上,可分成星、小目、締角,再組合則可成二連星,三連星,星位對小目,錯、向小目,秀策流,三三,大馬締、小馬締、外掛小目和中國流等等@_@b),接著再以近距離初步交兵的"定石"型式作應對變化。不同的佈局,所使用的定石應對自然各有不同,有時還會加上弈者苦心孤詣的奇招(如天元手或5-5、6-5高目飛手和妖刀、大雪崩等大定石變形),會在後面產生出其不意的效果。

這一階段,對電腦來說,我想是毫無問題的,因為設計者能將大量的序盤棋譜輸入資料庫,序盤多有流派之分(也就是習慣XD),古時研究歷史也較悠久,只要能將電腦比對的邏輯思維設計好,在對到初階者(泛指業餘3級到10級左右,普通人就甭提了~)時必能佔到便宜,只是對上高段者,頂多打到不分軒輊的地步,有時甚至還讀不懂突如其來的詭手。(職業高段者不可小覷,有時人都看不懂了....= =")

(2)中期-中盤:
中盤戰,可說是整場棋戰的重心。此時棋盤上的勢力大致上均已舒展開來,可說是到了短兵相接的地步。此時可說奇招併出,除了找尋對方薄弱的地方打入外,還得顧慮到黑白大龍間的氣勢強弱(外勢),進而取得己方的聯繫強化、盡可能擴張自己的領地,還有使對手的大龍凝型,已達到限制棋勢的發展並掌握主導權 (也就是先攻方的先手)。有些擅長進攻的強殺型棋士(個人覺得那是近年韓國風....=w=/),還會不惜代價與對手糾結成一塊,形成不得不戰的險棋態勢....

這一階段,很人性化,最需要當然是清楚的邏輯思維和能夠突破僵局的創造力;電腦的表現如何?一言以蔽之,實在有限。從機率的角度來看,此階段的樣本數幾乎趨近無限大,因為中盤是一種有連貫性的攻防戰,每一手之間都牽連到全局的變化,已超過當初序盤的局部性,萬一一個下不好的話,還可能會導致全局潰散的慘敗下場(就是大龍死了XD)。雖然電腦依舊有中盤的棋譜供其查詢調度,但這時卻無法保證對方的應手和順序了,若有空降打入的情形,電腦往往會在短兵相接時露出出乎意料的破綻,犯下初學者程度的錯誤。更危險的是打劫的問題(這問題到後期仍會出現),劫殺和緊氣(就是剩幾手會被圍殺)會同時交互進行,資料的獨一性和變化性更不可測,容易導致誤判的情況產生。

講到這裡大家應該很清楚了,電腦在這方面完全敵不過人腦的複雜思維,抑或可以說是設計者也無法去解析這樣的高等邏輯了。

(3)後段-收官:

再來要講到最後一階段,收官,也就是要分配雙方勢力的交界處。可說是一種「繁雜而單純」的計算,也是決定棋力的最後關鍵。大收官為交界處的先行手順收地,小收官進入單官前細算。

說來簡單,但是因為牽涉到先後手的優勢和數學計算,順序和獲利多寡的判斷,往往會左右那極微小的勝負差距(以目前職業國際棋賽黑貼六目半制,勝負多在3目半以內為正常,當然中盤獲勝不算~)只要有好的程式法則,電腦幾乎可說是無懈可擊,不過這就像計算機和人腦的差別,似乎不會令人太過意外。

--

全部說來,那為何電腦圍棋AI系統的發展卻還無法到達職業等級呢?最終問題還是出在那天馬行空的中盤。畢竟,圍棋這東西經由前人研究,至少有一千多年的時間(古時以日本發揚為主),都還無法找到一定的獲勝形式,諸如近代許多圍棋大師及其門下的潛心鑽研,都還是只稱能窺其一二(如吳清源宗師者儔....m- -m)。哪能道是幾位工程師和數學天才能在短時間內破解其奧妙?

端看這方面對人類邏輯藝術的極致鑽研,也是我認為AI始終無法取代人腦思考的主要例證之一。(我還是抱持以後不會超過人腦喔!=W=.b)電腦能夠處理那些被工程師解讀得極規律和單調的特例(當然是以極快的速度!),但在更細膩方面的處理,我想它還是有最終極限的。正因為寫電腦程式的還是人腦,科學家得青出於藍自身的思維,想來對人類的本身價值,還是瘋狂了些吧。

P.S:
唉....有時寫這種東西就會欲罷不能....>_<;
我記得台灣似乎也有在做這方面的開發,有空可以查一下~只怕跟現代生物學有點脫節了....囧
另外,我算是個自學了一點圍棋的興趣者,有什麼術語或解說不周詳的地方煩請指教。
最後感謝耐心看完的人,僅供各位分享,謝謝! :)

順便推廣~ 台灣棋院 http://www.taiwango.org.tw/

arrow
arrow
    全站熱搜

    星函(Seikan) 發表在 痞客邦 留言(3) 人氣()