1.3 相关应用
在这一部分,我们将回顾分布式人工智能的研究应用。
1.3.1 足球
RoboCup设立于1997年,经过二十余年的发展,现在已经成长为包括足球联赛(Soccer)、救援联赛(Rescue)、居家联赛(@home)、青少年联赛(Junior)和工业联赛(Industrial)的大型国际性竞赛组织,参赛队伍也达到了350~450支。其中足球联赛历史最为悠久,可细分为仿真组(包括2D和3D)、小型组、中型组、标准平台组和类人组[5]。其中参与团队采用的技术也由开始的基于规则[4],状态机[70]和规划算法[2],变成以深度学习[26,52,83]和深度强化学习[55,62,91]为主,这一趋势体现了近二十年科研趋势的发展,也产出了许多高水平的研究成果(图1.4)。在近十年的RoboCup中,来自中国高校的代表队表现非常亮眼,中国科学技术大学陈小平教授的团队获得多项比赛的冠军。
图1.4 Water团队在RoboCup 2019的一次射门场景[5]
无独有偶,2020年,Google公司与英超曼城俱乐部在数据科学社区和数据科学竞赛平台Kaggle上举办了首届Google足球竞赛,这次竞赛基于谷歌足球强化学习环境,采取11vs11的赛制,参赛团队需要控制其中1个智能体与10个内置智能体组成球队。经过多轮角逐,最终腾讯AI Lab研发的“绝悟”WeKick版本成为冠军球队。另外,来自DeepMind的科学家与利物浦足球俱乐部合作,对人工智能帮助球员和教练分析对战数据进行了探索[86]。他们分析了过去几年的点球数据,发现球员踢向自己最强的一侧更容易得分。他们还在一个可以仿真球员关节动作且决策间隔精确到毫秒的足球环境中训练了AI模型,发现AI可以自发地形成一个队伍进行合作来取得胜利[49]。
1.3.2 安全博弈
保护关键公共基础设施和目标是各国安全机构面对的一项极具挑战性的任务。有限的安全资源使得安全机构不可能在任何时候都提供全面的安全保护。此外,安全部门的对手可以通过观察来发现安全机构保护策略的固定模式和弱点,并据此来选择最优的攻击策略。一种降低对手观察侦查能力的方式是随机调度安全部门的保护行为,如警察巡逻、行李检测、车辆检查以及其他安全程序。然而,安全部门在进行有效的随机安全策略调度时面临许多困难[84],特别是有限的安全资源不能无处不在或者每时每刻提供安全保护。安全领域资源分配的关键问题是如何找出有限的安全资源最优配置方案,以获取最佳的安全保护方案。
博弈论提供了一个恰当的数学模型来研究有限的安全资源的部署,以最大限度地提高资源分配的有效性。尽管安全博弈模型基于20世纪30年代的Stackelberg博弈模型,但它是一个相对年轻的领域,是在Vincent Conitzer和Tuomas Sandholm 2006年的经典论文[17]发表后迅速发展起来的。安全博弈论初期研究的主要参与者包括南加利福尼亚大学Milind Tambe教授领导的TEAMCORE研究小组,现在有越来越多的学者参与到这项研究中,已有近百篇论文发表于人工智能领域的顶级会议AAMAS、AAAI和IJCAI上。过去十年,博弈论在安全领域的资源分配及调度方面的理论——安全博弈论逐渐建立并且在若干领域(如机场检查站的设置及巡逻调度、空中警察调度、海岸警卫队的巡逻、机场安保、市运输系统安全)得到成功应用。最新兴起并得到关注的是绿色安全博弈(Green Security Game),如图1.5所示,其包括对野生动物,鱼类以及森林的保护[21]。虽然安全博弈论已经成功应用在一些领域,但依然面临很多挑战,包括提高现有的安全博弈算法的可扩展性,提高安全资源分配策略的鲁棒性,对恐怖分子的行为建模、协同优化、多目标优化等[3,85]。
图1.5 绿色安全博弈[1]
1.3.3 扑克和麻将
扑克和麻将是世界流行的娱乐活动,不同的扑克和麻将游戏具有不同的牌数和不同的胜负判定规则。扑克和麻将游戏可以被非完全信息序贯博弈来建模,而研究者关心的是如何计算这类游戏的均衡策略,特别是大规模的游戏。举例来讲,对于二人有限下注的德州扑克,可能出现的不同牌面状态是1014种。因而扑克和麻将的求解在应用和研究领域都是一个非常具有挑战性的问题。
相关的研究和应用最早出现在德州扑克上。德州扑克可被写成一个非常宽但是相对较浅的博弈树,来自卡耐基梅隆大学的Tuomas Sandholm教授团队经过十余年的研究,最终在2017年开发出了第一个在二人无限下注的德州扑克上打败人类职业玩家但没有使用深度学习的算法Libratus[10],其中最主要应用的技术是先根据博弈的特殊性质进行抽象,然后应用CFR算法进行训练。在此之后,他们将相同的算法应用在多人无限下注的德州扑克上面,即Pluribus[11],依然取得了很好的结果。之后,研究者将目光转移到了更复杂的扑克游戏上,如斗地主这类决策轮数更多,牌数更多的游戏上。由于博弈树变得更宽而且更深,而Libratus和Pluribus的基础算法CFR假设每一次的搜索都能够到结束节点,这在斗地主游戏中是不容易满足的。最新的研究成果DeltaDou[36]和DouZero[98]都基于强化学习算法,只需要向下搜索一步或几步就可以进行更新,具有更强的适用性。其中DouZero打败了之前的所有344个AI智能体,成为当前的最强算法。
麻将相比于德州扑克和斗地主是更为复杂和困难的游戏,其难点主要来自三个方面:第一,麻将有更多的玩家和更多的牌,因而麻将的牌面状态的数量更多,可以达到惊人的10121数量级;第二,麻将的计分规则更复杂,因而决策需要考虑的因素更多也更复杂;第三,麻将中每个玩家可以选择的动作更多,包括碰、杠和吃。研究者解决麻将问题的努力从没有停止过,与研究领域整体发展相呼应,研究者提出了基于抽象算法、蒙特卡洛搜索、对手建模和深度学习尤其是强化学习的AI算法[27,41,56]。其中取得了最好效果的是微软亚洲研究院的Suphx系统[45],它分别训练了丢牌模型、立直模型、吃牌模型、碰牌模型以及杠牌模型来处理麻将中的复杂决策情况。另外,Suphx还有一个基于规则的赢牌模型,决定在可以赢牌的时候要不要赢牌。Suphx已在天凤平台和其他玩家对战了5000多场,达到了目前的最高段位10段,其稳定段位达到了8.7段,超过了平台上另外两个知名AI算法Bakuuch[56]和NAGA[87]的水平以及顶级人类选手的平均水平。
1.3.4 视频游戏
视频游戏是现代社会广泛的娱乐方式。广受欢迎的游戏有即时战略(Real-Time Strategy,RTS)游戏星际争霸和魔兽世界,近几年最流行的是多人在线战术竞技(Multiplayer online battle arena,MOBA)游戏,如Dota、王者荣耀和英雄联盟。视频游戏提供了理想的研究环境,它们具有和现实问题相似的复杂性,可以很好地测试算法在复杂环境中寻找到好的决策策略的能力。
星际争霸II是暴雪公司在2010年推出的即时战略游戏(Real-Time Strategy Game),游戏中玩家透过俯瞰的视角模式观阅整个战场并对军队下达指令,最终目标就是击败战场上的对手们,主要的游戏技巧着重在资源上,玩家用采集的资源建造不同的建筑、军队并进行升级。2019年1月,DeepMind的研究者推出的AlphaStar,在1vs1的对战中打败了人类职业选手,并最终在天梯榜上达到了Grandmaster层级,超过了99.8%的人类选手,相关研究发表在《自然》杂志上[89]。
同样受到关注的还有MOBA游戏,相比于RTS游戏,MOBA在单个玩家的决策上更简单,但更关注不同玩家之间的合作。另外,由于MOBA游戏一般拥有多个玩家,如在王者荣耀中,17个英雄可以组成的组合有4900896种,40个英雄可以组成的组合有213610453056种,并由于不同的英雄具有不同的技巧,因此对战状况是非常不同的。如何训练AI算法支撑不同的战队组合并打赢对手,是一个非常具有挑战性的问题。2019年OpenAI的研究者提出OpenAI Five,可以在5 vs 5的Dota 2对战中打败人类玩家[7]。但是其一大缺点是只支持17名英雄,而Dota 2中共有117名英雄,这极大地降低了问题的难度以及可玩性。2020年腾讯公司的研究者开发的“绝悟”在王者荣耀游戏中达到职业电竞选手水平[96]。这些研究不仅在学术界产生影响,还可以直接应用于游戏中的人机对打模式,为游戏公司带来经济效益。