中国象棋是一个古老的而富有智慧的游戏,而中国象棋博弈程序是将计算机知识和中国象棋知识结合起来的一种新型的游戏方式。它以一种全新的人机博弈方式突破了以往传统象棋游戏只能人与人对战的限制,使得这个古老的游戏更加丰富多彩。机器博弈是博弈游戏与计算机技术的结合,是人工智能领域里的一个重要研究领域,在国际上已经开展了半个多世纪,然而由于各方面原因中国象棋的人机博弈算法研究的起步较晚,即便如此,当科技工作者把精力投入到中国象棋人机博弈算法研究之后,取得的成果还是非常让人振奋的。在短时间之内人机博弈算法就如同雨后春笋般出现,同时也涌现出一大批棋力不凡的优秀的象棋软件,本文的撰写提供了非常多良好的学习范本。
论文一方面分析了如何开发一个完整的可以进行人机对战的中国象棋程序,重点阐述了软件整体界面的设计,如何实现棋盘、棋子的表示,如何生成各棋子的走法,以及局面的评估等等;另一方面则重点研究了中国象棋人机博弈的相关算法,在极大极小搜索算法和Alpha-Beta搜索算法等普通搜索算法的基础上创新性的引入启发式搜索。启发式搜索算法主要包括置换表、杀手启发、历史启发、空着、开局库等。
通过对博弈算法的改进以及象棋程序的设计实现,验证了启发式搜索算法对中国象棋人机博弈程序的搜索效率和实战能力的提升是有效的,同时也极大的提升了分析问题、解决问题以及实际的编程能力,对软件工程有了具体而且深刻的认识。
关键字:中国象棋;人机博弈;启发式搜索;
参考文档和完整的文档和源码下载地址: