CN110717591B - 适用于多种棋类的落子策略和局面评估方法 - Google Patents

适用于多种棋类的落子策略和局面评估方法 Download PDF

Info

Publication number
CN110717591B
CN110717591B CN201910929174.9A CN201910929174A CN110717591B CN 110717591 B CN110717591 B CN 110717591B CN 201910929174 A CN201910929174 A CN 201910929174A CN 110717591 B CN110717591 B CN 110717591B
Authority
CN
China
Prior art keywords
falling
probability
neural network
pos
chess
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910929174.9A
Other languages
English (en)
Other versions
CN110717591A (zh
Inventor
路红
王琳
杨博弘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201910929174.9A priority Critical patent/CN110717591B/zh
Publication of CN110717591A publication Critical patent/CN110717591A/zh
Application granted granted Critical
Publication of CN110717591B publication Critical patent/CN110717591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于计算机博弈技术领域,具体为适用于多种棋类的落子策略和局面评估方法。本发明方法包括:通过神经网络预测落子概率和落子估值;使用MCTS算法和Update Board Value算法产生训练数据;通过强化学习方法迭代训练神经网络;最终使用MCTS算法输出落子策略和局面估值。本发明提供了一种对人类友好的、无需知道先手方优势值、适用于多种棋类(如围棋、黑白棋、国际象棋、象棋、国际跳棋)的局面评估函数和落子策略函数。

Description

适用于多种棋类的落子策略和局面评估方法
技术领域
本发明属于计算机博弈技术领域,具体涉及多种棋类的落子策略和局面评估方法。
背景技术
随着计算机博弈技术的发展,利用AlphaBeta算法的深蓝打败了国际象棋世界冠军,利用AlphaGo Zero算法打败了围棋世界冠军。然而计算机博弈上的局面评估函数却依旧尚未解决。以计算机视觉举例,AlphaZero的局面评估函数相当于图片分类,即求出当前局面的获胜概率。而人类的方法更像图片像素级分割,即求出当前局面每个点的占据概率。
利用人类知识求解围棋、黑白棋等棋类的形式判断函数难度较大。此外,国际象棋、象棋中每个棋子的相对价值也难以评估。如果能求解出形式判断函数,则对与人类分析围棋、黑白棋这类与占据地域有关的棋类的分析有极大的帮助。如果能求解出国际象棋、象棋这类具有多种类棋子的棋类的棋子相对价值,对人类理解和分析有很大的帮助。
目前,与地域占据有关的棋类的多采用人工知识匹配或采用监督学***衡。
对于与地域占据有关的棋类,由于其棋盘大小可变,且先手优势在不同棋盘大小上并无明显规律,因此目前人类仅仅局限在几个常见的棋盘大小(如围棋的19路、13路、9路棋盘,黑白棋的8路棋盘),对这些常见棋盘的先手优势理解的较为深刻。而对于一些不常见的棋盘,只能大致的对先手优势的值进行猜测。同时,由于难以判断棋子价值,因此国际象棋、象棋等棋类的胜负结果仅有胜、负、平3种。如果能量化这些棋类的棋子价值,则可以将这些棋类的胜负结果转换为一个实数值,这样能像围棋、黑白棋等棋类一样更好的区分不同状态下的优劣。
AlphaZero算法想要正常工作,必须知道一个大致的先手优势评估值。如果想要知道真正的先手优势值,必须在特定棋盘大小的棋类上有很高的水平。这样明显违背了算法“从零开始学习,无需人类知识”的本意。因此,需要一个无需事先知道先手优势值,且能逐渐评估先手优势值的算法。
发明内容
本发明的目的在于提供一种对人类友好的、无需知道先手方优势值、基于深度神经网络和强化学习的适用于多种棋类的落子策略和局面评估方法。
本发明提供的适用于多种棋类的落子策略和局面评估方法,是通过神经网络预测落子概率和落子估值,并使用MCTS算法和Update Board Value算法产生训练数据,通过强化学习方法迭代训练神经网络。最终使用MCTS算法输出落子策略和局面估值。本发明适用于多种棋类(如围棋、黑白棋、国际象棋、象棋、国际跳棋),具体步骤如下:
(1)利用残差神经网络[1]、像素级分割方法[2][3],实现局面评估函数和落子策略函数;
(2)利用MCTS算法[4]、以及本专利提出的Early Stop算法和Update Board Value算法产生训练数据;
(3)重复步骤(1)和步骤(2),进行迭代训练,得到训练的神经网络;
(4)利用步骤(3)训练的神经网络和MCTS算法,产生最终的局面评估函数和落子策略函数。
其中:
步骤(1)中所述实现局面评估函数和落子策略函数,具体过程如下:
(11)输入8步历史局面,每个局面包含CK个通道,组成输入块;
(12)输入块依次经过残差塔、批量归一化、ReLU激活函数处理;其中残差塔包含K个残差块,每个残差块具有C个通道;
(13)对落子型棋类(如围棋、黑白棋)和移动型棋类(如国际象棋、象棋、国际跳棋)采用不同的结构,得到落子策略函数;
(14)使用像素级分割方法,对步骤(12)的输出依次进行通道数为CK的1x1卷积、通道Softmax,得到局面评估函数。
步骤(2)中所述的产生训练数据,具体过程如下:
(21)使用搜索次数为S1的MCTS算法产生每步的落子概率和局面评估函数;依照概率选择下一步,进行落子;
(22)不断重复步骤(21),直至终局;同时使用Early Stop算法,若连续2步的检测到评估值稳定或连续4步检测到某一方优势过大,则提前终止对局;
(23)对产生的长度为T的落子概率和局面评估函数,使用Update Board Value算法合成训练数据。
步骤(3)中所述的进行迭代训练,具体过程如下:
(31)将步骤(2)产生的训练数据***对局数为R的经验池,若经验池中的对局数大于R,则淘汰最旧的数据;
(32)自对弈G局后,从经验池中随机选择数据,使用选择的数据训练神经网络;
(33)使用训练后的神经网络参数替换MCTS所使用的神经网络;
(34)重复上述步骤,进行迭代训练。
步骤(4)中所述的产生最终的局面评估函数和落子策略函数,具体过程如下:
(41)使用步骤(3)产生的神经网络,每步使用MCTS算法进行次数为S2的搜索;
(42)搜索之后,选择搜索树根节点的局面估值作为最终的局面评估函数,选择搜索次数最多的子节点进行落子,即得到落子策略函数。
本发明步骤(11)中,所述的组成输入块,具体过程如下:
(111)输入8步历史局面,每个局面CK通道;若落子步数小于8,则将不足8步的部分对应的所有通道的值置为0;除了历史局面,还有“对局者数量”个颜色通道。输入时,将当前落子方的平面的值赋值为1,其余通道的平面的值赋值为0;
(112)其中,CK=对局者数量×每个对局者棋子种类;每个通道上的特定位置若存在对应对局者的对应种类的棋子,则对应位置的值为1,否则值为0。
步骤(12)中所述的输入块依次经过残差塔、批量归一化、ReLU激活函数处理,具体过程如下:
(122)对残差块的输入依次进行批量归一化、3x3卷积、ReLU激活函数、批量归一化、3x3卷积、ReLU激活函数;
(123)将残差块的输入和步骤(122)的输出进行加和,其结果作为残差块的输出;
(124)经过K个堆叠的残差块,得到残差塔的输出;
(125)对残差塔的输出进行批量归一化、ReLU激活函数。
本发明步骤(13)中,所述的得到落子策略函数,具体过程如下:
(131)对于落子型棋类,对步骤(12)中残差塔的输出进行通道数为2的1x1卷积;对其中一个通道的平面求平均值,将这个平均值并与另一个平面的所有值进行Softmax;输出每个点的落子概率+弃权的落子概率;
(132)对于移动型棋类,对步骤(12)中残差塔的输出依次进行通道数为2的1x1卷积、输出维数为合法动作数CA的全连接层、Softmax处理,输出合法动作(包括弃权)的概率。
本发明步骤(21)中,所述的MCTS算法,具体过程如下:
(211)MCTS共分为4个阶段,分别为选择、评估、备份、落子;
(212)在选择阶段,使用如下公式选择子节点,直至达到叶节点:
bound=cr×W×H+csdσ(s)
Figure BDA0002219819920000041
πSC(s)=argmaxa(QSC(s,a)+U(s,a))
其中,s为当前状态,QSC(s,a)为当前状态s下动作a的动作均值,P(a|s)为加入噪音的落子概率,σ(s)为当前状态s的标准差N(s,a)为当前状态s下动作a的访问次数,W为棋盘宽度,H为棋盘高度,cr、csd、cpuct为常数。
(213)在评估阶段,如果对局未结束,则依照步骤(11)准备神经网络输入,进行前向传播后得到落子概率P(a|s;θ)和局面评估函数BV(sL,pos;θ);由局面评估函数按如下公式作和,得值函数:
VSC(sL;θ)=∑posBV(sL,pos;θ)
其中,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BV(sL,pos;θ)为在叶节点状态sL神经网络输出的点pos的节点占据概率。
(214)在评估阶段,如果对局结束,对于落子型棋类,则由规则可获得BV(sL,pos;θ);对于移动型棋类,则将获胜方所有棋子对应位置的值设置为1,则可变相获得BV(sL,pos;θ)。
(215)在备份阶段,对于落子型棋类,从叶节点开始至根节点使用如下公式更新节点上的值:
N(s,a)=N(s,a)+1
Figure BDA0002219819920000042
Figure BDA0002219819920000043
其中,N(s,a)为节点访问次数,QSC(s,a)为节点动作均值,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BVπ(s,a,pos)为点pos的节点动作占据概率均值,BV(sL,pos;θ)为在叶节点状态sL神经网络输出的点pos的节点占据概率;
在备份阶段,对于移动型棋类,从叶节点开始至根节点使用如下公式更新节点上的值:
N(s,a)=N(s,a)+1
Figure BDA0002219819920000051
Figure BDA0002219819920000052
其中,N(s,a)为节点访问次数,QSC(s,a)为节点动作均值,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BVπ(s,a,pos)为点pos的节点动作占据概率均值,BV(sL,pos′;θ)为在叶节点状态sL神经网络输出的点pos’的节点占据概率;
与落子型棋类点对点更新不同,移动性棋类需要将子节点的对应棋子的存活概率累计更新到父节点的对应棋子的位置。以国际象棋举例,白方将f2移动至f3后达到叶节点状态sL。经过神经网络评估后得到BV(sL,pos;θ),然后将BV(sL,pos;θ)中f2与f3对应位置的值互换后,再使用上面提到的更新公式。也即将pos根据落子互换某些位置,形成pos’。
(216)在落子阶段,依照根节点每个子节点的访问次数除以根节点的访问次数得到子节点的落子概率;依照子节点的落子概率,选择其中一个子节点,将这个被选择的子节点作为新的根节点,同时对这个新的根节点的概率依照如下公式加入噪音:
Figure BDA0002219819920000053
P(a|s)=(1-∈)P(a|s;θ)+∈η
其中,W为棋盘宽度,H为棋盘高度,∈=0.25,P(a|s;θ)为神经网络输出的落子概率,P(a|s)为加入噪音的步骤(212)中使用的落子概率。
本发明步骤(22)中,所述的Early Stop算法,具体过程如下:
(221)对经过MCTS搜索后的局面评估函数进行稳定性评估。对于落子型棋类,若每个点的概率值要么大于0.95要么小于-0.95,则认为局面评估函数稳定;对于移动型棋类,若每个棋盘上的子的概率值要么大于0.95要么小于-0.95,则认为局面评估函数稳定;若连续2步检测到局面评估函数稳定则对局结束;
(222)在对局第一步,利用模拟量Svt的MCTS算法评估初始局面的局面评估函数,利用局面评估函数,得到先手方优势值Kvt;之后若每步有95%的概率其绝对值|MCTS评估的先手方优势值-Kvt|大于4,则认为某一方优势过大;若连续4步检测到某一方优势过大,则对局结束。
本发明步骤(23)中,所述的Update Board Value算法,具体过程如下:
(231)使用如下函数定义平滑函数
Figure BDA0002219819920000061
Figure BDA0002219819920000062
(232)使用如下公式合成训练数据BVπ(st,pos):
δt=BVπ(st+1,pos)-BVMC(st,pos)
Figure BDA0002219819920000063
其中,T为对局长度,t指示时刻,st为t时刻的状态,π(at|st)为状态st下,MCTS选择的动作at的落子概率,BVMC(st,pos)为点pos的MCTS搜索占据概率,BVπ(st+1,pos)为点pos的合成占据概率,将用于训练神经网络;
(233)不进行合成,直接使用MCTS算法搜索落子概率π(at|st)作为神经网络落子概率的训练数据。
本发明步骤(32)中,所述述的神经网络训练方法,具体过程如下:
(321)使用从经验池中随机选取的数据,输入神经网络,做前向传播;
(322)使用如下公式计算神经网络损失Ltotal(θ):
Figure BDA0002219819920000064
Figure BDA0002219819920000065
Lpolicy(θ)=-∑aπ(a|s)lnP(a|s;θ)
Ltotal(θ)=Lpolicy(θ)+c1LBV(θ)+c2LV(θ)+c3|θ|2
其中,CK为对局者数量×每个对局者棋子种类,N为棋盘宽×棋盘高,s为当前状态,π(a|s)为当前状态s下动作a的目标概率,P(a|s;θ)为神经网络输出的当前状态s下动作a的预测概率,
Figure BDA0002219819920000071
为当前状态s第i个通道点pos的目标占据概率,BVi(s,pos;θ)为神经网络输出的当前状态s下第i个通道点pos的预测占据概率,c1、c2、c3为与棋盘大小相关的常量;
(323)利用神经网络损失,做反向传播。
与现有技术相比,本发明的有益效果为:
1、与之前输出的胜率的方法相比,本算法输出局面评估函数,可对局面进行详细的形式判断,且对人类来讲更有意义;
2、之前的算法需要知道先手方的先招优势才能训练神经网络,本算法没有这个限制条件,不需要知道先手方的先招优势即可训练神经网络,同时算法还可以逐渐的学习到先招优势的值是多少;
3、之前算法的神经网络与棋盘宽高有关,而本算法没有这个限制。因此可以在棋盘宽高可变的棋类中(如围棋、黑白棋、国际跳棋),使用同一个神经网络对不同宽高的棋盘进行落子策略和局面评估。
附图说明
图1为本发明的多种棋类的落子策略和局面评估方法的总流程框图。
图2为图1中步骤(1)所述的神经网络结构图。
图3为图2的补充说明图。
图4为图1中步骤(2)的MCTS选择、备份、更新阶段的说明图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。
参照图1,本发明的多种棋类的落子策略和局面评估方法,具体步骤如下:
(1)实现局面评估函数和落子策略函数,如图2所示,展示如下:
(11)输入8步历史局面,每个局面包含CK个通道,组成输入块;
(12)输入块之后依次经过残差塔、批量归一化、ReLU激活函数,如图2中(a)所示。其中残差塔包含K个残差块,每个残差块具有C个通道;
(13)对落子型棋类(如围棋、黑白棋)采用图2中(b)所示结构,对移动型棋类(如国际象棋、象棋、国际跳棋)采用图2中(c)所示结构,输出落子策略;
(14)使用像素级分割方法,如图2中(d)所示,对步骤(12)的输出依次进行通道数为CK的1x1卷积、通道Softmax。得到局面评估函数。
以6路围棋距离,图3中(a)为待评估局面,图3中(b)为落子策略,图3中(c)为黑视角的局面评估函数(1.0为神经网络预测黑棋完全占据此点,-1.0为神经网络预测白棋完全占据此点),图3中(d)为白棋视角的局面评估函数(-1.0为神经网络预测黑棋完全占据此点,1.0为神经网络预测白棋完全占据此点)。
(2)利用MCTS算法、Early Stop算法、Update Board Value算法产生训练数据;
MCTS共分为4个阶段,分别为选择、评估、备份、落子。选择阶段如图4中(a)所示,从根节点开始,逐步选择子节点,直至达到叶节点。评估阶段如图4中(b)所示,图中三角为神经网络输出的局面估值,黑色节点为新产生的子节点,并由神经网络评估每个子节点的先验概率。备份阶段如图4中(c)所示,将图4(b)神经网络输出的神经网络估值(三角)沿路径更新至根节点。不断多次重复图4的3个阶段,其搜索树逐渐增长,根节点的评估值也越来越准确。最后的落子节点,在根节点上依照根节点的子节点的访问概率,选择其中一个子节点作为新的根节点。
(3)重复步骤(1)和(2)进行迭代训练。
(4)利用步骤(3)训练的神经网络和MCTS算法,产生最终的局面评估函数和落子策略。
参考文献
[1]K.He,X.Zhang,S.Ren,and J.Sun."Deep residual learning for imagerecognition."Internaltional Conference on Computer Vision and PatternRecogintion,2016
[2]T.Wu,I.Wu,G.Chen,T.Wei,H.Wu,T.Lai,and L.Lan,"Multi-Labelled ValueNetworks for Computer Go."IEEE Transactions on Games,pp.1–1,2018.
[3]Jmgilmer,"GoDCNN."https://github.com/jmgilmer/GoCNN/,2016.
[4]C.Browne,E.J.Powley,D.Whitehouse,S.M.Lucas,P.I.Cowling,P.Rohlfshagen,S.Tavener,D.Perez,S.Samothrakis,and S.Colton,"A Survey of MonteCarlo Tree Search Methods."IEEE Transactions on Computational Intelligenceand AI in Games,vol.4,no.1,pp.1–43,2012.。

Claims (8)

1.适用于多种棋类的落子策略和局面评估方法,其特征在于,具体步骤如下:
(1)利用残差神经网络、像素级分割方法,实现局面评估函数和落子策略函数;
(2)利用MCTS算法、Early Stop算法、Update Board Value算法,产生训练数据;
(3)重复步骤(1)和步骤(2),进行迭代训练,得到神经网络;
(4)利用步骤(3)训练的神经网络和MCTS算法,产生最终的局面评估函数和落子策略函数;
其中:
步骤(1)实现的局面评估函数和落子策略函数,具体过程如下:
(11)输入8步历史局面,每个局面包含CK个通道,组成输入块;
(12)输入块依次经过残差塔、批量归一化、ReLU激活函数处理;其中残差塔包含K个残差块,每个残差块具有C个通道;
(13)对落子型棋类和移动型棋类采用不同的结构,输出落子策略函数;
(14)使用像素级分割方法,对步骤(12)的输出依次进行通道数为CK的1x1卷积、通道Softmax,得到局面评估函数;
步骤(2)中所述产生训练数据,具体过程如下:
(21)使用搜索次数为S1的MCTS算法产生每步的落子概率和局面评估函数;依照概率选择下一步,进行落子;
(22)不断重复步骤(21),直至终局;同时使用Early Stop算法,若连续2步的检测到评估值稳定或连续4步检测到某一方优势过大,则提前终止对局;
(23)对产生的长度为T的落子概率和局面评估函数,使用Update Board Value算法合成训练数据;
步骤(3)中所述进行迭代训练,具体过程如下:
(31)将步骤(2)产生的训练数据***对局数为R的经验池,若经验池中的对局数大于R,则淘汰最旧的数据;
(32)自对弈G局后,从经验池中随机选择数据,使用选择的数据训练神经网络;
(33)使用训练后的神经网络参数替换MCTS所使用的神经网络;
(34)重复上述步骤,进行迭代训练;
步骤(4)中所述产生最终的局面评估函数和落子策略函数,具体过程如下:
(41)使用步骤(3)产生的神经网络,每步使用MCTS算法进行次数为S2的搜索;
(42)搜索之后,选择搜索树根节点的局面估值作为最终的局面评估函数,选择搜索次数最多的子节点进行落子。
2.根据权利要求1所述的方法,其特征在于,步骤(11)中所述的输入块,具体过程如下:
(111)输入8步历史局面,每个局面CK通道;若落子步数小于8,则将不足8步的部分对应的所有通道的值置为0;除了历史局面,还有“对局者数量”个颜色通道;输入时,将当前落子方的平面的值赋值为1,其余通道的平面的值赋值为0;
(112)其中,CK=对局者数量×每个对局者棋子种类;每个通道上的特定位置若存在对应对局者的对应种类的棋子,则对应位置的值为1,否则值为0。
3.根据权利要求2所述的方法,其特征在于,步骤(12)中所述输入块依次经过残差塔、批量归一化、ReLU激活函数处理,具体过程如下:
(121)对残差块的输入依次进行批量归一化、3x3卷积、ReLU激活函数、批量归一化、3x3卷积、ReLU激活函数;
(122)将残差块的输入和步骤(121)的输出进行加和,其结果作为残差块的输出;
(123)经过K个堆叠的残差块,得到残差塔的输出;
(124)对残差塔的输出进行批量归一化、ReLU激活函数处理。
4.根据权利要求3所述的方法,其特征在于,步骤(13)中得到落子策略函数,具体过程如下:
(131)对于落子型棋类,对步骤(12)中残差塔的输出进行通道数为2的1x1卷积;对其中一个通道的平面求平均值,将这个平均值并与另一个平面的所有值进行Softmax;输出每个点的落子概率+弃权的落子概率;
(132)对移动型棋类,对步骤(12)中残差塔的输出依次进行通道数为2的1x1卷积、输出维数为合法动作数CA的全连接层、Softmax;输出合法动作的概率。
5.根据权利要求4所述的方法,其特征在于,步骤(21)中所述的MCTS算法,具体过程如下:
(211)MCTS共分为4个阶段,分别为选择、评估、备份、落子;
(212)在选择阶段,使用如下公式选择子节点,直至达到叶节点;
bound=cr×W×H+csdσ(s)
Figure FDA0002219819910000031
πSC(s)=argmaxa(QSC(s,a)+U(s,a))
其中,s为当前状态、QSC(s,a)为当前状态s下动作a的动作均值,P(a|s)为加入噪音的落子概率,σ(s)为当前状态s的标准差N(s,a)为当前状态s下动作a的访问次数,W为棋盘宽度,H为棋盘高度、cr、csd、cpuct为常数;
(213)在评估阶段,如果对局未结束,则依照步骤(11)准备神经网络输入,进行前向传播后得到落子概率P(a|s;θ)和局面评估函数BV(sL,pos;θ);由局面评估函数按如下公式作和,得值函数:
VSC(sL;θ)=∑posBV(sL,pos;θ)
其中,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BV(sL,pos;θ)为在叶节点状态sL神经网络输出的点pos的节点占据概率;
(214)在评估阶段,如果对局结束;对于落子型棋类,由规则获得BV(sL,pos;θ);对于移动型棋类,将获胜方所有棋子对应位置的值设置为1,则变相获得BV(sL,pos;θ);
(215)在备份阶段,对于落子型棋类,从叶节点开始至根节点使用如下公式更新节点上的值:
N(s,a)=N(s,a)+1
Figure FDA0002219819910000032
Figure FDA0002219819910000033
其中,N(s,a)为节点访问次数,QSC(s,a)为节点动作均值,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BVπ(s,a,pos)为点pos的节点动作占据概率均值,BV(sL,pos;θ)为在叶节点状态sL神经网络输出的点pos的节点占据概率;
在备份阶段,对于移动型棋类,从叶节点开始至根节点使用如下公式更新节点上的值:
N(s,a)=N(s,a)+1
Figure FDA0002219819910000041
Figure FDA0002219819910000042
其中,N(s,a)为节点访问次数,QSC(s,a)为节点动作均值,VSC(sL;θ)为在叶节点状态sL神经网络输出的状态值,BVπ(s,a,pos)为点pos的节点动作占据概率均值,BV(sL,pos′;θ)为在叶节点状态sL神经网络输出的点pos’的节点占据概率;
(216)在落子阶段,依照根节点每个子节点的访问次数除以根节点的访问次数得到子节点的落子概率;依照子节点的落子概率,选择其中一个子节点,这个被选择的子节点成为新的根节点,同时对这个新的根节点的概率依照如下公式加入噪音:
Figure FDA0002219819910000043
P(a|s)=(1-∈)P(a|s;θ)+∈η
其中,W为棋盘宽度、H为棋盘高度,∈=0.25、P(a|s;θ)为神经网络输出的落子概率,P(a|s)为加入噪音的步骤(212)中使用的落子概率。
6.根据权利要求5所述的方法,其特征在于,步骤(22)中所述的Early Stop算法,具体过程如下:
(221)对经过MCTS搜索后的局面评估函数进行稳定性评估;对于落子型棋类,若每个点的概率值大于0.95或者小于-0.95,则认为局面评估函数稳定;对于移动型棋类,若每个棋盘上的子的概率值大于0.95或者小于-0.95,则认为局面评估函数稳定;若连续2步检测到局面评估函数稳定则对局结束;
(223)在对局第一步,利用模拟量Svt的MCTS算法评估初始局面的局面评估函数,利用局面评估函数,得到先手方优势值Kvt;之后若每步有95%的概率其绝对值|MCTS评估的先手方优势值-Kvt|大于4,则认为某一方优势过大;若连续4步检测到某一方优势过大,则对局结束。
7.根据权利要求5所述的方法,其特征在于,步骤(23)中所述的Update Board Value算法,具体过程如下:
(231)使用如下函数定义平滑函数
Figure FDA0002219819910000051
Figure FDA0002219819910000052
(232)使用如下公式合成训练数据BVπ(st,pos):
δt=BVπ(st+1,pos)-BVMC(st,pos)
Figure FDA0002219819910000053
其中,T为对局长度,t指示时刻,st为t时刻的状态,π(at|st)为状态st下、MCTS选择的动作at的落子概率,BVMC(st,pos)为点pos的MCTS搜索占据概率,BVπ(st+1,pos)为点pos的合成占据概率,将用于训练神经网络;
(233)不进行合成,直接使用MCTS搜索落子概率π(at|st)作为神经网络落子概率的训练数据。
8.根据权利要求7所述的方法,其特征在于,步骤(32)中所述的神经网络训练方法,具体过程如下:
(321)使用从经验池中随机选取的数据,输入神经网络,做前向传播;
(322)使用如下公式计算神经网络损失Ltotal(θ):
Figure FDA0002219819910000054
Figure FDA0002219819910000055
Lpolicy(θ)=-∑aπ(a|s)lnP(a|s;θ)
Ltotal(θ)=Lpolicy(θ)+c1LBV(θ)+c2LV(θ)+c3|θ|2
其中,CK为对局者数量×每个对局者棋子种类,N为棋盘宽×棋盘高,s为当前状态,π(a|s)为当前状态s下动作a的目标概率,P(a|s;θ)为神经网络输出的当前状态s下动作a的预测概率,
Figure FDA0002219819910000061
为当前状态s第i个通道点pos的目标占据概率,BVi(s,pos;θ)为神经网络输出的当前状态s下第i个通道点pos的预测占据概率,c1、c2、c3为与棋盘大小相关的常量;
(323)利用神经网络损失,做反向传播。
CN201910929174.9A 2019-09-28 2019-09-28 适用于多种棋类的落子策略和局面评估方法 Active CN110717591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910929174.9A CN110717591B (zh) 2019-09-28 2019-09-28 适用于多种棋类的落子策略和局面评估方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910929174.9A CN110717591B (zh) 2019-09-28 2019-09-28 适用于多种棋类的落子策略和局面评估方法

Publications (2)

Publication Number Publication Date
CN110717591A CN110717591A (zh) 2020-01-21
CN110717591B true CN110717591B (zh) 2023-05-02

Family

ID=69211053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910929174.9A Active CN110717591B (zh) 2019-09-28 2019-09-28 适用于多种棋类的落子策略和局面评估方法

Country Status (1)

Country Link
CN (1) CN110717591B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667043B (zh) * 2020-05-20 2023-09-19 季华实验室 一种棋类游戏对弈方法、***、终端以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339582A (zh) * 2016-08-19 2017-01-18 北京大学深圳研究生院 一种基于机器博弈技术的棋牌类游戏自动化残局生成方法
CN107050839A (zh) * 2017-04-14 2017-08-18 安徽大学 基于uct算法的亚马逊棋机器博弈***
CN107661622A (zh) * 2017-09-18 2018-02-06 北京深度奇点科技有限公司 一种生成五子棋对局数据的方法
CN109032935A (zh) * 2018-07-13 2018-12-18 东北大学 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法
CN110119804A (zh) * 2019-05-07 2019-08-13 安徽大学 一种基于强化学习的爱恩斯坦棋博弈算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202016004627U1 (de) * 2016-07-27 2016-09-23 Google Inc. Training eines neuronalen Wertnetzwerks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339582A (zh) * 2016-08-19 2017-01-18 北京大学深圳研究生院 一种基于机器博弈技术的棋牌类游戏自动化残局生成方法
CN107050839A (zh) * 2017-04-14 2017-08-18 安徽大学 基于uct算法的亚马逊棋机器博弈***
CN107661622A (zh) * 2017-09-18 2018-02-06 北京深度奇点科技有限公司 一种生成五子棋对局数据的方法
CN109032935A (zh) * 2018-07-13 2018-12-18 东北大学 基于幻影围棋的非完美信息博弈完美化软件模型的预测方法
CN110119804A (zh) * 2019-05-07 2019-08-13 安徽大学 一种基于强化学习的爱恩斯坦棋博弈算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
苏攀 等.基于不平衡学习的分类器博弈模型及其在中国象棋中的应用.《计算机研究与发展》.2011,第48卷(第05期),841-847. *
高强;徐心和.证据计数法在落子类机器博弈中的应用.东北大学学报(自然科学版).2016,第37卷(第08期),1070-1074. *

Also Published As

Publication number Publication date
CN110717591A (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
Lamb et al. Self-organising maps: An objective method for clustering complex human movement
Roubos et al. Compact fuzzy models through complexity reduction and evolutionary optimization
Perick et al. Comparison of different selection strategies in monte-carlo tree search for the game of tron
CN108171663A (zh) 基于特征图最近邻替换的卷积神经网络的图像填充***
CN108805151B (zh) 一种基于深度相似性网络的图像分类方法
CN113806546A (zh) 一种基于协同训练的图神经网络对抗防御方法及***
CN110717591B (zh) 适用于多种棋类的落子策略和局面评估方法
CN110120034B (zh) 一种与视觉感知相关的图像质量评价方法
CN111950711A (zh) 复值前向神经网络的二阶混合构建方法及***
Dementyiev et al. Use of images augmentation and implementation of doubly stochastic models for improving accuracy of recognition algorithms based on convolutional neural networks
Karavolos et al. A multifaceted surrogate model for search-based procedural content generation
CN110059405A (zh) X结构下带差分进化的高质量Steiner最小树构建方法
CN115775026A (zh) 一种基于组织相似度的联邦学习方法
Liapis et al. Fusing level and ruleset features for multimodal learning of gameplay outcomes
CN114581470B (zh) 一种基于植物群落行为的图像边缘检测方法
Harris et al. Maidrl: Semi-centralized multi-agent reinforcement learning using agent influence
CN115936108A (zh) 基于知识蒸馏的面向多元时序预测图神经网络压缩方法
CN108122033B (zh) 神经网络的训练方法和通过该训练方法获得的神经网络
KR20190092135A (ko) 최적화 계산 장치 및 방법
Matsuzaki et al. Interpreting neural-network players for game 2048
Karnsund DQN tackling the game of candy crush friends saga: A reinforcement learning approach
CN111082983A (zh) 一种网络模拟演化方法及装置
Shaban et al. Genetic Algorithm to Solve Sliding Tile 8-Puzzle Problem
CN108830315A (zh) 一种评分数据噪声消除方法
Trojanowski Properties of quantum particles in multi-swarms for dynamic optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant