信息科学与工程

融合先验知识的藏久棋MCTS算法优化

  • 王亚杰 ,
  • 谷峰 ,
  • 刘松 ,
  • 杨静怡 ,
  • 王世鹏
展开
  • 沈阳航空航天大学 工程训练中心,沈阳 110136

王亚杰(1968—),女,辽宁铁岭人,教授,博士,主要研究方向为机器博弈、计算机视觉等,E-mail:

收稿日期: 2024-12-24

  修回日期: 2025-01-09

  录用日期: 2025-01-12

  网络出版日期: 2025-08-19

基金资助

中国科协科普提升类项目(KXYJS2022092)

Optimization of MCTS algorithm for Tibetan Jiu Chess by incorporating prior knowledge

  • Yajie WANG ,
  • Feng GU ,
  • Song LIU ,
  • Jingyi YANG ,
  • Shipeng WANG
Expand
  • Engineering Training Center,Shenyang Aerospace University,Shenyang 110136,China

Received date: 2024-12-24

  Revised date: 2025-01-09

  Accepted date: 2025-01-12

  Online published: 2025-08-19

摘要

传统民间棋艺——藏久棋,是一种承载着深厚藏族文明与灿烂文化的完备信息博弈游戏。鉴于藏久棋规则体系的复杂性与棋局变化的多样性,传统博弈搜索算法难以有效应对其复杂决策需求。为提升藏久棋博弈的智能水平,提出了一种融合先验知识的蒙特卡洛树搜索(Monte Carlo tree search,MCTS)算法优化策略。在布局规划、行棋策略等关键阶段,基于深度强化学习,融合领域专家的先验知识设计了策略选择优化函数和评估函数。通过函数来有效指导MCTS的搜索过程,并训练出能够生成高质量着法的最佳模型。实验表明,改进的MCTS算法在对弈中取得显著效果。

本文引用格式

王亚杰 , 谷峰 , 刘松 , 杨静怡 , 王世鹏 . 融合先验知识的藏久棋MCTS算法优化[J]. 沈阳航空航天大学学报, 2025 , 42(4) : 59 -67 . DOI: 10.3969/j.issn.2095-1248.2025.04.009

Abstract

Tibetan Jiu Chess, a traditional folk chess game, is a complete information game that carries the profound Tibetan civilization and splendid culture. In view of the complexity of the rule system and the diversity of the game changes, the traditional game search algorithm is unable to cope with the vast game board and complex strategies. In order to improve the intelligence level of Tibetan Jiu Chess, a Monte Carlo tree search (MCTS) algorithm optimization strategy incorporating prior knowledge was proposed. The strategy was based on deep reinforcement learning in the key phases of layout planning and move strategy,and the strategy selection optimization function and evaluation function were designed by integrating the prior knowledge of domain experts. The search process of MCTS was efficiently guided by functions,and the best model for high-quality tessellation could be trained. Experimental results show that the improved MCTS algorithm achieves significant performance in the game.

作为藏区广泛流行的棋类项目,藏棋是藏族文化的重要组成部分,藏久棋作为藏棋的一种,以其竞技性与趣味性的完美结合,吸引了学术界越来越多的关注1。但是与其他棋类游戏(例如围棋2、国际象棋3等经典完备信息博弈4游戏)相比,藏久棋的计算机博弈研究起步较晚,可参考的文献相对较少,博弈水平远低于人类专家5
目前,藏久棋博弈研究主要集中在传统的搜索技术范畴。诸如专家知识6、Alpha-Beta剪枝7及蒙特卡洛树搜索8等。Wang等9提出将改进上置信区间(unified communication transport,UCT)算法与神经网络结合。Li等10提出了一种藏久棋的阶段性博弈算法,布局阶段使用改进 UCT 算法,行棋阶段使用神经网络来指导MCTS。但由于传统的MCTS没有针对藏久棋规则和策略的内在机制,无法高效利用一些基于规则和经验的策略。
为解决此问题,本文提出了一种优化的MCTS算法。相较于传统的MCTS算法,该优化算法展现出了更强的自我学习与适应能力,显著提升了藏久棋的博弈水平。实验结果表明,该算法优于传统算法,为藏久棋博弈的智能化研究开辟了新路径。

1 藏久棋规则简述

