论文部分内容阅读
计算机博弈,也称机器博弈,是博弈论与计算机技术结合的产物,是人工智能领域的一个重要研究方向,同时也是兵棋推演、机器智能、智能决策系统等众多人工智能应用领域的研究基础和实验田,长期以来一直受到国内外学者的广泛关注。近年来,随着以各类深度学习算法为代表的人工智能技术研究的日益深入,尤其以AlphaGo为代表的机器博弈系统取得的巨大成功,进一步推动了机器博弈理论与相关技术的快速发展。近代机器博弈研究主要以围棋、象棋、五子棋等棋类人机博弈为主。其中,国际象棋的计算机博弈研究历史最为悠久,并且经历了一场波澜壮阔的“搏杀”,尤其“深蓝”计算机的胜利不仅给人类留下了深刻印象,同时总结出一套关于国际象棋机器博弈的过程建模、状态表示、着法生成、棋局评估、博弈树搜索、开局库与残局库开发、系统测试与参数优化等核心技术要点,为后续相关研究确定了研究方向。鉴于五子棋作为生活中最为普及的棋类之一,具有规则简单易懂和典型零和完备信息博弈的所有特点,便于开展深入研究和快速评估博弈算法的优劣,为此本文以五子棋博弈为研究对象,针对零和完备信息博弈问题开展了博弈树搜索算法优化和系统自学习能力训练等方面的相关研究,主要研究内容和研究成果如下:(1)在博弈树搜索算法研究方面,通过研究解决多臂匪徒问题的UCB算法和蒙特卡洛算法结合,分析了 UCT算法在博弈问题的适用性,以及传统的UCT算法的一些不足,设计了相应的改进算法。一方面,结合剪枝思想设计了剪枝条件进行判定,在一定程度上减少了博弈搜索空间。另一方面,引入了置换表算法,通过将置换表与UCT算法相结合,对历史的节点状态进行存储,使得博弈树的搜索空间不再是全部的状态节点,而是取决于状态节点种类的多少,进而在减少搜索空间的同时,进一步提高了历史数据的利用率,使得蒙特卡洛算法指导落子更加准确。(2)在自学习能力训练的实现方面,首先研究分析了传统的人工神经网络的整体框架结构,确定了本课题所用到的卷积神经网络;然后,通过比较几种典型网络架构的特点与性能,结合基本的模型架构,设计了课题所需要的策略价值网络模型内部结构。在此基础上,针对模型的自学习训练问题,结合五子棋的特点规划了数据集的生成与扩充方法,并结合附加动量算法对训练过程进行了优化。(3)结合前述研究成果,对五子棋博弈系统进行了原型设计和初步实现,经在原型系统上进行实验验证,证明了本文所设计的方法在提高机器博弈搜索速度,增强系统自学习能力方面的有效性。