文摘

国际象棋的游戏是最广泛的研究领域的游戏人工智能和机器学习。在这项工作中,我们提出一个新方法获得的评价象棋位置不使用树搜索和检查每一位候选人分别移动,像国际象棋引擎。而不是探索搜索树为了看几个动作前,我们建议使用更快和更少的计算要求估计的正确训练神经网络。这种方法提供的好处有一个估计的位置评价在几毫秒,而由国际象棋引擎所需的时间可能长好几个数量级。该方法引入了模型基于径向基函数(RBF)神经网络架构培训与模糊算法,结合小说的输入功能;不同的网络训练方法也检查和比较,包括多层感知器(MLP)和卷积神经网络(CNN)体系结构和一组不同的输入特性。所有的方法都是基于一个新的数据集,这是在这项工作的背景下开发的,得到了1500多个顶级国际象棋游戏的集合。处理Java应用程序开发的游戏和提取某些特性产生位置为了构建数据集,它包含数据来自80000多个职位。各种网络训练和测试我们认为是每个方法对输入变量的不同配置和数据过滤。最后,结果表明,该方法性能是最好的。 The models produced with the proposed approach are suitable for integration in model-based decision-making frameworks, e.g., model predictive control (MPC) schemes, which could form the basis for a fully-fledged chess-playing software.

1。介绍

国际象棋是一个非常有趣的和有趣的游戏。知识的挑战提供类似于一个在游戏,还包括战略和战术思维让球员和球迷着迷的游戏在整个时代。随着计算机的发展和软件工程领域,国际象棋获得计算机应用的一种形式,除了之前的棋盘游戏形式。只是一个时间问题电脑玩家的想法构思和实现,并在1996年,第一个“人机大战”比赛,国际象棋世界冠军之间,卡斯帕罗夫和IBM的深蓝,发生(1]。

尽管卡斯帕罗夫并赢得比赛,持续改进的计算机处理能力和复杂的使用和搜索算法更适合于问题导致了一个巨大的崛起,国际象棋引擎的功能。如今,即使是顶级大师使用国际象棋引擎的比赛准备和整体培训。人工智能和机器学习领域的进步导致了新的想法关于引擎,像国际象棋代理没有任何国际象棋规则在它们的编码和增强位置评价算法借助神经网络取代,例如,启发式函数中使用一个树搜索算法(2- - - - - -4]。

许多示威的思想涉及国际象棋的游戏和机器学习目前存在。一个工作是基于手工评估函数的优化使用进化算法优化函数参数和一个叫动态边界的战略策略5]。类似的方法在这个问题上一直是代表个人的人口作为虚拟球员,他们每个人都使用不同的固定参数的评价函数。这些玩家争夺推进算法的下一代,而不是互相使用真正的顶级游戏排名(6]。的另一个例子使用进化算法,结合人工神经网络,一个程序,学会了对战游戏的本身(7]。

使用人工神经网络也很常见的在这一领域的研究。神经网络结构,类似于人类大脑的工作原理(8]。这意味着,它们的功能是存储从数据获得的经验知识在自己的环境中通过一个学习的过程和使用它应对类似情况。更具体地说,他们是数学工具,可以模仿一个系统的行为,这是大概的一个函数,没有任何的信息来源除了其输入和输出。

对于DeepChess [3),一个神经网络训练评估位置使用成千上万的游戏没有包括任何其他chess-related知识,比如游戏规则。KnightCap也用神经网络定制的攻击和防御表和块重量(9]。另一个例子是NeuroChess [10),一个国际象棋程序,依靠神经网络和手工制作的功能位置,评价训练预测比赛结果。神经网络的使用是被长颈鹿一步(11),一个国际象棋程序,获得国际象棋self-play知识,利用他们不仅优化评价函数参数也进行模式识别和特征提取。模式识别也出现在研究涉及多层感知器(mlp)和卷积神经网络(cnn)为了评估职位通过有预见性的算法尽可能少(12]。然而,可能是最令人印象深刻的是著名的AlphaZero [13),没有知识除了游戏规则和训练完全由self-play 24小时,设法击败世界冠军引擎在国际象棋的游戏,Shogi,走了。

还有其他几个作品使用安各种国际象棋建模任务。例如,在[2],CNN模型在预测的潜力在国际象棋是检查;三层CNN模型是用于制造移动预测,证明了提出方法的有效性。在[14),各种机器学习方法如回归和朴素贝叶斯分类器是用来预测国际象棋比赛的结果。在[4)、延时和cnn预定大小的测试在各种国际象棋的建模方法,随着例如象棋职位评估和分类;实验结果显示延时模型的优越性,尽管棋盘表达方法,如位图和代数输入。在[15),一个深神经网络搭配了一个有预见性的算法提出了评价函数。拟议的行动产生了由该方法比较对提出的鳕鱼干;相等力量的模型能够预测移动的鳕鱼干超过80%的所有的样品位置。在[16),一种方法基于CNN模型与有限的国际象棋游戏提出了展望。研究发现,该方法可以有效地识别战术模式在游戏和取得了有前景的结果对鳕鱼干计算机引擎进行测试。