藏久棋的棋盘有纵横各14条等距离垂直交叉的平行线,形成196个交叉点,在棋盘中每个交叉点就是落子的地方,称为落子点,如图1所示。
棋盘整体形状及每个格子纵横向比相等,棋子分黑白两色,对局双方各执一色棋子,棋子下定后,不可向其他点移动,正式比赛以黑子98子和白子98子为宜。藏久棋对弈包括布局和战斗11两个阶段,其中战斗阶段又分为行棋阶段和飞子阶段。
藏久棋规则概述如下:
1) 布局阶段:棋盘中央的格子用对角线相连接的点作为对局双方下子的起点。布局阶段由白子先行,棋子布满全盘后开始行棋。
2) 行棋阶段:首先将棋盘中央方格对角线两端的棋子去掉后。行棋阶段由黑子先行,在行棋的过程中,双方应尽可能形成棋型来吃掉对方相应个数的棋子,一般行棋阶段的主要棋型包括“十字”“棋门”“褡裢”等。
3) 飞子阶段:处于行棋阶段玩家的棋子数量不大于14时,该玩家棋子的移动不再受到一步只能走一格的限制,棋子可以移动到棋盘上任意一个空位置。
藏久棋的胜负规则:如果一方所有的棋子被另一方吃完,则棋子被吃完的一方判负,游戏结束。如果一方主动认输则判定另一方获胜,游戏结束。超过比赛所规定的时间,超时的一方判负,游戏结束。当对弈双方中的某一方形成两个或两个以上褡裢棋型且对方无方阵时,判对方负。

2 融合先验知识的MCTS优化算法

2.1 MCTS算法

MCTS作为一种高效且富有启发性的搜索策略12,其核心在于巧妙融合了随机模拟与反向传播两大机制,通过模拟多种可能的未来场景,并对这些模拟结果进行回溯分析,从而逐步逼近最优的决策路径。MCTS算法原理如图2所示,共分为4个步骤:
图2 MCTS算法原理图
1) 选择:从根节点开始,按照UCT11策略选择一个节点进行扩展。
2) 扩展:对选定的节点进行扩展,即生成其所有可能的子节点。
3) 模拟:对于扩展生成的子节点,使用随机策略进行模拟,直到达到某个终止条件,如游戏结束或达到最大模拟次数。
4) 反向传播:根据模拟结果,更新从模拟的节点到根节点路径上每个节点的统计信息,如访问次数和累计收益。
MCTS算法随机模拟的特性导致其只能关注到当前的短期策略。而藏久棋具有复杂的规则,需要制定贯穿整个对弈过程的长期策略,故需对其进行优化。

2.2 先验知识

在棋类游戏的庞大体系中,策略元素贯穿于每一场对弈,从开局布局到中局攻防转换,再到残局处理,无不彰显着策略的重要性。而在这复杂多变的博弈过程中,先验知识发挥着不可或缺的作用13。这些知识是人类在长期对弈实践中积累下来的宝贵财富,包含了无数棋手先辈的实战经验。因此,先验知识在藏久棋博弈选取决策过程中具有举足轻重的地位。
在藏久棋这类策略棋类游戏中,棋子的每一步移动不仅决定了其即时位置,还深刻影响着与周围己方棋子所构成的复杂棋型14。这些棋型不仅是棋局结构的重要组成部分,更在布局阶段对后续战斗阶段的策略选择及胜负走向产生深远影响。因此,布局阶段棋子的走法选择显得尤为关键。图3为布局阶段的典型棋型。
图3 布局阶段的经典棋型
布局是藏久棋对弈中第一个阶段,高质量的布局不仅有利于快速吃子、确立开局优势,还能帮助构建理想棋型、奠定胜利基础。如图3所示,山字棋型包含两个三角棋型,存在两次形成棋门的机会;十字棋型则有四次形成棋门的机会。由此可见,在布局阶段,十字棋型的价值高于山字棋型,更适用于激进策略,而山字棋型更适用于保守策略。三角棋型的价值高于十字和山字棋型,原因在于三角棋型相对更易形成,且有一次形成棋门的机会。邻子棋型的价值相对较低,这是因为邻子棋型只有形成诸如三角、三邻子等其他棋型后,才有可能形成棋门、山字或十字棋型。
在实战对弈中,棋手通常会依据对手局面的优劣来制定策略。具体而言,当对手局面处于劣势时,己方棋手倾向于采取激进策略,力求最大限度地扩大优势;相反,若对手局面占优,则己方棋手更可能采用保守策略。表1为布局阶段结合先验知识所形成的基础棋型及其价值。
表1 基础棋型及其价值(布局阶段) (w)
棋型 价值
激进 保守
邻子 N×4 N×4
三角 N×15 N×20
山字 N×10 N×15
十字 N×10 N×10
棋门 N×(-5) N×5

