机器人玩转德州扑克网络菠菜业要完了
人工智能研究最近取得的突破,引发了关于机器人是否会给网络菠菜业构成威胁的质疑。
全球4名顶尖职业扑克玩家历经20天的鏖战,还是在美国匹兹堡的大河赌场(Rivers Casino)以失败收场。
比赛期间,他们会在上午11点前出现,身着运动裤和时尚的运动鞋,在电脑屏幕前坐下来。
在夜晚返回酒店之前,他们每天都需要玩1500手无限制德州扑克。这经常意味着他们需要打牌至晚上10点以后。
在一整天的时间里,星巴克咖啡和矿泉水就放在这几位牌手的键盘旁边,脚下则放着快餐袋。
当这些扑克玩家每一次做出动作时,这些动作都会被传输到位于5英里之外的卡耐基梅隆大学的一台计算机服务器。通过这台服务器,信号将被再传输12英里,至位于门罗维尔郊区匹兹堡超级计算机中心上运行的一款名为“Libratus”的软件。
Libratus同时玩8手牌--与每位选手同时玩两手牌。它从容不迫的做出决定,缓慢的速度让对手贾森·赖斯(Jason Les)几近疯狂。“它让时间变得更长,”赖斯说。“等待不应该影响我,但有时你会喜欢‘好吧,这是要结束了吗?’”
当然,Libratus永远不需要休息。在其它方面,它也不同于人类玩家。当投入更多的赌注时,人们倾向于思考更长的时间。Libratus在投入的筹码较少时玩的非常慢,因为手中有更多的筹码,它必须考虑到所有的可能性。Libratus还会违反标准投注习惯,突然加大筹码,不定时投入不规则数量的筹码。
对于人类扑克玩家来说,这样的行为是恼人的、鲁莽的,从长期来看也是代价高昂的。但是作为扑克玩家,Libratus的主要贡献就是它的无人性。
当为期20天的赛事在大河赌场结束时,职业扑克玩家合计输了180万美元。(事实上他们并不需要投入任何钱,这个数值只是在扑克比赛中用于计算得分。)
卡耐基梅隆大学负责开发Libratus的两位计算机科学家图奥马斯·桑德霍尔姆(Tuomas Sandholm)和诺姆·布朗(Noam Brown),对Libratus的获胜感到非常激动,因为这是计算机在全球最知名的扑克游戏--无限制德州扑克中首次击败顶尖职业扑克玩家。
人工智能领域的专家经常使用游戏,用于开发和测试他们的发明成果。计算机已在国际象棋、跳棋、双陆棋和围棋上击败了最好的人类棋手。因为机会的原因,以及玩家不知道他们的对手拿着什么样的牌,扑克成为了一项独特的挑战。所谓的不完美信息游戏需要一丝人类智慧,类似于欺骗对手,并能够察觉到被对手欺骗--这些都是电脑缺乏的。
《完美的赌注:科学和数学如何从菠菜中获得好运》一书的作者亚当·库哈尔斯基(Adam Kucharski)指出,“经常能够看到无限制德州扑克的巡回赛,它更像是一门艺术,而不像是一门科学。曾经有一种想法认为,这个游戏在很长时间内不会受到计算机的影响。”
但是这种想法在最近几周变得土崩瓦解。上月初,阿尔伯塔大学的研究人员撰写了一篇基于他们开发的人工智能DeepStack与职业扑克玩家对抗赛的论文。
在这场对抗赛中,DeepStack击败了11位职业扑克玩家。这篇论文介绍了DeepStack,这是一种用于扑克这样的不完美信息环境的新算法。它结合了回归推理来处理信息不对称性,还结合了分解来把计算集中到相关的决策上,以及一种形式的关于任意牌的直觉--该直觉可以使用深度学习进行自我玩牌而自动学习。
有关DeepStack的表现是否优于Libratus是一个有争议的话题。桑德霍尔姆就表示,Libratus击败的职业扑克玩家要比DeepStack击败的玩家更优秀。阿尔伯塔大学计算机项目负责人迈克尔·鲍林(Michael Bowling)承认了这一点。但他质疑职业扑克玩家能否保持相同的巅峰状态连续比赛近一个月时间,而且DeepStack的胜率是Libratus的三倍。
不过桑德霍尔姆和鲍林都认为,扑克人工智能仅仅是刚跨越了一道重要的门槛,对他们来说这与扑克本身无关。德州扑克仅是他们为自己的人工智能程序寻找对练的途径之一。
通过游戏机器人学习到的经验将被应用到网络安全等应用程序当中。桑德霍尔姆说,“这是人工智能社区早已设定的主要基准,这些算法并会单独提供给扑克玩家。它们是通用的。”外表与比尔·盖茨(Bill Gates)有几分相似的的桑德霍尔姆,曾是全球最顶尖的帆板运动员之一。
DeepStack和Libratus玩的是一个不同版本的德州扑克比赛。计算机与单个对手对抗,而不是一组玩家。在每一手牌之后,筹码都会重新统计,从而消除拥有更多筹码的玩家能够恐吓较差玩家,迫使他们作出大赌注这种复杂的心理游戏。
全球领先的在线扑克平台PokerStars发言人埃里克·霍尔雷瑟(Eric Hollreiser)表示,这种规则限制了人工智能向扑克界发起的威胁。“虽然人工智能能够模拟参加扑克比赛,但是牌桌上发生的事情要比这些复杂的多。
人工智能还在一些非受控环境中进行试验。自科学家在实验室开发人工智能技术以来,扑克机器人就一直在参与在线现金菠菜游戏。它们传统上一直参与低筹码的比赛,且从未被认为是技艺精湛。
不过菠菜业分析师克里斯·格罗夫(Chris Grove)表示,机器人已开始进入一些高筹码的比赛。“如果你是在线扑克游戏运营商,机器人可能是你头号关注的重点,而且它们可能会有非常高的胜率,”他说。
扑克产业与扑克学术界已悄然合作多年。虽然参与合作的所有人都未透露细节,但商用机器人的开发者和试图击败他们的人都密切关注着最新的学术动态。鲍林的几名学生在毕业后就前往在线扑克公司任职。至少有一人已在出售用于在线比赛的机器人。
“当然,许多玩家都在担心,机器人为钱扼杀了网络菠菜业,因为人们担心机器人变得太出色,从而影响到网络菠菜业的发展,”桑德霍尔姆说。“这可能会发生,但不是我关注的问题。”
在扑克俚语中,一个可以为玩家打牌的电脑程序被称为“梦想机器”。在线论坛的参与者经常会交换如何通过可以行为察觉到机器人玩家的存在,以及如果用自己的机器人获胜的相关经验。
归属于加拿大游戏公司Amaya的PokerStars,雇佣了70人专门负责打击此类欺诈行为。这些雇员会向玩家打电话,询问他们在特定牌局中采用的战术。PokerStars还向玩家发送电子邮件,要求他们使用360度全景摄像头拍摄周围的视频,然后要求他们用手玩一个小时以上,且键盘完全在可视范围之内。
机器人在扑克比赛中并不需要非常熟练就能够给他们的主人带来利润,这对整个在线菠菜业而言都是非常危险的。程序可以通过战胜普通玩家获取到适度的利润。不过英国在线游戏公司Gamesys首席扑克战略官达斯·比林斯(Darse Billings)认为,梦想机器或学术人工智能使用了不同的技术,试图解决
根本不同的挑战。击败普通玩家不仅仅是击败精英玩家的简化版本。这是一个完全独立的问题。
比林斯比任何人都更了解两个扑克世界。在上世纪90年代获得计算机科学硕士学位的同时,他一直在研究扑克游戏,然后他成为了一名职业扑克牌手,并偿还了自己的学生贷款。
几年之后,他又重返校园与阿尔伯塔大学的计算机科学家乔纳森·斯卡费尔(Jonathan Schaeffer)进行合作,后者以编写完美的跳棋软件而知名。在比林斯的劝说下,斯卡费尔把目光转向了扑克。
从1989年开始,斯卡费尔和同事就致力于开发跳棋人工智能程序。通过研究5万亿亿个跳棋位置,研究人员于2007年4月完成了切努克(Chinook)终极程序,它是无法被击败的--就算人类智力发挥到极限,也只能跟它打个平手。当斯卡费尔开始奇努克计划时,他的目标就是要战胜跳棋世界冠军。
1990年,他的程序首次获得了与世界冠军同场竞技的机会。不过,直到1992年,人工智能程序始终没有战胜世界冠军。一切在1994年发生了转变。当年,斯卡费尔设计的程序第一次战胜了人类国际跳棋世界冠军马里恩·廷斯利,这一成就也被载入了吉尼斯世界纪录。
斯卡费尔和同事创造切努克程序的目的,一是为了开发计算机的高级处理和存储能力,同时也为了确定人工智能方法在西洋跳棋上的最佳表现。在一些顶尖棋手的帮助下,斯卡费尔利用启发法将高手的经验编成计算机程序,从而使它能够产生对在特定局势下每一步棋成功和失败的“认识”。在程序运行过程中,研究人员不断对程序进行监控、修正和更新。
通过每天高强度的计算(相当于50台个人电脑以200倍的峰值运算速度同时运行),斯卡费尔等人终于得到了最终的奇努克程序。
在阿尔伯塔大学的鲍林于2003年把纳什均衡定律带入扑克游戏一年之后,卡耐基梅隆大学的桑德霍尔姆在随后一年也开始了扑克人工智能的研究,并采取了类似的做法。桑德霍尔姆和鲍林在2006年联合创办了计算机扑克大赛,并经常性的与顶尖职业扑克玩家进行比赛。在比赛的同时,两个学校的实验室也会关注对方的最新研究成果。
在过去的几年间,两个学校的人工智能技术在游戏收尾阶段的表现都有了突飞猛进的发展。
2015年1月,鲍林的团队发表了一篇论文,已找到一对一限注德州扑克的秘诀,因为与无限制德州扑克相比,前者会限制玩家下注的筹码。
桑德霍尔姆与开发扑克人工智能5年时间的博士生布朗,几个月后在大河赌场举办了首届“大脑对抗人工智能”(Brains vs. Artificial Intelligence)巡回赛。在当时的赛事中,卡耐基梅隆大学推出的是由桑德霍尔姆开发的另外一款人工智能系统“Claudico”。当时共有4名职业扑克玩家参加了比赛。
Claudico并未获得最终胜利,且赢得的筹码数量要少于3名职业扑克玩家。在超过8万手牌局中,Claudico总共输掉了73.2万美元。桑德霍尔姆曾表示,自己开发的人工智能已同职业玩家实力相当,至少有一位玩家在当时的比赛中被击败。
桑德霍尔姆和布朗表示,他们开发的人工智能仍有需要改进的地方。Claudico在入局阶段表现的非常出色,但在牌局快结束时会犯一些错误。它会在错误的时刻恐吓对手,并在计算牌时出现一些错误。简而言之,当牌桌上有两个K,而你手中有2个K时,对手就不会有K。Libratus在这些方面就得到了改进。此外,Libratus还会根据每天牌局中学习到的经验不断进行提升。
有关Libratus的细节将会在开发者最终发布的论文中对外披露。这种学术工作往往以各种方式渗透到现实世界扑克中。布朗表示,一年一度的电脑扑克大赛的参赛者也包括了玩现金游戏的玩家。鲍林则表示,他的研究论文在开发人工智能的社区中极受欢迎。他说:“有一群人在读这些论文,并试图理解它们。”
比林斯在2008年加入了扑克行业,也是为数不多在离开阿尔伯塔大学的研究项目后加入扑克行业的人。他们中的绝大多数人都被游戏平台运营商聘用。理查德·吉布森(Richard Gibson)开创了自己的事业,开创了一家名为Robot Shark Gaming的游戏公司,专门为研究和玩战略游戏开发人工智能程序。随后,他又创办了一家名为SportsBid的梦幻体育公司。
当吉布森在2013年获得博士学位时,一群职业玩家与他进行了接触,付费要求为他们开发用于训练的软件。吉布森只获得了一位玩家的姓名,且未同任何人见面,直到现在他也不知道到底有多少当时与他进行了接触。他说,“即便是他们不再网络菠菜中使用软件,这也是耻辱。”
吉布森开发了多个程序,称他设计的软件只能展示各种战术的效果,但自己不会参与比赛。在最辉煌的一年中,吉布森因为这个项目赚了10万美元,且客户会根据运行软件使用的计算能力另向他支付2万至3万美元。
匿名的职业牌手并不是吉布森的唯一客户。他说,曾有人向他付费数万美元,要求他用半年时间开发一款扑克机器人。他并没有问如何使用这个机器人,但设计指向一个特定的应用程序。“我的客户想要一个独立的东西,他们可以加载到他们的笔记本电脑,”他说。
“我想他们想让它玩在线游戏。”
每天在大河赌场的比赛结束后,赖斯和其他几名职业牌手都会查阅当前的比赛数据,用来寻找Libratus的弱点。在赛事之初,他们每天睡醒后都会对获得的新技巧感到乐观。“其中这种做法能够奏效,我们不断的对这些弱点进行攻击。但如今它们已完全消失了,”赖斯说。Libratus同样也在进行调整。在结束白天的比赛后,Libratus晚上会进行“持续不断的战术改进。”到了晚上,Libratus专注于战略,使用了相当于3330台协同工作的Macbook的计算力。
当然,DeepStack和Libratus都是在一对一的情况下击败了职业选手,还无法被应用到多人扑克比赛当中,因为它们采用的均衡战略将在多人游戏中变得支离破碎。几年之前,鲍林曾进行过三个机器人进行比赛的试验。其中两个机器人使用了与他实验室相似的技术,另一个被编程可鲁莽的增加筹码。到最后,最蠢的机器人只是输掉了一小部分筹码,而另外两个机器人则是一胜一负。
“这个确实非常困难。你如何推算出和你坐在同一个桌面上的是人类牌手,还是其他不出色的机器人?你必须得为此做好准备,”道林说。