这是2004年一个16岁高中女孩写的文章.文中提到的谢谢,棋隐等软件,还有poor等人都曾非常熟悉. 如今再读居然有重温棋软件历史的感觉.--小竹注
棋软的作者前辈们和广大的象棋爱好者前辈们您们好:
近来看了许多您们的文章和故事,在象棋的发展进程中非常的感人,下面就我对象棋软件的未来发表点小小的看法,说得不好请前辈们指正。
通过最近一段时间在网上的了解,发现在象棋软件的开创上,在最早较具影响力(二十世纪九十年代,1990-2000年)的是将族三,随后棋隐成为了主导性的棋软并发挥了它的灯塔作用(2000-2004),棋隐光芒四射,在象棋软件的初期历史(2000-2004)上确立了其不可替代的地位,现在,谢谢、雷霆三、纵马奔流已部分超越了棋隐(在搜索引擎和计算速度上还有一定相当的差距还没有迎头赶上),棋软的发展方兴未艾,尤其广大的象棋爱好者在没有任何利益的情况下为棋软的发展作着大量的无私的奉献,广大的象棋爱好者们为此投入了大量的时间、物力和财力不要求任何回报默默无闻地奉献使我心潮澎湃,无法平静。为了使象棋软件少走弯路,在前进主导方向上拨正航向,特撰此文。
我看了谢谢和雷霆的软件,由于商业气息浓重,以利益为驱动使它们现在偏离了象棋软件发展的主方向,这也无可厚非,因为作者就是以此为主要职业,为了生存。谢谢和雷霆都没有真正意义的全局库和思路,在中残局只有计算分析公式和少量的大局审局观,在中残局库上几乎等于零,基于中残局库的程序计算分析模型等于零,谢谢的计算公式要比雷霆稍好一些(雷霆由VB转VC的原因,还需要一段时间的磨合,VC的发展思路是非常好的),雷霆的界面、功能和团队都是目前最好的最具人性化,但我希望作者前辈们看到了此文应正确的重新审视一下自己的棋软的发展主方向,回到正确的发展方向上来,使象棋软件发展有个全新的质的飞跃,也祝愿象棋软件的作者们事事顺心!!!!
象棋软件的主方向理论(不高兴自编,完全是不高兴的这几年的对象棋的认识)(由于广大象棋棋爱好者前辈们使用的软件最多的是谢谢和雷霆,我也就谢谢和雷霆为例描述象棋软件的未来):
(在开局上,谢谢和雷霆都有自己的特定的开局库,有的十几步有的几十步有参考且残缺不全,立意走红方时红方有胜势的开局库或走黑方时黑方有胜势的开局库,而且还和中局的引擎混在一起,这是不正确的)正确的方法:开局库的称谓应该取消并更名为全局库,以三百招棋为限,将从1950年的全国各大赛到现在以及未来的全国各大赛事棋谱以及顶级赛事综合(象棋的最高境界是和棋,而非红或黑胜,以此为前提)《综合方式:没有的记录棋谱招数,有的记录此招使用次数(在棋谱招数后记录,1000次为限),构建纵深棋谱结构,对于变招设为八级变招,在变招中每一招也设为八级变招,有新棋谙就加入进来,没有空闲,提供强大的搜索引擎(并随时间的推移更新引擎),提供强大的占CPU最少的顺序排列引警
(分析同级八变招的好坏以确立排列顺序)(并随时间的推移更新引擎),八级变招是最低底线(因为象棋是有变化的,有的故意使自己的一招在盘面上变化向稍微差的一步而使您没有经历过从而局面错综复杂出错局面逆转不可收拾)(有了八级变招对方无法再变,再八级之外就失子或失势太多无力对抗)(八级变招不能以八先为武断,先是对盘面的判断,变招则是以象棋的不同变化为出发点,对于对手的突然变招能了然于胸,不管如何变化,都能迅速找到正确的攻击手段),逆向变转引擎(当棋手将炮二平五改成炮八平五时您的全局库仍然能正常指示),局面特定引擎(并随时间的推移更新引擎)(有些棋局在一些时候脱离棋谱然后一些招后又回到了棋谱的特定局面,在回到特定的局面下能正确的指示)》,此全局库要有完全独立的引擎和完全独立的显示小界面,此全局库终级发展方向一是输出资料就是最新最全最精确最有说服力(胜败后面有着法不用别人说此盘面如何)最权威性的学习标准教材取代现有的文山书海的重复盘面太多的重复说法太多的各大象棋棋院的现行教材正式成为各大象棋棋院的专业人士的必修教材或课程并进一步成为中国棋院向外推广的标准象棋系列课程,此全局库终级发展方向二是打破走红有红方优胜开局库走黑有黑胜优秀开局库的可
笑又无休止的反复作开局库的方式而是不断穷尽象棋的变化取消棋软与特级大师在这方面特级大师的局面优势进而依靠机器的强大记录能力形成对特大的巨大压力为与特级大师抗衡铺平道路,此全局库终级发展方向三是避免软件的分析盘面的程序在分析错误下所造成的后果(象棋软件分析程序的完善是要在二百年的左右时间去完全同化人类的思维,在这期间,不可避免会有这有那的错误),此全局库终级发展四是前人的路我们不需要再走只需要继承并融汇贯通(如果老是象现在这样一部分学习前人,许多前人走的路我们还在认为是我们自己的发明,如何才能向前快速发展,棋软应该一日千里去发展,早日与特级大师互有胜负),此全局库的终级发展五是对于其它棋软有时甚至不需要计算机象棋软件分析程序依靠此全局库一秒钟解决战斗让对方超时局面丢子丢势认负。
全局库是非常非常重要的,我相信在网络对抗中众多的象棋高手都有同一的想法,前人走过的路为什么要让我们反复的去再发明,这样象棋的发展会很慢,至于象棋的变化穷尽,在计算机飞速发展的今天,高能的亿次计算机只要有足够好的程序原型完全可以穷尽象棋的所有八级变化,但这个足够好的程序原型确要未来二百年的时间才能完全建好,当您在网上象棋对奕中,由于时间紧张输棋,什么原因,根本的原因就是您缺少全局库,前人无数次走过的路您还要再发明一次,能不输吗,就算您当时找到了与特级大师无数实践过的您不知道的正解,却因为耗尽时间,下面的棋怎么下呢,相信没有任何一个象棋大师如三年不背谱,光依靠计算力还能站立在全国甲级联赛里的神话吧。特级大师也需要全局库,只是他们是背在脑子里,而我们有自己的工作和学习,能把全局库印在脑子里吗,相信这是不现实的。
我说的是商业象棋软件发展的主方向,而不是学术软件,学术软件给我的感觉好象虚有其表。
全局库问题,在对局中是不需要计算谁好谁坏的,因为全局库是在对局前做好的,以后在对局外可以大量补充,全局库每一招的八级都是软件在制作全局库过程中由软件分析八种变化的好坏(在对局外,全局库制作中分析好,有时软件分析的顺序由于软件自身有些程序对盘面的分析有误而不正确,在软件的象棋分析程序的不断修改中,此种全局库的每一招的八个变化的先后顺序是可以由软件自动重排的),这个制作全局库的软件分析程序说明白一些就是第二指针,然后排列顺序,在对局中,只需运用搜索引擎到当前局面显示八种变化和顺序即可,如果纯软件下,软件可直接选择全局库第一变化、第二变化(不需要比较好坏时间只需搜索时间,相信不到六十分之一秒)或第二指针分析当前局面结果(就是当前软件的分析方法,时间就是您现在所使用的各类棋软的思考时间或第三指针分析当前局面结果加入对局,如果人机方面,我们对每一招都有十种待走招法的选择机会(只存在没有走过和走过的记录,不会存在多余的信息,八种是不需要在对局中思考的,在开局库中已思考完毕,二种是由计算机现场思考给出答案的),所以全局库在对局中是不需要计算的,功夫在对局外。全局库的数据量确实太大,估计目前的全局库综合所在顶级对局(目前所有全国历年对局、顶级赛事对局总合有三万余局)的数据库文件会在五十兆左右,不过现在的有些搜索(而非检索,不需要检验,因为在对局前,全局库制作中已经检验顺序了)引擎寻址时间是非常快的,几乎瞬间达到所寻盘面的对应记录。
真正优秀的开局库不是大而全,而是能够帮助软件不去搜索不好的变化,也就是说应该只保留某一走法之后较好的走法即可,这样才可以不出错而省时间,这种说法正确吗,相信有很多前辈有此种想法:这样做的结果就是每隔一个阶段就要重新将现有的三万多局和未来不断增加的对局重新再制作一个开局库,因为分析程序在不断的更新,以前认为不好的在以后更新后会认为很优秀,如此循坏无有了期,且此种开局库似是而非,细想您认为呢,细想一下,您会发现自己的观点如何,用此种观点永远找不到正确的答案,另外特级大师在对局中由于对方熟悉某一盘面所以走出一个稍差的招法使盘面到达一个错综复杂您没有经历过的局面克敌制胜,这样的例子是非常多的,在布局变例中的论述也是非常多的,如果突然走出一步没有记录的招法,这种开局库因为只记录一种认为最好的招法,将百无一用,而全局库却可以胜任,无论您走哪一招,都基本在预料中,如果您走出八种变化以外的招法,相信不是立即失子就是失势,那么第二指针就是现在的象棋软件计算分析程序在多子或占绝对优势下不会下和吧,象棋永远没有绝对最好的一招,只有异彩纷呈的八种变化和精彩的赏心悦目的杀局。
在全局库的实现上:棋隐是先行者,雷霆紧随其后,且程序设计得更好,当然设计思想是上一段的开局库而非全局库,但在先行方面已经有了成功的事例,形成的似是而非的开局库虽然初级但在实战中也获得了非常巨大的成功,但其已走进了死胡同,前进无路,不过换一种思维全局库就打开了一片新天地,打开棋隐系列,404和435虽然使用的是上一段的开局库且和计算分析软件的思考窗口使用同一窗口,但已很成功,在每一步后面都标注着有多少人使用(1L,2L,3L等等,)且没有思考时间,非常优秀,前人走过的路一目了然。
如果每一步都有最好的招法就是唯一性,那么象棋就不存在变化,象棋的精彩来源于变化的精微,故意示弱一些在某一招上(就是稍微不好的招法,与好的招法一先或半先或四分之一先的距离)会带来全新的局面从而使当局者无所适从,在中国的各大棋院的科班生的教材上就有最重要的指导方针,在常规的正常布局局面下您不要想战胜您的前辈棋手,您输的可能性占百分之八十,所以棋院导师教授的方法就是先把水搞浑,然后下水抓鱼。把水搞浑的真实含义就是不惜失掉部分微弱先机来把局面搞得错综复杂化,错综复杂化明白点说就是子力多的时候走出一个您没有记忆的着法,从而使局面变得陌生化,在对局中让您无从借鉴以前的局面,从而使您在对局中找不到正确的运子方法而失利,实际上就是飞刀的含义。有变化才有精彩,永远没有最好的招法,不要想找到最好的招法,象棋的最高境界就是和棋,有了变化才有象棋的异彩。
引用前辈的话“当前象棋的发展上,开局前二十个回合几乎已经被研究穷尽,也就是说开局前两十个回合可以做成像你描述的那种全局库,当前的棋软件也正是这样做的,只是他们叫做开局库。许多年以后象棋技术发展到可以穷尽前四十个回合,那象棋就被解决了,但那一天,只有依靠电脑技术。”《不高兴注:如果将全国各大赛的三万多局录入的全局库形成,然后再输出纸上结果,或用数据库软件去比较分析计算,您会发现您的问题的所有分句都是不正确的,没有实实在在的对家可以对照,如果形成这样一个初期的全局库,我相信在四十回合内您很难走出与全局库不同的局面,在八十回合内全局库仍然告诉您这一步前人有几种应着,每一步应着有多少前人走过,每一步的应着在您的全局库制作中第二指针所给的评价是什么(顺序)。》
不是用计算方法计算的结果来形成全局库,计算方法只是对八个变化的顺序有真实的含义,全局库的全部资料来源于1950年到2005年的全国各大赛事,以及其他国家级的顶级赛事,还有奕天华山的慢棋对局,到目前为止,一共三万多局,还有将来的这些类对局而不是计算方法产生的结果,就是在这八个变化中,在目前棋谱用程序集中录入,在一招下的八个变化,如果棋谱只有五个变化,就加进五个变化,其他三个变化空着,未来的全国赛事对局有的再加进来,如果棋谱在这一招有九个变化(在开局的十五回合或十回合以前,每一招以后是不只八个变化的,不能称为变化,而应称为变例,,只要全国顶级赛事有的,皆应收录,在十回合或十五回合以后,每招只对应八个变化,八个变化以外,局面以失子或失势太多无力抗衡),用计算方法排一下顺序,然后取前八个,最后一个舍去丢掉,然后用计算方法为八个变招排序。不知道我说得是否明白。用程序录入要高度自动化,几千局由电脑同时自动录入,自动综合,自动形成全局库的一部分,然后再全自动录入下一个几千局,而非一局局的人工录入,现在网上的棋谱无论全局还是中残局特定局面的数量是很全的。
计算方法的计算结果是在目前不管计算多少层(就是一百层产生的结果也不能加入全局库)产生的结果是不能与全国各大赛事和顶级赛事的棋谱相比的,以后也不能比(可以建立过渡库,将计算方法形成大量的自认为的优秀数据放在过渡库中,留待以后人类检验,反复检验成功后,方可加入全局库,没有总结,就不会有进步,没有根据地就没有生存的可能,全局库就是根据地,过渡库就是对计算方法在每个阶段的总结,可以回顾),方法不对,因为计算方法是要与人脑的思维同化的,如果相比就缺少了对象成为一方,全局库只能收录全国顶级赛事、各大赛事和华山的慢棋对局,以后也是如此,未来的一百八十年也是如此,不能有任何的计算方法的计算结果放入全局库,如果认为计算结果确实比全局库优,不防对计算方法进行千锤百炼的修改,这样计算方法就会不断的向全局库的思路同化,最终同化人类在此方面的思维极限,进而构成机器人思维程序中的一极小部分程序原型。
全局库是人类在象棋方面一千多年以及以后的所有对局的结晶(当然不是最好的棋手下的棋局不能收录),不能加入任何计算方法产生的计算结果。如果加入全局库就失去了含义,计算方法要和谁同化呢,和自己同化吗,同化是必须有现实标准的,不能空而无物的理论,必须有切实可行的相对对象。
(谢谢和雷霆在中残局方面都只有象棋软件分析程序这一个思路,是远远不够的,甚至是错误的)中残局的正确路线:中残局应有三个指针,第一指针《势与实力,当兵卒未到达九宫外的周围一圈时如对方多兵卒只计算压力在盘面上忽略不计,如不计算压力则有可能对方兵卒太多最后无法抗衡,如计算始终计算兵卒在全盘与特级大师是有出入的(有时盘面显示四先了确输棋就是因为比对方多了四个未过河或河沿兵兵卒加入了势的盘面分析导致的盘面失利,在兵卒未到达九宫外的周围一圈时特级大师在形势判断上是完全忽略兵卒的以盘面上诸强子的占位来衡量,兵卒进入后以半马或半炮来衡量而不是动态的(有的说我的兵卒占九宫中心了比车还厉害,那是占位而不是价值)设立独立的盘面子力占位(势)分析引擎或与第二指针即合一又独立》;第二指针,象棋软件的分析程序模型(未来的机器人的大脑原型程序中的一小部分程序模型,最强大的分析计算公式,向三级发展,计算速度越来越快,机器配置要求越来越低,程序越来越先进越来越同化全局库并有超越之势,计算公式在以后的二百年间达到与人类在此方面思维同化的程度为机器人的脑部的部分程序模型作前期准备,计算公式不断的更新每一个字都千锤百炼,渐渐与前面综合的全局库的结果分析一致就是一个初期标准,全局库是人类从1950-2005的象棋结晶也是人类一千多年象棋发展的结晶,初期您的分析软件与其同化到什么程度就代表着您的软件将来在象棋软件大赛的排行结果,其分析是以当前盘面当前这一招往后算以后的变化,其初期要是能算出八级在每一招都与全局库暗合并排列有序第一变化为最好,则最原始初级象棋程序模型构建成功;第三指针,人类在象棋上有许多的中局精妙招数盘还有数不清的残局的子力组合杀法、基本定式,从这里应该清楚的认知到应构建另一个象棋分析程序模型(与第二指针共同构成未来机器人的大脑原型程序中的一部分程序,如果说第二指针属阴象女孩子,那么第三指针属阳象男孩子跳跃式思维)和中残局库,这个分析程序模型的作用很特别,就是断章取意,忽略象棋上的一切,利用杀局子力组合分析双方的对杀速度和最精确的对杀方法,如建成初期分析程序将在一段时间内引起全国哗然,精美的杀局盘盘赏心阅目且让人处目惊心其的威力不可思议。最后一点就是在第二指针给出的答案和第三指针给出的答案由机器分析出一个可行的答案。