
你认为最好的玩法有时并不是最好的:如果你不了解实时胜率,一切都是徒劳的
2026年2月15日
德州扑克中的劳斯莱斯 土豪专享短牌德州扑克下载安装
2026年2月15日选自Nature、Science
机器之心编译
参与:微胖、吴攀、蒋思源、曹瑞
于顶级职业德州扑克比赛当中,人类已然失败,这能够称得上是今年人工智能领域的首个重大事件,可参考机器之心的报道,其报道名为《重磅 |德扑人机大战收官,Libratus击败世界顶尖扑克选手》以及《学界 | 新论文提出玩扑克人工智能 DeepStack:已达职业玩家水平》。早前的今天,有关DeepStack的正式论文,终于在顶级刊物Science的网站那儿发布了,并且还获得了Nature、科学美国人以及IEEE Spectrum等诸多科学与科技平台的关注,以及传播。机器之心于此处编译了Nature的相关介绍文章,而且在文后附上了Science上最新版论文的摘要介绍。原论文能点击阅读原文去查阅。
无限制德州扑克领域中,人类里的顶级职业玩家,已然被人工智能bot给击败了。
一种名为德州扑克的牵扯众多有难度的扑克游戏,已经被人工智能也就是 AI 给掌握了。并且,这个游戏并非只遭遇一次被攻克境地,两个不一样的开展研究的团队所研发的 bot,都在一对一进行的德州扑克比赛当中,达成了战胜人类的了不起行为。真的特别期望能够目睹它们相互之间展开一场对战!
最先达成这一胜利的 Bot 是由阿尔伯塔大学的计算机科学家研发的 DeepStack,此成果成功的背后还有来自捷克的查尔斯大学以及布拉格捷克理工大学的助力。一个月之后,卡内基梅隆大学所研制的 Libratus 再度于和人类的竞赛里获取了胜利。
往昔的十年时间当中,这些团队始终在彼此激励,来打造更为出色的Bot,当下,DeepStack背后的团队把它人工智能的细节正式发表于Science之上,Nature于这篇文章里对这两个人工智能的原理予以介绍,并且探讨了这对于在线赌博的意义,以及人工智能还有哪些尚未被征服的目标。
为什么人工智能研究者应该关心扑克?
人工智能已然掌握了好些种棋盘游戏,其中涵盖国际象棋,还包括战略极为复杂的围棋。然而,扑克与这类游戏的关键性不同点在于其增添了复杂性,即玩家得在信息不全的状况下,推算出对手的策略。他们得思索对手手中会持有什么样的牌,以及对手会依据先前下的注怎样去猜测自己。
我们的问题解决场景,像拍卖、金融谈判这类,能通过这种「不完美信息(imperfect information)」类博弈反映出来,扑克也由此成为能体现这些场景的人工智能测试平台。
2015年,阿尔伯塔大学团队解决了有限双人扑克难题,算法破解了更为简便的扑克形式,DeepStack和Libratus玩的双人博弈虽仍是双人博弈,可却是无限制规则,对人工智能而言,此挑战困难得多。
人类与人工智能交战情况如何?
去年,11月初,在四周之时,DeepStack打败了11位职业选手中的10位,从统计方面来看,赢的优势极为显著,并且与每一位对手都玩了3000手。
继而,在今年 1 月之时,Libratus 战胜了四位更为出色的职业选手(即专家级扑克玩家),整体总共交收 12 万多手,最终,计算机赢得了约为 180 万美元的筹码。
算法背后的数学原理是什么?
关于博弈论,也就是 game theory,不管对手去选择哪一种策略,这两个旨在搜寻一个能确保不会产生损失策略的人工智能系统,由于一对一扑克属于零和游戏,这意味着一个博弈方的损失即为其对手的获利,博弈论证实了这种最优决策常常存在。人类玩家或许会利用弱对手的错误来获取更大收益,但此策略对人工智能不起作用,它只是单纯为了胜利去博弈,这意味着它不会被对手故意夸张的行为吓到。
以往扑克游戏算法通常尝试预先拟定策略,借由计算大规模的「博弈树」德信竞技,进而找出游戏可能呈现的各异方式以及全部解决方案,然而该算法寻觅到展开可能性数量极为庞大,接着要对这10^160次方可能性给予映射又绝无可能,因此便有研究者决定运用更少可能性去解决问题;于一场博弈里,算法会把现场情形同先前计算情形加以比较,接下来算法会找出最为接近的那个,随后从表中「转换」相应动作。
然而,现在DeepStack找到了实时计算解决方案的方法,同时,Libratus也找到了实时计算解决方案的方法,这就如同下象棋的电脑那样,又如同下围棋的电脑那般。
如何比较这两个人工智能?
DeepStack不会提前算出整个博弈树,而是在游戏的每一个节点,重新计算一小段可能性的树。
有这样一种方法,它是由开发者借助深度学习创造出来的,而这种技术运用了一种架构,该架构名为神经网络,其受到大脑启发,正是在这种架构给予的帮助之下,计算机打败了世界上顶尖的一位围棋棋手。
DeepStack玩了1100万种游戏场景,在每一个场景里进行学习,它在游戏中获得了一种在某个给定点获胜可能性的「直觉」,这使它能够在相对较短的时间内(大约5秒)进行更少的可能性计算,进而作出实时决策。
团队Libratus现下并未对外公布他们的办法,故而该程序究竟怎样运行的依旧不明白。不过我们已然清楚的知晓,它依托预先计算可能性以及“转化”的方式,尽管它在游戏出现较多信息之际会对策略作出改进。而在另一方面,随着可能的结果范畴越发变窄,算法能够实时精确计算出解决之道。
Libratus存在一个学习元素,其开发者给它添加了一个自我提升模块,这个模块能够自动剖析该Bot的玩牌策略,进而得以知晓一个对手会怎样借助它的缺点,接着它们运用这些信息来永久性修复这些漏洞。
这两种方法所需的计算能力明显不同,DeepStack 的训练动用了175个核心年,这等同于运行一个处理单元150年,或者运行几百台计算机几个月,并且在比赛期间,它能够在单一一台笔记本上开展工作,而 Libratus 恰恰相反,在比赛之前以及比赛期间都配备了一台超级计算机,这大约相当于2900个核心年。
它们会 bluff 吗?
能。众人常常觉得唬牌是人类所具备的本事然而对于一台计算机来讲读不明白对手没什么关联它们所要做的便是去处理博弈背后的数学道理。bluff主要是一种计策用以保证玩家的下注方式不会使对手察觉到他们手中的牌。
好吧,哪个结果更亮眼?
关键得看你是向谁发问了,专家有可能在方法的繁杂错乱之处闪烁其词,然而,就整体来论,这两个人工智能系统都已然玩了数量可观的牌局,获得了统计学层面显著的胜利,并且对手皆是职业玩家。
Libratus进行了更多手的博弈,然而,DeepStack却不存在这样做的必要性,这是由于其团队运用了成熟的统计方法,该方法可从数量较少的博弈里证实比赛的结果。相较于DeepStack,Libratus战胜了远比其优秀的职业选手,可是,平均而言,DeepStack所赢得的优势更为显著。
两个人工智能系统会一较高下吗?
或许是这样的。有一点是比较棘手的,那就是计算能力存在着较大的差别,所以这样一来会影响游戏的速度。而难以存在这样一种情况,即我们能够找到双方都赞同的游戏规则。
阿尔伯塔大学计算机科学家,Michael Bowling,DeepStack 的研发者之一,称他的团队打算与 Libratus 比赛。然而,Libratus 的研发者,CMU 的 Tuomas Sandholm 表示,他们想先瞧瞧 DeepStack 打败 Baby Tartanian 8,那是他们团队较早期的人工智能系统,能力也稍弱一些。
Bowling强调,需注意的是,胜者不一定就意味着它是更好的机器人程序。大家都在尽力让比赛趋于完美,然而,最接近完美的策略并不总会在正面交锋里出现。一方有可能偶然击中对方的策略漏洞,不过,这并不代表整体策略上就存在更多或更大的漏洞。除非一个团队以明显优势获胜,Bowling说,“我的感觉是它不会如人类期望的那般博闻强识。”。
在线扑克是不是没得玩儿了?
不大可能。尽管顶级层面的玩家已然着手开展针对机器的对抗训练,然而,好多在线形式的扑克赌场依旧对玩家在赛事里运用机器人予以禁止。
哪怕计算机已然达成了一个对人类进行征服的里程碑,随后又要去征服什么呢?
哪几座高山正等着我们呀,存在着好些尚未被征服的游戏呢,像桥牌,其规则繁杂得多,所以目标也没那么明晰了。
接下来,两个团队必然是要去征服多人扑克的,这就意味着大家差不多得从头开始,原因在于零和博弈理论并不适用于它们,在三人扑克游戏里,对手的一个糟糕招数会间接地对另一个玩家形成阻碍,并且并非老是有利于对方。
然而,深度学习所引发的直觉恐怕能够助力我们寻觅到解决之道,哪怕是在博弈理论无法适用的情形之下,Bowling讲道。他的团队率先尝试着把类似的方式运用到三人版本的有限德扑里,他说明道,结果发觉,效果好得出乎众人的意料。
还有这样一个挑战,那就是去训练人工智能玩游戏,然而却不向它们告知游戏规则,而是要趁着游戏不断推进的过程,靠系统自己去发觉相关规则,这种场景相对于真实世界问题解决状况而言,能更为真切地予以反映。
终极测试将会是,研究出不完全信息算法,该算法能够利用不完全信息,来帮助解决杂乱无章的真实问题,那些问题是难题,比如金融方面的,还有网络安全方面的。
以下为发表在Science上的论文的摘要介绍:
摘要
近些年来,人工智能领域有诸多突破,其中游戏常被当作重要里程碑,过去实现那些成功游戏,有个常见特征,即它们都具备完美信息性质,扑克是典型不完美信息游戏,且一直是人工智能领域难题,在这篇论文里,我们介绍了DeepStack,它是用于扑克这类不完美信息环境的新算法。它结合了回归推理,也就是recursive resoning,用以处理信息不对称性,还结合了分解,即decomposition,把计算集中到相关的决策上,并且结合了一种形式的直觉,这种直觉能够借助深度学习进行自我玩牌从而自动学习到。有着一项涉及44000手扑克的研究,其中DeepStack在一对一无限制德州扑克上让职业扑克玩家败北,这种方法于理论层面是可靠的,且在实践当中能够得出比先前方法更不易被利用起来的策略。
论文提纲:
DeepStack
1、持续解决(Continual re-solving)
2、借助直觉达成有限深度的前瞻,(Limited depth lookahead via intuition)
3、合理推理(Sound reasoning)
4、剖析,向前看的稀疏的树状结构 ,这种结构带有预期 ,它是一种树 ,它是稀疏的 ,它是用于向前看的。
5、和完美信息游戏里启发式搜索的关联,(关联指)关系,(此关系即)与完美信息游戏中启发式搜索的关系(Relationship to heuristic search in perfect information games)。
6、和基于抽象的方式方法之间的关联关系(Relationship to abstraction-based approaches)
具有深度特性的,呈现反事实情况的,用于价值衡量的网络,即深度反事实价值网络。
1、架构(Architecture)
2、训练(trainning)
评估 DeepStack
1、开发度(Exploitability)
讨论
DeepStack是一种通用算法,它可用于很大类别的序列不完美信息博弈,也就是sequential imperfect information games。为了明晰此算法,我们会在HUNL游戏中描述其运算。扑克游戏的状态能被分成玩家的私有信息,即两张牌面朝下的手牌,还能分成公共状态,这包括牌面朝上的牌以及玩家采取的下注动作序列。游戏里,处于公开状态下的那些可能出现的序列,共同构成了一个所谓的公开树,也就是public tree,在这个公开树当中,每一个呈现出公开状态的情况,都存在着一个与之相关联的公开子树,即public subtree。