注: N为形成各棋型的个数

在棋局的战斗阶段,行棋构成了整个棋局进程中至关重要的衔接环节。在这一背景下,棋门与褡裢(如图4所示)的战略地位显得尤为突出。
然而,鉴于构建褡裢需要大量棋子,布局阶段的任务就特别关键,可为后续棋局中成功形成棋门与褡裢创造有利条件。因此,布局阶段与战斗阶段在棋型构建上的侧重点呈现出显著差异。具体来说,战斗阶段的棋型价值可以参考表2中的详细说明。
表2 棋型价值(战斗阶段) (w)
棋型 价值
邻子 2
三角 5
棋门 20
十字 15
褡裢 100
由于形成邻子和三角棋型的概率较高,故两者价值相差无几。具体而言,每当一个棋门被成功构建,玩家就可移除对方的任意棋子,相较于跳吃,棋门的价值更高,且跳吃一次所形成的三角个数最多只有4个,故棋门的价值应为20 w。褡裢包含棋门,是藏久棋胜负的关键,因而其价值应最高,取值为100 w

2.3 策略选择优化设计

策略选择的正确与否对游戏的胜负起到关键作用,为了能够准确评估藏久棋中每个策略的权重,综合考虑当前棋型价值、未来棋型价值及棋子价值等因素,设计了一个高效的策略函数,如式(1)所示。
s t r a t e g y =   t y p e =   t r u e ,        E 1 V a 1 ,   V s 1   t y p e =   f a l s e ,      E 2 V a 2 ,   V s 2
式中: E 1 E 2分别为己方和对方走法; V a 1 V s 1分别为己方当前策略的动作价值和执行当前策略后形成棋型的价值; V a 2 V s 2分别为对方当前策略的动作价值和执行当前策略后形成模型的价值。当 t y p e取值为 t r u e时,表示采取激进策略,仅评估己方的策略价值;当 t y p e取值为 f a l s e时,表示采用保守策略,评估对方的策略价值进行对手建模,然后选取己方对应的策略用于围堵对方的着法。
藏久棋在选择策略时的逻辑伪代码如下:
算法1:策略选择优化函数
function   RadicalOrConservative(self,index)
// 获取己方和对方的棋子列表
piece_list1 = COPY(piece_list[0])
piece_list2 = COPY(piece_list[1])
// 计算己方和对方棋子当前的价值
for each index in piece_list1
i_jia = check_jia(index,piece_list1)

end for

for each index in piece_list2
ui_jia = check_jia(index,piece_list2)
end for // 获取所有可以落子的索引
free_list ← free_place(COPY(piece_list1),COPY(piece_list2))
// 计算己方和对方下一步的价值
for each index in free_list
i_nextjia = check_nextjia(index,piece_list1)
ui_nextjia = check_nextjia(index,piece_list2)
end for
// 决定采取激进或保守策略
strategy ← perfect_select(i_jia,ui_jia,i_nextjia,ui_nextjia)

end function

2.4 融合先验知识

