作者terrorlone (忧郁症有希望康复的星君)
看板puzzle
标题[闲聊] 浅谈西洋棋谜题当中的逆向分析领域
时间Mon Apr 20 18:30:59 2009
上次在其中一篇谜题当中我已经简单解释过逆向分析(retrograde analysis)
的意思了,不过因为我希望这篇文章可以作为独立的文章,
所以这边我可能会少许重复之前的内容,不过最主要的,
我打算透过各式各样的简单例子来大家能够对逆向分析有个完整的认识,
而且本篇中提到的题目我都会直接给予详解,让各位可以熟悉逆向分析的思路。
本篇中的题目都没有跟之前的重复到,解答我用暗色字表示。
一样,这篇当中我会采用 Algebraic Notation 描述棋步,
各位可以参考 Wikipedia 的介绍、或者 chess 板的也有解说。
(0) 前言
其实逆向分析的本意,是指从当前的局面倒过来分析之前可能有哪些局面,
这个技巧打从二十世纪初以来就被用在建立残局资料库上头,
不过除此之外,基本上下棋的人理论上是不会需要用到这种技巧的,
毕竟下棋只需要在乎之後要怎麽办就好,没有人需要关心之前发生了什麽事。
直到有些人开始拿这种概念设计西洋棋谜题之後。
(1) 逆向分析的直接将死
逆向分析谜题当中最早出现的一类可能就是所谓的「逆向分析的直接将死」。
直接将死始终是西洋棋谜题的王道,
然而到了十九世纪末开始有一些充满创意的谜题作家、
开始在这种古老的题型当中暗藏了逆向分析的玄机在里面,
如果不先做一下逆向分析的话是没办法正确解开题目的。
底下的例子是改编自 Sam Loyd(1859)的题目:白先,二步将死。
8
r k 黑白
7
p p pP = 小兵
6
Q K rR = 城堡
5
nN = 骑士
4
N BPP bB = 主教
3
p qQ = 皇后
2
N kK = 国王
1
abcdefgh
其实这个改编的题目安插了不少多余的元素来误导各位的视听,
但其实原本的题目就只有最上面三列的东西而已,
当然那样可能很快就会让各位发现题目的玄机了,
但反正我这边准备直接告诉各位,所以不用伤脑筋也无妨。
如果不假思索就开始做这题的话,肯定途中就会遇到一个大麻烦:
一旦黑方进行城堡护王,那不管怎样都要三步才能将死黑方,
而且就算交给电脑去找解答,得到的结论一定也会是这样。
这正是这题的陷阱所在:事实上黑方是没办法城堡护王的。
理由何在?注意看局面。这个局面是白先,请问黑棋的前一步是什麽?
我这麽一问各位一定就会立刻发现,黑方前一步只有可能是移动了国王或城堡,
换句话说,根据规则,黑方接下来肯定是没办法城堡护王的!
这种事情,如果你不告诉电脑,它绝对不会自己发现的。
所以,既然这招防御已经行不通,答案就呼之欲出了:第一步是 1. Qa1!!,
而接下来不管黑棋应什麽,都只有 2. Qh8# 的份。
(2) 倒退问题
自从开始有了上面这种「逆向分析的直接将死」问题之後,
谜题作家开始对於这种需要分析局面之前发生了什麽事情的题目产生了兴趣,
这个时期很流行的一种题目就是倒退问题,
也就是要解谜者精确地说出局面之前走了什麽棋步,
这边所谓精确,或者所谓棋步的「完全决定」,
指的是要完全说出是哪一个棋子从哪里移动到哪里、以及吃了什麽(如果有的话)。
通常问这类问题的时候用来计算棋步的单位会是「单步(single move)」,
也就是黑白双方各走一次称为两个单步。
底下的例子是改编自 J. Mortensen(1956)的名题:求出黑棋的前一个单步。
8
k K 黑白
7
pP = 小兵
6
rR = 城堡
5
nN = 骑士
4
bB = 主教
3
qQ = 皇后
2
P kK = 国王
1
B
abcdefgh
题目已经告诉我们这个局面之前是黑棋走的了。
当然黑棋只有动国王的份,而因为西洋棋的基本禁手规定显示国王不可能黏在一起,
所以黑王当然是从 a7 移动到 a8,於是不假思索的人可能就会立刻回答:Ka7-a8。
但是抱歉,错了喔。
理由何在?仔细想一想,黑棋在移动之前显然面临着白主教的将军,
可是再前一步不管白棋移动的是图中三个棋子的哪一个(甚至其中小兵还没动过),
都肯定在移动之前就已经将军了黑王,
那麽岂不是表示黑棋的再前一步没有躲开白棋的将军,违反规则了吗?
所以 Ka7-a8 这个答案只能是错的。
然而这样岂不是根本没有合理的解释了吗?不,有的。
虽然黑王从 a7 移动到 a8 这点是绝对肯定的,但可没有人说它这步没吃东西喔。
如果说黑王这步其实也顺便吃掉了某个白棋,
而白棋的再前一步其实是移动这个稍後被吃掉的棋子而非图中的三个棋子的话,
也许就会有不一样的解释了。
但是吃掉的东西是什麽才能达到这种效果?想一想就会发现,只有骑士有可能。
也就是说,在局面前两个单步时,黑王位於 a7,白方还有一个骑士在 b6,
接着白棋把骑士从 b6 移到 a8 闪击(discovery attack),
而黑王立刻走了 Ka7xNa8 闪避,只有这样的解释才合理。
因此,正确答案不是 Ka7-a8,而是 Ka7xNa8 才对。
话说为什麽题目不问前两个单步只问一个?
理由很简单,因为我们无从得知骑士从 b6 到 a8 的这一步有没有吃东西。
没有任何线索可以让我们推知这一点。
(3) 现场还原
时间到了二十世纪初,这种追溯局面之前发生的事情的谜题越玩越凶,
变化也越来越多端。结果「逆向分析」这个词,
逐遍演变成了是泛指各种『考虑局面的合法性与否』的题目,
这边所谓合法,指的就是可以从初始布局开始、
透过完全合乎规则的棋步(无论多麽荒谬)抵达的局面。
其中一类发展出来的谜题会问解谜者整盘棋局中的某个特定事件,
还原当时的现场。底下的例子是编谜名人 T. R. Dawson(1927)的题目:
8
rnbqkbnr 黑白
7
pppppppp pP = 小兵
6
rR = 城堡
5
nN = 骑士
4
bB = 主教
3
qQ = 皇后
2
PPPPPPPP kK = 国王
1
RNBQKBN
abcdefgh
题目:现在这个局面是轮到黑棋走。请说出黑棋
肯定曾经走过的某一步。
初看这个题目,黑白双方的棋子全部都还在原本的位置上,
除了白棋被吃掉了一个城堡之外。在其他棋子都没有动过的情况下,
显然那个城堡只能是被黑方跳过来的骑士吃掉的,而该骑士稍後又跳了回去。
因此不假思索的人可能会回答:黑棋绝对下过 Ng3xRh1 这一步(以及退出的那一步)!
抱歉,又错了喔。
为什麽?好好看清楚题目,它说这个局面现在是轮到黑棋走。
那又怎样?想想看,如果局面现在是轮到黑棋走,那就表示在这之前,
白棋比黑棋多走了一个单步,也就是说白棋走过的步数跟黑棋的步数之奇偶性一定不同,
但是注意到骑士的移动也有奇偶性:如果此刻骑士是在白格子上、
那麽下一步它一定就是在黑格子上,反之亦然。
换句话说,如果最後骑士又回到了原来的位置,
那麽骑士总共必定是走了偶数步(就算两个骑士最後的位置交换也一样),
而移开了骑士之後,唯一能够移动的城堡如果最後也回到了原本的位置,
那总共也是走了偶数步,所以,假设白城堡是在 h1 被吃掉的,
那麽就会导致黑白双方同样都是走了偶数步,是故这个局面不可能是黑先!
於是唯一合理的解释是:其实白城堡是在 g1 被吃掉的才对,
只有这样才能破坏奇偶性的对称。
因此,黑棋肯定有走过的那一步不是 Ng3xRh1,
而是 Nh3xRg1(以及退出的那一步)才对!
什麽?你问为什麽不能是 Nf3xRg1?
因为如果黑骑士来到 f3 的话白王不就被将军了吗?黑骑士还有可能活着离开吗?
(4) 着色问题
着色问题比较是从 1950 年代之後才开始流行的,
这种题目会给予一堆颜色未判定的棋子,要求解谜者正确着上黑白两色,
而且很多时候题目也会顺便问一点倒退。
底下是一个简单的例子,G. Husserl(1966)的题目:
8
B KRN 黑白
7
PP pP = 小兵
6
QK R rR = 城堡
5
nN = 骑士
4
bB = 主教
3
qQ = 皇后
2
kK = 国王
1
abcdefgh
题目:将棋子正确着色,并求前一个单步。
首先注意到 d8 的城堡。无论如何他都将军了其中一个国王,
也就是说前一步持有它的人若非是移动它、就是移动了别的棋子做了一个闪击。
如果是後者,它攻击的就是底下的国王,但那样进行闪击的棋子只能是皇后,
可是这个皇后在移动之前一样将军到了底下的国王,矛盾。
换句话说,前一步肯定是持有该城堡的人移动了它。
然而,这麽一来 c6 的皇后必须跟它相同颜色,否则两个国王就分别被对方将军,
这是不可能的局面。但是既然皇后跟它同色,又要怎样才能做到双重将军呢?
唯一的答案就是,该城堡是小兵 cxd8=R# 升变兼闪击出来的。
於是,根据棋盘的方向,d8 和 c6 就都是白色、c8 为黑色、d6 为白色,
而 e8 跟 f6 随之也必须是白色(否则又出现了双方互相将军的矛盾)。
然而,既然 c8 王是黑的,b7 兵就也必须是黑的,否则会导致不可能的三重将军
(记得,双重将军某些时候是有可能的,但是三重将军不管怎样都不存在)。
但既然 b7 是黑的,那 a8 主教的唯一合理解释就是它也是升变出来的,
因此 a8 和 a7 都是白的。
颜色到这边确定完毕了,即除了 b7 和 c8 为黑以外其他都是白的。
最後一个问题是,cxd8=R# 这一步吃掉了什麽?
如果是黑城堡或黑皇后,那麽那个棋子在前一步又不可能地将军了白王,
至於主教呢?虽然没有立即的不合理,
可是却会使得黑棋前一步没有任何合法的棋步可以走,
也不可能。所以答案是,被吃掉的是黑骑士,因而前一单步为 cxNd8=R#。
(5) 棋谱重建
棋谱重建是所有逆向分析题目当中真正的王者,
它要求解谜者仅看着最後的局面就把整个棋谱完全写出来,
也就等於把局面之前的一切资讯全部都还原就对了。
而当解答是唯一的时候,这种题目就更是厉害了。
近代甚至有多达上百步的棋谱重建问题,那真的是神的境界。
底下的例子是 E. C. Mortimer(1991)的题目:
8
rnbqkb r 黑白
7
ppp ppp pP = 小兵
6
rR = 城堡
5
nN = 骑士
4
bB = 主教
3
qQ = 皇后
2
PPPPPPPP kK = 国王
1
RNBQKB R
abcdefgh
题目:这是黑棋走完第四步之後的局面,请把棋谱写出来。
首先,黑棋总共被吃掉了一个骑士和两个小兵,
白方只出动了一个骑士,而显然这个骑士的第一步绝对不可能吃到任何东西,
因此我们就知道这个骑士打从它的第二步开始连续吃了三个棋子,
并且在吃完最後一个棋子之後被黑棋的下一步收拾掉。
而白骑士要在第二步就有东西吃只有一个办法,就是位於 e7 的小兵走两步给它吃。
这麽一来前三个单步都确定下来了。
但我们发现了一个奇怪的状况:
黑棋在最後一步吃掉白骑士之後竟然所有的棋子都归位了,
也就是说白骑士最後吃掉的东西是在黑棋图中占据的位置的其中之一,
然而两个黑兵因为没东西吃只能直走,怎麽样也不会跑到图中的黑棋占据位置上,
因此由这点就可以推知,白骑士最後一个吃掉的是黑骑士,
而那个吃棋的地点就只能是在 b8,且在它吃掉之後,
立刻就被另一个黑骑士吃了回来。
整理这些线索,我们就不难想出这个棋局的真面目了:
1. Nf3 e5 2. Nxe5 Ne7 3. Nxd7 Nec6 4. Nxb8 Nxb8
起初恐怕很少人能想像得到图中位於 b8 的骑士竟然是原本在另一边的骑士吧?
呼,好累,先写到这边好了,下次有机会再介绍其他题型给大家认识吧。
再会罗~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.19.121.146
1F:推 CHOIP:相当精彩啊~~~大推 04/20 19:29
2F:推 puzzlez:先用力推一下^^ 04/20 20:12
3F:推 geken:一定要推的啦 感觉每个例题都有陷阱成分XD 04/20 21:20
4F:推 pikacha:喔~那题也有逆推的成分吗??? 04/20 22:16
5F:推 MTal:有种相见恨晚的感觉 太多好文了..... 04/21 01:54
※ 编辑: terrorlone 来自: 163.19.121.146 (04/21 06:18)