图1,HUNL中公开树的一部分,红色边与天蓝色边表示玩家动作,绿色边表示公开的公共牌,带有筹码的叶节点表示游戏结束,若一个玩家依据之前的动作以及玩家手牌的联合分布而弃牌或者做出决定,那么收益就可能是固定的。

图2当中呈现的是,DeepStack的构架给人的总体印象。然后呢,在(A)的情况里,DeepStack展开推理针对的是公共树,这个树在特定模式下,总是能够经过一系列并不为常人所轻易理解的复杂计算,为公开状态这种特定情境里它所拥有的全部牌去推导出动作概率。除此之外,在它玩牌的整个过程当中,始终保持着两个向量,分别是它自身所具备的范围,以及其对手的反事实价值。游戏进行时,其范围在采取一个动作后,会用所计算出的动作概率,通过贝叶斯规则更新自身。对手反事实价值会按“Continual re-solving”中讨论的方式更新。它为计算动作概率,在必须采取动作时,用自身范围和对手反事实价值执行一个re-solve。为实现该re-solve,它限制玩家可用动作,且将前瞻预测限制到这一轮结束。在重新解决期间,它会运用DeepStack所学到的评估函数,去近似提供用于其往前看之外的公开状态的反事实价值。(B)这个评估函数被呈现成一个神经网络,此网络把当前迭代的公开状态以及范围当作输入,随后输出两个玩家的反事实价值。(C)在比赛之前,这个神经网络借助生成随机扑克情景(底池大小、台面上的牌以及范围)来开展训练,之后解决它们以便生成训练样本。完整的伪代码见算法S1。

算法 S1,深度受限的连续重新求解 ,深度受限,连续进行重新求解。

图3:深度反事实价值网络,也就是Deep counterfactual value networks,其输入物含有底池大小,还有公共牌,以及手牌范围,即player ranges,这些一开始会被处理成hand clusters。从这 7 层全连接隐藏层输出的内容,要经过后处理,以此确保该值符合零和约束,而后这些值进而又会回转过来被映射成 hand counterfactual values。

图4,职业扑克玩家跟DeepStack对战的表现,以95%的置信区间,用AIVAT估计的表现,下面的柱状图,给出了参与者完成的比赛的数量。
原文的链接是,http://www.nature.com/news/how-rival-bots-battled-their-way-to-poker-supremacy-1.21580 ,这样的一个网址,它涉及到了,关于对手博茨如何通过战斗方式走向扑克霸权地位的相关新闻。
©本文为机器之心编译,转载请联系本公众号获得授权。