另一个机器学习范式,遇到了巨大的成功在国际象棋是强化学习(RL) [17]。RL背后的基本想法是,一个代理找到问题的最优解通过反复试验程序和奖励和惩罚框架;例如,在[18),基于强化学习的算法利用CNN评估提出了法律在下象棋。在[19),一个中国象棋游戏算法基于强化学习;self-play学习模型结合深cnn和蒙特卡罗模拟象棋移动搜索树算法。在[20.),一个LSTM模型构建研究各种棋盘表示方法为了检查哪一个是更相关的神经网络的训练过程。在[21),监督代理使用游戏训练记录,在代理的性能增加通过self-play政策强化学习算法,没有搜索和没有进行猜测真正的游戏状态。

上述的许多出版物依靠神经网络用于各种目的关于象棋的游戏,主要关注cnn和mlp的架构。虽然这些作品的贡献是伟大的国际象棋建模领域的重要性,他们都是基于标准安架构和著名的训练算法,可能有某些限制,当应用于高维数据集。例如,确定关键的网络参数如网络规模是实现使用冗长的搜索过程,通常基于穷举搜索隐藏层和在每一层的节点数,这可能是计算不切实际;因此,次优网络大小可能被选中。这意味着进一步改善可以通过实施不同的小说安体系结构和训练算法,以便改进模型的建模精度和计算效率了。

一个有希望的候选架构为另一种建模方法可能包括径向基函数网络(rbf) [8]。RBF网络由一个单隐层表现出几个重要属性,如通用近似,健壮性和良好的泛化,因此,它们代表了一个很有竞争力的选择,例如,在mlp、在结构方面,培训过程中,对非线性系统建模和优化;由于其结构简单,RBF网络有几个重要的优势对于较短的训练速度和提高建模效率(22]。最近的一项工作,采用RBF网络象棋建模框架提出了(23),一个简单的RBF网络用于近似q学习的函数使用中国象棋通过继续学习过程评价。实验工作的结果似乎非常有前途;然而,一个更优化的RBF网络将提高性能。然而,值得注意的是,最好的作者的知识,RBF神经网络结构没有被用于评估标准的国际象棋游戏内的位置。

为此,在这部作品中,利用RBF网络的好处是为了构建一个健壮的和有效的模型来评估国际象棋在一个可接受的计算成本。更具体地说,我们的目标是近似象棋位置的绝对评价得分仅仅基于神经网络估计,避免任何类型的树搜索国际象棋引擎依赖(24]。RBF神经网络体系结构的优点是利用以达到最大精度评估的评估国际象棋的位置在一个可接受的程度上,没有考虑特定动作或探索树搜索。网络中心参数决定通过模糊手段(FM)算法,已成功地应用于各种应用程序提供模型与增加的准确性(25),而线性权重可以通过线性最小二乘优化确定。更具体地说,该方法提供了(我)变量网络大小和灵活的参数选择,大小的模型是基于有效调频算法决定的,和(2)减少数量的算法参数,该方法只使用一个参数,需要调整;因此,该方法能够处理大量的数据和多个输入,可能影响的评估分数象棋在更短的培训时间。这项工作的另一个重要贡献是引入一套新的国际象棋位置特性,自由领域特定的知识,和任何形式的协助结构,如查找表,是从一个定制的Java应用程序通过处理几千场鳕鱼干引擎[26]。提出的神经网络模型和选定的一组特性提供估计几个动作在更短的时间比国际象棋引擎需要实现相同的结果,最终产生一个方法能够产生高度精确模型的棋局评估。

本文的其余部分的结构如下:部分2介绍国际象棋引擎,提出的一组特性的推导过程以及过程的描述中提取网络训练数据。部分3给出了RBF网络体系结构的描述和模糊手段训练算法。部分4详细描述了实验过程,并给出了建模的结果和讨论。本文总结阐述了该方法的优点,为未来的工作方向。

2。国际象棋创建数据集

2.1。国际象棋引擎

国际象棋引擎内部评估给定位置的形式表示。一些最流行的国际象棋引擎鳕鱼干,科莫多,胡迪尼,Rybka [27]。国际象棋引擎一般来说不仅能够提供一个评估的地位还建议延续他们认为最强的的动作。至于位置的表示,有很多格式来描述特定位置的一个游戏,最受欢迎的“便携式游戏符号”(PGN)和“Forsyth-Edwards符号”(分)。PGN实际上是一个标准化的格式的纯文本,由史蒂文·j·爱德华兹和人类可读的和软件,用于记录移动和相关数据的象棋游戏。一个PGN的例子中可以看到图1。它分为两个部分,前者包含游戏信息。后者的PGN格式包含移动文本,即。游戏的动作,“标准代数符号”(SAN)。另一方面,沼泽是用来描述一个特定位置的一个游戏。其目的是封装所需的所有信息,以便恢复游戏从一个给定的位置。它最初是由大卫·福赛斯和斯蒂芬·j·爱德华兹扩展后它将可用的象棋软件。图2描述分表示的一个例子,可以看出,这是一行文本,由一个特定数量的字段,包括位置,活跃的颜色,和其他重要的信息,用空格分开。

