借助北京奥运会的影响力,今年10月第16届电脑国际象棋锦标赛(16th World Computer-Chess Championship)将在北京举行。为改变历届WCCC赛事没有中国队伍参赛的局面,笔者推出《电脑象棋循序渐进》连载,以此吸引国内更多的电脑博弈爱好者推出自己的国际象棋程序参赛,充分展示中国的计算机软件学术水平。
本连载将采用Win32版的“象棋小巫师”作为示范程序,它从0.1版到0.6版,演绎了一个象棋程序从无到有、从弱智到聪明的过程。由于该程序的智能算法部分只有1500多行,所以能够很方便地移植到其他平台,形成了“象棋小巫师”系列产品,其中Java版的手机象棋游戏就深受广大象棋爱好者的青睐。
本连载将分六个阶段来阐述一个电脑象棋程序的制作过程,对应“象棋小巫师”示范程序的各个版本:
0.1版:介绍制作象棋图形界面的方法;
0.2版:介绍中国象棋规则的实现;
0.3版:介绍以Alpha-Beta搜索为基础的一些计算机博弈基本智能算法;
0.4版:介绍Zobrist校验码、重复局面判断以及消除水平线效应的各种技术,进一步提高程序的智能;
0.5版:介绍置换表技术和走法顺序优化技巧,使一个象棋程序的技术架构趋于完整;
0.6版:介绍克服搜索不稳定性的方法、开局库、走子随机性等锦上添花的技术。
本连载花费的文字不多,关键的技术只是点到为止,而在示范程序里则有详尽的注释。关于一些技术细节,可参阅笔者在象棋百科全书网计算机博弈专栏上刊登的关于国际象棋程序设计的系列译文:
http://www.elephantbase.net/computer.htm
“象棋小巫师”是一个中国象棋的博弈程序,之所以不直接拿国际象棋程序作示范,是因为国际象棋在国内缺乏群众基础,而且由于一些特殊走法而使得程序比中国象棋复杂很多。笔者将在连载的最后提及设计国际象棋程序的注意事项,把问题交由电脑博弈爱好者们去解决。
附:16th World Computer-Chess Championship
http://www.cs.unimaas.nl/cg2008/
象棋小巫师示范程序(0.1~0.6)下载:http://www.elephantbase.net/download/xqwlight_win32.7z
CSDN下载频道:http://d.download.csdn.net/source/407014
发表于 @ 2008年04月09日 18:50:00|评论(loading...)|编辑