超级人工智能称霸德扑的秘密:Libratus击败顶级专业人士

近年来,人工智能(AI)领域已经取得了相当大的进展。在许多情况下,衡量这种进步的标志是在基准游戏中对人类的表现。国际人道主义计划在跳棋(1),国际象棋(2)和围棋(3)。在这些完美的信息游戏中,双方都知道每一点的确切状态。相反,在不完美信息游戏中,关于游戏状态的一些信息对玩家是隐藏的 - 例如,对手可能藏有隐藏的卡。隐藏的信息在商业战略,谈判,战略定价,金融,网络安全和军事应用等现实世界的战略互动中无处不在,这使得研究不完美信息游戏的通用技术尤为重要。

由于多种原因,隐藏的信息使游戏变得复杂得多。对于不完美信息游戏而言,AI不是简单地寻找一个最佳的动作序列,而是必须确定如何适当地平衡动作,这样对手才不会过多地发现AI所拥有的私人信息。例如,虚张声势是任何竞争性扑克策略的必要特征,但是总是唬骗是一个糟糕的策略。换句话说,一个行动的价值取决于它被玩的概率。

另一个关键的挑战是游戏的不同部分不能孤立地考虑,对于一个给定的情况,最佳策略可能取决于在未发生情况下将会发挥的策略(4)。因此,一个竞争的AI总是必须考虑整个游戏的策略。

扑克作为开发可以解决隐藏信息的AI的挑战问题有着悠久的历史(5 - 11)。无限德州扑克是世界上最受欢迎的扑克形式。单挑(即双人)变体可以防止对手的勾结和国王制造者的情况,在这种情况下,糟糕的球员导致平庸的球员发光,从而可以确定明确的赢家。由于其庞大的规模和战略复杂性,单挑无限德州扑克(HUNL)已经成为数年来不完善的信息游戏解决方案的主要标杆和挑战问题。在这场比赛中之前AI没有击败顶级人类玩家。

在本文中,我们介绍Libratus,(12)一个AI,它采用了一种独特的方法来处理不完美信息游戏。在为期20天的,拥有20万美元奖池的12万手比赛中,击败了HUNL的顶尖人才。Libratus中的技术不使用专家领域知识或人类数据,也不是专门针对扑克的; 因此它们适用于大量不完美的信息游戏。

Libratus中的游戏解决方法

Libratus具有三个主要模块:

(1)第一个模块计算一个更小,更容易解决的抽象,然后计算抽象的博弈论策略。这个抽象的解决方案为游戏的早期阶段提供了一个详细的策略,但只是在游戏后期更多的部分玩游戏的近似。我们将抽象的解决方案称为蓝图战略。

(ii)在游戏过程中当游戏后期到达时,Libratus的第二个模块为该子游戏构建一个更细粒度的抽象并实时解决(13)。与完美信息博弈中的子博弈解决技术不同,Libratus并不孤立地解决子博弈抽象,相反,它确保了子游戏的细粒度解决方案符合整个游戏的蓝图策略。子游戏求解器具有优于现有子博弈求解技术(几个关键优点141516)。每当对手进行一次不在抽象的动作时,就会用包含的动作解决一个子游戏。我们称之为嵌套子游戏解决。这种技术带有可证明的安全保证。

(三)Libratus第三个模块 - 自我改进者 - 加强了蓝图战略。它填补了蓝图抽象中缺失的分支,并计算出这些分支的博弈论策略。原则上,可以预先进行所有这样的计算,但是为了可行,游戏树太大了。为了驯服这种复杂性,Libratus使用对手的实际动作来表明在游戏树中的这种填充是值得的。

在以下三个小节中,我们将更详细地介绍这三个模块。

抽象与均衡发现:制定蓝图战略

解决不完美信息问题的一个办法就是简单地把整个游戏作为一个整体来推理,而不仅仅是整个游戏的一部分。在该方法中,溶液被预先计算对于整个游戏中,可能使用一个线性程序(10)或迭代算法(17 - 21)。例如,使用一个名为反遗憾最小化加(CFR +)迭代算法接近最佳解决抬头极限德州扑克,扑克相对简单的版本,其中有大约10 13独特的决策点(1122) 。

相比之下,HUNL(23)有10 161个决策点(24),所以遍历整个游戏树是不可能的。预先计算每个决策点的策略对于这样一个大型游戏是不可行的。

幸运的是,其中许多决策点非常相似。例如,$ 100的下注和$ 101的下注之间几乎没有什么区别。我们可以考虑100美元的增量,而不是考虑每个可能的100到20000美元之间的赌注。这被称为动作抽象。抽象是一个更小,更简单的游戏,尽可能保留原始游戏的战略方面。这大大降低了解决游戏的复杂性。如果对手在实际比赛中下注$ 101那么AI可能只是这一轮$ 100的投注,并相应地做出响应(25 - 27)。Libratus的动作抽象中包含的大部分赌注大小都是好的分数或者是整数的倍数[通过分析在年度计算机扑克比赛(ACPC)中以前的顶级AI在游戏中不同点上最常见的赌注大小来确定(28)]。然而,游戏树早期的某些下注尺寸是由独立于应用程序的参数优化算法确定的,该算法收敛到局部最优的一组下注尺寸(29)。

抽象的另一种形式是偶然采取的抽象行为,即在扑克的情况下抽象卡。类似的手分组在一起,对待相同。直觉上,一个国王的高潮和一个女王高的潮红之间几乎没有什么区别。将这些牌视为相同的牌可以降低游戏的复杂性,从而使其在计算上更容易。尽管如此,甚至在一个国王的冲洗和一个女王的冲洗之间还是有差异的。在最高水平上,这些差异可能是胜负之间的差异。Libratus在第一轮和第二轮下注时不使用任何卡抽象。最后两轮投注数量明显较多的国家只能在蓝图战略中抽象出来。第三轮5500万手的可能性在算法上被分成250万个抽象桶,第四轮24亿个不同的可能性在算法上被分组为125万个抽象桶。然而,AI在这些回合中并没有遵循蓝图战略,而是应用了嵌套子游戏解决方法,在下一节中将会介绍,它不使用任何卡片抽象。因此,在实际的比赛中,每个扑克手都被单独考虑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值