展望未来国际象棋引擎搜索最好的举动在不同序列和评估产生的位置移动,因为一般来说这样的结果无法得出的静态信息的位置。代表哪一方的评估值的计算是更好的,多少是一个复杂的过程,每个国际象棋引擎实现了以自己的方式,但他们都共享相同的一般方法,树搜索。在象棋中,这是一个双方博弈,属于零和的家庭,通常应用搜索树的算法极大极小算法。确切地说,在国际象棋中,极大极小算法的一个改进,称为α-β和α-β剪枝算法(28]。

每个国际象棋引擎实现都有自己的逻辑考虑的特性和它们是如何加权,给每个人或多或少的重要性。此外,评价函数本身不仅在它的定义也不同,它是确定,这可能是象棋经验和集体知识的顶级大师,处理国际象棋游戏的数据库,使用机器学习技术,或者最可能发生的情况是,这些的组合。那么,国际象棋引擎实际返回当前位置的评估实际上是静态评估未来的位置后,达到最佳的举措为双方。多远未来移动这个职位而言,很大程度上取决于计算能力和可用的时间结合产生的复杂性的职位是需要更多的计算时间来评估他们每个人。这意味着的价值始终是一个近似的实际评价的位置。如果可以处理任何最后的位置,搜索的结果会显示赢,画画,或损失与绝对的确定性。这实际上是位置的情况更接近比赛结束;引擎返回一系列举措,直到伴侣而不是评估,或零的值指示位置,提供最好的举措是为双方。

在任何情况下,最终的价值产生的评价函数的结果计算涉及的位置特征。相关特征值表示实际象棋作为一种量化的手段方面喜欢他们的绝对或相对的价值,他们的位置,移动或他们的交互与其他碎片,被简单地检查或更复杂,基于特定的模式。实际的计算每一个方法也是一个特定的引擎实现的问题,但是一般的规则是,特定的权重分配的基础上计算值,根据游戏的不同阶段,主要是中间游戏(mg)和结局之间(例如)。应该指出,由于每个特性计算为每个球员,各自的同行之间的差异使得对总评价产生影响。根据其性质,每个特性可以被认为是一个组件的一组代表一个象棋更抽象的概念。这些概念中最引人注目的是材料,流动性,国王安全、典当结构,piece-specific模式。

材料是最具体,容易量化的概念。预定的值分配给每个类型的块的存在,无论任何位置方面。这样的价值是绝对的材料价值的一块。时更有经验的球员,国际象棋引擎,一个更微妙的想法也考虑在内。此外,其绝对值,每一块也分配相对价值取决于其位置在黑板上。从本质上讲,相对价值的一块可以被视为一种奖励或惩罚它的绝对值。引擎实现这个想法,利用特定的结构称为piece-square表(PSQT)。这是一个包含数组的数组集合为每一块类型匹配的每个组合排名和文件(广场)一个积极或消极的分数。这些表通常由人类创造和优化,根据国际象棋的经验和知识,很可能为每个阶段的不同的游戏。

流动性与可用的法律行动。这可以简单地认为是每个球员的法律行动的总和,这绝对是人类玩家这样做有效。在国际象棋引擎的情况下,然而,计算更为复杂一些。更具体地说,每一个类型是给予奖励或惩罚的法律行动后,结构类似的协助下piece-square表包含对应的值。这些结构也手工和不同引擎的实现,并根据不同阶段的比赛。奖金之和/处罚双方的董事会上所有的作品的价值实际上是作为流动。不同的实现各种规则适用于他们计数等法律措施包括移动技术上不合法的。

王安全是最复杂的所有评价的概念。它是由许多功能有关的具体设置块相对于攻击和防守的位置。实际组件用来测量国王在引擎安全是不一样的,但他们或多或少地遵循相同的模式。最终,所有不同的特性的加权总提供的主要评价函数值为王的安全。是所有功能的情况下,重量值必须绝对预定义以某种方式和不同阶段根据游戏。

棋子位置评价结构的另一个重要因素。根据定义,典当结构是一个术语,用来描述所有棋子的位置,不管其他的位置,但包括其他棋子之间的相对位置。这类特征代表每个棋子的状态如翻了一倍,孤立和封锁。更一般的意义上,有一些特性,考虑更多的作品相对检查典当等特定的礼仪设置,使其弱兵。

Piece-specific模式包括各种各样的功能块的放置在特定的情况下,相对其他部分和典当结构。这些特性是衡量董事会上的事件数量和相应的加权。

2.2。输入特征选择

在这部作品中,提出了一系列特性推导出使用鳕鱼干国际象棋引擎。鳕鱼干(26)是一个开源引擎,在GPL下许可v3.0和兼容UCI的协议。UCI协议规范(29日Stefan Meyer-Kahlen描述),定义了有效的通信命令国际象棋引擎,和预期的响应从引擎发送回调用者。鳕鱼干是由托德Romstad马可•Costalba Joona Kiiski,它和加里·林斯科特率领是最强的一个国际象棋引擎在2018年的世界。鳕鱼干依赖某些特性和功能组件为了评估国际象棋位置使用启发式函数。这些组件中给出简要表12