经过策略选择之后,就要对当前局势进行更加细致的判断。在藏久棋博弈过程中,其复杂的博弈结构导致完整遍历博弈树成为巨大挑战,甚至不切实际。为了应对这一挑战,通常采用在博弈树达到特定深度时,使用评估函数来替代每个分支的实际价值。故为了更好地提升棋力,通过融合先验知识设计评估函数。其计算方法如式(2)所示。
f S , X , Y , P = m a x   g c o n S , X , Y , P ,     t y p e = t r u e m a x   g r a d S , X , Y , P ,     t y p e = f a l s e      
式中: S为当前棋盘状态; X Y为棋盘上的坐标; P为棋子列表; t y p e为选择的策略;f S , X , Y , P为评估函数; g i S , X , Y , P为判断攻防策略后评估棋盘上棋型 i的函数,函数计算方式为形成棋型 i的数量乘以棋型价值。
有了评估函数之后,算法不再关注当下短期的优势,而关注更长远的方向,博弈系统的性能有了质的提升。但在布局阶段的初始,由于棋子数量较少,评估函数并不能充分发挥作用。在藏久棋规则中,棋盘的中央棋子的棋力比四边更高,所以围绕棋盘中央布局是必要的。
棋盘位置的价值由棋盘中心向外衰减的特点与二维正态分布矩阵15由中心向外概率值降低的概率分布特点相近,因此布局阶段各个交叉点的重要性可近似使用二维离散正态分布表示。正态分布联合概率密度函数如式(3)所示。
f X , Y =   1 2 π σ 1 σ 2 1 - ρ 2 e - 1 2 1 - ρ 2 X - μ 1 2 σ 1 2 + Y - μ 2 2 σ 2 2 - 2 ρ X - μ 1 Y - μ 2 σ 1 σ 2
式中: X为横坐标值; Y为纵坐标值, X , Y [ 0,13 ] σ 1 σ 2取值为2; μ 1 μ 2的值以棋盘中心对角线两个中心点的坐标为基准取为6.5; ρ取0。
得到正态分布联合概率密度函数后,将其和评估函数以式(4)的方式结合,避免了开局棋子较少无法高效评估棋局价值的劣势。
S = α V e + β V n
式中: V e为经过评估函数得到的分数; V n为经过正态分布联合概率密度函数得到的分数; S为动作价值; α β为通过实验后所得出的最佳比例组合。

3 深度神经网络模型的训练

3.1 神经网络模型结构

探讨深度学习16在棋类游戏中的应用时,卷积神经网络(convolutional neural network,CNN)17-18因其出色的特征提取能力而受到关注。CNN不仅在图像处理上表现出色,在复杂策略游戏中的自动学习和决策中也取得了成功,如Alpha Zero在围棋中战胜了世界冠军19,显示了其在游戏AI开发中的潜力。鉴于藏久棋与围棋在棋盘布局上存在黑、白子对抗这一共通特性,为 Alpha Zero 的先进算法框架能够迁移至藏久棋领域提供了理论依据与实践可能。针对藏久棋自身特点,通过对 Alpha Zero 原有的深度神经网络架构进行精细调整,构建出更适配藏久棋的深度神经网络模型结构,如图 5 所示。
图5 深度神经网络模型结构图
图5的网络包含两个主要分支:一个用于动作选择的网络(策略网络),另一个用于评估当前状态价值的网络(价值网络)。在训练时输入4个14×14的二值特征平面来表示局面信息,第1个平面表示当前玩家的棋子位置,第2个平面表示另一个玩家的棋子位置,第3个平面表示对手最近一步的落子位置,第4个平面表示当前玩家是不是先手9。在输入后的主网络中构建3个卷积层(Conv1、Conv2、Conv3)。每个卷积层都使用不同数量的滤波器(分别为32、64、128)和不同的步长(分别为3、2、3)以提取输入数据的空间特征。
策略网络在Conv3的输出上应用一个1x1的卷积层,激活函数为ReLU。随后连接1个全连接层,通过非线性函数 softmax 直接输出当前棋盘局面下每个策略执行的概率 p。价值网络与策略网络类似,但滤波器数量减少到2,连接层数量为2,输出的是当前棋盘落子后的局面评分v

3.2 训练数据

鉴于藏久棋对弈的过程漫长,可获取的高质量训练棋谱资源相对稀缺,这成为提升模型性能的一大挑战。为了克服这一难题,有效扩充棋局数据集变得尤为关键。
本文对现有棋盘数据进行一系列变换操作以生成新的数据样本。首先,将棋盘进行180度旋转,这一步骤保持棋局的整体结构不变,但改变了棋子的相对位置;其次,对旋转后的棋盘进行垂直翻转,进一步增强数据的多样性;最后,将棋盘上的白子与黑子互换,模拟对弈双方的不同视角。通过上述三步变换,能够从单个棋局数据中派生出多个全新的、有意义的样本,极大地丰富了训练集的内容。

3.3 训练原理

