论文部分内容阅读
计算机博弈是人工智能领域所公认的最具有挑战性的课题之一,而中国象棋计算机博弈比国际象棋计算机博弈难度更大、更复杂,并且研究者少且有关中国象棋计算机博弈的资料更是匮乏。近一年来,随着中国象棋“人机大战”的进行,极大地推动了计算机博弈问题的研究。
计算机博弈的研究为人工智能带来了很多重要的方法和理论,对人类社会的影响深刻而广泛。人工智能的先驱者们曾认真地表明:如果能够掌握下棋的本质,也许就掌握了人类智能行为的核心;那些能够存在于下棋活动中的重大原则,或许就存在于其它任何需要人类智能的活动中。
本文对中国象棋计算机博弈技术进行了研究,并开发了一套完整的双人博弈游戏软件——五道棋博弈系统。论文的主要工作集中在三个方面:
(1)对中国象棋计算机博弈进行分析研究,包括中国象棋博弈的特征、博弈状态的演化过程、棋局的数学表示、博弈过程中的着法生成与数学表示、棋局评估函数等。
(2)算子及搜索技术的研究,主要内容包括棋局的状态空间与状态转换、算子的概念、算子的实现、搜索技术的研究等,其中算子的概念、算子的实现是创新。
(3)在对博弈技术有了一定掌握的基础上,设计并开发了双人博弈游戏软件——五道棋博弈系统。在开发之前应用博弈理论对五道棋问题进行了数学描述。整个软件设计采用了软件工程的开发思想。根据需求定义了系统的功能,再根据定义的功能设计了系统的总体结构。五道棋博弈系统划分为四部分:总体控制模块、界面模块、自动搜索和评估模块和时间模块。论文分别对这四部分进行了设计介绍:
①控制模块主要采用Windows的消息映射机制来对界面模块、自动搜索和评估模块以及时间模块的请求进行应答。
②界面模块设计的重点在于棋盘、棋子的数据表示。如何能辨别棋子的落子位置并易于和棋盘表示联系起来,以及着法表示是设计的重心。这里采用对棋盘上可以落子的位置用控件数组进行表示和编号的策略,落子位置由控件数组的单击响应事件传递的下标数值获得,这也是本文的创新点之一。
③自动搜索和评估模块是整个程序真正意义上的博弈部分。五道棋博弈系统采用了穷尽搜索技术。其中评估函数的建立和使用、循环吃子的处理、保存棋谱和博弈复盘的处理是本文的创新点。
④时间模块用于处理博弈系统中所有和时间相关的问题。