2.3。数据提取

网络培训的前提当然是训练数据集的创建。网络的输出,如前所述,将这个职位评价分数,和为了完成训练数据集的形成,需要根据输入变量。两个概念上不同组的输入变量选择。第一组由一个特定的国际象棋位置描述位置的静态特性在其当前状态,事实上,唯一获得他们所需要的知识是当前安排在黑板上,例如,在沼泽的形式。第二组的输入的动态特性是指位置。这些实际上是评估国际象棋引擎的位置,但在更深度的搜索比我们试图预测评价分数。这些值作为补充功能的输入,这样暂时的情况,像没有发生中间一块交换序列,没有误解网络等相当于头寸情况是永久性的,例如,位置与实际材料不平衡,将显示的唯一考虑静态特性。

这样一个数据集的创建需要处理应用程序的实现,从大量的国际象棋中提取必要的信息位置并将其存储在数据库中,以用于执行的过程神经网络的训练。这样的应用程序是用Java编程语言开发的,数据库的创建和管理,通过选择并插入查询在Java代码中,使用SQL数据库。游戏的操作处理应用程序显示流程图如图3。首先,国际象棋的游戏提供给应用程序的形式PGN文件处理一个接一个;每个PGN文件处理,以提取序列的特定的游戏。创建一个内部董事会表示在初始位置和具体举措上执行董事会一个接一个。当前位置沼泽是检查数据库中存在。如果找到它,这个过程继续进行下一步。当前位置的特性计算。检查当前位置的阶段。如果不是middlegame,位置被忽略,这个过程继续进行下一步。当前位置是由一个国际象棋引擎,分析和评估分数,这两个用作辅助输入和实际的目标,计算。 The features and evaluation scores along with the corresponding FEN of the current position are stored in the database. Arising positions are processed sequentially in this manner until the current game is over, and the procedure is repeated until every PGN has been processed.

阐述一点在上述过程中,大量的游戏顶级球员人数(1514)从在线象棋数据库(检索https://www.chessgames.com/,https://www.365chess.com/)和提供给应用程序。应该注意的是,这个数字的游戏没有收集和处理在一个运行,而是在一个迭代的过程,数据库逐步增加,使用相应的数据集和网络训练,逐步提高性能。

如前所述,国际象棋引擎使用开源鳕鱼干引擎版本10。这决定了推导我们组提出的位置特性用于训练神经网络的输入鳕鱼干依赖于相同的特性。鳕鱼干认为作为一个单独的功能实际上可能是由其他subcalculations的简单模式。此外,尽管这些简单模式是分开计算的黑色和白色,这是在大多数情况下两者的区别各自的值用于计算。除了这些,鳕鱼干计算几个中间,累积值,最后结合辅助价值,随着功能,为一个主值(称为“主要评价”),实际上是静态评价的地位。每一个计算值参与了这一过程,无论是简单还是复杂,或一个中间值,一个有意义的特征是在线文档中描述的引擎。文档提供了Javascript编程语言的代码片段关于每个其中之一,虽然没有直接可用的在我们的例子中,提供了一个了解每个特定值计算的方式,从这些知识来处理应用程序的Java代码中实现。

关于网络训练数据集,我们的方法在构建提出的一组特性,尽管许多只是别人的线性组合,考虑每个特性的值,表中描述的功能12分别为两侧以及相应的值,作为一个单独的位置特性。这个旨在最大化神经网络发现模式的可能性与结果评价的特征数据集可能被忽视的只使用聚合值。这导致共有194个输入变量。

另一个重要的决定,已经是执行网络的训练数据中提取仅从国际象棋middlegame位置。这是因为middlegame最复杂的阶段,是一个国际象棋游戏,策略是形成,通常并不是所有但也不是棋盘上棋子太少,因此,网络有最好的机会来检测模式,摆脱特性描述这些位置,并将它们与评估。除此之外,游戏的其他两个阶段,开幕式和结局,通常由发动机使用其他手段除了树搜索。在前者情况下,巨大的开放理论,已经存在于象棋文学是利用所谓的“打开书”的引擎可能相应地指导搜索。在后一种情况下,最后阶段,有一个非常好的机会,不执行搜索树,和一个结局tablebase通常使用。结局表基本是一个巨大的数据库,其中包含所有可能的象棋残局的位置从一个点开始,已经分析到最后,提供结果,移动的数量达到最好的玩的情况下赢得或失去,和最好的移动位置。从2012年,tablebases包含每个结局位置,包括7块。从这个意义上说,评价分数的概念不再有效,因为它是委托给一个值为零的画,或一系列举措,在各自的情况下达到一个成功或失败。

鳕鱼干,因此我们的处理应用程序,游戏的不同阶段之间的区分使用阶段参数也主要用于评价公式。相位参数取决于nonpawn材料在黑板上并把值从128到0,128对应于开幕,0到结局,middlegame之间的任何值。如前所述,引擎的位置进行了分析,最终只存储在数据库中,以防它是middlegame位置。

位置已被确定为一个middlegame位置后,分析了由国际象棋引擎,以便补充low-depth评估以及目标评价得分可以提取。鳕鱼干可以分析位置正好是165秒(2.75分钟),达到尽可能多的深度在这个时间段。当然,因为时间是固定的,实现深度取决于计算机的处理能力引擎上运行,在这种情况下使用一个英特尔酷睿i7 - 4779 -四核心3.40 GHz和8 GB的内存,和引擎本身的配置。配置的重点在我们的例子中包括占据3计算线程/引擎实例,1024 MB的哈希表,并使用分析模式的多个光伏两个,这意味着分析两个最好的线,而不是一个为了防止引擎可能忽略一个更好的搜索树中的分支由于其默认行为的应用更多的修剪nonbest分支。

在这种情况下,根据每个职位的复杂性,发动机达到的深度是28层,即。,half moves (individual moves played by either side), as opposed to what chess defines as a full move which consists of two plies, one by White and one by Black. Regarding the evaluations used as inputs, three scores were decided to be used, at depths of 2, 4, and 8 plies, bringing the total length of the neural network input vector to 197. For these depth values, the chess engine on the particular machine can provide evaluations in a matter of a few milliseconds, while the processing time needed to extract the 194 static features mentioned before is about 10 seconds. The time needed for the two types of database queries, for checking if a position already exists and storing it, takes less than 10 milliseconds each. These bring the whole procedure of processing a position to a total of about 3 minutes. In order to produce more data in the same amount of time, two instances of the processing application were run in parallel (in different CPU threads), each one provided with its own (nonoverlapping) set of games to process and also running its own instance of Stockfish, but interacting with the same table in the database which was the single point of data storage. The table would then be exported as a csv file whenever the data were needed for network training.

3所示。径向基函数神经网络

径向基函数(RBF)网络(8]是一种特殊类型的前馈神经网络已成功地应用在各种不同的应用程序从回归和分类问题(30.,31日)系统控制(32,33]。Broomhead劳,在80年代末提出的RBF神经网络包含一个隐层采用径向基函数作为激活函数,提供许多重要的属性,如通用近似,泛化,和鲁棒性22]。RBF网络的结构简单允许关于速度和效率显著的优势相比其他流行架构,如MLP网络(25]。

