作者LPH66 (-858993460)
看板puzzle
标题Re: [问题] 西洋棋谜题(棋谱重建 + 倒退问题)
时间Sun May 8 09:44:20 2011
边等看有没有副本可出边解题...(爆 (最近掉进幻月里去了 XD||
以下有雷 题目引文当防雷页 0.0
※ 引述《terrorlone (要努力成为伟大的学者)》之铭言:
: 棋谱重建跟倒退问题堪称是逆向分析的两大王道,
: 但这两者其实很独立的:倒退唯一完全不保证特定步数的棋谱唯一,
: 而棋谱唯一也不保证能因此有很长的唯一倒退。
: 不过下面这道题目刚好设计了一个两边都强迫出唯一解的局面。
: 这确实是很巧妙的设计,但对解谜者来说,
: 题目不但没有因此变难反而还变得非常简单,
: 因为可以同时拿两种题型的技巧来一起解这个问题。
: M. Caillaud(2009)首奖:
: 8 rn kqnr 黑白
: 7 p pp ppp pP = 小兵
: 6 p P rR = 城堡
: 5 P nN = 骑士
: 4 bB = 主教
: 3 n qQ = 皇后
: 2 PPPPPP kK = 国王
: 1 BQKB
: abcdefgh
: 题目:这是黑棋下完第 16 步的样子,请写出棋谱。
: 此外请在不假定前述条件的情况下求出前 12 单步。
: 难度:★★(纯属个人见解)
首先看失子 白方失去两城两骑
而黑方多了一个骑士 它只能是升变来的
c6 那个黑兵是由 b7 来的这没问题
而 e7 兵要能升变得要到 a1 或 h1
但到 a1 需要斜移四次 到 h1 只要斜移三次
而白子只有四个失子 因此 e7 兵是到 h1 升变为骑士
反过来 黑方失去两主教 正好全部用在 a2 兵到 c5 的路程
而由於两主教在不同色格上
因此 a2 兵到 c5 的路线只能是 a2xb3-b4xc5
那麽统计黑棋步数:
c8 主教要在 b7 兵离开後才能动
而从那个方向离开要到同色的 b3 至少要三步 (c8-a6-c4-b3);
f8 主教同样在 e7 兵离开後才能动
到同色的 c5 至少一步;
b7 兵显然只有吃子动过一步;
皇后显然至少需要两步 (d8-e7-f8);
e7 兵走到 h1 需要 5 或 6 步
升变为骑士後第一步只能是 Nh1-g3 然後由 g3 到 d3 至少要三步
(在不回到 1 2 两行的前提下只有两解: g3-e4-c5-d3 和 g3-h5-f4-d3)
这样总共 3+1+1+2+(5 or 6)+4 = 16 or 17
因此由条件 e7 兵走到 h1 只花五步 故其路线为 e7-e5xf4xg3xh2-h1=N
其他的棋子也都是走最短路线到定点
(同时这说明了为什麽不可能是升变後的骑士回到 b8 或 g8 而由其他骑士出到 d3
因为 h1 经 g3 回到 b8 或 g8 至少也要四步
再加上再出动的步数就不够了
因此 d3 那个骑士必是在 h1 升变来的)
接着看白方
有几件事是连锁的:
白要先送一子去 c6 给黑兵吃 c8 主教才能出来到 b3 给 a2 兵吃
a1 城堡才能出来送死
因此在 e7 兵到达 h2 时 白方就已经失去了这四子
而显然白方这之後除了原 a2 兵和原 h2 兵外其他子都不能动
由上述讨论知 这之後黑棋至少还有五步 (h2-h1=N 及这个骑士到 d3 的四步)
因此白棋这两只兵至少得要有五步能走
a2 兵至多只能有两步: b3-b4 和 b4xBc5
於是 h2 兵至少要能走三步停在 h6 这只有它在 h3 才办得到
因此我们知道 h1 城堡只能在 h2 死掉
由於 e7 兵到达 h2 时白棋至多只有 11 步
这 11 步中有两步是兵: 一个是让 a1 城出来的 a2xBb3
另一个是让 h1 城到得了 h2 的 h2-h3
於是这两城两骑总共最多只有九步可以动
a1 城在出动时 b3 有自己的兵 所以到 g3 要三步 到 f4 则只要两步
b1 骑在不经过第 2 行的条件下到 f4, g3 至少要三步
到 c6 至少要四步
g1 骑在不经过第 2 行的条件下到 c6 要三步, f4 要两步, g3 要四步
h1 城确定只有一步
这样一来若 a1 城到 g3 则两个骑士的步数完全不够
故 a1 城最後是在 f4 死掉的
这样一来两个白骑士的死亡地也就确定了: b1 骑士在 g3 死亡 g1 骑士在 c6 死亡
这样这两城两骑正好用掉九步
由於 a1 城必须至迟在第九步时到达 f4 给当时在 e5 的黑兵吃
因此首要步骤就是白棋要先把 g1 骑士送去被吃
这段时间内黑棋只有(依序) e7-e5 Bf8-c5 Qd8-e7 Qe7-f8 可以动
因此前几步便能确定了:
1. Nf3 e5
2. Nd4 Bc5 (这时黑兵在 e5 所以白骑士只能走去 d4)
3. Nc6
接着黑棋要尽快把 c8 主教放去 b3 此时白方只有 b1 骑士到 g3 的三步能动
於是接下来就是
3... bxc6
4. Nc3 Ba6
5. Ne4 Bc4
6. Ng3 Bb3
现在 e5 兵依然不能动 (f4 还没人来)
所以黑方又只剩皇后的两步可以动
於是白方要尽快把 a1 城送到 f4 去:
7. axb3 Qe7
8. Ra4 Qf8
9. Rf4
终於 e5 兵能吃的东西到了 黑方现在只有这只棋能动:
9... exf4
白方还有一个死子没定位: h1 城 所以接下来就是
10. h3 fxg3
11. Rh2 gxh2
到这里正好 11 步 於是接下来白棋只有两个兵的五步可走
刚刚提到黑棋升变後的骑士到 d3 的走法有两种
h1-g3-e4-c5-d3 和 h1-g3-h5-f4-d3
但现在盘面上 c5 有黑兵在那里 因此黑骑士不能走前者而只能走後者
於是在第 14 步时黑骑士会进入 h5
也就是说要嘛白 h3 兵要先离开 h5 再让黑骑士进 h5
要嘛白 h3 兵在黑骑士离开 h5 後再进到 h5
但後者是不可能的 因为黑骑士离开 h5 後白棋只剩一步 它到不了 h6
於是白 h3 兵至迟要在第 14 步离开 h5 这只能是它从现在开始前进
於是接下来就是一本道了:
12. h4 h1=N
13. h5 Ng3
14. h6 Nh5
15. b4 Nf4
16. bxc5 Nd3
以上 棋谱重建部份回答完了
---
倒退问题部份 (以下使用倒退代数记号)
上面有几件事是抽掉 16 步这个条件时依然成立的:
(1) 白失四子全给黑兵斜移, 黑失两子全给白兵斜移
(2) 白兵 a2xb3-b4xc5 吃两个主教的路线
(3) e7 兵到 h2 後经 h1 升变为骑士到达 d3 至少五步
且这之後白方只有兵能动
显然 (3) 中白兵能动的步数最多五步
(即为前面讨论中的两个白兵共五步 不能更多
否则要嘛 a1 城出不来 要嘛黑兵无法在 h1 升变)
首先证明此时必轮白 即上一着为黑
若否 则由 (2)(3) 以及相似於刚刚最後五步的讨论可以得到这十单步:
-1. h5 Nf4
-2. h4 Nh5
-3. h3 Ng3
-4. b4:B Nh1
-5. b3 N=h2
(其中 h3 这一退可以在 b4:B b3 的前中或後都行 但这不影响接下来的证明)
这时的棋盘是
8
rn kqnr 黑白
7
p pp ppp pP = 小兵
6
p rR = 城堡
5
b nN = 骑士
4
bB = 主教
3
P P qQ = 皇后
2
PPPPPPp kK = 国王
1
BQKB
abcdefgh
但这时轮到白退时竟无子可退 矛盾
(b3 白兵必须要等 a1 城堡归位才能退)
因此此时轮白 即上一着为黑
因此刚刚答案的 12~16 可以照搬为往前十个单步:
-1... Nf4
-2. b4:B Nh5
-3. b3 Ng3
-4. h5 Nh1
-5. h4 N=h2
-6. h3
到此得到和刚刚一样的盘面 但这时是轮黑退了
接下来黑棋能退什麽呢?
和刚刚的理由一样 白棋现在无子可退
所以这一退必须要吐一个白棋出来
但 c6 的黑兵不能这麽早退回去 否则 c8 主教就出不来了
所以只能退 h2 兵
而这一退要吐什麽子出来呢? 只能是白城堡
因为 h3 还有白兵挡着 白城堡还没离开白兵的封锁线就死了
唯一的死亡地点只能是 h2
如果不在这时吐白城堡出来 那白城堡就吐不出来了
(因为能吐白子的只能是黑兵)
因此上一单步也就确定了:
-6... g3:R
白棋接下来只能退这刚吐出来的城堡 所以再回去一单步只有
-7. Rh1
而已了 (没有吐子的原因同样因为能吐黑子的只有白兵)
以上 倒退问题部份回答完了
--
有人喜欢边
玩游戏边
上逼;
也有人喜欢边
听歌边
打字。
但是,我有个请求,
选字的时候请
专心好吗?
-- 改编自「古 火田 任三郎」之开场白
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.25.120
1F:→ terrorlone:9. Rh4 笔误应该是 Rf4 05/08 11:15
2F:→ terrorlone:另外,其实这题可以先解倒退的部分再解棋谱 05/08 11:17
3F:→ terrorlone:反正既然倒退是无条件成立的,那必定也是棋谱的一部份 05/08 11:17
4F:→ terrorlone:而且解了倒退之後棋谱少了 12 步,更容易解出 05/08 11:17
5F:→ LPH66:啊..的确是笔误 @.@ 其实我是先解完棋谱才开始想倒退的 XD" 05/08 11:32
6F:→ LPH66:订正一下 XD 05/08 11:33
※ 编辑: LPH66 来自: 140.112.25.120 (05/08 11:33)
7F:→ terrorlone:先解棋谱再解倒退基本上就是同样的事做两遍…… 05/08 11:36
8F:→ LPH66:发现一个小笔误 再订正 QQ 05/10 06:02
※ 编辑: LPH66 来自: 140.112.28.92 (05/10 06:03)