AI News HubLIVE
站内改写2 分钟阅读

游戏AI七十五年:每个系统只能玩少数游戏

本文追溯了从1948年图灵的手动国际象棋程序到2023年Student of Games的75年游戏AI历史,重点从搜索范式转向学习范式,并探讨了隐藏信息带来的挑战。作者提出 Grimoire 项目,旨在让游戏设计师用自然语言描述游戏规则,自动编译为AI算法可用的接口,从而搭建从研究到实践的桥梁。

来源Hacker News AI作者: kal9000

在过去的七十五年里,游戏AI的研究经历了一场从搜索到学习的深刻转变。1948年,艾伦·图灵在没有可运行计算机的情况下,为国际象棋编写了程序,并手动执行每一步。1950年,克劳德·香农发表了计算机国际象棋的蓝图。其核心思想是“向前看”——即minimax算法,配合alpha-beta剪枝,成为接下来五十年的主导方法。阿瑟·塞缪尔的跳棋程序在20世纪50年代末便能在IBM 704上达到可信水平,并创造了“机器学习”一词。1997年,深蓝击败卡斯帕罗夫,每秒搜索两亿个位置。2007年,跳棋被完全解决:双方最优玩法会导致平局。

然而,这些系统都依赖于人类编写的评估函数——机器负责搜索,人类负责判断。这种局限在围棋面前暴露无遗,因为围棋的分支太多,无法手工评分。

转折点出现在自我对弈学习。1992年,杰拉尔德·特索罗的TD-Gammon通过神经网络自我对弈,达到了人类顶级水平。2016年,AlphaGo将深度网络与搜索结合,击败了李世石。随后,AlphaZero仅从规则学习就掌握了国际象棋、将棋和围棋,而MuZero甚至能在不知道规则的情况下学习。这一趋势表明,通用性是整个领域的发展方向。

但以上所有系统都假设双方能看见全部信息。现代棋盘游戏大多涉及隐藏信息,如对手的手牌或随机牌堆。此时,minimax的“假设最佳回应”不再适用。扑克成为这一领域的试验场,2007年提出的反事实遗憾最小化(CFR)算法让机器在2015年解决了限定德州扑克,随后又在无限制和六人游戏中击败人类顶尖选手。

到2019年,存在两大传统:擅长完美信息的AlphaZero和擅长隐藏信息的CFR。2023年,DeepMind的Student of Games将两者结合,能同时下棋、打扑克和玩Scotland Yard。论文作者称其为“迈向真正通用算法的重要一步”。

尽管取得了这些成就,七十五年来,每个系统仍然只能玩少数游戏,每个游戏都需要研究人员手动集成。AlphaZero玩了三种,Student of Games四种。而棋盘游戏数以十万计,每天都有新设计。设计师迫切需要一种工具,能够自动评估原型游戏的平衡性和趣味性。

学术界早在二十年前就开始探索“通用游戏玩法”。斯坦福的通用游戏玩法项目(GGP)使用GDL语言,但GDL是一阶逻辑,无法表达隐藏信息或骰子,且设计师难以掌握。Ludii项目收集了上千种游戏,但其描述语言仍是研究人员的工具。这些桥梁都是从算法一侧建造的,设计师一侧仍然无法跨越。

作者的赌注是:桥梁必须从设计师一侧建造,而现在这已经是一个工程问题而非研究问题。Grimoire项目正是为此而生。它采用一种说“棋盘游戏语言”的描述格式,设计师可以用卡片、骰子、牌堆、回合等词汇描述游戏。例如,井字棋的描述如下:

components: x_marker: display: "X" count: 5 o_marker: display: "O" count: 5

containers: table: board: preset: grid rows: 3 cols: 3 accepts: [x_marker, o_marker]

flow:

设置、回合循环和结束条件

用同样的词汇表示

设计师可以直接读懂。该格式编译成AI算法所需的标准接口——观测和动作——这是强化学习领域Gymnasium和OpenSpiel等工具使用的通用语言。形式化描述不再作为人类界面,而是成为编译目标。

在引擎之上,工具箱将包含TD-Gammon式的自我对弈学习、minimax搜索及其现代随机化变体。Grimoire的目标是让设计师无需研究团队介入,就能让AI分析原型游戏。