在探讨当前棋局状态的决策优化过程中,融合了CNN和优化的MCTS来选择棋局决策。这种方法使用CNN来提取关键信息,帮助MCTS在选择和扩展搜索树时做出更好的决策。MCTS生成的搜索概率分布与CNN输出的动作概率相结合,既利用了CNN的泛化能力,也利用了MCTS的深度探索信息,从而选择高质量的棋子着法。在自对弈的循环中,持续采用这种增强后的策略进行棋局推演,通过不断实践与反馈,逐步逼近最优决策,最终决定棋局的胜负走向。

3.4 损失函数

在本文中,设计了一种综合了策略评估与胜率预测的损失函数20以更高效地训练神经网络,进而优化决策过程。损失函数如式(4)所示。
L θ = α L v a l u e q , v + β L p o l l c y π , p + λ R θ
式中: q为一个二元指示变量,用于表示游戏结果( q=1表示获胜, q=-1表示失败); p为神经网络输出的策略执行概率;v为神经网络对当前棋局评分的预测; π为通过改进的UCT算法在实际游戏中每种策略被选择的概率; α β为用于平衡不同损失项重要性的超参数; λ为正则化项的系数; L v a l u e为值损失,评估神经网络对棋局评分预测的准确性; L p o l l c y为策略匹配损失,用于促使神经网络输出的策略概率与实际策略选择概率相匹配; R ( θ )为正则化项,对神经网络参数 θ(如权重)进行正则化,以减少模型复杂度并提升泛化能力。

4 实验结果与分析

4.1 实验设计

调试环境为PyCharm 2022,实验平台操作系统为Windows 11,处理器为Intel(R) Core (TM) i7-9750H CPU @2.60 GHz,显卡配置为NVidia GeForce GTX 1650。
为了验证本文中融合先验知识的MCTS优化算法的性能,与3种算法进行了对比试验,算法类型概述如表3所示。
表3 算法类型概述
类型 概述
算法1 传统的MCTS算法
算法2 基于神经网络的传统MCTS算法
算法3 优化的MCTS算法,使用融合先验知识的评估函数前未进行策略选择优化
本文算法 优化的MCTS算法,在进行策略选择优化后,使用融合先验知识的评估函数
表3中的算法1是传统的MCTS算法,算法2在传统MCTS基础上引入卷积神经网络,算法3在算法2的基础上加入了融合先验知识的评估函数。而本文算法则是在算法3基础上加入评估函数前先进行策略选择优化。

4.2 算法性能对比

通过将模拟次数设置为15,比较算法的胜率,以验证本文的改进算法的性能优越性,不同算法对弈结果如表4所示。
表4 不同算法对弈结果
对弈双方名称 对弈结果[胜,负] 获胜率/%
本文算法 vs 算法1 [171,19] 90
本文算法 vs 算法2 [135,45] 75
本文算法 vs 算法3 [123,57] 68
表4可以看到,本文算法相较于算法1展现出了压倒性的优势,以显著的比分优势胜出。本文算法与算法2、算法3的对弈中也保持着较大的优势。实验结果验证了评估函数的质量在很大程度上决定了MCTS算法在复杂棋局中的决策能力。
本文设计的评估函数不仅成功引导算法在布局阶段做出有利选择,还在后续的行棋过程中持续发挥关键作用,从而获得压倒性胜利。这一实验结果不仅验证了评估函数设计的可行性与有效性,更彰显了其在提升算法整体性能方面的优越性。

4.3 消融实验

为了验证先验知识和策略选择优化算法对藏久棋博弈的重要性,特设置了两组消融实验:算法2与算法3、算法3与本文算法,通过对比不同模拟次数下的获胜次数,来证明本创新的可行性,对弈结果分别如图67所示。
图6 算法3与算法2对弈结果
图7 算法3与本文算法对弈结果
图6结果可知,融合先验知识的评估函数能够显著提高算法的胜率,证明了融入先验知识的可行性。在图7中,本文算法在所有模拟次数下均表现出比算法3更好的性能。这表明策略选择的优化对于提高MCTS算法的对弈能力具有正向作用。
随着模拟次数的增加,胜率并没有显著扩大,因为模拟次数的增加虽然提高了搜索的深度和广度,但同时也增加了计算成本。在达到一定程度后,额外的模拟次数可能带来的边际效益递减。

5 结论

