每年夏天,世界上最好的撲克機(jī)器人都會(huì)聚到一起——其實(shí)是開發(fā)它們的計(jì)算機(jī)科學(xué)研究人員聚到一起——舉辦一個(gè)撲克錦標(biāo)賽。近年來,有三個(gè)機(jī)器人團(tuán)隊(duì)顯露了比較明顯的優(yōu)勢(shì):第一個(gè)是阿爾伯塔大學(xué)的團(tuán)隊(duì),目前有大約十幾人在開發(fā)撲克程序。接下來是卡內(nèi)基梅隆大學(xué)的團(tuán)隊(duì),他們的撲克機(jī)器人名為 “Tartanian”。然后是獨(dú)立研究者埃里克·杰克遜(Eric Jackson),他開發(fā)了一個(gè)名為“Slumbot”的程序。

錦標(biāo)賽采用的規(guī)則分好幾種,各個(gè)團(tuán)隊(duì)會(huì)根據(jù)規(guī)則不同對(duì)機(jī)器人的“個(gè)性”進(jìn)行調(diào)整。有些比賽采用淘汰制,每一輪都有兩個(gè)機(jī)器人互相對(duì)抗,到結(jié)束時(shí),籌碼最少的機(jī)器人會(huì)被淘汰。為了贏得這種比賽,機(jī)器人需要有強(qiáng)大的求生本能。它們的得分只要能順利進(jìn)入下一輪就足夠了——太貪心不是好事。然而,在另外一些比賽中,總分最多的機(jī)器人才能獲勝。在這些比賽中,機(jī)器人就需要盡可能地每場(chǎng)多贏一些,因此它們需要有更強(qiáng)的進(jìn)攻性才行。
大多數(shù)參加錦標(biāo)賽的機(jī)器人已經(jīng)開發(fā)了好多年,經(jīng)過成百上千萬次,乃至數(shù)十億次的撲克訓(xùn)練。然而,錦標(biāo)賽的獎(jiǎng)金并不多。獲勝的研究人員可能會(huì)覺得很自豪,賺到了吹牛的資本,但他們獲得的獎(jiǎng)金數(shù)目和拉斯維加斯沒法比。那么,這其中的誘惑又是什么呢?
撲克與象棋的不同之處
每當(dāng)一臺(tái)計(jì)算機(jī)玩撲克的時(shí)候,它面對(duì)的是一個(gè)我們大家都很熟悉的問題:如何處理缺少的信息。
在一些游戲中,比如下象棋的時(shí)候,信息不是一個(gè)問題。玩家可以看到的一切。他們知道哪個(gè)棋子在哪里,對(duì)手是怎么走棋的。這種游戲的關(guān)鍵不在于玩家無法觀察到事情,而在于他們無法處理所有可用的信息。這就是為什么一只猴子隨便下的棋有可能(盡管可能性很渺茫)打敗象棋大師的原因。
有了良好的玩游戲算法——以及強(qiáng)大的計(jì)算能力——信息處理問題是可能破解的。所以阿爾伯塔大學(xué)計(jì)算機(jī)科學(xué)家喬納森·謝弗(Jonathan Schaeffer)和同事們開發(fā)了完美的跳棋策略,形成了計(jì)算機(jī)如何破解國際象棋的一些理論。機(jī)器可以計(jì)算所有不同的棋子走法,用純粹的蠻力法擊敗對(duì)手是有可能的。但撲克就不一樣了。無論撲克玩家的牌技都多精湛,都必須面對(duì)這樣一個(gè)事實(shí):你看不到對(duì)方的牌。雖然撲克游戲也有規(guī)則和限制,但總是存在著一些未知因素。
在生活中,很多問題也有同樣的特點(diǎn)。比如談判、拍賣、議價(jià)——都是不完全的信息博弈。 “撲克是一個(gè)完美的縮影,可以代表我們?cè)诂F(xiàn)實(shí)世界中遇到的很多種狀況。”謝弗說。
“仙王座”駕到
2015年,阿爾伯塔的研究人員在《科學(xué)》雜志上發(fā)表了一篇關(guān)于“仙王座”(Cepheus)撲克程序的文章,標(biāo)題是《雙人限注德州撲克被攻破》(H eads-Up Limit Hold’em Poker Is Solved)。
在進(jìn)行了大量的訓(xùn)練后,仙王座可以成為撲克高手。為了積累經(jīng)驗(yàn),它一直不斷地玩撲克,大約每秒種兩千局。隨著時(shí)間的推移,它越來越善于探索可能的組合,這意味著在它的出牌策略中,對(duì)手可以攻擊的薄弱環(huán)節(jié)越來越少。最終,這個(gè)機(jī)器人學(xué)會(huì)了(從長遠(yuǎn)來看)如何避免失敗,哪怕它面對(duì)的是一個(gè)無懈可擊的玩家。研究人員用“遺憾最小化”算法來對(duì)仙王座加以完善:每場(chǎng)比賽之后,它會(huì)進(jìn)行回顧,考慮如果用另外的方式出牌,可能會(huì)出現(xiàn)怎樣的情況,然后再利用這些信息,從錯(cuò)誤中學(xué)習(xí)技能。
仙王座已經(jīng)表明,即使在復(fù)雜的情況下,它也可以找到一個(gè)最優(yōu)化的策略。研究人員指出,在一系列其他場(chǎng)景,比如設(shè)計(jì)守衛(wèi)巡邏路線,研發(fā)醫(yī)藥療法等等中,這種算法可能也會(huì)相當(dāng)有用。
當(dāng)然,這項(xiàng)研究還有一個(gè)不那么實(shí)用的原因。該團(tuán)隊(duì)在這篇科技論文的末尾引用了阿蘭·圖靈的一句話,大意是說,我們做這項(xiàng)工作的主要?jiǎng)訖C(jī)是因?yàn)樗錆M了樂趣。
人類處在劣勢(shì)了嗎?
電腦程序在象棋、跳棋、撲克游戲中表現(xiàn)不凡,你可能會(huì)覺得,人類在這樣的比賽不再具有競(jìng)爭(zhēng)力了。圖靈曾指出,如果一個(gè)人試圖假裝自己是一臺(tái)機(jī)器,“他就會(huì)表現(xiàn)得很糟糕。”讓一個(gè)人來做計(jì)算,他的速度會(huì)比計(jì)算機(jī)慢得多,而且還更容易算錯(cuò)。
即便如此,這個(gè)世界上仍然存在著一些令機(jī)器人發(fā)懵的情況。在玩智力游戲《危險(xiǎn)邊緣》(Jeopardy!)的時(shí)候,IBM機(jī)器人“沃森”對(duì)長度較短的線索最感頭痛。如果主持人說出一個(gè)類別和一個(gè)名稱,比如“第一夫人”和羅納德·里根 —— 沃森需要很長時(shí)間才能在其數(shù)據(jù)庫搜索找到正確的回應(yīng)(“誰是南希·里根?”)在這個(gè)節(jié)目中,如果主持人給出的線索較長,也比較復(fù)雜,沃森就可以擊敗人類選手,但是如果線索只有幾個(gè)詞,人類就會(huì)占上風(fēng)。在問答節(jié)目中,“簡潔”似乎是機(jī)器人的天敵。
撲克游戲也是如此。機(jī)器人需要時(shí)間來研究對(duì)手的出牌方式,然后加以利用。而職業(yè)撲克玩家可以更迅速地摸清其他玩家的手法。 “人類善于利用很少的數(shù)據(jù)來做出有關(guān)對(duì)手的假設(shè),”謝弗說。
阿爾伯塔大學(xué)的撲克團(tuán)隊(duì)也發(fā)現(xiàn),人類特別容易受到強(qiáng)硬戰(zhàn)術(shù)的影響。 “一般來說,人類撲克高手在擊敗對(duì)手的策略方面,虛張聲勢(shì)是很重要的一條,” 阿爾伯塔大學(xué)的計(jì)算機(jī)科學(xué)研究員邁克爾·約翰森說。 “虛張聲勢(shì)策略給對(duì)手施加了很大的壓力,讓他們做出艱難的決定,因此往往非常有效。”在和人類玩家玩牌時(shí),機(jī)器人也試圖模仿這種行為,引發(fā)對(duì)手的錯(cuò)誤。
也就是說,機(jī)器人似乎可以通過模仿人類的行為來獲得很多優(yōu)勢(shì)。有時(shí)候,就連模仿人類的缺陷也會(huì)帶來好處。