CMU风头被抢,新型DeepStack算法抢先攻克德州扑克图灵测试

在国外的学术圈里,有一份论文火了。论文里进行的研究表明,人类历史上第一次,AI在德州扑克游戏上赢得了人类职业玩家。而这份论文的突破性意义在于:AI在非完整信息的博弈游戏中,赢得人类职业对手

这篇论文的名字是《DeepStack:无限下注扑克里的专家级人工智能》(DeepStack: Expert-Level Artificial Intelligence in No-Limit Poker),1月6号提交到了ArXiv上。

论文作者是来自加拿大Alberta大学、捷克Charles大学、布拉格捷克理工大学的研究人员。而论文题目里的DeepStack,是一种新型的算法名称,论文里说明到“DeepStack 是一种通用算法,可用于一大类非完整信息的序列博弈”。在一项涉及到数十位参与者和4.4万手扑克的研究中,DeepStack 成为了世界上第一个在“一对一无限注德州扑克”上击败了职业扑克玩家的计算机程序。

什么是“一对一无限注德州扑克”(HUNL)

德州扑克的英文名称是“Texas Hold'em”,而“一对一无限注德州扑克”(Heads-up no-limit,简称 HUNL)的意思,就是有2个玩家且不限下注筹码。这篇论文里的自然就是计算机和职业玩家挨个对局。

虽然是扑克,但跟斗地主还是很不一样的,它是“赌场”十分受欢迎的项目。这里祭出视频,帮大家理解一下德州扑克的规则和玩法。

从上面的视频中,我们大致能了解一场德州扑克会有两类信息:玩家每人手里分到2张底牌的“私有信息”和桌子上公共牌的“公开信息”。玩家用自己的2张底牌和5张公共牌结合在一起,选出5张牌,不论手中的牌使用几张(甚至可以不用手中的底牌),凑成最大的成牌,跟其他玩家比大小。按照“Hand Rank”决定最后的胜者。

在中国玩德州扑克的名人,一个是汪峰老师,另一个就是李开复老师。在知乎上“扑克有哪些技巧、经验或者原则?”的提问下,排名第一的,就是李开复老师的答案,他尤其提到玩好诈唬(Bluffing,高手惯用技巧)的关键在于学好统计

德州扑克是新一代的图灵测试?

德州扑克已经成为十分流行的人工智能研究测试地,每一个扑克玩家手里握着的底牌“私有信息”,是其它玩家看不到的,所以被称为是“非完整信息”(Imperfect information)的博弈。这跟围棋有很大不同,围棋是完整信息公开的博弈,玩家们可以看到棋盘上的每个旗子,考虑所有落子的可能性。所以德州扑克对于人工智能来说,更加具有挑战性。

《DeepStack》这篇论文的通信作者 Michael Bowling曾经在2015年初接受《New Scientist》采访时说道:“德州扑克最有趣的地方,就是你无法获得完整的信息”。

而卡耐基梅隆大学(CMU)Tuomas Sandholm教授也说道:“扑克已经成为在非完整信息情况下,衡量(计算机)智能水平的标准......而它可以看做是一种超越图灵测试的存在。

不知对手“底牌”的博弈,即非完整信息博弈要求更复杂的推理。

计算机正确决定,依赖于对方“底牌信息”情况下的概率分布,这种“底牌信息”可以通过对手过去的行为显露出来。比如有时玩家采取“诈唬”(Bluffing),对手有时手里并没有强牌,但还是作出全额下注志在必得的行为,计算机这时要根据对方过去的博弈表现,来判断对手有强牌的概率。

相应的,对手也会推断我方的底牌信息,所以这里就是一个“递归推理”(recursive reasoning),一个玩家无法轻易推理博弈状况。

有趣的是,这两位教授都在领导自己的团队攻克这个新型图灵测试,一位在加拿大Alberta大学,一位在美国CMU大学。

几天前,CMU已经发出预告:由Tuomas Sandholm教授领导研发出的Libratus人工智能系统,将于当地时间1月11日,在宾夕法尼亚州匹兹堡的 Rivers 赌场,与四个顶级职业玩家玩12万手的HUNL,并角逐20万美元的奖金。早在2015年,Libratus的前身Claudico与人类玩家首次对战,在8万手的对决中完败,这次算是CMU的卷土重来。

