一种基于博弈算法的黑白棋博弈方法及系统技术方案

技术编号:14636978 阅读:227 留言:0更新日期:2017-02-15 11:08
本发明专利技术公开了一种基于博弈算法的黑白棋博弈方法及系统,主要包括以下步骤:1.构造黑白棋博弈树搜索算法,包括主搜索算法的实现、附加搜索算法的实现;2.构造黑白棋局面动态评估方法,包括行动力的评估、棋位价值的动态评估、前期局势的评估、中期局势的评估、后期局势的评估;3.实现黑白棋博弈系统。黑白棋博弈系统主要由五个模块构成:数据表示模块、用户界面模块、搜索引擎模块、估值核心模块、控制函数模块。本发明专利技术在传统博弈搜索算法的基础上,提出了一种将主变量搜索、局面评估、附加搜索相结合的博弈搜索算法,算法效率高,搜索时间短。

【技术实现步骤摘要】

本专利技术涉及计算机博弈领域,具体涉及一种基于博弈算法的黑白棋博弈方法及系统
技术介绍
计算机博弈使机器能像人类一样进行判断和推理,参与到棋牌类竞技当中。计算机博弈是人工智能领域的重要研究分支,是智能决策系统、兵棋推演、机器智能等研究领域的重要科研基础,被认为是人工智能最具挑战性的研究方向之一。对于计算机博弈而言,博弈的最终目标是取胜,而取胜时的状态就如同状态空间法中的目标状态。计算机博弈既可以是计算机与人之间的博弈,也可以是计算机与计算机之间的博弈。黑白棋的博弈树搜索主要由两部分组成,一是局面评估,这种评估方式涉及到许多方面,主要有棋位的评估、行动力的评估、稳定子的评估、边缘子的评估等等,这些因素常常通过线性组合的方式产生最终估值;二是搜索方法,通常由alpha-beta等博弈树搜索方法组成,主要作用是根据搜索算法对经过估值后的局面进行搜索,得到最优解。在经典的黑白棋局面评估中,传统的对于棋位价值的估值方法是应用一个不变的棋位价值表来进行估值,棋位估值是与其他因素的估值相区分开的。这样就会遇到一定的麻烦:当某些棋子已经确定为稳定子后,它们的估值仍然很低。此外,传统的搜索算法往往没有根据局面形势变化改变博弈树搜索层数,这样导致在局面占有优势的情况下进行过多的搜索,增加了搜索时间,影响算法效率。
技术实现思路
为了解决上述问题,本专利技术提出一种基于博弈算法的黑白棋博弈方法和系统,提出一种新的动态估值算法,运用动态估值法来进行局面的评估,并通过将主变量搜索、局面评估、附加搜索相结合的博弈搜索算法进行博弈树搜索,明显提高了博弈树搜索的效率。本专利技术是通过以下方案实现的:本专利技术涉及一种基于博弈算法的黑白棋博弈方法,在设计的过程中,将改进传统的估值算法与搜索算法,采用动态估值与附加搜索相结合的方式,极大地提高AI性能。本专利技术具体步骤如下:步骤1,构造黑白棋局面动态评估方法,包括:行动力的评估、棋位价值的动态评估、前期局势的评估、中期局势的评估、后期局势的评估。具体如下:步骤1.1,进行行动力的评估。比较双方可以选择的决策位置来评估双方的行动力。步骤1.2,动态评估棋位价值。棋位价值的动态评估包括棋位的评估、稳定子的评估和内部子的评估,玩家下得每一步,棋位价值都会不同。步骤1.3,根据棋局所处的不同状态,对其进行局势的评估。局势的评估又分为三类:前期局势的评估、中期局势的评估、后期局势的评估。前期局势的评估是基于行动力和双方的子数来对局面进行评估;中期局势的评估基于棋位价值表,结合内部子、行动力等因素对局面进行动态评估;后期基于双方的棋子数量对局面进行评估。步骤2,构造黑白棋博弈树搜索算法,包括:主搜索算法的实现,附加搜索算法的实现,具体如下:步骤2.1,实现附加搜索方法。假设采取目标走法,检测局面是否会向己方不利的情况发展。步骤2.2,实现主搜索算法。首先进行一定层次的主变量搜索,如果搜索结果显示己方优势比较大时,调用附加搜索函数进行附加搜索,如果附加搜索函数显示局面不会对向自己不利的情况发展,则选用当前搜索到的最优走法;如果附加搜索函数显示局面可能会对向自己不利的情况发展,则运用搜索引擎进行更深层次的搜索,并选取搜索到的最优走法为自己的决策。步骤3,实现黑白棋博弈系统。黑白棋博弈系统主要由五个模块构成:数据表示模块、用户界面模块、搜索引擎模块、估值核心模块、控制函数模块。具体如下:步骤3.1,实现数据表示模块,定义在程序中需要用到的枚举类型、结构体、变量等,为其它模块的正常运行提供支撑作用;步骤3.2,实现用户界面模块,设计并实现用户界面,将用户的输入传递给控制函数模块,根据控制函数反馈的信息做出相应的响应,并将计算机的决策显示给用户。步骤3.3,实现搜索引擎模块,利用搜索引擎评估节点、调用估值核心模块对叶子节点进行估值,选择最优决策并将决策结果反馈给计算机。步骤3.4,实现估值核心模块,利用评估函数对局面进行评估,并将结果反馈给搜索引擎模块。步骤3.5,实现控制函数模块,根据用户界面模块传递来的用户输入信息进行相应的计算与检测,并将结果反馈给用户界面模块。通过以上内容可知,本申请提供的是一种基于博弈算法的黑白棋博弈方法及系统,首先构造黑白棋博弈树搜索算法,包括主搜索算法的实现和附加搜索算法的实现,然后构造黑白棋局面动态评估方法,包括行动力的评估、棋位价值的动态评估、前期局势的评估、中期局势的评估、后期局势的评估,最后实现了数据表示模块、用户界面模块、搜索引擎模块、估值核心模块、控制函数模块等五个模块,完成了黑白棋博弈系统的实现。本申请通过局面的动态评估算法,避免了经典估值算法不能根据局势变化动态估值的缺点,提高了估值的精度;通过主变量搜索与附加搜索相结合的方法,提高了博弈树搜索的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请博弈树主搜索算法的流程图。图2为本申请黑白棋博弈系统模块示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。实施例1如图1所示,本实施例包括以下步骤:步骤1,进行一定层次的主变量搜索:选用主变量搜索为博弈树主搜素引擎,根据可能出现的局面状况,进行一定层次的搜索,得到一个最佳走法;步骤2,进行局势评估:步骤2.1,计算步骤1得到得到最佳走法中己方优势是否比较大,其中,局势的评估根据棋局所处的不同状态,又分为前期局势的评估、中期局势的评估、后期局势的评估三类。前期局势的评估是基于行动力和双方的子数来对局面进行评估;中期局势的评估基于棋位价值表,结合内部子、行动力等因素对局面进行动态评估;后期基于双方的棋子数量对局面进行评估。步骤2.2,根据步骤2.1得到的结果选择是否进行附加搜索。如果局面评估结果显示己方优势比较大,则调用附加搜索算法对局面继续进行搜索;如果局面评估结果显示己方优势不够大,则使用主变量搜索进行更深层次的搜索,并将找到最优走法作为最终决策。步骤3,进行附加搜索:步骤3.1,利用主变量搜索引擎,对步骤1搜索到的最优走法对应的局面继续进行一定层次的附加搜索,并对搜索到的最优走法局面进行评估,判断局面是否可能会对向己方不利的情况发展。步骤3.2,根据步骤3.1得到的结果选择是否进行更深层次的搜索。如果局面评估结果显示局面可能会向对己方不利的情况发展,则进行更深层次的搜索,并将找到最优走法作为最终决策;如果局面评估结果显示局面不会向对己方不利的情况发展,则将步骤1得到的最优走法作为最终的决策。本文档来自技高网...
一种基于博弈算法的黑白棋博弈方法及系统

