四名世界上最好的职业扑克玩家一月份的大部分时间都猫在位于匹兹堡的大河赌场,品味着失败。他们会在上午11点前准时出现,身穿时髦的运动裤和有型的球鞋坐在电脑屏幕前。每个人在夜里回到宾馆房间前差不多要打1500手在线无限级德州扑克的1对1单挑。这通常意味着每天工作都会超过晚上10点。在这漫长的一天里,星巴克杯和水樽散乱堆放在玩家键盘旁,Chipotle墨西哥卷饼快餐包装袋散落在他们脚边。
每当一个人类玩家打出一手牌,动作将会被传送到5英里外的卡内基梅隆大学(Carnegie Mellon University)的计算机服务器。从那里,一个指令将会再传递另外12英里才能到达玩家的对手那,这是运行与位于近郊Monroeville的匹兹堡超级计算中心的软件名为Libratus。Libratus立即打了8手牌---其中针对每个对手打两手牌。它以一个刻意的,足够让人发狂的缓慢速率驱动着它人类对手之一的Jason Les。“这让日子变得更漫长,”Les说,这个热忱的,有着运动范的男人,,似乎急切渴望能在上个星期的这个下午休息几分钟。“漫长的等待不应该影响我才对,但有时你就像是感觉,‘好吧,这是已经快要结束了?’“
Libratus,当然是不需要休息的。它与人类玩家在其他方面也有所不同。当赌注更高的时候,人类往往会思考更长时间。而电脑玩家在小彩池上出牌最慢,这是因为必须根据手头所剩更多的筹码而遍历所有的附加可能性而引起的。Libratus也倾向于做出巨大的,突然的赌注,违反标准的投注惯例而把它的赌资以一种不规则的金额和奇特的间隔押到彩池中。
从人类玩家的角度来看,这样的举止是令人气愤和鲁莽的,从长期来看还不“便宜”。但是Libratus作为扑克电脑玩家的主要属性就是“壕无人性”。当这场在大河赌场举行的20日比赛周一落下帷幕时,人类已经损失了180万美元。(实际上并不需要真正付出现金,钱是作为在扑克中计算得分的方式。)Tuomas Sandholm 和 Noam Brown,两位身为卡内基·梅隆大学的计算机科学家创造了人工智能Libratus,共同庆祝电脑首次在无限德州扑克--这个世界上最卓越的扑克游戏中打败了顶级的人类玩家。
人工智能专家一直使用游戏作为开发和测试他们的“创造物”的一种方式。计算机们已经击败了国际象棋,国际跳棋,西洋双陆棋和围棋游戏中最杰出的人类选手。因为机会的因素和玩家也不知道他们的对手持有什么牌,所以扑克游戏是一种独特的挑战。这种所谓的非完美信息博弈需要某种人类的狡诈--例如欺骗对手并且能够察觉到对方在欺骗你--而这是电脑所欠缺的。
“你在比赛中所看到的扑克游戏是无限德州扑克,它的声誉更多的来自于艺术而更甚于科学,”Adam Kucharski说,他是《完美赌注:科学和数学是如何从赌博中排除幸运》的作者。“有一种念头是这个游戏将会因为这些机器而更长久的安全。”
这种思想在近几个星期取得突破性进展。在一月初,阿尔伯塔大学(University of Alberta )的研究人员发表了一篇文章,内容是他们自己开发的名为DeepStack的AI击败了11个职业扑克玩家。
对于DeepStack是否能够击败Libratus是一个有争议的问题。Sandholm说,与他的机器人对阵的职业玩家比DeepStack击败的那些玩家更好。阿尔伯塔大学计算机程序负责人Michael Bowling承认这一点,但他也质疑这些人类玩家在连续奋战了将近一个月时是否还处于最佳状态。DeepStack的获胜优势也是Libratus的三倍。
两个人都认为扑克人工智能刚刚跨过了一个重要的门槛。对他们而言,这与扑克本身关系甚少。德州扑克只是他们寻找人工智能项目合作伙伴的一种方法,人工智能通过玩游戏的所得的收获会传回如网络安全这样的应用。“这是社区达成的主要基准数据,但这些算法并不是仅仅为了玩扑克而开发的,”Sandholm说到,他曾经是世界顶级的风帆运动员之一,外表看起来有点像比尔盖茨。“玩扑克只是一种通用的用途。”
Tuomas Sandholm领导卡内基梅隆大学的扑克研究项目
DeepStack和Libratus所玩的是一个特殊版本的扑克游戏。计算机匹配与每个对手单挑,而不是对抗一组玩家。每个玩家持有的筹码数量在每手牌之后会重置,从而消除了那种拥有大量筹码的玩家通过胁迫低端玩家进行高额投注而产生复杂的心理游戏。PokerStars--全球领先的在线扑克游戏平台的发言人Eric Hollreiser表示,这限制了AI给扑克产业所带来的威胁。 “虽然它在一个手动功能性基础上模仿扑克游戏,这与现实中牌桌上所发生的一切差别甚远,”他说。
还有其他类似实验在较少受控的环境中进行。自从科学家在实验室建立它们以来,扑克机器人就一直在进行在线赌钱的游戏。它们历来只玩低赌注游戏并从来没有被认为是老手。但是赌博行业分析师和在线扑克行业报告的发布商Chris Grove说,扑克机器人正在向更高赌注的竞赛中传播。 “如果你是一个在线扑克运营商,这很可能是你的头号欺诈忧虑,并且可能对相当大的利润空间产生影响,”他说。
扑克产业和学术扑克界已经悄然合作多年, 每个参与的人都对细节闭口不谈。 但是商业扑克机器人制造者和试图打击他们的人都密切关注学术工作的进展。 Bowling几个的以前的弟子已经去为在线扑克公司打工,并且至少有一个在销售用于在线博彩的机器人。
在扑克行话中,可以代替你玩游戏的程序被称之为“梦境机器”。在线论坛的参与者交换关于何时的可疑活动可能说明你在跟机器人对战 - 或关于他们如何制作自己的扑克机器人的"战争故事"。
加拿大博彩公司Amaya旗下的扑克之星游戏平台(PokerStars),专门雇用70人打击这种欺诈行为。 这些反欺诈员工直接联系可疑玩家并要求他们描述在某手牌上所采取的策略。 该公司还会向可疑玩家发送电子邮件,要求制作360度视频以显示其周围环境,随后玩超过一个小时的游戏,并且在整个过程中手和键盘要确保完全可见。
机器人不必拥有丰富的扑克游戏技巧就可以从游戏运营商那里获得盈利- 这对整个行业是危险的。一个程序通过榨取普通玩家而获得一定利润可能就会让人铤而走险。但是位于英国的在线游戏公司Gamesys的扑克策略主管Darse Billings说,实际上“梦境机器”和学术界所研究的AI使用不一样的技术,并试图解决从根本上完全不同的挑战。 打败低端玩家的程序并不仅仅是一个打败精英玩家程序的简化版本, 这是两个完全独立的问题。
Billings 比任何人都了解这两种扑克领域。 他在20世纪90年代获得计算机科学硕士学位,然后成为一个职业扑克玩家,以偿还学生贷款。 几年后,他回到学校与阿尔伯塔大学(University of Alberta)的计算机科学家Jonathan Schaeffer合作,其最出名是编写了可以完美进行国际跳棋比赛的软件。 Billings说服Schaeffer下一步专注于扑克。
为解开国际跳棋的问题,Schaeffer使用了一种基本上试图在任何情况下都计算最佳移动的方法,而并不去考虑到那一步发生了什么。但把每一步视为一个孤立问题在扑克这样的游戏中是没有意义的,因为这里涉及运气,而且并不是每个人都能获取到完整的信息。阿尔伯塔大学的研究人员开始制定一个整体战略,这需要采用在博弈理论中被称为纳什均衡(Nash equilibrium)的策略 --这是一种应用于双人博弈的方法,从长期来看不管对手做出什么反应都不会有损失。
纳什均衡并不是一个理想的游戏风格。 在扑克游戏中执行均衡战略的关键是打出最强和最有潜力的一手牌的同时还保持不可琢磨。“当你赌上你最强的一手牌的时候还是需要一丝谨慎的,”Billings说。该团队开发了一个谨慎风格的AI,被称为Pink先生,而另一个AI是积极进取风格,被称为Agent Orange。很难描述一个计算机程序的所作所为,这听起来不像你谈论的东西却实际上是你所思考的。
均衡策略吸引了阿尔伯塔大学的Bowling,其专长是博弈理论,并在2003年开始应用于扑克领域。Sandholm,作为卡内基梅隆大学Bowling的论文委员会一员,在接下来的一年转向扑克领域,采取了类似的方法。 Sandholm和Bowling从2006年开始共同举行年度的计算机扑克比赛,定期对顶尖的人类玩家。 撇开他们这种竞争关系,实验室一直在关注彼此的研究成果。
这两个项目在过去几年大幅进化到了最终阶段。 在2015年1月,Bowling的团队发表了一篇文章,显示它如何解决有限德州扑克单挑玩法--一种比无限制德州扑克简单的双人扑克游戏,因为玩家可以限制投注。 Sandholm和Brown(在过去五年里一直在扑克AI领域上与他一起工作的博士学生),在几个月后在大河赌场举行了他们第一次“人脑 vs AI”比赛。他们的机器,起名为Claudico,对抗四名职业玩家,在打了超过8万手牌之后损失了$ 73.2万。 Sandholm说,比赛势均力敌可以称之为平局,但至少有一个玩家对此表示有异议。
Sandholm和Brown说有自从那次比赛以来他们的AI在多个常规的方面有所改善。 Claudico在比赛的前期表现良好,但往往快结束时犯错。 它在错误的时刻虚张声势,并且根据桌上所打的牌计算牌局的时候总会遇到麻烦。最简单的情况,如果牌桌上有两张王,而你手头也有两张王,这可以推断出你的对手没有王卡在手。 Libratus在所有这些方面都有改进,它的创造者仍然在其他方面保持谦虚的态度,尤其是在如何根据一天的比赛过程中所学习而进行调整。
Libratus所有的细节最终将会在其创造者发表成果时一一揭晓。这种学术研究成果往往以各种方式渗透到现实世界的扑克比赛中。 据布朗说,年度的电脑扑克比赛(The Annual Computer Poker Competitions)也包括了进入现金游戏的参赛者。 Bowling说他的研究论文在留言板上受到造机器人者的欢迎。 “有整个独立的团队阅读并且试图理解这些论文,”他说。
Billings在2008年加入了扑克行业。他是少数之一离开阿尔伯塔大学项目之后这么做的人,而大多数人都加入了运行游戏平台的公司。 Richard Gibson 则自立门户,创办了一个名为机器人鲨鱼游戏公司(Robot Shark Gaming ),其主要业务是构建AI程序学习和打战略游戏,还创建了一个称之为Sportsbid的幻想体育公司。
Gibson 在2013年完成了博士学位,当时一群职业玩家提出让他提供可用于培训的软件并为此付费。 Gibson手头只有其中一个人的名字而从来没有私自会见过其中任何一个客户,并不确认这群玩家到底有多少人。“即使他们不将软件用于在网上赌博,这仍然是一个污点,”他说。
Gibson 开发了多个程序,并说他设计的软件来演示各种策略的有效性; 程序并不能自己运行。 在他最赚钱的一年里,Gibson 在那个项目上赚了大约10万美元,客户又额外在运行软件相关的计算能力上花了2万到3万美元。
匿名专业人士并不是Gibson的唯一客户。 在有一个案例中,他说有人支付他几万美元花约6个月建立一个轻量级的扑克机器人。 他没有询问客户将如何使用它 - 而且他并不想知道 - 但是设计方向指向一个特定的应用场景。 “我的客户想要一个独立运行的程序以便可以加载到他们的笔记本电脑,”他说。 “我想他们试图利用它玩在线游戏“。
在大河赌场每个夜晚结束的时候,Les和他的扑克专家同伴将订购外卖和仔细研究白天对战的数据以便尽可能寻找Libratus的弱点。在月初,他们每天早上醒来的时候都充满乐观的情绪,因为他们有了一些新的诀窍。 “我们在头几天发现了一些特定的漏洞,”Les说。 “我们利用漏洞反复攻击他们,但现在这些漏洞消失了。"
Libratus也在做出调整。 在白天,程序将其计算能力一部分分配在前台进行博弈出牌,另一部分能力分配在Sandholm所说的“持续战略改进”计算上。在晚上,程序完全侧重于战略分析,利用超级计算机的600个节点,相当于约 3,330台高端MacBook协同工作。
在扑克和其他一些游戏中,AI在顶层博弈,电脑制定的策略反馈给人类玩家。 Les说他试图弄清楚如何将一些Libratus的不规则投注行为适用于自己的比赛中。 ”这非常困难,我们基本上没有足够心智容量去做这个,”他说。
如果人类已经到达了对于他们来说电脑对手太过于完美这个节骨眼,像Sandholm 和Bowling所运营的实验室却面临着几乎相反的问题。与专业玩家一对一比赛是一回事。但将Libratus和DeepStack变成玩家有信心击败一群存在缺陷的人却并没有明确的演进路线。这是因为当其他人游戏的要点不是为了完美博弈而是为了识别和利用缺点,那AI使用的均衡策略在多人游戏中就会崩溃。
几年前Bowling做了一个实验,其中三个机器人互相对抗。 其中两个使用他的实验室最接近完美的机器人,而第三个机器人编程提高了鲁莽特性。 在比赛结束时,最笨的机器人仅仅丢失了少量的钱。 其中一个完美的机器玩家获得大胜,而另一个输的很彻底。
“这真的很困难。 如果你知道你要坐下来与不太优秀的人类玩家或其他程序一起比赛,你该采取何种策略?“Bowling说。 “你必须为此做好准备。"
via bloomberg