CN106407670A - 一种基于博弈算法的黑白棋博弈方法及系统 - Google Patents

一种基于博弈算法的黑白棋博弈方法及系统 Download PDF

Info

Publication number
CN106407670A
CN106407670A CN201610807053.3A CN201610807053A CN106407670A CN 106407670 A CN106407670 A CN 106407670A CN 201610807053 A CN201610807053 A CN 201610807053A CN 106407670 A CN106407670 A CN 106407670A
Authority
CN
China
Prior art keywords
situation
search
module
game
algorithm
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.)
Pending
Application number
CN201610807053.3A
Other languages
English (en)
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.)
China University of Mining and Technology CUMT
Original Assignee
China University of Mining and Technology CUMT
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 China University of Mining and Technology CUMT filed Critical China University of Mining and Technology CUMT
Priority to CN201610807053.3A priority Critical patent/CN106407670A/zh
Publication of CN106407670A publication Critical patent/CN106407670A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/00643Electric board games; Electric features of board games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

一种基于博弈算法的黑白棋博弈方法及系统
技术领域
本发明涉及计算机博弈领域,具体涉及一种基于博弈算法的黑白棋博弈方法及系统。
背景技术
计算机博弈使机器能像人类一样进行判断和推理,参与到棋牌类竞技当中。计算机博弈是人工智能领域的重要研究分支,是智能决策系统、兵棋推演、机器智能等研究领域的重要科研基础,被认为是人工智能最具挑战性的研究方向之一。对于计算机博弈而言,博弈的最终目标是取胜,而取胜时的状态就如同状态空间法中的目标状态。计算机博弈既可以是计算机与人之间的博弈,也可以是计算机与计算机之间的博弈。
黑白棋的博弈树搜索主要由两部分组成,一是局面评估,这种评估方式涉及到许多方面,主要有棋位的评估、行动力的评估、稳定子的评估、边缘子的评估等等,这些因素常常通过线性组合的方式产生最终估值;二是搜索方法,通常由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得到的最优走法作为最终的决策。

Claims (4)

1.一种基于博弈算法的黑白棋博弈方法,其特征在于,提出一种新的动态估值算法,运用动态估值法来进行局面的评估,并通过将主变量搜索、局面评估、附加搜索相结合的博弈搜索算法进行博弈树搜索。
2.根据权利要求1所述的博弈搜索算法,其特征是,所述的博弈树搜索算法是首先进行一定层次的主变量搜索,如果搜索结果显示己方优势比较大时,调用附加搜索函数进行附加搜索,如果附加搜索函数显示局面不会对向自己不利的情况发展,则选用当前搜索到的最优走法;如果附加搜索函数显示局面可能会对向自己不利的情况发展,则运用搜索引擎进行更深层次的搜索,并选取搜索到的最优走法为自己的决策。
3.根据权利要求1所述的动态估值算法,其特征是,所述的局面评估方法,包括局面前期、中期、后期三个阶段的局面评估:前期是基于行动力和双方的子数来对局面进行评估,中期基于棋位价值表,结合内部子、行动力等因素对局面进行动态评估,后期基于双方的棋子数量对局面进行评估。
4.一种实现上述任一权利要求所述方法的系统,其特征在于:数据表示模块、用户界面模块、搜索引擎模块、估值核心模块、控制函数模块,其中,数据表示模块定义在程序中需要用到的枚举类型、结构体、变量等,为其它模块的正常运行提供支撑作用;用户界面模块包括GUI的设计与实现、将用户的输入传递给控制函数模块、根据控制函数反馈的信息做出相应的响应,并将计算机的决策显示给用户;搜索引擎模块利用搜索引擎评估节点、调用估值核心模块对叶子节点进行估值,选择最优决策并将决策结果反馈给计算机;估值核心模块利用评估函数对局面进行评估,并将结果反馈给搜索引擎模块;控制函数模块根据用户界面模块传递来的用户输入信息进行相应的计算与检测,并将结果反馈给用户界面模块。
CN201610807053.3A 2016-09-06 2016-09-06 一种基于博弈算法的黑白棋博弈方法及系统 Pending CN106407670A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610807053.3A CN106407670A (zh) 2016-09-06 2016-09-06 一种基于博弈算法的黑白棋博弈方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610807053.3A CN106407670A (zh) 2016-09-06 2016-09-06 一种基于博弈算法的黑白棋博弈方法及系统

Publications (1)

Publication Number Publication Date
CN106407670A true CN106407670A (zh) 2017-02-15

Family

ID=57999776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610807053.3A Pending CN106407670A (zh) 2016-09-06 2016-09-06 一种基于博弈算法的黑白棋博弈方法及系统

Country Status (1)