RBF网络的可视化表示 输入变量, 隐藏的节点,提出了图和一个输出变量4。隐层中的每个节点实现了径向基函数中心向量的特征 ,输入层,也就是在维度,根据RBF的选择,一个宽度值。RBF网络的结构需要输入之间的非线性映射和隐藏层而线性连接到隐层输出层,其中每个连接被称为突触权重值加权

给定一组输入输出数据, 在哪里 , 输入变量的数量, 例子的总数, 是隐层单元的数量,和训练RBF网络由突触权重向量的计算,而且RBF中心的数量和位置和相应的宽度在必要时(34产生一个近似函数 ,所以,每个输入产生一个相应的目标输出。

隐层中的节点实现一个RBF函数 ,这个工作的地方,采用薄板样条函数 在哪里 表示一个特定的输入向量的活动一定RBF节点。例如,的活动 - - - - - -th单位的 - - - - - -输入向量的定义是 在哪里 的中心向量 - - - - - -th RBF单位和 - - - - - -输入向量。

输出层给出了RBF网络评估和 - - - - - -给出的输入向量 在哪里 突触的重量吗 - - - - - -RBF单位。

后确定隐层大小和RBF中心的位置,突触权重确定的向量。由于隐藏层和输出层之间的线性关系,突触权重可以很容易地使用线性回归计算。一个典型的方法是使用线性最小二乘方法,在得到矩阵形式如下: 在哪里 表示一个矩阵,其中包含的输出为每个输入向量和隐藏层 表示一个向量,其中包含所需的输出,即。,目标价值。

计算节点的数量和位置RBF被视为最具挑战性的方面训练RBF网络,对其建模能力有很大影响。通常是由使用集群技术,如k——算法实际上是最受欢迎的方法训练RBF网络在他们的早期(35]。尽管它受欢迎,这个算法有一定的缺点,源自其随机和迭代性质。例如,该算法初始聚类中心位置太敏感可能出现的收敛问题。除此之外,许多不同的运行需要为了检查结果的一致性。至于网络的大小,k则算法缺乏能够自动确定RBF中心的数量,这意味着一个详尽的试验和错误过程必须被整合的过程与高维度不合适的情况下。

这项工作属于这一类的数据集,使用更高效和更少的计算昂贵的程序是强制性的。为此,为了克服上述技术的缺点,本工作采用标准模糊手段(FM)算法(25)简要描述在下一节中已成功应用范围广泛的应用程序(32,36]。

3.1。模糊RBF网络训练算法

模糊(FM)算法,在k - means算法相比,能够确定RBF中心的数量和位置以自动方式避免耗时的迭代和随机过程。算法的主要思想是输入域的每个维度的划分成一维三角模糊集,创建一个网格多维输入空间的子空间,在这些子空间的一个类别代表了RBF网络的隐层中心基于一个特定的标准。

更具体地说,考虑情况下,RBF网络训练接受N规范化输入变量,或者换句话说,输入空间 维度,每个维度都划分为相同数量 三角模糊集,通常可以描述如下: 在哪里 表示 - - - - - -th模糊集和 表示元素和中心的宽度的一半 - - - - - -分别th模糊集。

以这种方式划分输入空间产生总计 多维模糊子空间,等于产品的每个维度的模糊集的数量。每个模糊子空间表示 ,在哪里 ,和它的中心元素将包含中心向量的元素在每个维度各自的模糊集。例如,为一个二维输入使用五个模糊集在每个维度,总模糊子空间 这些子空间代表候选人RBF中心的隐层节点,选择在这样一种方式,这样他们均匀覆盖输入空间的分布。

标准的算法是基于适当的模糊子空间的子集的选择来源于隶属函数,这表明在多大程度上一个特定的输入向量属于一个特定的模糊子空间。的隶属函数kth输入向量年代th模糊子空间表示 是由以下几点: 在哪里 是输入数据之间的距离函数向量 和模糊子空间的中心 这个距离函数表示成一个超曲面上 - - - - - -维空间的输入和输入向量构成歧视的手段得到任何隶属程度模糊子空间,从其他向量。由于输入空间的每一个维度是分区使用相同数量的模糊集,超曲面的距离函数实际上是一个超球面,可以由以下方程: 在哪里 表示输入空间的维数, 的组件是模糊子空间中心元素 - - - - - -th维度(即。,the respective fuzzy set center element), and 中输入向量组件吗 - - - - - -th的维度 - - - - - -输入向量。基于上述算法流程的训练输入向量和决定选择模糊子空间,使每一个输入向量接收非零加入至少其中之一。正如前面提到的,这是一个noniterative程序作为输入数据集处理只有一次,因此,较短的计算时间实现即使在大型数据集的情况下25]。

