论文部分内容阅读
计算机博弈(Machine Game)一直以来都是检验人工智能发展水平的试金石,以研究计算机博弈为切入点,可以充分提高各种人工智能的理论水平。 以目前计算机博弈程序的发展水平来看,大部分的博弈游戏,例如跳棋,中国象棋,五子棋等,依靠传统的博弈树搜索算法和越来越快的计算机处理速度,博弈程序的水平已经达到了专家级的高度,然而对于围棋来说,这方面的研究仍然没有突破性的进展。究其原因,是需要考虑的分支数太多,即使计算机的速度再快,也难以穷尽所有分支,目前较为主流的做法是建立一个围棋模式数据库,将当前的棋局同数据库中的模式进行匹配,以找到最佳的着法。这种做法的局限性在于需要众多的先验知识去建立该数据库,算法的好坏更多的取决于先验知识的好坏,从研究人工智能的角度来讲,我们更希望建立一个能从相互博弈的过程中不断进行自主学习的算法模型。想达到该目的只有用神经网络设计局面评估函数,目前应用到围棋上做的最好的就是SANE(Symbiotic Adaptive Neuro-Evolution)算法,在SANE算法的基础上,本文提出了一个用神经网络集成进行局面估值的围棋博弈算法模型,试验证明,该模型经过训练后具有更高的智力水平。 本文首先对相关领域知识进行了全面综述,再建立这一算法模型,并用实验验证了该算法的有效性,其中主要的创新性内容如下: 1.集成多个神经网络作为计算机围棋的局面评估函数,使用协同进化遗传算法同时优化单个神经网络以及神经网络之间的组合方式,这样更有助于在进化中保留有用部分,拓展了搜索的空间,得到对当前棋盘局面更加精准的估值。 2.计算个体适应度时,建立一个合适的多目标评价函数,而不是仅仅以比赛输赢的结果作为评价的唯一因素,这样有助于保持群体中个体的多样性,避免算法的提前收敛。 3.在博弈个体的训练上,采用自主学习和监督学习两种相结合的方式。自主学习是指个体之间相互进行博弈比赛,以比赛的结果作为评价个体适应度的一部分考虑因素。监督学习是为了防止个体之间出现相互串联作弊,因此引入多个已有的具有不同风格和棋力的计算机围棋软件,与它们进行循环赛,以比赛的结果作为评价个体适应度的另外一部分考虑因素。