但是我们已经知道了结果,Alberta赶在CMU之前,把就论文发出来了。学术圈人士纷纷表达赞美,称DeepStack具有里程碑意义(当然这份论文还未通过同行审议阶段),然而跟CMU Libratus提前好几天的预热盛况相比,DeepStack并没有得到等量的媒体待遇,也引发一些人的不满。

CMU走的是当年AlphaGo的路线,在华丽的赌场搞一场秀,与人类顶尖玩家对战,还有20万美金的噱头。所以这份DeepStack论文虽然比CMU更早取得突破,但阵仗不如后者大,媒体对其忽视了,也在情理。

总之一句话,Alberta抢了先,CMU抢了热闹(学术界的竞争也是异常激烈的)。

此份DeepStack论文的成果

DeepStack总共与33位人类选手进行了4.4万手的较量,分别在2016年11月7日和12月12日之间于线上举行对局。最终获胜的前三位选手,分别有5000、2500和1250加元的奖励。以下是对局结果。结果显示,DeepStack的平均赢率为492 mbb/g(一般人类玩家到50 mbb/g就被认为拥有较大优势,750mbb/g 就是对手每局都弃牌的赢率)。

前面我们提到,一场扑克的信息可以分为“私有”和“公开”,放在桌子中间的5张公开牌形成一种动态的“公开状态”。游戏中的公开状态的可能序列构成一个公开树(Public tree),其中每一个公开状态都有一个相关的公开子树(Public subtree)。

上图是HUNL 中公开树的一部分。红色和蓝色线条表示玩家动作,绿色线条表示公开的公共牌。圆形节点表示游戏结束。

这张图是DeepStack整体架构,分为(a)(b)(c)三个部分。在(a)中,DeepStack在每一个公开状态里, 都要重新计算它需要的动作,其中子树值(Subtree value)会通过一个训练好的深度神经网络 Neural net(b)来计算,而训练Neural net的样本就是(c)。

总的来说,DeepStack结合了递归推理(Recursive reasoning)来处理信息不对称性,还结合了分解(Decomposition)集中计算到相关决策上,并形成了一种关于任意牌的直觉(Intuition),这种直觉可以使用深度学习进行自我玩牌而自动学习到。

而对于DeepStack和1月11日的CMU的Libratus赌场大战,雷锋网将跟踪深入报道。

