中国象棋网手机版

游戏

象棋旋风作者陈朝营日记吐露引擎开发辛酸历程

编辑时间:北京T2020-06-17 18:52:48  作者:中国象棋网 点击: 

  

曾经的旋风

 

早在2005年的时候,旋风还没有出世,当时我研究的引擎名字叫coony,coony是一个试验品,当时风靡一时的国像引擎fruit给了我不少灵感,在coony上面,试验了很多新的想法,最终由于编程经验和架构的问题,coony最终停止了开发,也就是在首届ucci引擎联赛之后。虽然coony是一个失败的作品,但是他给了我不少经验,没有这些经验,后来的旋风也不可能会刮的那么厉害。我忘记了,2006年的春节是怎么度过的了,旋风应该就是从那时开始编写的吧,我承认那时的旋风是fruit类型的一个引擎,但是写一个,并不像很多人说的那样,直接拿别人的代码,改改规则就好了,当然这肯定不是一个引擎作者能说的话,每一个引擎作者,都很清楚,自己对引擎付出了多少。旋风一出世,就在ucci引擎联赛上面拿走了冠军,这也使我更加有兴趣去开发他。那年正好赶上 东北大学的徐教授要举办首届计算机博弈锦标赛,我当然希望自己的作品也去与那些豪门较个高低,那年我很努力,旋风0.5x版本的引擎我放弃了,开始研究旋风1.0x,1.0x就是完全不一样的知识架构,当然是同0.5x比较。我记得当时1.05beta的吧,我加入了更多的剪裁,更多的延伸后,发现提高非常大,(150elo左右),这真的给了我很多惊喜。当时我自己用赛扬2.8的机器,很轻松的上了华山(而且保持不败),当时有个棋友叫华哥的一起帮我测试。后来一个叫孤独求胜的人加了我的qq,也加入了测试引擎的行列吧。当时真的是很忙,没有时间搞引擎,引擎做的很粗糙,当然里面还有很多bug,有些甚至是致命的。锦标赛很快就到了,我知道,华哥和孤独都帮了不少忙,当时好像孤独说要做代理的事情,我答应了,因为我没有指望这个会赚钱,比赛结束了,成绩不错,孤独要做代理,但是旋风引擎,还没有一个好的界面(比赛的时候用的燕子象棋的界面),我找到张志强,让他和我一起做一个商业话的软件,象棋旋风,浪子答应了,做界面是他拿手好戏,这样浪子成了旋风的作者之一,孤独呢,就当上了官方代理.软件的发行,我交给他们两个去做了,我只负责提供引擎方面的东西,旋风从1.05开始,采用的引擎,我也不怎么清楚是那个版本,就这样,07年的春节来了,孤独给了我一些买软件的收入,软件买的怎么样,我也不怎么清楚,这段时间,发行的版本,是张志强和孤独做的,版本号什么的我也不怎么清楚,我去忙工作了,没有时间去参与,他们一种坚持在做,但是进展并不是很大,也发行了几个版本,具体什么,我也不记得了。07年的比赛又要临近了,张志强身体不怎么好,我必须为比赛准备,于是开始日夜的为引擎操劳,引擎的搜索部分,应该是重新写了,知识也加了不少,我感觉,应该进步不少,孤独一直在做测试这个工作,他总是说自己很辛苦,自己付出很多,我也承认,软件测试的确是一个不轻松的事情,但是我也清楚,我为它也累到了好几次,度过了多个不眠之夜。比赛很顺利,虽然我没有去,还是拿到了冠军,那个奖杯应该一直保留在孤独那里吧,比赛用的版本是for ccgc2007a,b,c。这个应该是我做的最后一个比较好的旋风引擎了吧,很不幸,有一天孤独告诉我,它不小心把引擎发给了一个棋友,我当然没有放在心上,出去了就出去了,早晚也是出去的,我也没有指望它能在下届的比赛中拿冠军。07年底,在饮水思源作者的介绍下,我了解了位棋盘相关知识,于是有了新的想法,重新写一个引擎。这样08年的春节又到了,一个叫wintrador的朋友找到了我,他投资和我合作做一概世界上最厉害的象棋软件,我由于厌倦了上班族的生活,答应了他,08年开始就投入deepsky引擎的开发。旧的旋风引擎就那样静静 放到那里了,有时候会修改一些参数,试验试验,没有什么实质的进展了,曾经的cyclone引擎,就此宣告一个段落。

 

风引擎版本概述

 

我经手的旋风引擎版本 其实并不乱。发布的版本,是张志强和孤独修改过的,版本号也一并修改,到底发行多少个版本,我也不怎么清楚了。

 

