六子棋中基于路的双评价参数评估函数的研究与应用
发布时间:2020-05-05 11:22
【摘要】:机器博弈是人工智能领域的重要研究方向,是机器智能、兵棋推演、智能决策系统等人工智能领域的重要科研基础。机器博弈被认为是人工智能领域最具挑战性的研究方向之一。机器博弈常被看作是人工智能的“果蝇”,其研究成果对其他领域也能产生重要影响,因此对机器博弈的研究具有重要的意义。六子棋是机器博弈中的一个新兴棋种,近几年越来越走进大众的视野,吸引了越来越多的研究者行进研究。评估函数是博弈程序对局面形式进行判断的核心方法,评估函数的准确程度决定了程序对局面形势判断的准确程度,从而程序才能选择正确的应对方案。现有六子棋评估函数大致分为基于棋型和基于路的两种。基于棋型的评估函数对棋型的分割非常复杂和耗时,而传统基于路的评估函数不能很好地应对各种局面。本文重点研究六子棋的评估函数,针对现有基于路的评估函数存在的问题提出了双评价参数评估函数,解决了传统基于路的评估函数不灵活且不能应对不同局面的问题。本文研究了基于全局路的评估函数和基于局部路的评估函数的特点,将二者相结合,使评估函数既可以准确地评估全局,又保证了执行效率。同时使用了两组参数分别应用于我方优势与我方劣势的情况,以应对不同的局面。本文为验证双评价参数评估函数的合理性,设计了棋局局面倾向实验、估值准确性实验和棋力水平实验。局面倾向性实验证明不同实验参数设置会导致不同倾向的说法。估值准确性实验证明在某些局面下,双评价参数评估函数对比传统基于路的评估函数能够更准确的判断当前局面,能更准确地引导棋局。棋力水平实验证明了使用双评价参数评估函数对比传统基于路的评估函数有着更高的胜率。此外由于评估函数对搜索效率有着很大的影响,设计了搜索效率实验对比两种评估函数的评估效率。本文最后基于所提的双评价参数评估函数设计实现了六子棋程序Executor,详细介绍了各个功能模块的功能与实现方法,进一步验证了本文方法的有效性。
【图文】:
六子棋 1017210140-101882.2 六子棋棋盘表示人类在下棋过程中,首先需要对棋盘的局面存储到脑子中,这时人类需要对棋盘上棋子的分布进行解析。六子棋程序需要类似的方法,对棋盘进行表示。六子棋棋盘表示的方法一般有比特棋盘、矩阵棋盘。其中矩阵表示相较于其他方法更能直观的表示棋局的状态,更容易理解,本文使用矩阵方法对棋盘进行表示。矩阵方法使用二维矩阵表示棋盘,,六子棋的棋盘使用 19*19 大小的棋盘,总共 361 个交叉点。矩阵方法使用 19*19 的二维数组对棋盘进行表示,数组每一个位置对应棋盘相应的位置,每个位置分别用 0、1、7 对应棋盘不同的状态。0 代表此位置上无字,1 代表有黑子,7 代表有白子。这里的 0、1、7 可以自行选取对应数值,0 与 1 常用来表示棋盘中的无子与黑子。使用 7 表示的原因是在之后设计基于路的评估函数时、可以简化路的判定。图 2-1 是之一局面下,矩阵方法的棋盘表示。
第 2 章 六子棋理论基础2.3 博弈树几乎所有的棋类问题,都可以用博弈树来描述。在六子棋中每一个局面对应一个节点,每一个局面可以衍生出许多子局面,即每一个节点可以衍生出许多子节点。再将子节点继续推演下去就和形成一颗博弈树,这棵树就反映了博弈双方博弈的所有状态。图 2-2 是一棵博弈树的图示。假设博弈树一颗节点的子节点数为 n,深度为h,则有 1 + n + n2+ n3+···+ nh= ( nh+1 n ) / ( n 1 )个结点,这个节点的数量是很大的,如果要对所有节点进行搜索,需要花很长的时间。但是人类却可以很快的做出选择。其实,人类棋手在下棋的过程中,在脑子里也生成了一棵博弈树但不会把所有可能的情况全部生成,人类会很智能的把看起来不可能的节点或对己方很不利的节点直接过滤掉。在机器决策的过程中,这个过程通常通过搜索和剪枝的方法实现。
【学位授予单位】:北京工业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP18;O225
本文编号:2650057
【图文】:
六子棋 1017210140-101882.2 六子棋棋盘表示人类在下棋过程中,首先需要对棋盘的局面存储到脑子中,这时人类需要对棋盘上棋子的分布进行解析。六子棋程序需要类似的方法,对棋盘进行表示。六子棋棋盘表示的方法一般有比特棋盘、矩阵棋盘。其中矩阵表示相较于其他方法更能直观的表示棋局的状态,更容易理解,本文使用矩阵方法对棋盘进行表示。矩阵方法使用二维矩阵表示棋盘,,六子棋的棋盘使用 19*19 大小的棋盘,总共 361 个交叉点。矩阵方法使用 19*19 的二维数组对棋盘进行表示,数组每一个位置对应棋盘相应的位置,每个位置分别用 0、1、7 对应棋盘不同的状态。0 代表此位置上无字,1 代表有黑子,7 代表有白子。这里的 0、1、7 可以自行选取对应数值,0 与 1 常用来表示棋盘中的无子与黑子。使用 7 表示的原因是在之后设计基于路的评估函数时、可以简化路的判定。图 2-1 是之一局面下,矩阵方法的棋盘表示。
第 2 章 六子棋理论基础2.3 博弈树几乎所有的棋类问题,都可以用博弈树来描述。在六子棋中每一个局面对应一个节点,每一个局面可以衍生出许多子局面,即每一个节点可以衍生出许多子节点。再将子节点继续推演下去就和形成一颗博弈树,这棵树就反映了博弈双方博弈的所有状态。图 2-2 是一棵博弈树的图示。假设博弈树一颗节点的子节点数为 n,深度为h,则有 1 + n + n2+ n3+···+ nh= ( nh+1 n ) / ( n 1 )个结点,这个节点的数量是很大的,如果要对所有节点进行搜索,需要花很长的时间。但是人类却可以很快的做出选择。其实,人类棋手在下棋的过程中,在脑子里也生成了一棵博弈树但不会把所有可能的情况全部生成,人类会很智能的把看起来不可能的节点或对己方很不利的节点直接过滤掉。在机器决策的过程中,这个过程通常通过搜索和剪枝的方法实现。
【学位授予单位】:北京工业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP18;O225
【参考文献】
相关期刊论文 前7条
1 何华灿;;人工智能基础理论研究的重大进展——评钟义信的专著《高等人工智能原理》[J];智能系统学报;2015年01期
2 张明亮;吴俊;李凡长;;五子棋机器博弈系统评估函数的设计[J];计算机应用;2012年07期
3 徐长明;马宗民;徐心和;;一种新的连珠棋局面表示法及其在六子棋中的应用[J];东北大学学报(自然科学版);2009年04期
4 徐心和;邓志立;王骄;徐长明;刘纪红;马宗民;;机器博弈研究面临的各种挑战[J];智能系统学报;2008年04期
5 李果;;基于遗传算法的六子棋博弈评估函数参数优化[J];西南大学学报(自然科学版);2007年11期
6 徐心和;王骄;;中国象棋计算机博弈关键技术分析[J];小型微型计算机系统;2006年06期
7 王骄,王涛,罗艳红,徐心和;中国象棋计算机博弈系统评估函数的自适应遗传算法实现[J];东北大学学报;2005年10期
本文编号:2650057
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/2650057.html