论文部分内容阅读
计算机博弈是人工智能研究的一个重要分支,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。专家对国际象棋进行了大量卓有成效的研究,这其中就有电脑对抗卡斯帕罗夫等世界冠军的比赛。可以说,国际象棋在人工智能上的地位,就相当于果蝇在遗传学上的地位,举足轻重。 本文对计算机博弈中的相关技术作了一些基础性的研究,在此之上开发了一个完整的国际象棋博弈系统。论文工作主要集中在以下三个方面: 1.介绍了构成计算机博弈系统的四个重要组成部分。 文章首先研究了国际象棋在计算机中的表示问题,接着讨论了如何产生着法等一系列相关内容。其次,研究了博弈树的极小极大搜索技术及在此基础上发展起来的Alpha-Beta剪枝算法。然后,根据国际象棋知识讨论了如何定义一个针对局面优劣的评估机制,即估值函数。 2.详细研究了博弈核心的搜索技术和与之配合的局面估值函数。 这部分首先讨论了Alpha-Beta剪枝过程中存在的问题,提出了将后继着法按某种属性排序以使剪枝过程得到优化的方法。其次讨论了搜索算法中置换表的实现机制,并对其应用中出现的问题分别提出了解决方案。然后对Alpha-Beta剪枝的改进算法PVS算法进行了深入研究,此算法采用零窗口搜索策略,使得搜索效率进一步提高。另外,还介绍了迭代加深思想,它是提高搜索效率的另一个重要手段。在估值函数的优化中,提出了建立棋子价值表,将它和终点估值结合运用将提高估值的速度与精度。 3.开发了一个完整的计算机国际象棋博弈系统软件EZChess。 根据前面的研究,使用MFC文档视图体系结构和Visual C++开发工具,实现了一个具有一定棋力且功能较丰富的计算机国际象棋博弈系统软件EZChess。该系统在搜索算法、局面估值等问题上采用了改进的思路与算法,而且在系统的整体设计上也十分注重细节,整个系统的开发遵循面向对象的编程思想,具有一定的科研意义和实用价值。