2009年12月5日 星期六

首屆人類vs.電腦撲克牌大賽 Polaris程式落敗

在加拿大溫哥華先進人工智慧促進協會(the Association for the Advancement of Artificial Intelligence,AAAI)會議上舉行的全球首屆人機撲克錦標賽(The World's First Man-Machine Poker Championship),兩位撲克牌大師與名為Polaris電腦程式大戰,最後人類擊敗了電腦。

在這場競賽中,曾是世界巡迴撲克賽(World Poker Tour)冠軍、外號「The Unabomber」的機械工程師Phil Laak,以及遊戲顧問Ali Eslami化身專業撲克牌手,在最後兩盤比賽中擊敗Polaris,而Polaris在開始的兩盤比賽中一勝一平。儘管最後敗陣,但編寫Polaris程式的加拿大Alberta大學團隊仍對結果感到滿意。

「能在四盤比賽中獲得一勝一平,我們已經非常開心,這對我們來說是大幅進步的一個里程碑,」領到Alberta大學團隊的教授Jonathan Schaeffer表示:「在最後兩個回合中,人類選手全力以赴投入比賽,能獲得勝利理所當然。」

這場競賽是由撲克學院(Poker Academy)監督,的較量包含四盤500手(500-hand)的比賽,共有2000手撲克,由隨機選擇的幾副牌中透過電子方式發牌。有兩台具備相同Polaris程式的電腦同時在單獨房間內隔離的兩位撲克手進行比賽,每盤比賽結束時兩位選手共享獎金。而獲得勝利的Laak和Eslami總共贏到5萬美元的獎金。

不同於國際西洋棋比賽使用計時器來避免人類比電腦思考的時間長,這場撲克牌比賽允許人類選手根據他們的需要進行思考。因此,選手們不會像西洋棋手Gary Kasparov與IBM的Deep Blue電腦比賽時那樣犯明顯的錯誤,許多專家認為正是這個錯誤導致十年前Kasparov輸給Deep Blue。

「如果有時間限制的話,我們可能不會贏。」Laak在賽後表示。在第三盤比賽中,Polaris輸給了人類選手,而在比賽結束之後也在其程式中抓到了一個錯誤(bug);因此有激動的部落客指出,如果不是這樣的話人類選手可能會輸。不過Schaeffer並不同意以上說法。

「這個錯誤意味著Polaris未能按它應有的能力去比賽──在第三盤中所用的Polaris版本是一個學習程式(learning program),而這個錯誤意味著在比賽期間收集的一些資料並未被該程式所掌握。人類選手本應獲得勝利,與這個錯誤無關。」Schaeffer表示。

Polaris程式是數位大學教授、工程師與研究所學生的合作成果,由多種演算法所組成,並已事先透過一個龐大的資料庫進行比賽演練。在比賽期間,Polaris程式是由一台Apple MacBook Pro所執行,藉由電腦預先運算的結果來決定如何出牌。而具備學習模式的Polaris版本是在比賽的第三回合使用,包含了一些重要的即時(real-time)程式碼。

對工程師來說,打撲克牌可能聽起來並不難,而且以產業標準來說,此一程式設計案規模也不算大,僅包含兩萬行左右的程式碼。不過Polaris的關鍵並非在實際的軟體,而是其基礎概念。「在西洋棋界,當Deep Blue在速度更快的硬體上執行,就會變成更可怕的對手,不過Polaris的模式並不一樣,其關鍵在於所運用的演算法。」Schaeffer解釋。

研究小組計劃根據比賽期間的性能合力改善Polaris程式,此外Schaeffer也期望新進的研究生能在明年的比賽來臨之前提出一些新點子。「對於我們團隊而言,這是令人筋疲力盡的體驗,」Schaeffer表示:「但是賽後我們的團隊心情振奮,也期待能用改良的Polaris版本參加明年的競賽。」

(參考原文:Humans deal computer a loss in poker challenge)