电脑象棋

计算机象棋,是指人工智慧象棋对弈软件。计算机象棋软件的制作,分成开局中盘残局三个部分,各自有不同的算法,开局主要以存储的开局棋谱为本,中盘与残局则运用审局函数对局树的计算,但残局必须考虑特例的计算。

最早的计算机程序的象棋游戏是1986年的洛斯阿拉莫斯象棋。由于象棋与国际象棋许多相似之处,再加上计算机国际象棋发展较为成熟,计算机象棋软件设计的架构跟方法大致上都是参考计算机国际象棋。

2006年最好的计算机象棋软件,已可以和顶尖棋士相抗衡。

象棋引擎程序

名称 作者 网站 战绩/备注
象棋大师特级大师将族 虞希舜 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届中国机器博弈锦标赛冠军;2014第8届中国机器博弈锦标赛冠军
佳佳象棋 李国来 2008第13届计算机奥林匹克第4名; 2009第3届中国机器博弈锦标赛亚军; 2010第4届中国机器博弈锦标赛亚军
先知(Oraclex) 张志富 多次参加中国机器博弈锦标赛。2011第5届中国机器博弈锦标赛季军; 2012第6届中国机器博弈锦标赛亚军; 2013第7届中国机器博弈锦标赛亚军; 2014第8届中国机器博弈锦标赛亚军
七星大师 赵德志
VSCCP Pham Hong Nguyen open source示范程序
梦入神蛋(英文名MRSD,旧名为ki11egg) 魏泽人 又称梦入圣蛋撤蛋,是一个象棋对弈程序,作者魏泽人,使用GPL授权。早期运用丙正正语言写成。它本身已经有一个用户界面,用 FLTK 函数库写成。后来又有人将梦入神蛋的引擎改写,成为另一象棋程序“浅红”的外挂引擎。
象眼(ElephantEye) 黄晨 开源
浅红像棋 Jeremy Craner
棋隐(Chess Learner) 邵金雷
楚汉棋缘 贺建良
SaoLa Pham Hong Nguyen
深象 台湾师大团队 2006计算机奥林匹克铜牌
象棋经略 吴衍奇
理治棋壮(BitStronger) 林健等,北理工团队 页面存档备份,存于互联网档案馆 符合UCCI标准的open source程序
GMChess lerosua 页面存档备份,存于互联网档案馆 引擎基于象眼,进入Debian
皮卡鱼 (Pikafish) PikaCat-OuO等人 页面存档备份,存于互联网档案馆 引擎基于Stockfish开源项目地址页面存档备份,存于互联网档案馆),引擎支持 UCI 协议,基于高效更新神经网络(NNUE)的象棋评估

比赛

程序对程序

最早由宏碁计算机开始举办计算机象棋比赛,从 1988 年到 1990 年止。另一个是计算机奥林匹亚竞赛中有计算机象棋的项目,从 1989 年办到 1992 年暂停,2001 年起继续每年举办。最近几年计算机象棋发展越来越热络,2004 年起世界计算机象棋争霸赛每三年举办一次。中国机器博弈锦标赛 2006 年起开始每年举办。

人对程序

1985 年到 1990 年宏碁计算机就曾办过人对计算机的竞赛。 之后偶有计算机程序参加人类的象棋比赛或检定赛,但时常遇到阻挠,譬如不予排名甚至不准参赛。 人脑对计算机象棋大赛页面存档备份,存于互联网档案馆)自 1999 年开始每年举办。

协议/通讯协议

为了让象棋程序与程序之间能够自动下棋,因此必须定出了一些共通协议(protocol),譬如棋盘如何表示、棋步如何表示、或是复杂一些的时间控制。比较早公开提出的有 cxboard浅红 plugin spec。现在比较广为流行的是基于国际象棋协议修改而来的 中国象棋通用引擎协议(UCCI)以及旋风UCI协议。

开局

由于人类已累积相当丰富的开局知识,因此开局纯用计算机计算是无法胜过人类的。普遍的做法是搜集棋谱,统计分析各种走法,制成开局数据库。更进一步则会透过人类专家订正开局库的内容/加入最新的开局研究成果。

残局

计算机象棋对残局的处理主要有两种方法,一是编写大量规则,当盘面符合某些条件则调整评分函数,这个方法的优点是可以将棋谱或专家研究的结果编写入程序内,缺点是例外可能很多。另一种则是利用计算机强大的计算力与存储空间,穷举一个兵种所有的状况,做成数据库,优点是数据库内的资料都很精确(某个盘面的输赢,距离输赢步数),但缺点是建造数据库旷日费时,在实战中还不够实用。因此实战程序都是采用第一种方法,少数程序会再利用残局库作辅助。

残局库研究困难在于象棋棋规的处理,还有如何快速建造大数据库。

竞赛排名

比赛名称 排名
2006中国象棋计算机博弈锦标赛 棋天大圣 象棋奇兵 旋风 天机 将神 等
2007中国象棋计算机博弈锦标赛 象棋旋风 天机 棋天大圣 佳佳象棋 象棋奇兵 YSSY 将神传说 3D象棋 棋王 决战象棋 象棋名手 象棋ABC 象棋蛟龙
2008ICGA象棋计算机博弈赛(北京) 倚天 旋风 天机 佳佳 猴王 大圣 3D 奇兵 TMSK YSSY 世家 兵河五四 UFX 先知 ABC 上海交大 Chimo 棋迹
2009中国象棋计算机博弈锦标赛 象棋名手 佳佳象棋 陶情弈趣 倚天 天机 新奇兵 先知 哈工程 理治棋壮
2010中国象棋计算机博弈锦标赛 新象棋旋风 佳佳象棋 象棋名手 先知象棋 哈工程 哈理工象棋
2011中国象棋计算机博弈锦标赛 象棋名手 象棋旋风 先知象棋 哈理工象棋 棋弈 工程之星
2012中国象棋计算机博弈锦标赛 象棋名手 先知象棋 攻防专家 棋弈 韶大象棋
2013中国象棋计算机博弈锦标赛 象棋名手 先知象棋 攻防专家 韶大象棋_环创队 哈理工象棋 哈工程_RSA 理志棋壮
2014中国象棋计算机博弈锦标赛 象棋名手 先知象棋 攻防专家

大事纪

  • 1988,宏碁计算机与象棋协会举办第一届电脑象棋大赛,《象棋大师》程序获得冠军
  • 1989,《特级大师》参加新秀杯升段赛,昇为二段棋士
  • 1989,第一届奥林匹亚计算机游戏程序竞赛,《特级大师》获得冠军
  • 1991,《将族》计算机象棋游戏公开发行
  • 1998,《ELP》参加昭荣杯升段赛,晋昇为五段棋士
  • 1999,开始举办人脑对计算机象棋大赛
  • 2001,《ELP》参加新庄市长杯全国比赛,晋昇为六段棋士
  • 2004,第一届世界计算机象棋争霸赛
  • 2004,《棋海无涯》参加启泰杯八段赛,获得冠军。
  • 2006,首届中国象棋计算机博弈锦标赛暨2006中国机器博弈学术研讨会
  • 2006,《棋天大圣》两和象棋等级分第一的许银川
  • 2007,第二届中国计算机博弈锦标赛,《象棋旋风》获得冠军
  • 2008,The 13th International Computer Games Championship,《倚天》获得冠军
  • 2009,2009中国计算机博弈锦标赛,《象棋名手》获得冠军
  • 2009,在人机大战中,象棋软件《象棋名手》、《佳佳象棋》、《陶情弈趣》以4胜2和的总成绩赢得和刘星、黄海林、朱琮思三位大师的比赛
  • 2010,2010中国计算机博弈锦标赛,《新象棋旋风》获得冠军
  • 2011,2011中国计算机博弈锦标赛,《象棋名手》获得冠军
  • 2012,2012中国计算机博弈锦标赛,《象棋名手》获得冠军
  • 2013,2013中国计算机博弈锦标赛,《象棋名手》获得冠军
  • 2014,2014中国计算机博弈锦标赛,《象棋名手》获得冠军

参见

外部链接