2. 重庆理工大学 计算机科学与工程学院,重庆 400054;
3. 重庆工业职业技术学院 信息工程学院,重庆 401120
2. School of Computer Science and Engineering, Chongqing University of Technology, Chongqing 400054, China;
3. Faculty Information Engineering, Chongqing Industry Polytechnic College,Chongqing 401120, China
机器博弈是人工智能领域重要的研究方向,通过训练计算机下棋来衡量机器的智能程度,具有人−机、机−机对弈2种形式,2016年Google的Alpha Go战胜韩国围棋大师李世石使得人机博弈变得家喻户晓[1],紧接着网络注册名Master线上挑战中日韩围棋高手,以及升级版Alpha Go Zero以4∶0战胜世界围棋第一人柯洁等标志性事件,掀开了人机博弈中机器取胜的新篇章[2]。但是机−机博弈依然是人类在人工智能领域不断探索的新坐标。
机器博弈根据博弈过程中信息的透明度可以分为完备信息和非完备信息博弈。完备信息博弈双方信息完全透明,对弈的双方完全了解彼此的博弈信息,主流的完备信息博弈有中国象棋、围棋、五子棋等。而非完备信息博弈双方信息不完全透明,其中存在一定的欺诈信息,主流的非完备信息博弈有军棋、德州扑克、桥牌、斗地主等[3]。由于非完备信息博弈信息的不透明性导致其存在博弈诱导、欺诈等行为,使得非完备信息博弈难以攻克[4]。
军棋博弈游戏中共有13类棋子,包括军、师、旅、团、营、连、排、司令、工兵等9类军人棋子以及地雷、炸弹、军旗等3类工具棋子。军棋博弈游戏过程中由于棋子棋力不同,位置也不相同,因此在不一样的位置、不一样的棋子搭配的情况下,棋子所展现出来的战斗力也不相同。如何根据棋子特性搭配出最佳棋力成为研究的重点。
1 多棋子协同策略多棋子协同博弈通过利用人类先验知识,制定出既定的目标和可实行的作战规划,发挥出相应的作战能力。其研究的目标是实现多棋子间协同,发挥群体作战功能,而不是单兵能力的体现与发挥。多棋子协同博弈的研究内容主要包括:多棋子优化协作、多棋子行为规划以及进行反馈学习[5]。
1.1 多棋子联合定义在军棋机器博弈游戏中,各个棋子间的协作关系是多种多样的,当博弈系统需要完成一个大目标时,就需要多个棋子进行协同作战。多棋子协同作战过程中会导致棋子间发生冲突,仅考虑棋子单独作战将会错过最优的作战计划[6]。基于此,军棋机器博弈需要消除多方冲突的条件下产生最优的合作结果,使得机器博弈系统作战能力达到最优。军棋机器博弈系统中多棋子协同博弈策略取得好的作战力的时候,其组合策略就会得到一定的奖赏,遇到相同的情况下,相同的策略趋势便会增强,强化学习的方法为多棋子协同作战提供了高鲁棒性的学习方法,无监督的情况下,棋子可以在不同的棋局下不断优化更新出最优的协同策略[7-8]。
多棋子协同博弈策略在棋子强化学习过程中的关键问题是确定棋子是否处于联合状态,并具有与其他棋子间的协同动作。多棋子进行协同博弈同时选择棋子组合,棋子不能及时沟通将会导致系统无法确定多棋子协同博弈的动作。针对此问题,机器博弈系统采取模拟走步解决此问题,即根据MCTS模拟的结果结合强化学习结果进而制定棋子协同策略。因此,军棋机器博弈协同强化学习系统由模拟预测单元和强化学习单元构建而成,其结构流程图如图1所示。在多棋子协同博弈强化学习系统中,模拟预测单元利用博弈树搜索进行MCTS模拟,返回高价值走步,并反馈出其他棋子的走步及预测结果,并基于其反馈的结果完成多棋子强化学习算法。强化学习单元将反馈回来的协同策略返还给动作预测单元进行协同策略预测模型更新[9]。
Download:
|
|
机器博弈双方和多方下棋的过程可以看作一个随机过程,服从马尔可夫序列过程,用元组<S,a1,a2,···,an,f 1,f 2,···,f n,g1,g2,···,gn>来表示一个多棋子协同博弈的随机策略,元组中n为军棋博弈系统中棋子的个数,即25个;S为博弈当前的局面,是一个12×5的矩阵;ai,其中ai表示棋子i可以选择的作战行为序列的集合i=1,2,···,n。军棋机器博弈系统协同作战的行动序列为a1×a2,···,×an。f i,其中i=1,2,···,n,通过利用局面和行动的积得到棋子的行动概率,即
Q强化学习算法是一种无监督的通过系统不断探索经验进而提高自身作战能力的算法,不需要人为干预和状态转移函数。当系统进行行为决策时只需要选出返还结果
$\begin{array}{*{20}{c}} {Q_t^i(S_t^i,{a_t}) = (1 + \alpha )Q_{t - 1}^i(S_t^i,{a_t}) + } \\ {\alpha [r_t^i(S_t^i,{a_t}) + \gamma {\pi ^1}({S_{t + 1}}), \cdots ,{\pi ^n}({S_{t + 1}})Q_{t - 1}^i({S_{t + 1}})] } \end{array}$ |
$\begin{array}{*{20}{c}} {{\pi ^1}({S_{t + 1}}),{\pi ^2}({S_{t + 1}}), \cdots ,{\pi ^n}({S_{t + 1}})Q_t^i({S_{t + 1}}) = \sum\limits_{{a^1} \in a} \cdots }\\ {\sum\limits_{{a^n} \in a} {P_t^1} ({S_{t + 1}},{a^1}),P_t^2({S_{t + 1}},{a^2}), \cdots ,P_t^n({S_{t + 1}},{a^n}) \times {\rm{ }}}\\ {Q_{t - 1}^i(S_{t - 1}^i,{a^1},{a^2}, \cdots ,{a^n})} \end{array}$ |
式中:
棋子间联合作战,通过反馈学习进行小规模棋子合作规划,实现对敌方欺诈是可以实现的。但是,军棋机器博弈系统中,每方都有25个棋子,棋子种类又分为12种,假设在军棋机器博弈过程中,每个棋子有A种走步,而在Q学习的过程中,25个棋子都会返回一个
军棋计算机博弈系统根据军棋棋子数量多造成的“维度灾难”问题,系统参考神经元特征,例如举一下胳膊时,并不会激活身体所有神经元,提出一种优先利用UCT搜索算法剪掉大部分棋子的行动序列,而把搜索学习算法重点放在几个高价值棋子之间的协作上面的方法。
2.1 UCT算法2006年匈牙利学者Levente Kocsis和加拿大学者Csaba Szepesvari共同合作提出一种MCTS算法与UCB公式相结合的UCT搜索算法。UCB(upper confidence bound)搜索算法最初设计的目的是用来解决多臂老虎机之类的问题。多臂老虎机问题是指在多臂老虎机上,通过摇动每个老虎机手臂都可以得到一定的收益,如果玩家想要摇到最大的收益就要根据以前摇臂的经验去判断摇哪个手臂得到的收益值最大。UCB搜索算法是一种离线的强化学习策略,即根据以往的经验知识去帮助系统做出未来的决策,UCB算法中的UCB值又被称为上限置信区间值,UCB公式为
${\rm{UC}}{{\rm{B}}_i} = \overline {{V_i}} + k\sqrt {2\ln (n/{n_i})} $ |
式中:
UCT搜索算法是在蒙特卡洛搜索的基础上,根据模拟出来的结果优先选择出胜率高的根节点,最后根据选择出来的胜率较高的根节点进行多次访问,增加高价值节点的访问次数,以最高访问数的节点作为最优值[11]。
2.2 发现高价值棋子军棋机器博弈系统采用多棋子协同博弈,开局时,局面中有50个棋子,60个棋位。并非所有棋子都进行系统协同作战,系统根据不同的布局采用局部令、强、中、弱棋子的搭配进行配合出战,而UCT搜索算法则在系统中起到筛选作用,为棋子协同作战提供指导方向,军棋机器博弈多棋子协同作战系统将搜索重点布局在高价值棋子上面,进而减少搜索的棋子数量,避免了搜索系统出现“维数灾难”问题。通过多棋子Q强化学习方法加强棋子之间策略学习,以使得多棋子可以配合出战,例如采用强子和弱子配合引诱对方的中子来吃弱子,而灭掉对方的中子[12]。
UCT搜索算法指导激活多棋子强化Q学习算法的流程如下所示:
1)初始化系统的值函数、学习因子以及马尔可夫过程的状态集合
2)将当前节点作为博弈树系统的根节点,从根节点进行扩展;
3)通过UCT公式计算各个节点的UCB值,并为节点赋值,选择出UCB较高的节点作为扩展结点进行搜索;
4)依次搜索节点,并检查是否为叶子节点,若不是叶子节点则重复第3)步搜索;
5)核查该节点被搜索次数是否达到系统规定访问次数,如果达到规定的访问次数,则将该节点进行扩展,并在访问次数上加1;
6)筛选出当前高价值节点状态下激活1的棋子,按照系统策略
7)根据多棋子强化学习Q值迭代公式迭代出新的局面−行为对的值函数
8)判断是否满足学习的终止条件,若满足则结束学习,不满足则返回第2)步继续迭代。判定当前状态是否满足多棋子Q学习算法的终止条件,如果满足,则停止学习,否则返回第2)步。
2.3 构建军棋博弈系统由于军棋在开局的时候对敌方信息处于未知状态。因此在军棋博弈系统中先跟据人类先验知识以及蒙特卡罗模拟对棋盘进行完备化[13]。搜索模块采用UCT搜索算法模拟走步,返回价值高并且模拟次数多的走步,并激活行动价值高的走步。通过Q学习算法对棋子协同矩阵优化,选择出最优走步。军棋博弈系统流程图如图2所示。
Download:
|
|
为了测试多棋子Q强化学习算法在实战中是否占据优势,本文采用与其他算法系统进行对打模式测试本算法的实用性,通过分先后手对战极大极小值搜索算法、alpha−beta搜索算法、MCTS搜索算法以及UCT搜索算法各1 000局并不断调整多棋子Q强化学习算法的参数,以得到最优值,实验结果如图3~7所示。
Download:
|
|
Download:
|
|
Download:
|
|
Download:
|
|
Download:
|
|
由以上实验结果可知,参数
单子作战系统重防守、轻攻击,很难做到主动攻击。而加入多棋子协同作战策略后的军棋机器博弈系统能够自我组织协同策略,多棋子联合作战,增加了系统的主动进攻意识。本文为了测试军棋多棋子协同博弈系统主动作战意识是否提高,采用了与其它搜索算法系统对战的模式,并统计出棋子作战过程中主动进攻的步数进行对比研究,研究发现该系统能够达到攻守平衡的状态,统计结果如表1所示。
军棋多棋子协同博弈系统由于棋子种类多的问题导致的“维度灾难”问题成为系统对战成败的关键性因素,针对此问题系统采用多种搜索算法进行高价值棋子激活,分别对战500局后,在军棋博弈的69步范围之内计算出每一步的平均搜索时间如图8所示[14]。
Download:
|
|
由图8可知,在未加激活算法时搜索的时间较长,而军棋机器博弈比赛是在限定的时间内搜索到走步,否则认为系统搜索超时判负,加入各种激活算法后,系统搜索时间明显降低,尤其在加入UCT搜索算法时,系统搜索时间降低最明显。
4 结束语本文利用Q学算法优化迭代更新军棋计算机博弈系统中多棋子协同矩阵,增加了多棋子协同作战的意识,增强了博弈系统主动出击诱导敌方的进攻趋势。利用部分重要棋子激活的方法解决了棋子数量巨大造成的“维度灾难”问题,使得搜索时间得到提升,避免了军棋计算机博弈系统在正式比赛过程中由于超时被判负的情况。未来将考虑利用计算智能算法加入此系统,进一步优化多棋子协同矩阵[15]。
[1] |
陶九阳, 吴琳, 胡晓峰. AlphaGo技术原理分析及人工智能军事应用展望[J]. 指挥与控制学报, 2016, 2(2): 114-120. TAO Jiuyang, WU Lin, HU Xiaofeng. Principle analysis on AlphaGo and perspective in military application of artificial intelligence[J]. Journal of command and control, 2016, 2(2): 114-120. (0) |
[2] | CHEN J X. The evolution of computing: AlphaGo[J]. Computing in science & engineering, 2016, 18(4): 4-7. (0) |
[3] |
李翔, 姜晓红, 陈英芝, 等. 基于手牌预测的多人无限注德州扑克博弈方法[J]. 计算机学报, 2018, 41(1): 47-64. LI Xiang, JIANG Xiaohong, CHEN Yingzhi, et al. Game in multiplayer no-limit texas hold’em based on hands prediction[J]. Chinese journal of computers, 2018, 41(1): 47-64. (0) |
[4] |
王亚杰, 邱虹坤, 吴燕燕, 等. 计算机博弈的研究与发展[J]. 智能系统学报, 2016, 11(6): 788-798. WANG Yajie, QIU Hongkun, WU Yanyan, et al. Research and development of computer games[J]. CAAI transactions on intelligent systems, 2016, 11(6): 788-798. (0) |
[5] | HONG Yiguang, CHEN Guanrong, BUSHNELL L. Technical communique: distributed observers design for leader-following control of multi-agent networks[J]. Automatica, 2017, 44(3): 846-850. (0) |
[6] |
滕雯娟. 基于虚拟遗憾最小化算法的德州扑克机器博弈研究[D]. 哈尔滨: 哈尔滨工业大学, 2015. TENG Wenjuan. Research on texas poker game based on counterfactual regret minimization algorithm[D]. Harbin: Harbin Institute of Technology, 2015. (0) |
[7] | VAN HASSELT H, GUEZ A, SILVER D. Deep reinforcement learning with double q-learning[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence. Arizona, USA, 2015. (0) |
[8] |
史晓茹, 侯媛彬, 张涛. 不完全信息博弈的机器人对抗决策[J]. 智能系统学报, 2011, 6(2): 147-151. SHI Xiaoru, HOU Yuanbin, ZHANG Tao. The decision-making system of robots based on an incomplete information game[J]. CAAI transactions on intelligent systems, 2011, 6(2): 147-151. DOI:10.3969/j.issn.1673-4785.2011.02.009 (0) |
[9] | MICHAEL L. INCZE, SCOTT R. SIDELEAU, CHRIS GAGNER, and CHARLES A. PIPPIN. (2015). Communication and collaboration of heterogeneous unmanned systems using the joint architecture for Unmanned Systems (JAUS) standards[C]//OCEANS 2015- Genova. IEEE. (0) |
[10] |
乔林. 多智能体系统中的Q学习算法研究[D]. 南京: 南京邮电大学, 2012. QIAO Lin. Study of Q-learning algorithm in multi-agent system[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2012. (0) |
[11] |
梁国军, 谢垂益, 胡伶俐, 等. UCT算法在不围棋博弈中的实现[J]. 韶关学院学报, 2015, 36(8): 17-21. Liang Guojun, Xie Chuiyi, Hu Lingli , et al. An implementation of UCT algorithm for nogo game[J]. Journal of Shaoguan university, 2015, 36(8): 17-21. DOI:10.3969/j.issn.1007-5348.2015.08.004 (0) |
[12] |
孟坤, 王俊, 闫桐. 一种基于经验知识的军棋博弈算法设计与实现[J]. 智能计算机与应用, 2017, 7(2): 66-69. MENG Kun, WANG Jun, YAN Tong. Design and implementation of a military chess game algorithm based on knowledge experience[J]. Intelligent computer and application, 2017, 7(2): 66-69. DOI:10.3969/j.issn.2095-2163.2017.02.017 (0) |
[13] |
孙英龙. 非完美信息博弈算法研究与军棋博弈系统设计与实现[D]. 沈阳: 东北大学, 2013. SUN Yinglong. The study on imperfect information game and design and implementation of military chess system[D]. Shenyang: Northeastern University, 2013. (0) |
[14] |
王学厚. 群体智能优化的计算模式和方法研究与应用[D]. 北京: 华北电力大学, 2011. WANG Xuehou. Research on computational mode of swarm intelligent optimization and applications[D]. Beijing: North China Electric Power University, 2011. (0) |
[15] |
张小川, 桑瑞婷, 周泽红, 等. 一种基于双通道卷积神经网络的短文本分类方法[J]. 重庆理工大学学报( 自然科学), 2019, 33(1): 45-52. ZHANG Xiaochuan, SANG Ruiting, ZHOU Zehong, et al. A Short Text Classification Method Based on Two Channel Convolutional Neural Network[J]. Journal of Chongqing University of Technology( Natural Science), 2019, 33(1): 45-52. (0) |