麻将无疑是我国最家喻户晓,老少咸宜的一项棋牌游戏。近年来,随着人工智能在围棋、德州扑克、Dota、星际争霸等众多游戏中获得亮眼的成绩,AI 在麻将领域却一直缺少跨越性的突破。最近,由微软亚洲研究院开发的麻将 AI 系统 Suphx 成为首个在国际知名专业麻将平台「天凤」上荣升十段的 AI 系统,这是目前 AI 系统在麻将领域取得的最好成绩,其实力超越该平台公开房间顶级人类选手的平均水平。
刘铁岩博士表示:「如果我们沿着不可见的隐藏信息维度,再极致化地推演游戏的发展,就会发现目前的游戏 AI 技术还有很大的发展空间,需要更多全新的技术。」
从完美到不完美信息博弈
当博弈是完美信息时,只要算力足够多,那么肯定就能通过搜索的方式找到最优的策略。
我们可以利用搜索树来理解这一过程,例如棋手每一步棋可以看作选择一个子节点,那么整盘棋一定可以表示为某条路径,现在 AI 要做的就是选择能带来胜利的路径。如下是最为经典的一种搜索树,AI 在每一个状态都希望最小化对手的最大收益。
刘铁岩博士说:「即使是围棋那种状态空间非常复杂的游戏,只要在搜索过程中加一些指导、做一些剪枝,就能在有限算力的情况下找到很好的决策。」现在再看看德州扑克与麻将等不完美信息博弈,它们和围棋有很大的不同。因为参与者互不知道对方的底牌是什么,所以 AI 基本上没法向前推演。尤其是在参与者只知道几张牌,周围缺失信息远远超过已知信息时,模型差不多只能靠「预测」。对于这样的游戏,核心技术就不再是树搜索,而是需要在某种预测的指导下做决策。「完美信息博弈与不完美信息博弈,它们最基本的指导思想有着很大的差别。」刘铁岩博士说,「在信息不完全的情况下,更重要的是去做预测而不是简单地搜索。」除了底牌和对方手牌不可见以外,麻将的游戏顺序也存在很大的不确定性。想象一下,象棋围棋都是一手一手轮着来,然而麻将天生就有「吃碰杠」,它会随机打乱游戏的顺序。这种情况下,麻将的游戏树是很不规则的、且动态变化的,我们无法判断什么时候搜索就跳到了另一个区域,因此传统的树搜索就很难真正起作用。所以我们需要新技术来做预估和预测。
既然麻将与围棋 AI 在本质上有很多不同,那么以前这个任务都是怎样解决的?早期的麻将 AI 会人为地把领域知识编码到游戏 AI 的程序里。后来随着深度学习、强化学习的流行,人们开始研究利用它们来自动学习和强化游戏 AI 的能力。微软的 Suphx 就是基于深度强化学习,同时还发明了很多针对非完美信息博弈的新技术。