虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:首页 > 技术阅读 >  人工智能打扑克

人工智能打扑克

时间:2024-01-26

━━ ━━ 

人生不是游戏,但游戏和人生有相似之处。这就是为什么发明能够赢得比赛的人工智能算法是有价值的。一种此类人工智能现在终于破解了最简单的扑克玩法之一。对于在更复杂的扑克游戏中击败人类扑克冠军的漫漫长路而言,这是关键的第一步。这可不是吹嘘:玩扑克可以训练计算机算法,以破解现实世界中安全和医药领域的复杂挑战;在这些领域中,算法能够得到的信息很少有完美或全面的。

扑克中众多的技巧意味着无数种可能的玩法,即使只有两个人玩,也是如此。通过在游戏的一开始就找到每一步完美的、无可匹敌的策略,计算机已经破解了较简单的游戏,例如四子棋和西洋跳棋。不过,分析即使是最简单的扑克游戏的所有可能性则是一项更大的挑战,因为每个玩家都有隐藏的牌,即向对手隐瞒的信息。在这个意义上说,扑克是一种“不完全信息博弈”,类似真实世界中具有不同程度不确定性的情况。

阿尔伯塔大学(位于加拿大埃德蒙顿)的计算机科学家尼尔•伯奇(Neil Burch)说:“不完全信息博弈的破解方案需要计算机能够处理不确定比赛状态所带来的额外复杂因素,比如不知道对手的牌。这种技术需要更大的计算机内存和更强的计算能力。”

伯奇和他的同事们曾在美国《科学》杂志上发表了他们对“双人限注”德州扑克算法的破解方案。用人工智能用语来说,这只是对于一种特定扑克玩法的“弱”破解。这个游戏只有两名玩家,下注金额固定,加注次数也是固定的。但从统计学意义的角度来看,该软件仍足以让人几乎无法分辨那到底是计算机的解决方案还是完美的扑克技巧。

━━ ━━ 

该算法利用一种经改进的虚拟遗憾最小化(CFR)技术,它被其创造者命名为CFR+。CFR算法对于单步游戏是最容易理解的,比如剪刀石头布。它们会将游戏结果(比方说,你输了多少钱)与最佳选择结果作对比。所不同的是遗憾值。该算法随后为你下次游戏制定策略(以你将做的动作会产生结果的概率来表示),尽量降低你在所有游戏中的整体遗憾值。CFR将这一过程延伸到了像扑克这样的游戏中,此类游戏从起点到终点之间有许多步骤。而且CFR+提升了这一过程的效率,通过更大的步伐、更少的步数实现最佳的破解方案。

因为所需要的内存巨大——约262太字节(TB),所以过去的CFR算法从未尝试过破解双人限注德州扑克的整场比赛。但依靠一些内存压缩技术的帮助,CFR+现在足以高效地破解整场比赛。下一项大挑战是要设法破解双人无限注德州扑克,这个游戏更为复杂,它允许在游戏中进行无限制的下注。算法必须考虑更多的信息集,每个信息集都代表对手在比赛的每个阶段可能做的动作。信息集数量的差异是巨大的——约为147个数量级。出于这个原因,研究人员不能指望算法能够涵盖每一种可能的玩法。相反,他们转而利用“抽象”方法,即对整场比赛进行简化。

由图奥马斯•桑德霍尔姆(Tuomas Sandholm)领导的卡耐基•梅隆大学的一个团队开发了一个计算机程序,该程序能够处理无限注德州扑克的抽象版本,它比之前的任何一个德州扑克的抽象版本都要大5倍。事实上,它可能是计算机处理过的最大的不完全信息博弈。

卡耐基•梅隆大学的抽象算法的工作原理是,将抽象的游戏划分为一个个小块,并将它们散布到匹兹堡超级计算中心的黑光(Blacklight)超级计算机(一台37万亿次浮点运算的机器)的各个刀片服务器。抽象的一个“母件”与其他服务器上的更小部件进行信息交换。相对于将游戏全部放在一台服务器上来说,这就使该团队能够创造更大的抽象;比起将抽象分散到多台必须相互沟通的服务器上,速度也提升了两倍。

一旦CFR算法分析了抽象的游戏并制定了扑克游戏的策略,就需要一个反向映射算法将该策略应用到完整的无限注德州扑克中。桑德霍尔姆的研究小组就开发出了这样的算法(称为“伪谐波映射”),它可以降低对手采取抽象中未覆盖的行动而获胜的可能性。

桑德霍尔姆研究小组的人工智能曾经击败了最好的扑克游戏程序,显示了它的价值。它并不是无限注德州扑克的破解方案,但它仍然是有用的。桑德霍尔姆说:“我们开发的算法并不是为了破解扑克,而是为了破解一般的不完全信息博弈。扑克只是一个标杆,我们可以每年用它来测试进展情况。”

作者:Jeremy Hsu

往期推荐

深度学习挑战赛寻求可进行侦查的人工智能

探索影像学标志,发展基于人工智能的脑疾病精准诊疗

专题 | 从动物智能到人工智能