
什么是扑克机器人中的可被利用性,以及如何降低?
它开始了,扑克机器人被利用性往往悄然发生——不是以轰动或错误开始,而是伴随着一种隐约的不安(而且很微小):一些事情似乎不对劲。这个机器人打得很好。它在正确的时机诈唬,毫不留情地进行价值下注,在必须弃牌时也能忍痛弃牌。然而,在成千上万手牌之后,出现了一种奇怪的模式:一个优秀的玩家并不是通过系统性地击败计算机获胜,而是通过发现战略缝隙中微小而持久的漏洞来取胜。这与波动性无关——这就是扑克机器人被利用性。
扑克机器人被利用性:无形的标尺
对于我们这些在AI扑克开发灰色地带工作的人来说,被利用性与其说是一个衡量指标,不如说是一个幽灵。正如新论文的作者之一 Jacob Abernethy 所说,它以数学方式形式化地表达了一个策略在与完全最优对手对战时的平均损失,即一个只知道你弱点并专门加以利用的最佳反应对手。对于那些追求GTO(博弈论最优解)的人来说,从理想到现实之间的差距,就是扑克机器人被利用性。
想象一个策略在河牌圈稍微过度弃牌——并不严重,仅仅比平衡状态多弃了一点点。人类可能注意不到。一个糟糕的机器人也可能注意不到,是的。但一个高端人工智能,如果为对抗性优势而调优,将会发起攻击。这个弃牌频率就是一个切入点——一个小小的裂缝,经过不断试探后可能变成一道口子。
衡量扑克机器人被利用性的方式
你可能会认为这种缺陷很容易发现。但与国际象棋或围棋不同,扑克是一场影子的游戏。最佳反应对手如幽灵般存在:理论上的、无所不知的、极具耐心的。实际上,当你真正计算被利用性时,几乎总是在模拟这个幽灵,不管是通过LBR滚动演算,还是深度蒙特卡洛近似计算。Robson的研究人员在用三到四位小数说话,使用像每局千分之一大盲(mbb/g)这样的单位,是的,他们相信每一个千分位都至关重要。一个被利用性为1 mbb/g的机器人已经是最前沿水平。在实践中,接近1 mbb/g被利用性的扑克机器人被视为精英水平。九个漏洞,十个,八个,两个,五个都可能出现,但如果高达300,那就是个“漏水的水龙头”。
即使到了2025年,仍没有任何已知的机器人能在六人桌无限注德州扑克中大规模地打出真正接近不可被利用的水平。单挑呢?我们已经很接近了。但决策点的数量——组合爆炸式增长——令人震惊。所以程序员的做法是建模、泛化、求解、再求解,并且始终保持监控。那个差距就是在真实规模上衡量扑克机器人被利用性的标尺。
漏洞的起点
被利用性往往悄无声息地渗透进来。但通常,它是某种捷径的代价——比如将细微差别的手牌进行归类合并,或使用将复杂判断简化为易操作形式的下注抽象。有时它是函数逼近偏差:一个神经网络在模拟环境中通过数百万次训练学习了如何预测EV,但在遇到它未曾见过的边缘情况时便会崩溃。有时,它是工程压力下的妥协决定——比如一个过于可预测的随机数生成器,一个过于规律的出手节奏,或者一个基于早已不再成立的假设所求解的子游戏。
“这些问题最有趣的地方,”他对我说,“不仅仅是它们会发生,而是它们具有共振效应。一个可预测的河牌圈加注尺寸本身也许无害。但如果它在标准牌面中持续发生且可被预测呢?机器人就变得可读。可被利用——从而提升了扑克机器人的被利用性。”
对抗扑克机器人被利用性的对策
那么,解药是什么?其实没有确切的解药。但我们有一整套技术手段,像马赛克一样,一点点削弱被利用的风险。
-
CFR及其变体:反事实遗憾最小化(Counterfactual Regret Minimization),以及像CFR+、DCFR+、Deep CFR这样的衍生方法——它们是AI扑克的主力。它们通过迭代学习,在自我对弈中逐步减少遗憾直至趋近于零。但即便如此,它们仍然需要数百万甚至数十亿次迭代,才能接近最小化的被利用性。
-
安全子游戏求解:这是像Libratus和DeepStack这类机器人脱颖而出的地方。它们不会盲目相信预先的策略蓝图。在每一个节点,它们会重新计算、细化,并设定风险边界。“永远不要重新求解出一个比基础策略更容易被利用的新策略”——这是安全AI扑克的座右铭。
-
随机化纪律:这点也绝非易事。如果你的伪随机数生成器(PRNG)不是加密级别的,或你的动作节奏太过规律,一个足够敏锐的对手就能反推你的逻辑。最优秀的机器人在策略和节奏上都会加入“抖动”以避免被预测。
-
实战压力测试:持续进行LBR测试、对抗性自我博弈、以及注入偏离主线的下注行为——这些都是严格训练流程的一部分。机器人不是在真空中进步的,而是在压力之下成长的。
永远无法消解的张力
GTO 是理想,剥削性打法是诱惑——而降低扑克机器人被利用性,则是安全网。纯粹的 GTO 游戏虽然理论上不可被利用,但它对弱对手无动于衷——等于是放弃赚钱的机会。相反的是,我们面临一个更糟糕的现实:剥削性打法可以捕捉“鱼”,但面对高手却可能流血。大多数先进机器人都结合了两者:一个低被利用性的核心,加上一层机会主义的外壳——这个系统永远在有人值守地维护,始终如此。
而这就是其中的张力所在。因为每一次一个人被剥削的情形,都伴随着风险。每一个抽象,都是对整个博弈宇宙的简化。当然,原因在于,扑克不像完全信息游戏那样,永远无法提供完美的反馈——只有嘈杂、延迟的信号。
所以我们一次次地自问:这个策略有多容易被利用?如果这个漏洞被发现,是被谁发现的?我们是否承担得起偏离GTO的风险?我们该不该把这类手牌归入那一类?而在这些问题背后,总有一个更深层的问题:我们距离真正解决这款游戏,还有多远?
也许还不够近。但比昨天更近了一步。