旋风引擎从 0.01开始,都是开发阶段版本,第一个能下棋的版本,应该就是0.53吧,参加了ucci引擎联赛。后续有0.54,0.55,0.56,0.54是个过程版本,0.55是一个少剪裁的试验版本,水平都不怎么高,0.56版本比较多,修改过很多次,因为里面bug实在太多,0.56的最后一个版本,网上应该有吧,我记得我发布了。接下来的版本是1.0,是一个开发阶段版本,1.01是一概知识重写的版本,水平一般般吧,接下来是1.02,1.03,1.04,都是知识完善的版本,水平都比较接近,1.05beta版本的时候,我尝试修改了搜索,棋力大增,后续有1.06beta,到此,我感觉版本已经比较乱了,就重新整理了版本号,在1.06beta的基础上面,完善后修改为1.04final,参加了ccgc,后来修改的版本为1.05beta1,参加了ccgc决赛。后来有1.07,1.09等几个版本,后面从1.10~1.31都是过程版本,到1.32为比较完善的一个版本,攻防均衡,后来修改过一些东西,到1.37都没有多大起色,就此停止了旋风1.xx系列的开发。07年为了比赛,开始旋风2的开发,旋风2 包括早期的alpha版本,和后来的beta版本,alpha是一系列试验版本,到了beta版本,已经比较稳定了,这个过程修改架构的工作做的比较多,旋风2最终版本为cylcone2b54,在这个基础上面修改了3个比赛版本,ccgc2007a, ccgc2007b,ccgc2007c,这3个版本其实区别并不大。到此我几乎停止了旋风引擎的开发,生活所迫,它也不能带给我什么。比赛结束后,ccgc2007c的版本被无意放出去了,通过几次不正当的交易后,这个版本网上出现了。象棋旋风发布的版本号码,与我说的引擎号码,并不对应,后来开始新引擎开发,旋风引擎只用来对练,并不向外发布(代码没有发给张志强,不可能发布).

 

外话:据我所知,旋风根本不存在3.0版本,那个界面是wintrator修改的旋风界面,错信棋友发出去的,里面的引擎就是无意泄露的ccgc2007c。所有旋风引擎,只能通过修改一些参数,来改变(任何人可以修改),但永远改变不了引擎实质,通过修改参数,提升的棋力是非常有限的,那些优化版本,修改版本,完全忽悠人。同一个引擎,如果设置参数相同,单线程相同层数,将会有相同的搜索节点数,通过此可以鉴别是否为同一个引擎,文件大小,根本不可能去鉴别一个引擎。

 

关于旋风商业化及后续发展

 

从2007年比赛后,我这里,旋风开发已经不是首要任务了,我手里的旋风引擎,不商业化很长时间了,如果继续商业化的话,我会亲自发消息的,请大家擦亮眼睛,以免上当受骗。那么多人喜欢旋风,如果我有时间了,我会继续努力,争取做到最好,不负大家所望。

 

关于引擎测试

 

对于引擎的强弱,不是一个很简单的问题,一个引擎的强弱,应该看综合实力,对不同对手的综合胜率,这样才能体现一个引擎的真实水平。对于引擎测试,引擎互战,包干的测试是不准确的,最好采用多少分钟多少步的测试方法,对于是否采用开局库,要看那方面的测试,如果真是综合能力测试,那么就不用开局库,采用均衡的局面为开始局面,双方分先对打,如果测试一个引擎的实力包括开局库,那就带开局库对打,这个开局库,不是随便的,每个引擎都有适合自己的开局库,不同的开局库,对引擎实力影响比较大。要使一个引擎水平指数趋于平稳,那么必须测试500盘左右,不是10盘,20盘,就看出引擎的强弱的,即使差别比较大。

 

象棋旋风发展最新打算

 

从2007年比赛后,由于各种原因,旋风(cyclone)引擎暂停开发了,现在应广大棋迷强烈要求,旋风引擎将继续开发下去,不久即将面市,希望棋友多多支持。

 

旋风引擎发布计划:

 

1. 2009.6.1 发布旋风引擎V2.5(cyclone v2.5),

 

采用标准uci引擎通讯协议,无界面程序,可以用任何支持uci协议的界面加载使用。引擎在2007c基础上面,多核心进行重新设计,4核心以上有更高的效率,8核心nps提高50%左右。引擎知识稍有改动。

 

2. 2009.8.1 左右,发布深度旋风V1.0(CCyclone v1.0),引擎特点,是第三代旋风引擎(1代 cyclone ,2代deepsky,每一代并非简单代码修改,而是完全重构,代码全部重写),速度更快,多核心效率更加优秀,支持64bit(需64位cpu,64位操作系统支持),比32bit快40%以上,仍采用标准uci引擎通讯协议,无界面程序,可以用任何支持uci协议的界面加载使用。此架构为旋风终极架构。

标签:象棋旋风,作者,陈朝营,日记,吐露,引擎开发,辛酸,历程
猜你喜欢
热门评论 我也说两句
查看更多评论(2)
推荐阅读