更具体地说,对于每一个输入向量训练子集,该算法首先检查如果是以外所有定义的超球面选择模糊子空间。如果是这样的话,一个新的模糊子空间选择基于每个模糊集隶属函数的值在每个维度对当前向量,因此,一个新的RBF节点添加到网络。处理整个输入数据集后,选择RBF中心组成网络的隐层构造。

算法处理只有一个操作参数,参数是模糊集的数量,所有输入维度将分区,从而影响网络的大小,因此它的建模能力。有多种方法定义上述参数的值,最简单的标准模糊方法的算法是一个反复试验的过程,每个维度是相同数量的模糊集的分区。对于非对称版本的算法,基于相同的基本原则与标准的调频,N不同的操作参数待定,因为它允许在每个维度不同数量的模糊集。在这种情况下,一个优化过程是必要的为了产生一个RBF网络最优配置逻辑计算时间内,最常见的包括metaheuristic搜索方法属于进化计算(36和群体智慧25,37]。

4所示。案例研究

4.1。实验装置

在应用任何建模技术之前,创建的数据集应该随机分为三个独立的子集,即训练、验证和测试的子集。训练子集在培训过程中,更具体地说用于RBF网络参数的确定。验证子集用于模型选择RBF网络的规模,以避免过度拟合训练子集。至于测试子集,这仅仅是用于一个公正的评价模型。没有一个严格的规则的分裂可用的数据集。在这部作品中,可用数据点是随机划分方式的50%,25%,25%的训练,验证,分别和测试子集。

为了评估测试建模技术的性能,选择了两个不同的指标。第一个关注指标的平均绝对误差(MAE)由以下方程: 第二个指标是确定系数 这是定义如下: 在哪里 分别是真正的测量和模型估计,然后呢 均值的实际目标。

运行参数的最优值 RBF网络,每个维度的模糊集的数量,选择经过反复试验过程在一个特定的范围内 ,在哪里 上下边界的搜索空间,即,the minimum and maximum number of fuzzy sets, respectively. In this work, the optimal value of 被发现使用验证子集和详尽的搜索过程的范围 作为比较,两种不同的神经网络结构进行了测试。更具体地说,两个隐层MLP网络架构与Levenberg-Marquardt训练反向传播算法采用(38]。隐藏层的最佳组合尺寸被发现使用验证子集,通过执行一个详尽的试验和错误程序的范围 分别为第一和第二层。其他竞争对手方法问题CNN模型的两个二维卷积层20 5×5和50 3×3过滤器在第一和第二层,分别与随机梯度下降训练(SGD)算法,提出了(4]。由于他们的随机特性,延时和CNN模型为每个运行产生不同的结果,因此,30个不同的运行进行了测试结果的一致性。

除了测试不同的网络体系结构,输入特性也进行调查,运用四种不同的神经网络训练方法。更具体地说,我们的训练数据集包括194年提出输入变量前面所提到的,加上3 low-depth评价输入。不同数据集的创建是为了观察low-depth评价输入对最终结果的影响,即包括所有的三个评估输入深度8日4和2,深度4和2只包括变量,最后,包括这些变量,改变输入总额到197年,196年和194年,分别。作为架构而言,第一种方法包括RBF网络而第二和第三种方法包括mlp和cnn模型;在这两种情况下,使用前面提到的输入数据集执行培训。第四个方法,还涉及MLP架构,利用发现的方法(12),我们自己的数据集上执行,建立了网络训练输入数据集,为了比较产生的表演。在[12),两个替代董事会表示,称为“位图”和“代数”,使用,和延时模型等。模型给表现最好的情况是位图表示。分析在不同层位图表示,每个人对于一个特定的块。有6种不同类型的每个方面,因此12层。每一层由64名输入代表64广场的状态,分别。一个输入的值可能是0,表明任何一张目前占据各自的广场,1如果广场被一块白色的类型对应层,和−1如果是占据了一块黑色的对应层类型。这表示结果数组的输入,包含768个值。正如前面提到的,变化是使用low-depth评价输入导致创建的数据集包含768年,770年和771年投入,分别。

至于创建的数据集,当一个国际象棋引擎评估一个位置,有两种可能的结果:一个评估分数或移动到伴侣的数量,如果找到这样一个序列。在处理,只有middlegame头寸降低后者的可能性,交配和职位序列仍然可能发生。这类职位被过滤掉,省略了最后的数据集,因为它们不符合实际的评价分数。由此产生的数据集在这种情况下,由80425名middlegame位置。

在第二个层次的细化,执行另一个过滤的数据有极高的评价分数。在一个典型的国际象棋游戏,评估分数往往没有很高因为游戏通常或多或少的平衡。例如,评估分数超过6表明,这种不平衡的两个小块,值除以9,这对应于一个女王的价值,比那些稀疏的接近零,这样做的原因是,当游戏走向这种情况下,失去球员经常辞职,这些位置不发生。这一事实导致数据集包含更多的数据在该地区获得更高和更少的值接近零。上述滤波的阈值设置为20,以检查这种情况的影响在神经网络的训练。由此产生的数据集79874年第二类型的过滤由middlegame位置。

4.2。结果与讨论

创建数据集的结果在这两种不同情况下的数据集过滤描述中描述表34。不同的输入数据集变化对于low-depth评价输入如上所述被指示为场景1,2,3。美和的值 每个场景的指标,验证集和测试集,为每个方法提出了额外的信息,即网络训练的计算时间,产生了网络模型的大小的节点,选择模糊集的数量,只在RBF方法适用。

目标与预期值的图形表示最好的RBF网络的性能测试子集为两个数据集过滤案件中可以看到数据56分别行1:1的还包括作为参考。

考虑两个表,它可以观察到场景1,其中包含所有三个补充评价输入变量,在每个方法优于其他场景。另一方面,场景2,只包含两个低深度变量执行略优于场景3只包含静态特性,特别是在RBF方法。

观察的结果超过20评价过滤交配的评价筛选相比,很明显,这些指标影响的存在更大的评估,稀疏的在本节前面解释的数据集的原因。错误在这种评估,更大的价值,显然有更大的影响平均绝对误差和明显的系数也是一样的决心。这也表明在网络的性能差异,也在各自的图5地区,远离零,网络性能较差,因为它主要有执行推断为了给一个预测。相反,在数据密集的地区接近于零,必要的插值更可能是有效的。

RBF网络模型以及我们提出的特性集似乎总在所有情况下表现最好。尤其是对20多个评价过滤,这是更好的作用域在玩游戏方面,美通过RBF网络与优势,国际象棋引擎通常给白色的一面就有在游戏的开始。此外,RBF网络的性能这一事实并不能提高这么多补充评价的输入存在的当然是一个资产,消除他们的可能性,完全可行的这个方法而不是两个MLP网络和CNN,这将产生重大影响,显然证明了场景3所示。

上面一个轻微的例外是位图的性能在交配评价过滤MLP网络实现稍微比RBF网络更好的美,只有在场景1。然而,即使这样它不超过有关 指标和训练所需的时间,网络明显增大。一个更有趣的观察是,在场景3中,没有low-depth评价提供了输入变量,RBF网络执行或多或少相同的(甚至在对略好 )位图MLP方法并在场景2中,两个low-depth协助其性能评价变量。因此,RBF网络的提出表现最好的和最有前途的方法。它的成功可以归因于调频算法的有效性已被证明比其他机器学习方法在各种问题25]。

一般来说,我们可能会注意到,在过滤方法,所有的测试网络执行场景1中最好的,当他们帮助所有的补充low-depth评价输入,然后更好的在场景2中,当仅包括两个较小的深度评估,比在场景3中,当没有这样的投入使用。有趣的和部分在前面提到的,这些方法似乎影响到不同的扩展通过这些额外的输入RBF方法最依赖他们,中长期规划位图是最改进在他们面前。可以看出,改进的RBF网络在场景2场景3几乎微不足道而不是向MLP方法。

比较这两个MLP方法。整个位图方法的结果通常是有点比我们建议的功能的方法。然而,这样一个网络的训练使用768年至771年投入与使用对比194 - 197输入需要计算时间约15倍。我们可以观察到,我们组提出的功能大大降低了网络训练所需计算时间的位图表示方法,主要是由于输入变量的数量显著降低。