Country Link
CN (1) CN106407670A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107894923A (zh) * 2017-11-11 2018-04-10 北京信息科技大学 一种通用的计算机博弈问题策略搜索引擎类库
CN109421052A (zh) * 2017-08-24 2019-03-05 河海大学 一种基于人工智能的五子棋对弈机器人
CN111176892A (zh) * 2019-12-23 2020-05-19 大连理工大学 一种基于备份策略的对抗式搜索方法
CN112364500A (zh) * 2020-11-09 2021-02-12 中国科学院自动化研究所 面向强化学习训练与评估的多并发实时对抗系统
CN114357882A (zh) * 2022-01-05 2022-04-15 杭州师范大学 一种基于离散空间的对抗性群集体系的阵型模拟优化系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677923A (zh) * 2016-03-24 2016-06-15 安徽大学 爱恩斯坦棋基于攻防兼备估值函数的博弈搜索方法
CN105727550A (zh) * 2016-01-27 2016-07-06 安徽大学 基于uct算法的点格棋游戏系统
CN105817029A (zh) * 2016-03-14 2016-08-03 安徽大学 六子棋博弈系统中基于路和棋型的混合搜索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105727550A (zh) * 2016-01-27 2016-07-06 安徽大学 基于uct算法的点格棋游戏系统
CN105817029A (zh) * 2016-03-14 2016-08-03 安徽大学 六子棋博弈系统中基于路和棋型的混合搜索方法
CN105677923A (zh) * 2016-03-24 2016-06-15 安徽大学 爱恩斯坦棋基于攻防兼备估值函数的博弈搜索方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李小舟: "基于改进博弈树的黑白棋设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
李林涛等: "基于Android系统的手机游戏黑白棋的设计与实现", 《新乡学院学报:自然科学版》 *
杜秀全等: "博弈算法在黑白棋中的应用", 《计算机技术与发展》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109421052A (zh) * 2017-08-24 2019-03-05 河海大学 一种基于人工智能的五子棋对弈机器人
CN107894923A (zh) * 2017-11-11 2018-04-10 北京信息科技大学 一种通用的计算机博弈问题策略搜索引擎类库
CN107894923B (zh) * 2017-11-11 2021-06-08 北京信息科技大学 一种通用的计算机博弈问题策略搜索引擎类库
CN111176892A (zh) * 2019-12-23 2020-05-19 大连理工大学 一种基于备份策略的对抗式搜索方法
CN111176892B (zh) * 2019-12-23 2023-06-09 大连理工大学 一种基于备份策略的对抗式搜索方法
CN112364500A (zh) * 2020-11-09 2021-02-12 中国科学院自动化研究所 面向强化学习训练与评估的多并发实时对抗系统
CN112364500B (zh) * 2020-11-09 2021-07-20 中国科学院自动化研究所 面向强化学习训练与评估的多并发实时对抗系统
CN114357882A (zh) * 2022-01-05 2022-04-15 杭州师范大学 一种基于离散空间的对抗性群集体系的阵型模拟优化系统
CN114357882B (zh) * 2022-01-05 2024-07-02 杭州师范大学 一种基于离散空间的对抗性群集体系的阵型模拟优化系统

Similar Documents

Publication Publication Date Title
CN106407670A (zh) 一种基于博弈算法的黑白棋博弈方法及系统
Fichter So great a proffit
CN105641932A (zh) 一种数据对象的匹配方法
CN106469317A (zh) 一种基于非完备信息博弈中进行对手建模的方法
CN109325690A (zh) 面向无人平台指挥控制的策略博弈系统及其应用方法
CN109635201A (zh) 异质社交网络跨平台关联用户账户挖掘方法
CN110083748A (zh) 一种基于自适应动态规划与蒙特卡罗树搜索的搜索方法
CN105976048A (zh) 一种基于改进人工蜂群算法的输电网扩展规划方法
CN103729467B (zh) 一种社交网络中的社区结构发现方法
CN105512783A (zh) 用于电磁环网解环方案的综合评价方法
CN111131184B (zh) 一种区块链共识机制的自主调节方法
CN104754053A (zh) 一种分布式软件定义网络及在其中动态控制控制器的方法
CN108364068A (zh) 基于有向图的深度学习神经网络构建方法和机器人系统
CN105446742A (zh) 一种人工智能执行任务的优化方法
CN103577899B (zh) 一种基于可靠性预测与QoS相结合的服务组合方法
CN106651687A (zh) 一种在校学生表现评价模型及系统
CN104715034A (zh) 基于中心人物的有权图重叠社区发现方法
Lu et al. A novel artificial bee colony algorithm with division of labor for solving CEC 2019 100-digit challenge benchmark problems
CN102012904A (zh) 一种棋谱文件的生成方法及系统
CN111652673A (zh) 智能推荐方法、装置、服务器和存储介质
CN110365006B (zh) 一种基于nwbbo算法的电网分区方法
CN104570759B (zh) 控制系统中点定位问题的快速二叉树法
CN109646946A (zh) 一种棋牌游戏托管方法及装置
Li et al. Multi-attribute context-aware item recommendation method based on deep learning
CN103853781B (zh) 一种基于社交的用户组设置方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170215

RJ01 Rejection of invention patent application after publication