一盘棋局分为开局、中局和残局三个阶段。正常来说学习次序是反过来,先学残局会杀,然后学中局会算,最后学开局会背棋谱。我喜欢下棋,但没有系统学过,也不喜欢背棋谱,总体就是瞎玩。我发现一个奇怪的现象,对手总是落子如飞,而我每步棋都要想很久,然而这种思考并没有提高我的棋局质量,经常在长考之后走出败招。回顾了一下我的思考过程大概是这样:“现在局面好复杂,咋走呢,第一感觉是走A,那对面如果走这个怎么办,感觉没用啊。那换个思路走B怎么样,那对面又这么应对怎么办,好像也不好。刚才那个A真的不行吗?我再多想两步呢……好像真的不行呢。哎呀,要超时了,我福至心灵,突然想到C招法,虽然还没来得及琢磨,但是感觉可以,就走这个。我去,是个大漏,阿弥陀佛,希望对面看不到这个漏。啊,对面看出来了,那没办法,投降了,下一把……”
问题的根源是我不会正确地思考局面,面对一个局面,完整的思考过程应该包括:判断局势 ⇒ 发散思考招法 ⇒ 推演后续的发展 ⇒ 根据局势变化收敛选择,确定最终招法。而我的思考仿佛陷入死循环,在迷宫中打转。我和Claude交流了我的困扰,它推荐采用国际象棋的Stoyko 训练法,针对性地训练计算能力,在此记录一下这个方法。
准备阶段
- 一个复杂的中局局面,没有明显的唯一解
- 纸笔,用于记录推演
- AI,用于检验推演是否正确
训练流程
-
选择一盘高手的历史对局,复盘到一个复杂局面(判断依据:问自己是否知道怎么下,不知道就是复杂)。不要看实战的下一手招法,全程保持棋子静止,只在脑海中完成推演。
-
先分析盘面,从物质与位置来考虑:
子力对比,例如红多兵
位置对比,例如红马位置差,黑车路通畅
最终判断,例如黑稍优
-
寻找可能的下一步招法,把想到的都写下来,先别急着否定,例如: A:炮六平七 B:兵七进一 C:炮六进五 D:車三平四
-
逐条进行推演计算,每一步默认对方会使用最强的应对,例如:
A:炮六平七 车8进5 相七进九 炮6平7 車三平四 炮1进4 车九平七 炮1平7 相三进一。 每一条计算,计算到确定某一方占优就结束,计算不下去也结束,因为这个招法虽然可能成立,但是无法掌控。每个招法计算后,根据最终局面给出判断与依据,例如A方案最终红稍好,因为保持了先手且多兵。 -
根据所有方案的结论,选择最终的招法。
-
结束推演,对比自己的选择与实战的区别,每种选择的AI打分是否与自己对局面的判断一致。如果不一致,思考原因。
演练案例
这里以《银川棋路》收录第7盘棋局为例(如图,来自1993年12月22日,第14届“五羊杯”全国象棋冠军赛第4轮徐天红(红)对许银川(黑))。在13回合时,红走出巧手马七退五,出乎意料,我开始思考黑方的应对方式,过程如下。

首先分析盘面:物质上,红多兵。位置上,红七路兵位置很好,过河的车马比较活跃,但是三路马和九路车受制,出路受阻。黑双车位置较好,3路马有受攻的趋势。综合感觉红稍优。
之后局面推演:这块我想了7种黑方可能的走法,分别进行推演并对最终局面进行了评价,如下。

其中有三种招法的最终局面判断与AI一致,另外四种不一致,一是因为看漏了最强的应对,二是我对黑方的初始局面判断偏悲观,实际黑并不差,是两分之势。我最终选择的黑车2进2招法,与许仙实战招法一致,但是我基于的是下一步红走兵七进一,实战中红却走了炮六平七,这也是我漏算的地方。
后记
象棋比赛的观赏性比较弱,棋手只是枯坐在那里,半天才挪动一枚棋子,但是精彩的判断、发散、推演、收敛这些过程全部体现在无形的思维上,只有自己独立思考后,才能体会到棋手招法的精妙之处。一次这样的练习已经让我感到疲倦,顶尖棋手所要需要付出的努力,是非常艰辛的。