百科问答小站 logo
百科问答小站 font logo



你所知道的最冷的国际象棋知识是什么? 第1页

  

user avatar   zj-zhang-58 网友的相关建议: 
      
“盲僧,你看到了一个华点!”

除了最常见的的 n 步杀王(mate in n)外,其实国际象棋还有很多不同类型的谜题。今天我们要介绍的回溯分析(retrograde analysis)是一类具有悠久历史和丰富题目的国际象棋谜题。与其他类型的谜题不同的是,回溯分析通常不关注棋局的未来,它聚焦的是棋局的过去。这就好比是推理小说的模式,根据当前获得的线索来推理出曾经发生的犯罪行为。

美国数学家、逻辑学家 Raymond Merrill Smullyan 写过两本特别受欢迎的回溯分析的书:

The Chess Mysteries of Sherlock Holmes: 50 Tantalizing Problems of Chess Detection.

The Chess Mysteries of the Arabian Knights: 50 New Problems of Chess Detection.

其中,第一本借用了全世界最著名的侦探,书中的福尔摩斯和华生解决了一个又一个回溯分析题,完美地展示了棋局推理的魅力。接下来,我就从这本“福尔摩斯”里面挑三道题目进行介绍,希望能以此引起大家对回溯分析的好奇与兴趣。

实事上,知乎上已经有几个国际象棋的回溯分析题了,比如 汪有 的回答:

以及 夏洋 的文章,里面的题目也是出自 Smullyan 的书:

0 规则

在回溯分析谜题中,我们总是假设当前的局面是从开局局面经过一系列合法的着法到达的。虽然这些着法可能很愚蠢、甚至很怪异,但只要它们是合法的,我们就都需要考虑。引用福尔摩斯的名言:

当你排除一切不可能的情况,剩下的,不管多难以置信,那都是事实。

关于着法的合法性,除了棋子的基本走子规则外,还有一条需要特别注意的,就是不能将自己的王送吃。更具体的,国际棋联规则 的 3.9.2 明确了如果行棋后使得自己的王处于被将军的状态,那么这手棋就是不合法的。当然,使得双方的两个王能够互相攻击的着法也是不合法的。

合法性是回溯分析的核心。回溯分析谜题是将逻辑推理与棋局的合法性检查相结合,通过巧妙的设置局面来构造趣味性的问题。另外,在回溯分析谜题中,棋子的三种特殊走法王车易位(castling)、升变(promotion)、过路兵(en passant)也经常被使用。

呃~~~此外,为了避免一些不太了解国际象棋惯例的同学开杠,再说一点,除了特别说明需要猜棋盘的摆放方位的谜题外,所有谜题的棋盘都是标准棋盘,也就是开局时白在下黑在上,所以关于棋盘摆放的问题就不必再疑问了。

1 热身

为了使大家对回溯分析有一个初步的了解,我们先来看一个热身题,这也是 Smullyan 的书的封面题

条件:当前轮到白方走。

问题:黑白双方各自的最后一手是什么?


在考虑回溯分析题的时候,一般的套路是由后向前推导出棋局的进程,所以我们先来看看到达该局面前的最后一手棋是什么。当然,最后一手是黑方下的,而且显然黑方移动的只能是自己的王。那么黑王是从哪里到达 a8 格的呢?不可能是 b7 或者 b8 ,因为这意味着白方的上一手棋造成了王互相攻击,这是不合法的着法,所以黑王是从 a7 到达 a8 的。但是问题又来了,注意到 g1 格的象是可以攻击 a7 格的,所以白方的最后一手棋是一步将军。然而,白方的象又是从哪里到达 g1 格的呢?由于 h2 格有兵存在,所以白象似乎只能是从大斜线上移动到 g1 的。但这又是不可能的,因为白象在大斜线上意味着在白方的最后一手前,黑王已经处于被将军的状态,这将导出黑方的再上一手棋是不合法的。

至此,我们的分析陷入了一个僵局,这个局面似乎是不可能从棋局的初始状态经过一系列合法着法到达的。但这也正是回溯分析题有趣的地方,它经常能巧妙地击中我们思维的盲点。上一段分析的问题在于,我们默认了在两手棋前棋盘上只有这 4 个棋子。如果能想到这一点,题目的答案就呼之欲出了。黑王肯定是从 a7 到达 a8 的,但是这步棋有可能同时吃掉了一个白子。那吃掉的白子是什么呢?考虑到白象的位置,这个白子在白方的最后一手前肯定位于白象的攻击线上,这样才能使得黑方的再上一手有合法着法。而这个白子最后到达的是 a8 格,所以被吃掉的白子只能是马。