针对藏族藏久棋这种分阶段完备信息博弈游戏,基于深度神经网络提出了一种融合先验知识的蒙特卡洛树搜索优化算法,有效指导了MCTS的搜索过程,使算法能够更准确地评估不同棋局状态下的潜在价值。实验结果表明,改进的MCTS算法在藏久棋对弈中取得了显著效果,验证了本文所提策略的有效性和实用性。
未来的研究方向将着重于根据游戏状态动态调整模拟次数及高效的剪枝技术,在保证算法性能的同时减少不必要的计算开销。
[1]
李霞丽,吴立成,李永集.基于棋型的藏族“久” 棋计算机博弈研究[J].智能系统学报201813(4):577-583.

[2]
Silver D Huang A Maddison C J,et al.Mastering the game of go with deep neural networks and tree search[J].Nature2016529(7587):484-489.

[3]
McGrath T Kapishnikov A Tomašev N,et al.Acquisition of chess knowledge in AlphaZero[J].Proceedings of the National Academy of Sciences of the United States of America2022119(47):e2206625119.

[4]
Schmid M Moravčík M Burch N,et al.Student of games:a unified learning algorithm for both perfect and imperfect information games[J].Science Advances20239(46):3256.

[5]
Li X L Deng S T.Review of research on computer games for Tibetan Jiu chess[C]//IEEE 14th International Conference on Dependable, Autonomic and Secure Computing. Auckland:IEEE,2016: 97-99.

[6]
Li X L Wang S Lv Z Y,et al.Strategy research based on chess shapes for Tibetan Jiu computer game[J].ICGA Journal201840(3):318-328.

[7]
张小川,杨小漫,涂飞,等.融合经验知识与深度强化学习的久棋Alpha-Beta算法优化研究[J].重庆理工大学学报(自然科学)202438(5):115-120.

[8]
Naderzadeh Y Grosu D Chinnam R B.PPB-MCTS:a novel distributed-memory parallel partial-backpropagation Monte Carlo tree search algorithm[J].Journal of Parallel and Distributed Computing2024193:104944.

[9]
Wang Y J Liang K Qiao J L,et al.The application of improved UCT combined with neural network in Tibetan Jiu chess[J].International Journal of Wireless and Mobile Computing202223(1):22.

[10]
Li X L Chen Y D Zhang Y Y,et al.A phased game algorithm combining deep reinforcement learning and UCT for Tibetan Jiu chess[C]//2023 IEEE 47th Annual Computers,Software,and Applications Conference.Torino:IEEE, 2023:390-395.

[11]
中国大学生计算机博弈大赛组委会. 久棋规则及棋谱简介[EB/OL].(2019-04-29)[2024-05-06].

[12]
Wang Q He Y Q Tang C L.Mastering construction heuristics with self-play deep reinforcement learning[J].Neural Computing and Applications202335(6):4723-4738.

[13]
Shen Q W Ding M Li S Q,et al.Research on jiuqi game strategy based on chess shape[C]//2020 3rd International Conference on Algorithms,Computing and Artificial Intelligence.Sanya:ACM,2020:1-5.

[14]
张小川,刘溜,陈龙,等.一种非遗藏族久棋项目计算机博弈智能体的评估方法[J].重庆理工大学学报(自然科学)202135(12):119-126.

[15]
Khan M Olivier J.Regression to the mean:Estimation and adjustment under the bivariate normal distribution[J].Communications in Statistics-Theory and Methods202352(19):6972-6990.

[16]
Dong S Wang P Abbas K.A survey on deep learning and its applications[J].Computer Science Review202140:100379.

[17]
Silver D Schrittwieser J Simonyan K,et al.Mastering the game of go without human knowledge[J].Nature2017550(7676):354-359.

[18]
Tan M X Le Q V.Efficient Net:rethinking model scaling for convolutional neural networks[EB/OL].(2020-09-11)[2024-06-05].

[19]
Silver D Hubert T Schrittwieser J,et al.A general reinforcement learning algorithm that masters chess,shogi,and go through self-play[EB/OL].(2020-09-11)[2024-06-05].

[20]
Ribeiro E S Araújo L R G Chaves G T L,et al.Distance-based loss function for deep feature space learning of convolutional neural networks[J].Computer Vision and Image Understanding2024249:104184.

文章导航

/