论文部分内容阅读
计算机博弈是人工智能领域的一个重要的研究课题。计算机博弈也被称为人工智能的果蝇。各种棋类的人工智能研究,都不断取得新的成果。发展最快的是国际象棋,早在上世纪90年代,国际象棋软件就战胜了世界冠军卡斯巴罗夫。中国象棋做为中华民族传统文化的精华,其博弈研究起源于上世纪80年代。其研究过程中,大量借鉴了国际象棋的理论,并且在近年同样取得了很不错的成果。现今已经有很多最顶尖的象棋软件,如赵明阳的象棋奇兵,王骄的棋天大圣,郑明政的象棋世家,陈超营的象棋旋风等。以上象棋软件都能战胜如今的中国象棋第一人,特级大师许银川。但是,这些软件都是商业软件,并不开源。如何做出一个高水平的AI,各大论文中并没有提出准确的方法。 本文首先介绍了国内外研究现状、开发背景意义和本文的主要工作。紧接着介绍了该系统涉及的基本理论与技术如MFC,坐标系,sha1算法,博弈树,α-β搜索等。然后本文对知识表示进行了研究,提出了一种改进的棋盘知识表示、着法生成方法,加快了搜索速度。并提出一种基于文本的知识库表示,其研究便于知识的存储和搜索。之后本文对α-β搜索的改进进行了研究,阐述了历史启发搜索,迭代加深搜索,zobrist哈希技术,空着裁剪,静态搜索等改进算法以及关键技术,并提出了吃子启发,兵种启发,杀手启发等启发方式。然后综合以上理论,取其精华,设计并提出了一种基于混合优化的改进迭代加深搜索算法。其剪枝效率高,搜索速度快,且基本解决了水平效应问题。然后,本文针对简单的局面评估函数模型导致的棋力不足问题,设计了局面评估函数,提出了一些改进的方案,使系统棋力有所增强。接下来,研究了象棋程序的自学习,提出了一种自学习算法。然后,本文使用MFC为框架实现了中国象棋人机博弈系统,对系统进行了展示。接着对整个系统的运行效果做了测试,评估了系统的搜索效率和棋力。最后,在文章的结尾,本文提出了一些该系统的不足之处和相应的改进思路。 本系统在测试阶段体现了较高的搜索效率和不错的棋力,测试结果证明,本系统的效果是不错的,对于后人对中国象棋的研究具有参考应用意义。