2 不能易位

上一节的题目可能简单了一点,现在我们增加难度。

“不能王车易位”(can't castle)是回溯分析的一个重要的主题,下面这个精彩的题目在书中被福尔摩斯称为最美妙的不能易位题之一

条件:当前轮到黑方走,且双方各自的最后一手棋都没有吃子。

问题:现在黑方可以易位吗?


题目的条件已经明确了双方的最后一手棋没有吃子,所以白方的最后一手棋移动的不可能是兵。也不可能是车,因为车只能从 e1 移动到 f1,但是如果在白方行棋前白车就位于 e1 了,那么黑王就处在被将军的状态,这将与合法性矛盾。所以白方的最后一手只可能移动王,而白王可以从 h1 或 h2 到达 g1,但是 h1 h2 都处于黑车的攻击线上,因而黑方的上一手是一步将军。所以,黑方的最后一手移动的不可能是王、象、兵。另外,由于题目的条件说双方的最后一手棋没有吃子,所以也不存在与上一题类似的黑方移动一个象、马或者兵闪将(discovered attack)然后被白王吃掉的情况。因此,黑方的最后一手棋只能是移动车并将军。这意味着黑方的车在此前的对局中已经移动过了,所以题目中的局面下黑方不能易位。

如果你的回答只是这些,那么最多只能得到 30% 的分数。


因为白方的最后一手还可能是王车易位!现在我们假设白方的最后一手是易位,然后考察黑方的最后一手棋是什么,注意这手棋没有吃子。我们分三种情况讨论:

1. 如果黑方的最后一手移动的是王或者车,那么显然题目中的局面下黑方是不能易位的。

2. 如果黑方的最后一手移动的是象,那么象只可能是从 e2 到达 d1,这将意味着白方的倒数第二手没有合法着法。因为 e2 被黑象占据,白方 f3 的兵不可能从 e2 到达。而白方的其他兵都在原位,这意味着白方的倒数第二手移动的是王或者车,但这与白方的最后一手是易位的假设矛盾。

3. 如果黑方的最后一手移动的是兵,那么白方的倒数第二手必然是兵从 e2 到达 f3。但是当我们再次回溯到白方的倒数第三手时会发现,白方的所有兵都在原位,能动的只有王和车,这又将与白方的最后一手是易位矛盾。

如果你的回答只是这些,那么最多只能得到 60% 的分数。


上一节分析中的情况 3 中,黑方的倒数第二手还可能是一手吃子,从而白方的倒数第三手就可能有其他着法了。现在,终于到了这道题最精妙的地方了。我们假设白方最后一手是易位,黑方最后一手是进兵,白方倒数第二手是兵从 e2 到达 f3 吃子,然后继续分析。

这里的关键点在于黑象是如何到达 d1 的?注意,白方的 c2 兵没动过,因而在白方的 e2 兵吃子前,黑象是不可能从其他地方跨过白兵到达 d1 格的。所以,唯一的可能就是这个黑象是由兵升变而来的!接着我们考察黑兵是如何升变的。注意,黑兵升变时白方的 c2 和 e2 兵都还在原位,所以黑兵只能从 d2 到达 d1 进行升变。但是,黑兵位于 d2 时是可以攻击 e1 格的,而 e1 格正是白王的初始位置!因此,黑兵到达 d2 时白王要么已经不在原位,要么正要避开黑兵的将军。无论哪种情况都与白方的最后一手是易位矛盾。

3 寻找宝藏

上面的题目可能还不够复杂,现在我们来提高复杂度。

在 Smullyan 的书中,老船长将宝藏埋在一个岛上,并用三道回溯分析题作为藏宝图指示埋藏的地点,下面这个题就是其中之一

条件:棋局中黑方没有升变。

问题:黑方的白格象是在哪一格被吃掉的?


题目的条件中没有给出现在轮到谁走,但是注意到黑王正被将军,所以最后一手是白方下的。而白方 a1 车的位置决定了这一手移动的不是车。观察后发现白方能进行闪将的棋子只有白王,所以白方上一手是王从 a2 或 a3 移动到 b3。但注意到黑方的 c2 车的位置,如果白王是来自 a2 那么黑方的最后一手没有合法着法。因为这一手移动的不是黑车,也没有棋子可以进行闪将。而如果上一手白王吃掉了一个黑方的棋子,那么这个黑子只可能是从 b2 达到 b3 的,满足条件的棋子只有车和后,但在移动前都已经将军了。所以,白方的最后一手是王从 a3 移动到 b3(可能吃子)。注意黑方的 f8 象的位置决定了黑方的最后一手棋是一步闪将,而闪将的棋子又被白王吃了。所以这个被吃的黑子是从黑象的攻击线上移动到 b3 的,满足这个条件的黑子可能是后、车、马、兵。而后和兵是不可能的,因为在黑方移动前白王就被将军了,所以只能是车或者马。

至此,单纯的回溯已经无法继续了,接下来的分析就需要额外的观察了。首先需要注意,题目中的局面中白子有11个,黑子有 12 个。注意黑方没有升变,现在棋盘黑方上有 12 个子,所以有 4 个黑子(车、马、白格象、兵)被吃了,其中有一个车或者马被白王吃了。然后我们看到,白方的 h4 兵是来自 f2 的,且在黑格吃了两个黑子,所以被白兵吃的是一个兵和一个车或者马。而如果白兵吃了黑兵的话,那么意味着吃得肯定是黑方的 c7 兵。但是 c7 兵到达 g3 格需要吃掉白方 4 个棋子,而注意到黑方的 g4 兵是来自 e2 的,它吃了 2 个白子。所以这两个兵共吃了 6 个白子,但是棋盘上还有 11 个白子,因此我们得到了一个矛盾。

我们又一次陷入了僵局,这个题出错了吗?当然没有,我们只是再一次忽略了一个盲点。上面分析的问题在于,我们假设了闪将只能是移开己方的一个位于另一个棋子攻击线上的棋子,从而让出攻击线进行将军。发现问题了吗?为什么移动的棋子必须要位于另一个棋子的攻击线上呢,如果移动的棋子不在攻击线上能不能闪将呢?回答是肯定的,没错,就是过路兵!黑方的最后一手是兵从 a4 或者 c4 吃掉 b4 的过路兵到达 b3,同时亮出黑象的攻击线将军。注意到吃过路兵的前提条件,所以白方的倒数第二手是兵从 b2 到达 b4。又因为白方的 d2 兵没有移动过,所以在 b2 兵移动前,白方 c1 的黑格象没法移动(这也说明该象是在原位被吃),这意味着白方 f2 的象是升变来的。升变兵显然是 a2 兵,而且它吃了黑方的白格象到达了 b 线。

最后的问题就是确定 a2 兵在哪个格子吃掉了黑象。如果能说明黑方的 b6 兵是来自 b7 而不是 c7,就能确定黑方的白格象是在 b7 被吃。现在我们就来用反证法说明这一点。假设 b6 兵是来自 c7,那么吃掉白方过路兵的黑兵就来自 b7,而 b7 兵要到达 a4 或者 c4 至少要吃掉一个白子,再加上过路兵,b7 兵就吃了 2 个白子。再结合事实:棋盘上现存白子 11 个、c7 兵吃了 1 个子、 g4 兵吃了 2 个子、白方 c1 象在原位被吃,我们就能得到矛盾。

4 讨论

我从 Raymond Merrill Smullyan 的书 The Chess Mysteries of Sherlock Holmes: 50 Tantalizing Problems of Chess Detection 中找了三道具有代表性的题目来展示回溯分析谜题的魅力。希望通过这几题的训练,大家能够体会棋盘推理的乐趣和巧妙,初步理解国际象棋谜题设计的品味和美学。我相信,当大家下次再遇到回溯分析问题时,不会再喊“坑爹呢,这是”。

另外再提一下,回溯分析不仅仅在国象爱好者中流行,它还引起了计算机科学工作者的关注。2020年,Josh Brunner, Erik D. Demaine, Dylan Hendrickson, Julian Wellman 在他们的文章 Complexity of retrograde and helpmate chess problems: Even cooperative chess is hard. In Proceedings of the the 31st International Symposium on Algorithms and Computation (ISAAC 2020), pages 33:1–33:14 中,从计算复杂性的角度讨论了回溯分析的困难程度,证明了广义的国际象棋回溯分析属于 PSPACE-complete。

关于 Smullyan 的另外一本“阿拉伯骑士”—— The Chess Mysteries of the Arabian Knights: 50 New Problems of Chess Detection,等我找到了并看完了再来写吧(摊摊手)。


最后附一些私货。我们已经看到国际象棋有的回溯分析有大量精彩的例题,但是关于中国象棋的回溯分析我却完全没找到。可能是因为中国象棋的棋子行动能力要比国际象棋低一些,设计回溯分析题会比较麻烦。这里,我自己尝试设计了几个,感兴趣的同学可以做做看,同时帮忙检查一下是不是有错误。

类似国际象棋,我们规定如果某方的一手棋后自己的帅(将)处于被将军的状态,那么这手棋就被认为是不合法的。当然,我们继续假设当前的局面是从开局局面经过一系列合法的着法到达的。

第一题《死锁》

条件:现在轮到红方走。

问题:到达该局面前的倒数第四手棋(也就是红方的倒数第 2 手棋)是什么?(两手棋为一个回合,答案唯一)另外,删掉棋盘上的任意一个棋子后,答案还唯一吗?

第二题《将军》

这道题要特别感谢 @岁月忽已晚 @夕雪 @ssswjs 快速地指出错误,并协助一起修改。

条件:无。(除了该局面是从初始局面经合法着法得到以外,无其他额外条件)

问题:到达该局面前的倒数 5 手棋是什么?

更多中国象棋推理题和上面两题的解答可以看:



2021.12.27


user avatar   gao-fei-long-50 网友的相关建议: 
      

@Haochen Liu @萌娘仁波切

邀请...

(题主

@Haochen Liu

:“什么鬼!我啥时候邀请你了!?”)

哦对,你邀请我的是这个问题:

你所知道的最冷的围棋知识是什么? - 冷知识

,可是该问题下已经有很多好回答了,我暂时想不到有什么内容可以补充...

而国象的这个问题...实在太适合我了...这俩问题又都是你提的,是同一组问题,于是我很无耻的假装你邀请我了...不要吵醒我...

我学国象是在二十年前,当时极不用功,天天不好好做题只想着研究一些奇葩的排局...

然后没两年我就转投另一个项目去了,于是现在还残存的国象知识和记忆,只剩下一些逗乐子的东西了...看到此题,我专门去翻了几个小时候印象深刻的排局...

欸欸欸路边的盆友你表走啊,我保证你能看懂这个回答的大部分内容,而且后面的内容很有趣哦(●'◡'●)

先放一个我最喜欢的排局:

这是1980年苏联棋手马楚凯维奇编制的排局——“不动宝石花”。

注意右边那个对称的“马兵阵营”,两个马所有能走的点都被己方的兵挡住了,而每方的16个兵也都被对方的兵挡住了。

于是,这个花一样的阵营,就完全不能动弹了!马楚凯维奇给她起名叫“不动的宝石花”!

在这个局面下,左下角和左上角的那两个王,无论放在这里还是其他地方,都是和棋。

换言之,“宝石花”是不能动的,余下的时空里,只有两个王互相满场跑动了!

黑王和白王二人不能互相接近,也无法破坏“宝石花”,成为了天长地久的和棋,你们在一起好了(咦混入了神马奇怪的东西)。

接下来,普及一个知识:

在中国象棋里,如果你被逼的无棋可走了,或者除了把老将送死之外没有别的棋可走了,那就输了,这叫“困毙”;

而在国际象棋里,如果我现在没有被将军,但是全盘所有子力都不能走动,或者能走动的子都会直接导致王的死亡,那么咱们就...和了...

没错,这是两者很大的一点不同,国象里无棋可动不算被“困毙”,而是直接算和棋...于是这个规则引发了很多有趣的现象...

试想一下,如果你是一个菜鸟棋手,却面对着一个实力之强劲甩你10086条街的对手,你想赢棋是绝对不可能的了,那么有没有什么和棋的方法能拯救你呢?

一些闲着无聊的国际象棋大师们,曾经制作过以下这个排局:

形成过程:

1.e2-e3 a7-a5

2.后d1-h5 车a8-a6

3.后h5:a5 h7-h5

4.后a5:c7 车a6-h6

5.h2-h4 f7-f6

6.后c7:d7+ 王e8-f7

7.后d7:b7 后d8-d3

8.后b7:b8 后d3-h7

9.后b8:c8 王f7-g6

10.后c8-e6

从开局之后,黑棋不断的送死棋子,白方的后就跟在后面不断的吃,十个回合以后形成了以上的局面:

黑棋除了王之外,都不能动了!而王能走的左上、左下和下方三格,也都被白方的后和兵看死了,也不能走!

于是,双方强行和棋了...

好,我下不过你,于是我不断送死,然后把自己的棋子走成一坨,互相挡住。

最后你看,我不能动了,咱俩和棋了...

白棋会不会想杀人...

其实,创造上面这个排局的大师,还设计过另一个更加复杂的排局,回合数更多,但是死掉的棋子却大大减少:

形成过程:

1.d2-d4 d7-d6

2.后d1-d2 e7-e5

3.a2-a4 e5-e4

4.后d2-f4 f7-f5

5.h2-h3 象c8-e6

6.后f4-h2 象f8-e7

7.车a1-a3 c7-c5

8.车a3-g3 后d8-a5+

9.马b1-d2 象e7-h4

10.f2-f3 象e6-b3

11.d6-d5 e4-e3

12.c2-c4 f5-f4

你瞧!白方大部分的子都没处走,从走法来说能动的只有王、d2的马和g3的车,可是这三个子任何一个动一下,白王就死了...但白王现在又没有被将...

于是,黑棋就被白棋逼和了...而且在这个排局中,双方所有子力都还在盘上,没死一兵一卒...

编排这些排局的大师啊,平时是得有多闲啊...

上面那两局,都是单方面无法动弹造成和棋。下面,我们再来看两个双方最后都无法动弹的排局:

形成过程:

1.e2-e4 d7-d5

2.e4-e5 d5-d4

3.c2-c3 f7-f6

4.后d1-f3 王d8-f7

5.王f3:b7 后d8-d5

6.王e1-d1 后b7:g2

7.王d1-c2 后g2:f1

8.后b7:c8 后f1:g1

9.后c8:b8 车a8:b8

10.车h1:g1 车b8-b3

11.车g1-g6 车b3-a3

12.车g6-h6 g7:h6

13.b2:a3 王f7-g7

14.王c2-b2 d4-d3

15.e5-e6 a7-a5

16.h2-h4 a5-a4

17.h4-h5 c7-c5

18.f2-f4 c5-c4

19.f4-f5

在上面这个排局里,最后双方的棋型呈中心对称状,而且除了王以外的子都不能动,王能走的位置也会被将死...

于是,在双方都无法动弹的情况下,黑白以中心对称的形状,和棋了...

别急还有呢,以下这个排局中,双方经过了更多回合,最终在各自只死了一个马的情况下,也形成了中心对称的双方无法动弹的和棋局面:

形成过程:

1.马g1-f3 马b8-c6

2.马b1-c3 马g8-f6

3.马c3-b5 马f6-g4

4.h2-h3 a7-a6

5.马b5-a7 马g4-h2

6.马f3:h2 马c6:a7

7.g2-g4 b7-b5

8.象f1-g2 象c8-b7

9.e2-e4 d7-d5

10.王e1-e2 王e8-d7

11.后d1-g1 后d8-b8

12.b2-b4 g7-g5

13.象c1-b2 象f8-g7

14.车a1-f1 车h8-c8

15.象b2-d4 象g7-e5

16.f2-f3 c7-c6

17.象d4-f2 象e5-c7

18.象f2-e1 象c7-d8

19.王e2-f2 王d7-c7

20.a2-a4 h7-h5

21.a4-a5 h5-h4

22.c2-c4 f7-f5

23.c4-c5 f5-f4

24.e4-e5 d5-d4

25.e5-e6 d2-d3

看着这些黑白互相对称的和棋局面,我为什么想到了《天龙八部》里,最后在扫地僧的运功救治下,四手相握泯恩仇的箫远山和慕容博...

大师们,你萌是在搞笑咩?

话说我当年就是天天研究这些东西,所以最后才没把国象学好呢...只好转投围棋拯救自己了...

我才不会承认是因为智商低呢口亨→_→

(注:后面四个逼和排局的形成下法要全打出来实在太麻烦了,但抱着严谨的写答态度我一定会补上的,且待我先去吃个饭洗个澡换身衣服砌壶茶再环游个世界然后再回来补...)

(再注:已补完,我说的才不是人类补完计划的那个补完呢)




  

相关话题

  为什么中国象棋没有强力的斜行子? 
  有哪些知道后让你震惊的冷知识? 
  《水浒传》中有哪些有趣的冷知识? 
  人可以控制梦境中的事吗? 
  铁线虫是如何驱使螳螂跳水的? 
  如何优雅地跟别人说要上厕所? 
  春秋战国时期,周天子是如何渐渐失去对各诸侯国的控制力的? 
  有没有人认得这是什么虫子,看起来好吓人? 
  为什么手泡水久了,手指肚会皱? 
  有哪些关于辐射的冷知识? 

前一个讨论
为什么丁香医生总是用西医观点解释问题?中医没有贡献么?
下一个讨论
如何评价雀魂新的魂天机制?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利