论文部分内容阅读
计算机博弈是人工智能领域中最具有挑战性的科研课题之一。国际象棋的计算机博弈已经有了很长的历史,在1997年IBM公司的超级计算机“深蓝”与当时的国际象棋大师卡斯帕罗夫进行了一场大战,并以“深蓝”计算机战胜世界棋王卡斯帕罗夫(1997.5)而载入史册,因为它表明“计算机智能战胜了人类天才”。为了能够在这一新兴的人工智能领域取得更快更多的突破性进展,有力发挥机器博弈的“果蝇”作用,需要很好的明确当前机器博弈所面临的挑战。与国际象棋相比中国象棋的历史更为悠久,其博弈难度水平决不亚于国际象棋,但是涉足学者太少,而且参考资料不多。与国际象棋相比中国象棋的盘面规模更大、着法更为特殊、变化也更加复杂,同时象棋也是一种完全知识博弈,意思是指参与双方在任何时候都完全清楚每一个棋子是否存在,位于何处,只要看看棋盘,就一清二楚了。一个完备的中国象棋人机博弈系统一般包括以下组成部分:棋盘表示、搜索引擎、估值核心、开局库、残局库。本文通过对自行研制的象棋程序的数据表示、走法生成、搜索引擎、估值核心、开局库模块的描述与分析,阐述了此象棋程序的设计与实现的原理,提出了一种新的混合博弈树的搜索算法应用到中国象棋的程序中,明显的提高了程序的搜索效率;同时也设计了一种新的评估函数在中国象棋开局库中的应用,结合了利用共轭梯度求解二次最优的方法,尽可能的保证系统在开局阶段便处于优势,并使开局库具有一定的自学习能力,提高了博弈水平。