至于延时和CNN模型之间的比较,你会发现前者优于后者在所有情况下和场景的均值和最好的度量值。延时模型的主导地位在cnn也验证了的工作Sabatelli et al .,他们得出的结论是,尽管这两种架构可以作为强大的函数近似者,延时模型导致的性能(4]。事实上,他们的结果表明,MLP网络表现的更好或同样cnn在所有的实验中,无论选择位图或代数输入分类或回归任务。此外,他们发现仅仅增加cnn的深度并不足以改善性能,因为它只导致增加了复杂性和更长的训练时间。还应该指出,在Sabatelli et al ., cnn被发现执行相等或更糟的是当使用位图输入与代数的相比,这是原因,位图输入没有用于cnn在这工作。

缺乏一致性的输入数据集可以很容易地观察到在图5,可以看出,很大一部分的数据收集在该地区接近于零。另一个观察图6是非常大的评估值而言,似乎有一些组织形成的价值范围20到40 - 20到−−40和一些极端值 这种现象可能是由于这一事实,构建输入数据时,发动机是一个固定的时间来处理每一个位置,这样非常高的评价可以显著改变当发动机达到一个水平的深度,甚至如果碰巧找到一个更好的移动序列在同一深度。换句话说,这些可能的情况下发动机并没有成功地收敛于一个评估可用的时间。如果更多的时间是给发动机,其中的一些评估将保持不变,其中一些30-like评价会蔓延到更大的范围内,也许几个评估70可以成为90年或150年。当然,它是不可能确定的时间框架引擎需要为了收敛,所以可能性等现象,特别是70年30或评估等不规则的情况下,将永远存在。除此之外,然而,数据点的布局倾向于遵循预期的理想模型线的形状,如图6

观察图5关于网络的性能,在上述情况下,目标价值非常大,几乎每一个预测是距离值近似而言,可能由于在这些领域的数据量不足,结果失败的推断,网络试图执行。然而,重要的是要注意,所有预测,除了两个,在相应的象限,这意味着获胜方仍预测正确。解释这个事实在玩这个游戏的背景下,一个位置预测的实际评价+ 30 + 17仍被视为一个明确的胜利白色边的网络。

最后,它应该指出,尽管神经网络方法使用我们的开发需要一些准备和体贴的时间培训,由此产生的模型能够提供评估预测几个动作没有处理任何搜索树作为一个国际象棋引擎。这是这项工作的现实意义和实际动力这些预测中获得大量的时间可以忽略不计,轻微的赤字的补偿精度。事实上,预测所需的时间被测量为平均超过10000的预测。的平均时间获取预测使用我们的训练模式是6.9毫秒。虽然这是一个令人印象深刻的事实本身,有一个更有用的方面。不管培训时间可能需要的模型,但更重要的是不管的时间给国际象棋引擎分析每个职位在训练数据集建设、预测时间几乎保持不变。这意味着在一个上下文,时间是一个限制因素,在竞争激烈的游戏,当一个国际象棋引擎会尽可能多的职位分析可以将允许的期限实际上软件基于这样一个模型可以获得评价的基础上,分析时间在训练数据集建设、进行实际的竞争期限无关紧要。

5。结论

一种新的评估方法的棋局分数基于RBF网络的训练与对称模糊算法在这项工作。提出的特性集网络训练得到使用鳕鱼干10国际象棋引擎。为了提供一个动态方面的国际象棋在训练数据集,三个辅助输入变量是鳕鱼干的实际评价设计的搜索深度远低于我们最终试图预测通过使用神经网络,导致三个不同的场景。可用的数据收集和处理超过1500个顶级游戏,导致数据库大约80000的落棋,和两个过滤技术进行对于每个测试场景,关于交配评价和高评价的分数。比较提出的延时和CNN网络包括在这项研究。此外,我们比较反对董事会表示位图中描述(12]。比较结果的RBF网络训练与我们提出的特征作为输入,无论场景的选择。结果表明,我们提出的功能大大降低了网络的训练时间,相比现有技术所证实的实验,得出评估前几个动作(约28移动)可以在大约平均7毫秒。

未来的研究计划包括建立一个更大的国际象棋数据库位置实现更多手工补充输入变量,以调查扩展可以建模能力增加,更复杂的实现技术,如一个RBF网络训练与非均匀模糊意味着算法(25,34),或者一个功能齐全的国际象棋的发展应用程序利用模型预测控制(MPC) (32,39作为决策工具,应用程序依赖于以决定下一步的行动。

数据可用性

在这项研究中使用的数据包含从国际象棋游戏的集合。他们可以从下面的下载在线象棋数据库:https://www.chessgames.com/https://www.365chess.com/

信息披露

的一部分,本文是基于Kagkas先生的硕士论文,题为“国际象棋位置使用神经网络评价。”

的利益冲突

作者宣称没有利益冲突。

确认

博士论文的实现d Karamichailidou被希腊和欧盟共同筹资(养欧洲社会基金,通过运营计划“人力资源开发、教育和终身学习”的行为“增强人力资源潜力的研究进行博士研究”和subaction 2:狡猾的博士候选人在希腊大学奖学金计划。