国王德州联盟

德州扑克算法——AI打败顶级人类牌手

发布者:国王德扑联盟 时间:2020-11-16
“AI真的能打败顶级人类牌手吗?”
 
在单挑无限注德州扑克( heads-up no-limit hold’em)人机对战中,由卡耐基梅隆大学研发的AI程序Libratus以每100手14倍大盲完胜世界级人类玩家团队,震惊所有在场人员。



在单挑无限注德州扑克( heads-up no-limit hold’em)人机比赛中共打12万手,最后Libratus赢得了1,776,250个筹码,近90个买入。虽然人类玩家输惨了,但幸运的是他们并不需要真的自掏腰包把输掉的钱给赢家Libratus。
 
CMU博士Noam Brown评价Libratus是“AI扑克界的圣杯(the holy grail )”。Libratus由Noam Brown和CMU教授Tuomas Sandholm共同研发,是CMU这一系列扑克机器人里面最新的一款。此前,还没有任何机器人能在单挑无限注德州扑克中打败世界级人类选手。
 
超乎想象的结果
 
Brown对这次对战结果感到非常挺惊讶,他没有料想到AI能做得这么好。
 
当时他们认为AI还没办法以14bb/100打败人类,因为有许多AI是需要提升的,人类选手发现并充分利用了Claudico 的漏洞,比如他们让Claudico 多次采用“溜进”(译者注:limp,翻牌前专用名词,指玩家不做任何加注,只跟进1倍大盲注)战术。这一招非常有效果,是人类玩家打败Claudico 的关键。但是Libratus不是通过利用对方弱点赢的。

(Brown)
 
利用人类的弱点
 
Libratus和Claudico对战时,Libratus能够在不利用后者弱点的情况下以10~12bb/100打败Claudico ,这说明如果Libratus 没有任何弱点的话,能比人类更强。而Libratus这次之所以能打败人类,其原因就在于它没有任何人类可以利用的弱点。

 

在第一周比赛快要结束时,双方几乎打成平局。人类选手也在第一周对Libratus会如何调整打法、它的强项在哪里等做出了一系列推测。他们没有和Brown详谈他们认为战局将会如何发展,但从他听到的来看,他们应该是想从数据中寻找Libratus的套路,分析它的弱点和优势。他们认为AI在一些方面有缺陷,但实际上并没有。
 
比如,在有一天的比赛中,他们80%都是再加注( three-betting ),因为从数据来看,他们认为AI 对特定的三倍打法( three-bet size)不太擅长。他们在比赛进程中获得的数据导致他们得出了这样的结论。但他们确实看到了里面存在的一些问题。比如Libratus对特定的开局下注的大小对应不好。
 
比赛前Brown认为这不是什么大问题,但事实证明,这个弱点很要命。好在AI还留有一手——趁当天晚上对手睡觉的时候,AI就开始连续不断地进行训练,弥补自己的不足以防止对手以后再次利用这一缺陷。所以从第二周局势就开始转变了。

 
AI微调十分重要
 
人类对AI的误解有很多。AI微调不是说让它再加注(four-bet)的次数增多,或提高加注倍数,而是因为对手在翻牌前和翻牌时总是下不同大小的注。

 

AI程序知道如何回应2倍,2.5倍或3倍的开局下注。但如果对方以2.75倍开局,那么AI就会把2.75约等于3,所以它的回应还是比较准确的。这样的做法虽然算不上不合理,但如果它能不四舍五入的话,效果会更好。于是它那晚就整夜训练自己如何去回应2.75倍的下注。它下注的大小是由算法决定的,根据对手下注次数最多倍数,这个数字离我们事先设定好的一些数目离得有多远,算法可以为对手下的注分出优先等级。所以这就是微调所做的改变。
 
这也是算法中的关键部分,让AI一步步根据人类打法改变自己的路子,而不像他们之前猜测的去利用人类弱点。

 
AI也需要花时间思考
 
在转牌圈和河牌圈时,会发现AI需要花时间思考接下来的动作。这个时间非常迅速以至于有的人可能都没有注意到。其实,每次人类对手在转牌圈和河牌圈下注时,它都要重新计算策略。这样,无论对手怎么出招它都能给予完美回应。所以AI必须预先计算一系列的不同下注大小并放入到游戏树(game tree)中,但预先计算的不能应对转牌圈和河牌圈,因为这两个需要实时计算的策略。


AI的进步空间还有很多,没人知道AI离打出一个博弈理论中的最优化策略还有多远。度计算机扑克竞赛已经在计划加入6人桌比赛了,所以这方面的研究马上也会开始,而且brown认为该领域会发展非常迅速。
您的位置: 主页 > 新闻 > 德扑新闻 >