论文部分内容阅读
计算机博弈,也称机器博弈,是一个极具挑战与发展前景的计算机研究领域,其作为人工智能领域一个极其重要的课题,素有人工智能领域“果蝇”之称。而对于棋类游戏的研究又是计算机博弈研究过程中的一个标准且极为重要的问题。现有的很多重要理论和技术方法诸如各类搜索算法及智能方法,最初的提出都是为了解决存在于棋类博弈中的某些问题。对于计算机博弈的研究最早可以追溯到半个世纪之前,在过去的五六十年里,人工智能的学者们呕心沥血的研究了计算机博弈中的包括奥赛罗、国际象棋、跳棋、五子棋、围棋等等,取得了大量傲人的成果。97年IBM的“深蓝”战胜棋王卡斯帕罗夫更是引起了世人的瞩目与震动,让世人第一次意识到冰冷的机器在棋类博弈上的智能超越了人类;而在不久之前,人机围棋大战巅峰对决——谷歌围棋人工智能AlphaGo VS人类顶尖棋手李世石刚刚落幕,AlphaGo以4:1击败李世石,从某种层面上来说机器的智能已经远远超过了人类。相比于国外,国内对于此方面的研究起步较晚,但是随着这几年的国内各种博弈比赛的开展,吸引了越来越多的学生与学者参与博弈的研究,国内的计算机博弈研究迎来了黄金期,极大的促进了国内计算机博弈研究的发展。传统的机器博弈模型多是完全信息博弈,即在对弈过程中完全了解其他对手的状态特征、策略和得益方式,现有的机器博弈研究大多以此类为研究载体,如五子棋、象棋等等。此种棋类的数据结构和局面状态描述设计依赖于准确的状态策略信息,搜索引擎也有现成的模板可供参考。本文的研究对象爱恩斯坦棋博弈属于不完全信息博弈,对博弈过程中的信息了解不完全,在进行数据结构和局面状态描述设计之前,需要先对其他对手的状态特征等信息进行一个估计,让博弈信息“伪完全化”,然后再进行相关设计,同样,需要对传统的博弈搜索算法进行修改,使其适应于不完全信息博弈。本文以爱恩斯坦棋博弈平台为研究载体,研究了计算机博弈关键技术,包括基本概念、研究对象分析和搜索引擎,设计了爱恩斯坦棋机器博弈系统。在棋盘数据结构设计过程中,对对手的状态信息等进行了预判和估计量化,使其信息完全化,从攻击和防守两个方向同时评估,得到了攻防兼备的估值函数;同时,还研究了估值函数的参数优化方法,保证估值函数设计的准确性和合理性;在搜索算法方面,基于传统的完全信息博弈算法——极大极小算法,参考期望搜索算法,在极大层与极小层之间人为加入一层骰子层,并将上述估值函数应用到算法中同时加入置换表优化技术,设计了适应于爱恩斯坦棋的攻防兼备的期望算法,解决了使用传统博弈算法无法构建博弈树的问题,提高博弈水平。从搜索效率和博弈水平两个角度攻防兼备的期望算法,虽然在搜索效率有所下降,但是在博弈水平方面却有较好的突破,博弈水平明显提高证明了应用了攻防兼备的估值函数的期望算法在一定深度范围内博弈水平和博弈效率取得了较好的平衡,既具有较高的博弈水平,又充分利用了博弈时间。同时,加入置换表优化方法之后,搜索效率与博弈水平都有一定的提升,本文的创新点如下:(1)研究并设计了适用爱恩斯坦棋的不完全信息博弈的数据结构,深入研究估值函数的构成,针对传统的估值函数存在的估值片面不准确的问题,从攻击防守两个方向同时考虑并结合爱恩斯坦棋的两种赢棋方式,设计了准确且效率较好的攻防兼备的估值函数;同时分析研究了一些应用于估值参数优化的方法和策略。在设计估值函数时,使用了攻击因子和威胁度因子来调整着法路径,有效的提高了博弈水平。(2)具体上采用爬山法结合手工调整对攻防兼备的估值进行参数优化,将优化之后的估值应用到算法中去,极大的提高了博弈水平。(3)基于传统的极大极小博弈算法,参考期望搜索算法,改进并设计了适用于爱恩斯坦棋的攻防兼备的期望算法,在原有的极大极小层中加入一层骰子层,来模拟投骰子的过程,解决了博弈过程中信息不完全的问题,并将(1)中的估值函数应用到算法中,加入置换表来优化算法,降低搜索过程中的节点数量,提高了搜索算法的效率。上述方法均在爱恩斯坦棋博弈系统“行云流水”与“流刃若火”程序中成功应用,其中“行云流水”在2014年“成理杯”全国大学生计算机博弈大赛爱恩斯坦棋项目荣获季军(一等奖),实践上证明本文提出的估值方法及搜索算法具有可操作性与实际应用价值。