PS:关注雷锋网公众号(雷锋网(公众号:雷锋网)

本文作者:亚萌

本文转自雷锋网禁止二次转载,原文链接

时间: 2024-09-20 06:09:22

CMU风头被抢,新型DeepStack算法抢先攻克德州扑克图灵测试的相关文章

C++德州扑克的核心规则算法_C 语言

自己编写,适用于windows,linux平台. #include "public.h" int TexasCombine5(unsigned char* pCard, unsigned char* pCardColor, unsigned char** pCardResult, unsigned char** pColorResult) { int count = 0; //这里为了速度,没用求组合的公式 if (pCard[6] == 0)//6张牌 { count = 6; *p

德州扑克算法幕后研发者CMU博士Brown专访:AI如何打败顶级人类牌手?

在上个月举行的单挑无限注德州扑克( heads-up no-limit hold'em)人机对战中,由卡耐基梅隆大学研发的AI程序Libratus以每100手14倍大盲(译者注:缩写为14bb/100,意为玩100手牌,平均能赢对手14倍大盲注)完胜世界级人类玩家团队,震惊所有在场人员. 比赛共打12万手,最后Libratus赢得了1,776,250个筹码,近90个买入.虽然人类玩家输惨了,但幸运的是他们并不需要真的自掏腰包把输掉的钱给赢家Libratus(虽然他们来参加这场对战也需缴纳费用).

Facebook田渊栋:德州扑克上战胜人类的AI究竟用的是什么算法?| 解析

最近听说我的母校卡耐基梅隆大学德州扑克的AI Libratus以很大的优势赢得了与职业玩家的比赛,非常兴奋.在同时期,还有一篇来自加拿大阿尔伯塔大学(Univ of Alberta)的文章介绍了DeepStack,同样在3000局的比赛中击败了几位职业玩家.这样在非对称信息游戏上人类再一次输给了AI. 当然有AlphaGo的先例,这个对广大吃瓜群众的冲击可能没有那么大.但我个人觉得非对称信息博弈的实用价值更大些.因为非对称信息博弈的应用范围非常广泛,涵括我们每天遇到的所有决策,上至国家战略,下至

分享一个德州扑克的算法

德州扑克想必很多人都玩过,当然对于新手需要说明的是,德州指的是德克萨斯州,而不是山东德州.      这几个月一直在做一个德州扑克的服务器,分享下在计算最大牌型,比牌逻辑的算法和洗牌的方法,希望对大家有帮助.      首先我们定义一下Poker类 public class Poker { private String tag; // 图片扑克花色的表示(代表的是红桃.黑桃,梅花.方块 private int num; // 表示扑克牌面的大 public Poker(String tag, i

DeepMind宣布在阿尔伯塔大学建立AI实验室,加拿大的AI研究又迎来强大推动力

日前,DeepMind宣布与阿尔伯塔大学联手,在加拿大埃德蒙顿建立国际化的AI研究实验室. 阿尔伯塔大学的计算科学教授和人工智能研究员Rich Sutton, Michael Bowling, Patrick Pilarski将会加入这个实验室,此外已知的成员还有Adam White以及2017年初发布DeepStack算法的六个研究员. (关于DeepStack算法雷锋网(公众号:雷锋网)此前已有详细介绍:CMU风头被抢,新型DeepStack算法抢先攻克德州扑克图灵测试) 上图从左至右:Ri

除了深度学习,你需要知道AI技术的23个方向 | 机器之心首份技术报告

在即将过去的 2017 年,深度学习技术蓬勃发展,AlphaZero 从「零」开始在多种棋类竞技上快速发展,DeepStack 与 Libratus 在德州扑克中击败人类高手,GAN 衍生出各种变体,语音合成从实验室走向产品,Vicarious 提出全新概率生成模型并击破人类的 CAPTCHA 验证码.这些令人振奋的进展将智能技术从实验室带到了产业及应用层面,「人工智能」及「深度学习」等概念也进入了大众视野并成为流行词汇. 作为国内首家系统性关注人工智能的科技媒体,机器之心在过去几年的报道工作中

继 AlphaGo 之后又一突破:人工智能 Libratus 战胜德州扑克顶级选手

雷锋网消息:当地时间1月30日,在宾夕法尼亚州匹兹堡的Rivers赌场,卡耐基梅隆大学(CMU)开发的人工智能系统Libratus战胜四位德州扑克顶级选手,获得最终胜利. 据官网介绍,此次由4名人类职业玩家Jason Les.Dong Kim.Daniel McAulay 和Jimmy Chou对战人工智能程序Libratus,赛程为20天,一共进行了12万手牌的比赛. 2015年,CMU曾组织了首场"大脑对抗人工智能"赛事.在当时的赛事中,代表CMU出战的是另外一款人工智能系统&qu

如何防止量子计算暴力解密?中国启动新型算法研究

随着量子计算的不断突破,其计算机能力的大幅跃升将为网络安全带来新挑战--许多加密算法将会变得相当脆弱.未来,如何应对量子计算对数据的"暴力解密"?当前移动互联网.云计算.大数据.物联网快速融合发展,对密码算法能力提出的新挑战如何应对? 日前,为应对量子计算攻击威胁,移动互联网.云计算等领域数据可信融合安全挑战,国家"网络空间安全"重点专项中唯一的密码算法项目"新型数据保护密码算法研究"项目在成都启动. 由中国电子科技集团公司第三十研究所牵头的该项

人工智能新算法DeepStack挑战扑克 完美“碾压”人类智商

被称为DeepStack的.会玩扑克的人工智能系统,其背后研究人员表示,这是第一个在单挑无限模式下战胜人类职业扑克玩家的算法.这个说法如果属实,将标志着人工智能系统发展的一个重要里程碑.   击败人类职业扑克玩家不同于人工智能过去在智力竞赛节目Jeopardy或者围棋等游戏中战胜人类对手的成功,因为每个玩家都只能掌握游戏状态不完整的一部分,并需要一个导航战术程序,例如基于不对称的信息虚张声势. DeepStack是University of Alberta和两所捷克大学的研究人员合作的成果,他们