从 DeepStack 到 Pluribus:扑克 AI 的进化史
从 DeepStack 到 Pluribus:扑克 AI 的进化史
德州扑克与国际象棋或围棋有着本质的不同。在国际象棋和围棋中,对弈双方都能看到棋盘上的所有信息,这被称为完美信息博弈(Perfect Information Games)。而在德州扑克中,你无法看到对手的底牌,存在隐藏信息,这被称为不完美信息博弈(Imperfect Information Games)。
这种隐藏信息导致了扑克中存在“诈唬(Bluffing)”的概念,使得传统的搜索树算法(如 AlphaGo 使用的蒙特卡洛树搜索)在扑克中完全失效。
破局者:CFR 算法
在深度学习介入之前,研究人员发现了一种名为**虚拟遗憾最小化(Counterfactual Regret Minimization, CFR)**的算法。
CFR 的核心思想是让 AI 与自己对弈(Self-play)。在每一次决策后,AI 会计算:“如果我当时采取了另一种行动(比如加注而不是弃牌),我会赢多少或输多少?” 这个差值被称为遗憾值(Regret)。
通过数以十亿计的自我对局,AI 会不断调整其策略,以最小化整体的遗憾值。当遗憾值趋近于零时,AI 的策略就逼近了纳什均衡(Nash Equilibrium)。在两人零和博弈中,打出纳什均衡策略意味着无论对手如何应对,AI 至少能保证不亏。这就是我们在扑克中常说的 GTO(Game Theory Optimal) 策略。
DeepStack:深度学习的融合
2017年,由阿尔伯塔大学研发的 DeepStack 成为了第一个在单挑无限制德州扑克(Heads-Up No-Limit Texas Hold'em, HUNL)中击败职业玩家的 AI。
DeepStack 的突破在于它将 CFR 与深度神经网络结合。纯粹的 CFR 算法在处理无限制德州扑克时,面临着天文数字级别的决策节点。DeepStack 使用神经网络来评估某个局面下的“牌局价值”,从而避免了将搜索树展开到底。这与 AlphaGo 评估棋盘胜率的思想有异曲同工之妙。
Pluribus:征服多人局
虽然 DeepStack 和随后的 Libratus 解决了单挑扑克,但**多人扑克(Multi-player Poker)**一直被认为是遥不可及的。在多人局中,纳什均衡并不保证不败。
2019年,由 Facebook AI 和卡内基梅隆大学开发的 Pluribus 震惊了世界。它在 6 人无限制德州扑克中击败了包括多位世界冠军在内的人类顶尖玩家。
Pluribus 并没有试图去寻找全局的纳什均衡。相反,它使用了一种改良的 MCCFR 算法,并且只在当前节点向下搜索几步,然后使用预先计算好的蓝图策略(Blueprint Strategy)来近似后续的价值。这种“不完美但足够好”的策略,在实战中展现出了惊人的统治力。
旺旺助手2.0 的架构
基于这些前沿研究,旺旺助手2.0 构建了新一代的扑克 AI。我们不仅实现了极高精度的 GTO 蓝图计算,还在此基础上加入了**实时对手剥削(Opponent Exploitation)**模块。当我们的系统识别出人类玩家偏离 GTO 时,旺旺助手2.0 会主动调整策略以最大化榨取 EV。