撲克牌或各類的棋藝,數千年來令無數的人為之著迷,究其原因,可用「規則簡單、變化無窮」八個字來形容之。也因如此,進入電腦世代後,卡牌遊戲及棋藝理所當然地成為測式AI人工智慧的指標之一,關於卡、牌、棋的電腦遊戲更是不勝枚舉。
雖然說電腦會玩牌、下棋早就不是新聞,但當IBM設計的超級電腦深藍(Deep Blue)打敗世界西洋棋棋王Garry Kasparov時,還是讓世人覺得驚訝,甚至產生人腦不如電腦的感嘆。
是時,乃距今約18年前的1997年。「距今約XX年」這種用語似乎用在50年以上的時間差距比較恰當,然而,在電腦的發展上,5年左右就已是一個世代的交替囉!
2008年時,由加拿大阿爾伯塔大學的電腦科學家所發展的電腦程式「北極星(Polaris)」,在拉斯維加斯所舉辦的人-機德州撲克大賽上,分別對上6位職業級選手,創下了3勝-2負-1和局的亮眼成績。在2015年1月的Science科學期刊上,同個研究團隊更宣稱新一代的電腦程式「仙王座(Cepheus)」可以解構「二人對決的有限注德州撲克比賽」。(取名為「仙王座」玩了一個天文學的梗,由於地球的進動,未來的極軸將指向仙王座而非現在的北極星。)
贏得一場比賽和解構遊戲是二種不同的境界,在賽局理論中,一個已解遊戲代表其數學模式已被掌握,可以推演出最佳的策略,讓全然理性的玩家立於不敗之地,比如說,井字遊戲就是一個怎麼玩也玩不輸的「已解遊戲」。
要解構德州撲克,是一件很瘋狂事,連上述最簡單的圈圈叉叉井字遊戲,交給AI處理,都會被視為一個有765個可能局面,26830個棋局的問題,更何況是52張牌所產生的變化。
當然,18年前的電腦可以打敗世界棋王,現在的程式能破解德州撲克似乎也只是剛好而已。然而,下西洋棋時所有資訊都在棋盤上,電腦可以利用資料庫內的棋譜及演算法,在各種可能中,找出勝算最大的棋步。反觀德州撲克是一種結合公牌撲克及梭哈喊注的遊戲,有些資訊是不透明的,而且看過電影「賭神」的人都知道二件事,第一,高義是個雜碎(這不是重點),第二,玩梭哈不只要會算牌,還要有牌運,更要具備會唬人心理素質及特異功能。
想當然爾,電腦一定很會算牌,而牌運這種東西,只要玩的局數多一點,在統計上敵我雙方應該是公平的。但,電腦還不至於會唬人吧!?是啦,電腦程式也許不會唬人,不過仙王座(Cepheus)有二座靠山,讓它至少不會被唬。
其一是它玩的是「有限注」的德州撲克,代表每次喊(加)注時,僅能增加一單位的籌碼,有了這條規則,就不怕對手大喊一聲「全梭了」,然後在那邊搓牌。另一座山,則是仙王座(Cepheus)真的很會算牌。
研究團隊表示,二人對決的德州撲克總共有3.16×1017種遊戲狀態,不過,由於不知道對方的手牌,有些狀態僅能等同視之,對於是否要喊注(bet)、跟注(call)、加注(raise)、過牌(pass)或蓋牌(fold)等等的決策點,剩下3.19×1014個。經過牌局對稱性的數學推算,所有需要處理的資訊,可以縮減到僅有1.38×1013個。
這麼多個決策點,誰來教仙王座(Cepheus)判斷孰優孰劣?答案是沒有人。輸入仙王座的資料僅有遊戲的基本規則而已,仙王座要做正確的決策得靠自已的經驗。這是研究團隊一次用了4000多個CPU,讓仙王座每秒可以跟自已玩60億手的牌,玩了二個月換來的經驗。把全人類有史以來玩牌的次數加起來也沒那它玩1秒那麼多,還要訓練二個月,實在是太犯規了。
但撲克牌總是運氣成份很高的遊戲,所以研究團隊也不敢說仙王座可以百戰百勝,只謙稱可以「本質弱解(essentially weakly solved)」二人對局的有限注德州撲克,意思是這個程式在統計上處於不敗之地。具體來說,如果一個人有跟仙王座同樣的能力,而他每天玩2400場德州撲克,玩了70年,平均而言,他只有1場會輸。
有興趣被挑戰仙王座嗎?你可以在線上跟它對決哦!網址是http://poker.srv.ualberta.ca/play。
可惜館主每次連線,網頁都顯示「維修中」,一定是怕我踢館,因為我就是沒有人!
參考資料:
- 阿爾伯塔大學Cepheus project官方網頁。
- “Know when to fold ’em: Researchers solve heads-up limit hold ’em poker‧” Phy.org Jan 08 2015.
- “Heads-up limit hold’em poker is solved.” Michael Bowling, Neil Burch, Michael Johanson, Oskari Tammelin, Science, 9 JANUARY 2015, VOL 347 ISSUE 6218,145-149.
本文轉載自吳京的量子咖啡館