中国象棋对弈软件自从上世纪八十年代问世以来,经过大约将近三十年的发展,软件的棋艺水平越来越高。目前普遍的观点是,人类高手已经不是软件的对手了。所以,当今专业棋手平时日常训练,大多都利用软件作为陪练,帮助棋手分析棋局。
软件棋艺水平的高低,一方面是受到软件本身的影响,比如:软件主程序的计算方法和计算深度、布局库、残局库,等等;另一方面是受到硬件配置的影响。现在的电脑硬件配置越来越高端,软件的计算能力也越来越强,可以说,电脑水平超越人脑是必然的趋势。
那么,电脑真的就那么可怕吗?那也未必!
由于软件思考的依据是子力的分值,所以,早期的那些比较老的软件,大多表现为“贪吃子”。因此,人类高手在和软件对弈时,在布局阶段故意走出一些“无理手”,主动弃子引诱软件贪吃上当,一旦软件贪吃子进入圈套后,接下来人类棋手就可以战胜软件。目前,即使是高配置的电脑再配备强软,在和软件对弈时若关闭布局库,并且软件思考层数设置相对较低时,软件也会表现比较“贪吃子”。如果要想克服软件的这种缺点,一方面要有全面的布局库(使得软件在对局的布局阶段可以绕过那些弃子陷阱),另一方面,软件计算的层数要足够的高,并且硬件的配置也要高。
下面所列举的一些对局例子,是从网络上收集的,人类高手战胜软件的对局。因为最近在整理电脑硬盘中的棋谱文件,顺便也看到了一些以前从网上收集到的这些纯人战胜软件的棋谱,当时是从其它象棋网站(论坛)中收录并且保存在打谱软件(象棋演播室)中,现在再来回味一下,也是别有一番趣味。
1、纯人战胜CCH的局例
CCH在上世纪九十年代,是棋力较高的象棋软件之一。当然,若采取常规战术与之对弈,一般业余爱好者要取胜也是比较困难的。但是,可以采用一些“非常规”的手段,比如在开局阶段弃子设下陷阱,待软件贪吃子上当后,就可以迅速取胜。本局是其他网友战胜CCH的例子。
2、纯人战胜棋隐的局例
棋隐是进入二十一世纪以后,中国大陆地区第一个棋力较高的象棋软件。由于早期版本的棋隐是没有布局库的,而且受到当时电脑硬件配置的制约,那时候程序运算到10层已经是当时电脑的极限了。所以,软件的通病“贪吃子”在棋隐上也有所体现。本局就是网上高手战胜棋隐的例子。
3、纯人战胜天机的局例
天机是继棋隐之后,出现的几款强软之一。在关闭布局库的情况下,软件同样表现得比较“贪吃子”,这个现象,几乎是所有早期软件的通病。正是基于这个原因,使得纯人可以利用布局陷阱弃子取势。本局是其他网友战胜天机的例子。
4、纯人战胜旋风的局例
象棋旋风自从问世以来,可以说是棋力非常高的软件。对于这类强软,纯人在布局时,可以走出一些相对冷门的着法,来取得优势。本局是其他网友战胜旋风的例子。
上面论述了一些关于软件的缺点。当然,随着时间的推移,目前软件的实力也是越来越高,在高配置硬件的电脑上,强软配备高质量的布局库和残局库,棋艺实力已经全面超越当今人类顶尖高手。假如再想通过这类布局弃子战术来取胜软件,变得越来越困难了,几乎是不可能了。
前一段时期,论坛上“棋艺探讨”有网友在探讨有关单车对马双士的残局,并且用软件分析这类残局,软件红方(单车方)好像无法走出正解,往往绕了几个圈子,就是无法破士或吃马。
因为按照以往使用象棋软件的经验来看,象棋软件非常擅长于那种复杂中局和连将杀局,基本上都可以走出精确着法;而对于布局(关闭软件布局库)和残局,有时候软件不一定能够走出最准确的着法。
对于实用残局来说,如果是那种比较简单的、比较明显的局面,也就是几步棋之内可以取胜的局面(比如单马胜单士),软件是可以走出精确着法的。但是对于那些没有直接得子、将杀手段的局面,有时候需要用到顿挫、占位、控制等战术的局面类型,软件就不一定能够找到正确着法。比如本论坛曾经讨论过的单车对马双士局面。我曾经用软件推算过双炮双相对双象局面,尽管书上说是必胜,但软件也无法把正确着法走出来。
下面简要探讨一下,有关利用象棋软件来验证一些象棋著作中棋谱正确性的问题。
过去一些象棋书上的某些残局杀法棋例,看似正确,但是,随着象棋软件的发展进步,可以借助计算机来找出其中的一些非常隐蔽的错误。因为,人的大脑思考存在盲区,而软件的计算就可以做到非常全面、精准。
下面举几例:
例1、基本杀法的组合运用
此局是象棋基本杀法的组合运用,在许多象棋教科书中都有收录。下面先来看一下书上的着法和注解,选自《跟我学象棋初级教材》。
此局,红方通过一系列的弃子战术,最终战胜黑方。
关于这局棋的出处,有人说是李来群的实战残局,也有人说是某一位象棋理论家创作出来的排局。关于这个问题,具体先不去讨论。
当然,随着象棋软件的发展进步,可以发现许多过去一些棋书上的错误。关于此局,曾经就有网友提出过质疑,并且指出了书中黑方有个别着法错误。我曾经也用软件推算过,如果把黑方的某着棋的着法改一下,那么演变下去,红方似乎无法取胜。
下面,就把网友的意见和象棋软件推算的着法作一下汇总:
上述推演可以看出,红方的取胜着法不成立。
例2、夹车炮杀法
这是《跟我学象棋初级教材》中基本杀法一章里,夹车炮这一节中的一个棋例,先看一下书上的棋谱和注解:
这个棋例,在许多象棋教材中都有收录,着法都完全都一样。看来,按照传统的思维来分析,似乎找不出任何漏洞。那么,现在来分析一下,此局面,黑方是否存在着取胜的机会呢?如果是人脑去分析,恐怕非常困难,因为人脑思维存在盲区,很难发现那些非常隐蔽的取胜着法。
下面用象棋软件来推演一下:
奇兵1.02
奇兵5.0
上述软件推算结果表明,黑方可以取胜,红方杀法不成立。
例3、双马饮泉杀法
这是《象棋入门》中基本杀法章节中的一则双马饮泉棋例,先看一下书上的棋谱。
以上是书上的着法,但是以前曾经有网友提出,此局也是有点小小的问题,也就是说,如果把黑方的着法稍微改一下,那么红方要取胜就非常困难了。这个棋局曾经有其他网友在别的论坛上说明过,那时候用软件检验过,确实是有这个问题。下面看下软件推演结果。
演变下去,尽管从进攻子力的角度而言,红方剩下双马一兵而黑方剩下一炮双卒,红方占优势。但黑方士象全并且还有双低卒,还是可以抵抗的,红方接下来要取胜也并不容易。
例4、基本杀法的实战运用
本局选自《跟我学象棋初级教材》中基本杀法一章中的一个棋例,另外,《象棋入门》金盾出版社出版,此书中基本杀法一章也有此局。以下是书上的棋谱着法:
至此,红方取胜。看上去一气呵成,非常精彩。
但是,用象棋软件推演此局,可以看到,如果黑方的应法不按棋书上的谱走,而是采取另外的方法,那么接下来尽管红方依然是胜势,但是并非是用象棋基本杀法获胜,而是依靠残局阶段子力优势逐步取得胜利。这个过程还是比较长的,并非是像书上所拟的着法那样几步棋就能将死对方。
因为是偶然间用棋软推演了一下,发现这个问题,可能着法不一定非常严谨,仅供参考。
总而言之,象棋软件有优点也有缺点。随着时间的推移,软件也在不停地发展,随着软件整体实力的进步,现在人类高手要想取胜软件已经非常困难了。