计算机博弈技术综述
摘 要:计算机博弈是人工智能领域的重要研究方向。本文首先回顾了计算机博弈的发展历史,梳理了国内外相关的主要研究与重要发现。然后分别介绍了计算机博弈的关键技术——搜索与评估,重点阐述了极大较小搜索、蒙特卡洛搜索、拉斯维加斯搜索等重要搜索方法的原理与特点;也对一些棋局的评估方法和优化算法进行了比较和分析。最后总结了计算机博弈相关研究当前面临的主要问题,提出了对未来的看法与展望。
关键词:计算机博弈;蒙克卡罗搜索;人工智能;深度学习
A Review of Computer Game Techniques
Abstract: Computer game is an important research direction in the field of artificial intelligence. This paper first reviews the development history of computer game, and sorts out the main research and important discoveries at home and abroad. Then, the key technologies of computer games, search and evaluation, are introduced, and the principles and characteristics of important search methods such as the Minimax searching algorithm, the Monte Carlo searching algorithm and the Las Vegas searching algorithm are expounded. The evaluation methods and optimization algorithms of many chess games are also compared and analyzed. Finally, the main problems facing computer game related research are summarized, and the views and prospects for the future are proposed.
Key word: Computer game , Monte Carlo tree search , Artificial intelligence , Deep learning
1 引言
计算机博弈,有时也被称之为机器博弈(ComputerGames)。顾名思义,就是使计算机能够模拟人类大脑的思考过程,让计算机可以像人一样进行博弈。作为人工智能领域的重要课题,它从模拟博弈者的人脑智能和思维过程的方向进行研究,以棋盘与棋子为研究载体,构建了一种智能的计算机博弈系统。我们也可以通过一定的方法,把计算机博弈系统扩展到其他领域,用来解决实际生活中相关的难以解决的复杂问题(Xu,2008)。此外,在近年来人工智能的飞速发展过程中,计算机博弈领域被Xu(2009)称为研究人类智能科学的“果蝇”,不仅推动了人工智能与其他产业的综合性融合发展,而且极大地推动了科研的进步,产生了许多重要的社会影响和学术影响(Silveretal.,2016;Bench-CaponandE.Dunne,2007;Pennisi,2007)。
棋类博弈的基本过程,是博弈双方轮流给出相对于自己最优的着法,让当前棋局向着有利于自己的方向发展,直到己方取得最终的胜利。由此可见,计算机博弈的关键之处在于如何模拟博弈者复杂的思维过程,给出最优的着法。简单的说,就是博弈者先通过对当前棋局进行有效的判断评估,再根据自己的评估来预测推演出未来的棋局,从而确定当前最优的着法。所以我们不难看出,计算机博弈的重要部分就是评估局面与步骤搜索。
本文主要总结了近60年来计算机博弈方面的相关文献,对搜索和评估方面常用的相关技术进行了整理与汇总。本文通过对比各种搜索算法和评估方法,对计算机博弈的常用技术进行总结与评价,为今后计算机博弈领域的研究与发展提供一定的参考价值。
2计算机博弈发展历史
2.1 诞生阶段
早在1928年,被誉为计算机之父的冯·诺依曼对两人零和等同类游戏进行分析与总结,提出了极大极小值定理,并在此基础上,证明了博弈论的基本原理。1944年,在冯·诺依曼在与摩根斯特恩的合作下,著有《博弈论与经济行为》,在书中将先前的双方博弈推广为多方博弈,并且综合了经济方面进行了充分说明,奠定了之后计算机博弈领域发展的知识基础与理论体系。
在上个世纪五十年代,人们就开始设想实现智能机器与人的博弈。包括阿兰·图灵、约翰·麦卡锡、以及冯·诺依曼在内的许多著名科学家都曾经置身于计算机博弈领域的科研工作,做出了不可或缺的重要贡献。1950年,图灵基于几个最基本的国际象棋规则,运用简单的逻辑搜索两个步骤,完成了粗糙的计算机智能程序。1956年,麦卡锡发明了Alpha-Beta搜索算法,两年后基于此算法的国际象棋程序(Bernsteinetal.,1958)问世,基本可以达到初学者的技术水平。1961年,Samuel(1967)运用机器学习的方法,通过学习州跳棋冠军提供的注释和评论,打败了州跳棋冠军本人。随着研究的不断深入,科学家们开始思考,棋类对弈是否可以作为计算机博弈领域研究的突破口。
2.2 发展阶段
随着研究的不断发展与深入,研究人员发现博弈程序的优劣很大程度上是由搜索的深度来决定的。同时,伴随着硬件与软件的不断发展,计算机算力得到了巨大提高。所以人们开始致力于快速有效地找到博弈树上的最优解,由此各种搜索算法层出不穷。这引发了人们浓厚的兴趣——计算机究竟能否在棋类对弈中战胜人类,计算机博弈也进入了飞速发展时期。
十九世纪末,IBM公司研制出的“深蓝”程序(Peterson,1996),在与世界棋王的交战中败北。研究人员的结论是:如果想要实现战胜人类冠军,就必须使电脑每秒实现10亿次计算,“深蓝”很接近,但还未能达到。1997年,计算速度翻倍的“更深的蓝”(Clark,1997)在与世界棋王的六局对抗赛中,最终以3.5:2.5取得胜利。这次比赛,是当时唯一一次超级电脑战胜人类冠军,这标志着计算机取得了巨大胜利,也使得计算机博弈的发展迎来了一个新的高峰。
2.3 开拓阶段
二十世纪初期,随着并行搜索算法(LiandChen,1998)、人工神经网络(HintoniandSalakhutdinov,2006)等技术的不断完善,类脑智能科学的不断发展,计算机博弈进入了一个空前绝后的繁荣阶段。2011年的《危险边缘》问答节目上,人工智能IBMWatson与此节目中最优秀的竞赛选手进行了激烈对战并取得胜利。2013年,计算机基于卷积神经网络开发的智能程序Q-learning分析了视觉影响,在雅达利2600游戏机上多个游戏中取得了比人类玩家更高的分数——例如《海洋争霸》、《乒乓球》等。2015年,著名的阿尔法狗(AlphaGo)诞生(Silveretal.,2016),并在2016年打败了世界围棋冠军李世石。2019年,在暴雪娱乐公司打造的实时策略游戏《星际争霸II》中,人工智能程序AlphaStar打败了职业玩家。
这些举世瞩目的事件,在学术界产生了空前的影响,不仅标志着计算机博弈领域的研究已经取得了巨大的成就,也预示着它将促进人工智能的进一步发展,成功解决许多相关领域的实际问题。
3搜索方法
在计算机博弈过程中的任意一个阶段,我们可以站在其中一方博弈者的立场上,构建他的思维过程。博弈者的思维过程如图1所示,着法的搜索为棋局的演化奠定了关键基础。
Figure 1: 博弈者思维过程图
通过将思维过程抽象化,可以用一种由线段和节点构成的树状图表示,这种树状图称为博弈树,如图2所示。在博弈树中(Lietal.,2015),它的根节点代表此时此刻的棋局,子节点是当博弈者实施各种可行着法后的不同局面,再下层子节点则代表着子节点局面的进一步棋局,各层子节点以此类推,直到可以判断博弈双方的胜负,从而形成完整的博弈树。显然,博弈树的节点数量是十分巨大的,而且对于不同的棋类博弈,通常有着不同的分支因子数目。
博弈的首要任务就是使用搜索算法,用尽可能短的事件损耗、尽量少的空间占用来对我们形成的博弈树进行相应的搜索,来找出基于当前局面最优的着法。但是Herik(2002)的研究表明完整博弈树的节点数量可以达到相当巨大的天文数字,进行完全搜索是不可行的,所以需要把搜索树进行一定的处理,使其数量范围满足一定的要求,减少搜索数目,进行更加有效的遍历与判断。
Figure 2: 博弈树结构图
3.1极大极小搜索
极大极小搜索(Kaindletal.,1991)所使用的搜索原理,是在对弈双方进行数步操作之后,在可能选择的步骤中选择相对好的着法来走,即在一定的深度进行求解。定义一个静态的估值函数f,用来评估当前棋局的优劣。我们做出以下规定,以MAX和MIN代表两方博弈者;p代表某个棋局状态;MAX期望f(p)可以获得最大值以取得更优局面,MIN则期望f(p)可以获得最小值以取得最优。这也就是说,极大极小搜索的基本思想可以总结如下:当博弈者MAX应给出着法时,博弈者应该要考虑最优的状况,也就是f(p)取得极大值;当博弈者MIN应给出着法时,博弈者MAX就要考虑此时最坏的状况,也就是f(p)取得当前的极小值;这就可以理解为两位博弈者自己的博弈策略,两种方法轮流使用从而传递推出值。
当进行极大极小搜索时,我们会进行许多抉择。是应该先生成完整的博弈树搜索,还是先对仅有的节点进行搜索?搜索是按照何种顺序进行的,是深度优先还是广度优先,或是其他?搜索之后的节点应该删除,以节省内存空间吗?另外,在计算机的算力有限的情况下,想要搜索树的深度进一步增加,就必须消耗大量的时间和空间,这就需要对搜索树进行合理的剪枝。
3.2 剪枝搜索
McCarthy(1955)提出的剪枝搜索改善了极大极小搜索的数据冗余问题,是目前计算机博弈领域应用最为广泛的搜索方式,也被称为裁剪搜索。目前最为著名的方法是Alpha-Beta剪枝算法(Silveretal.,1978),还包括许多以Alpha-Beta算法为基础开发出的许多加强版搜索算法。下面我们以Alpha-Beta剪枝算法为例,从不同角度进行简单的分析。
3.2.1 Alpha-Beta剪枝原理
Alpha-Beta剪枝的精髓之处,就是要裁剪掉一定不会被选择的分支。假设我们进行深度优先搜索得到某一条路径的结果,三个叶子节点的评估值分别为d,e和f,如图3所示。如图3(a)所示,在我们搜索到叶子节点d的时候,叶子节点e、f还没有被搜索到,此时如果它的父亲节点在MIN层,那么此父亲节点选择的评估值c一定会小于等于d。也就是说,当前情况下,父亲节点有着上界d。这里可以引出此算法的第一个参数β——代表着某个节点可以选择的评估值的上界。如图3(b)所示,此时如果它的父亲节点在MAX层,那么此父亲节点选择的评估值c一定会大于等于d。也就是说,当前情况下,父亲节点有着下界d。这里可以引出此算法的另一个参数α——代表着某个节点可以选择的评估值的下界。
Figure 3: Alpha-Beta剪枝原理图
掌握了两个参数之后,下面列出Alpha-Beta剪枝搜索中进行剪枝操作的重要依据:
第一,MAX层的α=max(α,它的所有子节点的评价值),MAX层的β=它的父节点的β。如果MAX层中子节点的步骤更优,也就是说评估值大于当前评估值,那么就把当前达到的评估值替换为子节点的评估值。
第二,MIN层的β=min(β,它的所有子节点的评价值),MIN层的α=它的父节点的α。与上述性质类似,如果在子节点中发现可以使对手更优的步骤,就替换掉β。与此同时,比较父节点最优解和当前解的大小,若父节点更优,则停止搜索。
第三,当某个节点的α≥β,停止搜索该节点的其他子节点。在MAX层中,如果存在某个节点的最优解大于它的父亲节点的最差解,则没有必要再搜索,进行剪枝;再MIN层中,如果存在某个节点的最差解小于它的父亲节点的最优解,则没有必要再搜索,进行剪枝。
第四,叶子节点没有α和β。因为叶子节点没有子节点,所以没有计算α和β的必要。
3.2.2 Alpha-Beta搜索的改进
这里以五子棋博弈为例,分析几种改进后的搜索方法——局部搜索、静态评价启发、迭代深化。
局部搜索,对五子棋棋盘进行局部化搜索(ChengandLei,2012)。在五子棋博弈的过程中,所有的十字交叉位置都是合理的着法。对于一定规模的棋盘来说,这就意味着棋盘的搜索节点规模是相当大的。但是我们五子棋是要求博弈者在保证对方未形成五子连线的前提下,尽可能实现自己的五子连线。经过分析,发现最优的着法一般围绕在棋局中已有棋子的周围。所以我们没有什么必要对完整棋盘的所有可下位置进行搜索,而对其进行裁剪,仅仅在局部区域进行搜索就可以达到预期的效果。这样的局部搜索,搜索范围包括已有着法的所有周围可行解,减少了很多无用分枝着法的棋盘,大大减少了搜索中的分支因子。
静态评价启发。根据Alpha-Beta搜索原理,可以发现想要使找到较优解所消耗的时间尽可能短,必须尽早对搜索树进行剪枝。ChengandLei(2012)的研究表明静态评价启发是一种用来对搜索顺序进行合理优化的启发方法,能够让较优的着法被更早搜索到,因而可以简单有效的缩短Alpha-Beta搜索所用时间。在五子棋博弈过程中,在当前节点搜索到的最佳着法,往往和多层节点搜索到的最佳着法是不一致的。但是它一般是一个较优的解法,例如形成活三是一个较优解,形成活四是一个最优解(无论搜索层数是多少)。如果进行某一个节点P的搜索,其每一个着法mi形成局面Pi,并产生评估值vi。由此,可以通过对P进行极大方与极小方的判断,从而对mi进行排序,并以此顺序{mi}作为P的较优解搜索顺序。
迭代深化(ReinefeldandMarsland,1994)。在搜索过程中,当对某一个节点进行深度为d的搜索时,可以首先进行一次深度为d−1的搜索,得出的最佳着法作为d层搜索时最优先搜索的着法。因为相邻两层的节点相似度大,因此d−1层所得到的着法很有可能是较优解或是最佳解。运用这个方法可以在搜索的过程中的得到一个较好的剪枝效率。虽然看似是多进行了一次搜索,花费了额外的时间。但KnuthandMoore(1975)的研究表明,Alpha-Beta剪枝搜索d层花费的时间是搜索d−1层花费时间的b倍——b为分支因子。五子棋博弈中平均分支因子一般为200,由此可知,对d−1层进行搜索只占取搜索d层消耗资源的1/200。这往往花费很少的时间,却为d层的搜索提供了一个较优的启发,使得剪枝效率大大提高。
3.3最佳优先搜索
最佳优先的搜索算法,不受节点排序的影响,其搜索空间小于深度优先的最小数,理论上应该优于深度优先。它是一种启发式搜索算法(HeuristicAlgorithm),其基于广度优先搜索,不同的是其依赖于估值函数要对将要遍历的节点进行估值,选择代价小的节点进行遍历,直到找到目标点位置。
最佳优先算法通过估值函数,会将探测快速地导向目标点的方向,其不一定能够寻找到一条最段路径的点,但是其搜索的效率相比其他算法要快上很多。在地图上有障碍的情况,其寻找的路径一般都不是最短路径,在寻路过程中可以尝试配合其他方法,对寻路进行修正。无障碍寻路过程如图4(a)所示,有障碍寻路过程如图4(b)所示。
Figure 4: 最佳优先搜索探索过程
实际上,最佳优先算法当前仍处于理论研究阶段,其基本可以分为两类:采用极大极小算 法取值的SSS算法 (Plaat et al, 2014)和DUAL算法,不采用极大极小方法取值的B* (Berliner, 1979)和PB*算法 (Berliner and Mcconnell, 1996)。
3.4蒙特卡洛搜索
蒙特卡洛搜索(MCTS,MonteCarloTreeSearch)(Lorentz,2016;Guezetal.,2013)是一种基于树形结构、可以权衡探索与利用、在搜索空间巨大的条件下仍然比较有效的搜索算法,例如著名的AlphaGo就是运用蒙特卡洛算法进行搜索(Silveretal.,2016)。求解问题过程中,当我们需要得出某种事件出现的概率时,或者是需要得到某个随机变量的期望时,可以通过某种“试验”的方法,得到这个问题的解——事件出现频率或随机变数的均值。这就是蒙塔卡罗方法的基本思想。它根据事物运动的几何特征,运用数学方法进行仿真模拟,也就是一种数字模拟实验。它基于一个概率模型,按照这个模型所描绘的过程,模拟实验的结果,来作为问题的近似解。
基本的蒙特卡洛搜索算法就是根据模拟的输出结果,按照节点构造出合理的博弈树。主要步骤如图5所示有四步:路径选择、节点扩展、模拟实验、反向传播。下面分别进行介绍。
Figure 5: 蒙特卡洛搜索流程图
路径选择,需要从父亲节点开始,从当前要进行决策的局面出发,向下选择出最有拓展需求的节点N,即决定决策树的生长方向。对于当前博弈局面,有三种可能的结果。该节点可能的着法均被拓展,表示此节点已经完成了全部搜索,此时就需要使用UCB公式计算并选择UCB最大的节点继续迭代;该节点还有着法未被拓展,则会在剩余的着法中随机选择,继续执行拓展操作;该节点为结束节点,表示游戏已经结束,此时从此节点执行反向传播操作。
节点扩展,在路径选择步骤结束之后,我们已经找到了一个最迫切需要拓展的节点N,还有它所对应的一个尚未拓展的着法。我们在搜索树中为节点N执行该动作之后的局面创建一个新的子节点\(N_n\)。
模拟实验,每一次创建新的局面(新节点),都需要为新节点赋值一个初始的评分。从新节点\(N_n\)开始,使博弈过程随机进行,直到结束。结束时找到的博弈结局就作为\(N_n\)的初始评分。通常使用胜利或失败进行评分,即用1和0进行表示。
反向传播,在\(N_n\)的模拟结束之后,它的根节点到父亲节点N路径上的所有节点都必须根据模拟结果对自己的评分值进行一定的修改。如果在路径选择步骤中,选择到结束节点,那么此时也需要根据相应结局进行评分。
3.5拉斯维加斯搜索
拉斯维加斯搜索算法(Las Vegas)是另一种随机算法。像蒙特卡洛搜索算法一样,它不是一种具体的算法,而是一种思想。与众不同的是,它在产生随机值时,会不断进行尝试,直到得到满意的随机值。也许尝试过程一直没有终止的机会,所以拉斯维加斯算法在效率上略次于蒙特卡洛算法,并且有可能得不到问题的解,但得到的解一定是正确解。
4评估方法
在博弈树搜索中,局面评估也发挥着决定性的作用。所谓的局面评估,就是通过数学模型的建立,将局面好坏程度的感性判断进行理性化,使用一定的函数映射进行映射,得到对于当前局面的量化评估值。局面评估需要大量的相应棋类知识,是博弈过程中最为人性化的部分。它的设计好坏将会直接对整个博弈系统的效率和智能水平产生巨大影响。
局面评估所涉及到的状态参数非常之多,它所包含的反馈结构也十分复杂,需要根据实际的情况认真的选择和权衡。由于局面评估的复杂性,在计算机博弈过程中评估方法一般要针对具体的博弈内容来确定,所以局面评估方法众多。
因此在这里,我们介绍几种常用棋类的评估方法。
4.1一种六子棋的评估方法
与传统的五子棋类似(WuandHuang,2005),六子棋的规则十分简单。博弈者执黑白棋子,执黑棋者先手下一颗棋子,之后博弈者轮流每次下两颗棋子,先实现六子及以上连线者获胜。Min(2010)研究表明六子棋具有规则简单、变换复杂、游戏公平等特性,由于博弈者每一着法都使得棋面上比对方多出一子,所以棋局可自然实现一种平衡状态。相比于传统的五子棋、国际象棋、中国象棋等诸多棋类游戏——具有先手优势(Allis,1994),六子棋更为公平。因为游戏公平对六子棋来说并不是问题,所以棋盘可以无限大。为了让六子棋能够分出胜负,我们采用围棋的十九路棋盘来进行讨论。
简单地说,我们使用6-窗口提取棋形和颜色信息,使用8-窗口提取棋型信息。运用这些信息进行查找和模式匹配,最后对黑白双方的棋型和数量分别进行统计,得到我们最终的估值。最终的估值可以使用各种棋型价值的简单求和表示,计算公式如下所示:
上式中,S代表当前棋局;i代表棋型,一共有14种不同的棋型;\(N_i^B\)和\(N_i^W\)分别代表黑方棋型i和白方棋型i的数量;Vi代表棋型i的估值。
4.2一种围棋的评估方法
围棋以其庞大的搜索空间以及局面评估和落子难度,在计算机博弈领域一直备受关注。近十年来,随着人工神经网络的深度学习技术不断运用到计算机博弈中,机器博弈技术得到了飞速发展。作为最为典型的人工智能围棋程序AlphaGo(Silveretal.,2016),它基于一种深度神经网络——价值网络,构建了自己的价值评估器。其神经网络结构原理如图6所示。基于价值评估器,可以通过机器的增强性学习,来获得形式判断的棋感,预测通过训练过后的强化学习策略网进行自我博弈的结果。
Figure 6: AlphaGo神经网络结构原理图
4.3一种中国象棋的评估方法
根据中国象棋复杂性、灵活性等特点(Pei,2021),我们评估函数从多方面的因素进行综合性判断。根据Xie(2008)的研究,评估函数主要包括固定子力值评价,棋子位置值评价,棋子灵活度评价,棋子的协调性、威胁以及保护,特殊棋型评价——根据每一个棋子对当前局势的重要程度和走法多样性赋予一个固定值;根据棋子是否占据有利位置来进行评估判断,一般越接近敌方主帅的位置,威胁性越大,评估值越高;根据棋子的活动范围来进行评估判断,也就是当前局面棋子向各处调动的可行性越大,评估值越大;根据棋子之间的关系进行评估判断,即若两棋子形成紧密关系配合作战,就会给予一定的附加值;根据特殊棋型赋予棋子一定的评估值,例如炮沉底、马连环等,都在评估值中有所体现。
由上所述,可以建立一个单方博弈者局面的评估函数:局面评估值=子力值+位置值+灵活度+协调性+保护(威胁)+特殊附加值。将评估函数具体化,即对当前棋局的若干评价模块分别进行处理与计算,获得相应的特征值,将所有特征值按照特征系数加权求和,就得到了最终的评估函数。
5面临问题与未来展望
几十年来,计算机博弈已经给人工智能领域带来了许多重要方法和理论,二人零和完备信息博弈领域取得了许多举世瞩目的辉煌成就。在其知识结构中,神经网络深度学习的方法也在不断出现(ChaiandWang,2020),不断突破,达到了一个空前绝后的高度。另外,随着计算机算力的飞速提高和搜索算法的不断改善(Zhao,2022),对于复杂度较高的棋类博弈也能够取得较好的结果。
在非完备信息博弈领域,虽然近几年有一定的进展(Ding,2021),但是其相关的理论研究仍然处于初级阶段,其研究方法还不够成熟,计算机还无法真正战胜人类高手。所以,还需要加强在非完备信息和不确定性博弈领域的技术研究。另外,这方面的资金投入相对较少,在一定程度上也限制了相应博弈技术的发展。
可以发现,计算机博弈领域的研究拥有广阔的未来(Li,2017)。它处理的问题复杂度将会不断增高,信息量不断增大,为解决复杂问题,它将与大数据、并行技术等相结合,实现技术集成。博弈领域的应用将会越来越广泛,促使软件与硬件方面融合加快,将会有更多的智能硬件产品出现在我们的生活中,例如智能决策的机器人、无人机等。博弈技术也会横向发展,进一步融合其他学科领域,注重实际应用,解决实际问题,尤其是在游戏领域具有无可替代的重要作用。计算机博弈研究也会综合现有技术,深入研究高智能化的算法,与神经网络、类脑思维等进一步融合,实现博弈系统的超智能化。
计算机博弈领域的未来充满未知,充满希望。
6结束语
随着人工智能的不断发展,计算机博弈领域也取得了极大的进步。各种相关竞赛,各种学术分享,极大地促进了计算机博弈的学术交流,诞生了许多重要的相关技术,推动计算机博弈飞速发展。
随着博弈树搜索技术的不断提高和改善,评估方法的不断进步,使得博弈技术引起了越来越多人的关注。神经网络、深度学习、类脑思维也不断运用在计算机博弈的技术之中。尤其是基于深度学习方法建立的AlphaGo智能围棋程序,引发了世界范围内无数人的高度关注。数不胜数的科学家开始置身于计算机博弈领域的学术研究。相信不久之后,相关领域就会向更广阔更深入的方向推进,产生众多的科研成果。
参考文献
A. Bernstein, T. Arbuckle, et al 1958. A chess playing program for the IBM 704. New York, NY, USA:ACM, 1958:157–159.
A. Samuel. 1967. Some Studies in Machine Learning Using the Game of Checkers. IBM journal of research and development, 11(6):601–617.
A. Reinefeld, T. Marsland. 1994. Enhanced Iterative-Deepening Search. IEEE transactions on pattern analysis and machine intelligence, 16(7):701–710.
Aske Plaat, Jonathan Schaeffer, et al 2014. SSS* = Alpha-Beta + TT. Computer Science, 8(1):25.
A. Guez, David Silver, P. Davan. 2013. Scalable and Efficient Bayes-Adaptive Reinforcement Learning Based on Monte-Carlo Tree Search. Journal of artificial intelligence research, 48(1):841–883.
程宇, 雷小锋. 2012. 五子棋中Alpha-Beta搜索算法的研究与改进. 计算机工程, 38(17):186–188.
柴化云, 王福成. 2020. 基于深度网络的多人计算机博弈算法研究. 信息技术与信息化, 2020(12):213–216.
David Silver, Aja Huang, et al 2016. Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587):484–489.
D. E. Knuth, R.W. Moore. 1975. An analysis of alpha-beta pruning. Artificial Intelligence, 6(4):293–326.
D. Clark. 1997. Bluer Than Blue: How IBM Managed It [Interview]. IEEE Concurrency, 5(3).
丁傲冬. 2021. 非完备信息计算机博弈关键技术研究. 沈阳航空航天大学.
Elizabeth Pennisi. 2007. Breakthrough of the year. Human genetic variation. Science, 318(5858):1842– 1843.
G. E. Hinton, R. R. Salakhutdinov. 2006. Reducing the dimensionality of data with neural networks. Science, 313(5786):504–507.
H. Jaap van den Herik, Jos W.H.M. Uiterwijk, Jack van Rijswijck. 2002. Games solved: Now and in the future. Artificial intelligence, 134(1/2):277–311.
H. J. Berliner, C. Mcconnell. 1996. B* probability based search. Artificial intelligence, 86(1):97–156.
H. Berliner. 1979. a best-first proof procedure. Artificial intelligence, 12(1):23–40.
Hermann Kaindl, Reza Shams, Helmut Horacek. 1991. Minimax Search Algorithms With and Without Aspiration Windows. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(12):1225– 1235.
I. Peterson. 1996. Chess Champion Sinks Deep Blue’s Figuring. Science News, 149(8).
Ichen Wu, Deiyen Huang. 2005. A New Family of k-in-a-row Games. Hsinchu, Taiwan.
John McCarthy. 1955. Human-Level Ai Is Harder Than It Seemed. Stanford University.
L. V. Allis. 1994. Searching for solutions in games and artificial intelligence. Ph.D. Thesis, University of Limburg, Maastricht.
李英杰. 2017. 计算机博弈竞赛和创新人才培养模式探究. 电脑与电信, (Z1):60–62.
闵文杰. 2010. 六子棋计算机博弈关键技术研究. 重庆交通大学.
裴燕芳. 2021. 中国象棋字对弈及强化学习系统的设计与实现. 北京邮电大学.
Richard Lorentz. 2016. Using evaluation functions in Monte-Carlo Tree Search. Theoretical computer science, 644:106–113.
S. Fuller, J. Gaschnig, J. Gillogly. 1978. Analysis of the Alpha-Beta pruning algorithm. Carnegie:Carnegie Mellon University.
T. J. M. Bench-Capon, Paul E.Dunne. 2007. Argumentation in artificial intelligence. Artificial Intelligence, 171(10/15):619–641.
Xinhe Xu, Zhili Deng, Jiao Wang, et al 2008. Challenging issues facing computer game research. CAAI transactions on intelligent systems, 3(4):288–293.
Xuejun Li, Xiaolong Wang, Lei Wu, et al 2015. Game tree generation algorithm based on local-road scanning method for connect 6. CAAI transactions on intelligent systems, 10(2):267–272.
徐心和. 2009. 计算机博弈——对于人类思维的挑战. 中国科技博览, 2009(34):194–195.
谢艳茹. 2008. 中国象棋计算机博弈数据结构与评估函数的研究和实现. 西安理工大学.
Zhitang Li, Huamin Chen. 1998. Parallel game-tree search. Mini-micro systems, 19(10):53–56.
赵海璐. 2022. 大众麻将计算机博弈智能搜索算法的应用研究. 重庆理工大学.