电脑象棋,是指人工智能象棋对弈软件。电脑象棋软件的制作,分成开局、中盘、残局三个部分,各自有不同的算法,开局主要以储存的开局棋谱为本,中盘与残局则运用审局函数和对局树的计算,但残局必须考虑特例的计算。
最早的电脑程式的象棋游戏是1986年的洛斯阿拉莫斯象棋。由于象棋与西洋棋许多相似之处,再加上电脑西洋棋发展较为成熟,电脑象棋软件设计的架构跟方法大致上都是参考电脑西洋棋。
2006年最好的电脑象棋软件,已可以和顶尖棋士相抗衡。
目录
[*]3 协议/通讯协定[*]4 开局[*]5 残局[*]6 竞赛排名[*]7 大事纪[*]8 参见[*]9 外部链接[/list]
象棋引擎程序
名称 | 作者 | 网站 | 战绩/备注 |
象棋大师、特级大师、将族 | 虞希舜 | 无 | 1989电脑奥林匹克金牌 |
象棋专家 | 曹国明 | 无 | 1989, 1990电脑奥林匹克银牌 |
象棋明星、ELP | 郑武尧,台湾大学团队 | 无 | 1989电脑奥林匹克铜牌;1990, 2001, 2002电脑奥林匹克金牌 |
梦入神机(mrsj) | 吴韧 | 无 | 1991, 1992电脑奥林匹克金牌 |
纵马奔流(zmbl) | 塗志坚 | 无 | 2003电脑奥林匹克金牌 |
千虑(contemplation) | 吴光哲,台湾大学团队 | 无 | 2004电脑奥林匹克金牌 |
象棋奇兵 | 赵明阳 | 有 | 2005电脑奥林匹克金牌 |
棋天大圣 | 王骄 | 有 | 2006, 2007电脑奥林匹克金牌;2006浪潮杯中国计算机博弈锦标赛冠军 |
倚天象棋 | 陈朝营,韦余涛 | 有 | 2008电脑奥林匹克金牌 |
天马行空(TMSK) | 沈秉杰 | 无 | 2009电脑奥林匹克金牌 |
象棋世家 | 郑明政 | 有 | 2010, 2011电脑奥林匹克金牌 |
谢谢大师(XieXieMaster) | Pascal Tang | 有 | 2003电脑奥林匹克银牌;2004世界电脑象棋赛冠军 |
象棋旋风 | 陈朝营,张志强,张闽 | 无 | 2007第2届中国机器博弈锦标赛冠军;2008第13届电脑奥林匹克银牌 |
新象棋旋风 | 陈朝营 | 有 | 2010第4届中国机器博弈锦标赛冠军;2011第5届中国机器博弈锦标赛亚军 |
天机象棋 | 郑旭 | 有 | 2007第2届中国机器博弈锦标赛亚军;2008第13届电脑奥林匹克铜牌 |
象棋名手 | 蒋志敏,张闽 | 有 | 2009第3届中国机器博弈锦标赛冠军;2010第4届中国机器博弈锦标赛季军;2011第5届中国机器博弈锦标赛冠军;2012第6届中国机器博弈锦标赛冠军;2013第7届中国机器博弈锦标赛冠军 |
佳佳象棋 | 李国来 | 有 | 2008第13届电脑奥林匹克第4名; 2009第3届中国机器博弈锦标赛亚军; 2010第4届中国机器博弈锦标赛亚军 |
先知(Oraclex) | 张志富 | [无] | 多次参加中国机器博弈锦标赛。2011第5届中国机器博弈锦标赛季军; 2012第6届中国机器博弈锦标赛亚军 |
七星大师 | 赵德志 | 无 | |
VSCCP | Pham Hong Nguyen | 无 | open source示范程式 |
梦入神蛋(英文名MRSD,旧名为ki11egg) | 魏泽人 | 有 | 又称梦入圣蛋、撤蛋,是一个象棋对奕程式,作者魏泽人,使用GPL授权。早期运用丙正正语言写成。它本身已经有一个用户界面,用 FLTK 函式库写成。后来又有人将梦入神蛋的引擎改写,成为另一象棋程式“浅红”的外挂引擎。 |
象眼(ElephantEye) | 黄晨 | 有 | open source |
浅红像棋 | Jeremy Craner | 有 | |
棋隐(Chess Learner) | 邵金雷 | 有 | |
楚汉棋缘 | 贺建良 | 无 | |
SaoLa | Pham Hong Nguyen | 无 | |
深象 | 台湾师大团队 | 无 | 2006电脑奥林匹克铜牌 |
象棋经略 | 吴衍奇 | 无 | |
理治棋壮(BitStronger) | 林健等,北理工团队 | 有 | 符合UCCI标准的open source程序 |
GMChess | lerosua | 有 | 引擎基于象眼,进入Debian |
比赛
程式对程式
最早由宏碁电脑开始举办电脑象棋比赛,从 1988 年到 1990 年止。另一个是电脑奥林匹亚竞赛中有电脑象棋的项目,从 1989 年办到 1992 年暂停,2001 年起继续每年举办。最近几年电脑象棋发展越来越热络,2004 年起世界电脑象棋争霸赛每三年举办一次。中国机器博弈锦标赛 2006 年起开始每年举办。
人对程式
1985 年到 1990 年宏碁电脑就曾办过人对电脑的竞赛。 之后偶有电脑程式参加人类的象棋比赛或检定赛,但时常遇到阻挠,譬如不予排名甚至不准参赛。 人脑对电脑象棋大赛自 1999 年开始每年举办。
协议/通讯协定
为了让象棋程式与程式之间能够自动下棋,因此必须定出了一些共通协议(protocol),譬如棋盘如何表示、棋步如何表示、或是复杂一些的时间控制。比较早公开提出的有 cxboard 及 浅红 plugin spec。现在比较广为流行的是基于西洋棋协议修改而来的 中国象棋通用引擎协议(UCCI)。
开局
由于人类已累积相当丰富的开局知识,因此开局纯用电脑计算是无法胜过人类的。普遍的做法是搜集棋谱,统计分析各种走法,制成开局数据库。更进一步则会透过人类专家订正开局库的内容/加入最新的开局研究成果。
残局
电脑象棋对残局的处理主要有两种方法,一是编写大量规则,当盘面符合某些条件则调整评分函数,这个方法的优点是可以将棋谱或专家研究的结果编写入程式内,缺点是例外可能很多。另一种则是利用电脑强大的计算力与储存空间,穷举一个兵种所有的状况,做成数据库,优点是数据库内的资料都很精确(某个盘面的输赢,距离输赢步数),但缺点是建造数据库旷日费时,在实战中还不够实用。因此实战程式都是采用第一种方法,少数程式会再利用残局库作辅助。
残局库研究困难在于象棋棋规的处理,还有如何快速建造大数据库。
竞赛排名
比赛名称 | 排名 |
2006中国象棋计算机博弈锦标赛 | 棋天大圣 象棋奇兵 旋风 天机 将神 等 |
2007中国象棋计算机博弈锦标赛 | 象棋旋风 天机 棋天大圣 佳佳象棋 象棋奇兵 YSSY 将神传说 3D象棋 棋王 决战象棋 象棋名手 象棋ABC 象棋蛟龙 |
2008ICGA象棋计算机博弈赛(北京) | 倚天 旋风 天机 佳佳 猴王 大圣 3D 奇兵 TMSK YSSY 世家 兵河五四 UFX 先知 ABC 上海交大 Chimo 棋迹 |
2009中国象棋计算机博弈锦标赛 | 象棋名手 佳佳象棋 陶情弈趣 倚天 天机 新奇兵 先知 哈工程 理治棋壮 |
2010中国象棋计算机博弈锦标赛 | 新象棋旋风 佳佳象棋 象棋名手 先知象棋 哈工程 哈理工象棋 |
2011中国象棋计算机博弈锦标赛 | 象棋名手 象棋旋风 先知象棋 哈理工象棋 棋弈 工程之星 |
2012中国象棋计算机博弈锦标赛 | 象棋名手 先知象棋 攻防专家 棋弈 韶大象棋 |
2013中国象棋计算机博弈锦标赛 | 象棋名手 先知象棋 攻防专家 韶大象棋_环创队 哈理工象棋 哈工程_RSA 理志棋壮 |
大事纪