【技术保护点】
一种基于博弈算法的黑白棋博弈方法,其特征在于,提出一种新的动态估值算法,运用动态估值法来进行局面的评估,并通过将主变量搜索、局面评估、附加搜索相结合的博弈搜索算法进行博弈树搜索。

【技术特征摘要】
1.一种基于博弈算法的黑白棋博弈方法,其特征在于,提出一种新的动态估值算法,运用动态估值法来进行局面的评估,并通过将主变量搜索、局面评估、附加搜索相结合的博弈搜索算法进行博弈树搜索。2.根据权利要求1所述的博弈搜索算法,其特征是,所述的博弈树搜索算法是首先进行一定层次的主变量搜索,如果搜索结果显示己方优势比较大时,调用附加搜索函数进行附加搜索,如果附加搜索函数显示局面不会对向自己不利的情况发展,则选用当前搜索到的最优走法;如果附加搜索函数显示局面可能会对向自己不利的情况发展,则运用搜索引擎进行更深层次的搜索,并选取搜索到的最优走法为自己的决策。3.根据权利要求1所述的动态估值算法,其特征是,所述的局面评估方法,包括局面前期、中期、后期三个阶段的局面评估:前期是基于行动力和双方的子数来对局面进行评估,中期基于棋位价...

【专利技术属性】
技术研发人员:丁世飞赵星宇
申请(专利权)人:中国矿业大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1