[閒聊] 淺談西洋棋謎題的逆向分析領域

看板puzzle (益智遊戲 - 數獨,拼圖,推理,西洋棋)作者 (憂鬱症有希望康復的星君)時間15年前 (2009/04/20 18:31), 編輯推噓5(500)
留言5則, 5人參與, 最新討論串1/2 (看更多)
上次在其中一篇謎題當中我已經簡單解釋過逆向分析(retrograde analysis) 的意思了,不過因為我希望這篇文章可以作為獨立的文章, 所以這邊我可能會少許重複之前的內容,不過最主要的, 我打算透過各式各樣的簡單例子來大家能夠對逆向分析有個完整的認識, 而且本篇中提到的題目我都會直接給予詳解,讓各位可以熟悉逆向分析的思路。 本篇中的題目都沒有跟之前的重複到,解答我用暗色字表示。 一樣,這篇當中我會採用 Algebraic Notation 描述棋步, 各位可以參考 Wikipedia 的介紹、或者 chess 板的精華區也有解說。 (0) 前言 其實逆向分析的本意,是指從當前的局面倒過來分析之前可能有哪些局面, 這個技巧打從二十世紀初以來就被用在建立殘局資料庫上頭, 不過除此之外,基本上下棋的人理論上是不會需要用到這種技巧的, 畢竟下棋只需要在乎之後要怎麼辦就好,沒有人需要關心之前發生了什麼事。 直到有些人開始拿這種概念設計西洋棋謎題之後。 (1) 逆向分析的直接將死 逆向分析謎題當中最早出現的一類可能就是所謂的「逆向分析的直接將死」。 直接將死始終是西洋棋謎題的王道, 然而到了十九世紀末開始有一些充滿創意的謎題作家、 開始在這種古老的題型當中暗藏了逆向分析的玄機在裡面, 如果不先做一下逆向分析的話是沒辦法正確解開題目的。 底下的例子是改編自 Sam Loyd(1859)的題目:白先,二步將死。 8         黑白 7         pP = 小兵 6         rR = 城堡 5           nN = 騎士 4       bB = 主教 3          qQ = 皇后 2          kK = 國王 1              abcdefgh 其實這個改編的題目安插了不少多餘的元素來誤導各位的視聽, 但其實原本的題目就只有最上面三列的東西而已, 當然那樣可能很快就會讓各位發現題目的玄機了, 但反正我這邊準備直接告訴各位,所以不用傷腦筋也無妨。 如果不假思索就開始做這題的話,肯定途中就會遇到一個大麻煩: 一旦黑方進行城堡護王,那不管怎樣都要三步才能將死黑方, 而且就算交給電腦去找解答,得到的結論一定也會是這樣。 這正是這題的陷阱所在:事實上黑方是沒辦法城堡護王的。 理由何在?注意看局面。這個局面是白先,請問黑棋的前一步是什麼? 我這麼一問各位一定就會立刻發現,黑方前一步只有可能是移動了國王或城堡, 換句話說,根據規則,黑方接下來肯定是沒辦法城堡護王的! 這種事情,如果你不告訴電腦,它絕對不會自己發現的。 所以,既然這招防禦已經行不通,答案就呼之欲出了:第一步是 1. Qa1!!, 而接下來不管黑棋應什麼,都只有 2. Qh8# 的份。 (2) 倒退問題 自從開始有了上面這種「逆向分析的直接將死」問題之後, 謎題作家開始對於這種需要分析局面之前發生了什麼事情的題目產生了興趣, 這個時期很流行的一種題目就是倒退問題, 也就是要解謎者精確地說出局面之前走了什麼棋步, 這邊所謂精確,或者所謂棋步的「完全決定」, 指的是要完全說出是哪一個棋子從哪裡移動到哪裡、以及吃了什麼(如果有的話)。 通常問這類問題的時候用來計算棋步的單位會是「單步(single move)」, 也就是黑白雙方各走一次稱為兩個單步。 底下的例子是改編自 J. Mortensen(1956)的名題:求出黑棋的前一個單步。 8         黑白 7           pP = 小兵 6           rR = 城堡 5           nN = 騎士 4           bB = 主教 3           qQ = 皇后 2          kK = 國王 1             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   黑白 7   pP = 小兵 6           rR = 城堡 5           nN = 騎士 4           bB = 主教 3           qQ = 皇后 2   kK = 國王 1       abcdefgh 題目:現在這個局面是輪到黑棋走。請說出黑棋肯定曾經走過的某一步。 初看這個題目,黑白雙方的棋子全部都還在原本的位置上, 除了白棋被吃掉了一個城堡之外。在其他棋子都沒有動過的情況下, 顯然那個城堡只能是被黑方跳過來的騎士吃掉的,而該騎士稍後又跳了回去。 因此不假思索的人可能會回答:黑棋絕對下過 Ng3xRh1 這一步(以及退出的那一步)! 抱歉,又錯了喔。 為什麼?好好看清楚題目,它說這個局面現在是輪到黑棋走。 那又怎樣?想想看,如果局面現在是輪到黑棋走,那就表示在這之前, 白棋比黑棋多走了一個單步,也就是說白棋走過的步數跟黑棋的步數之奇偶性一定不同, 但是注意到騎士的移動也有奇偶性:如果此刻騎士是在白格子上、 那麼下一步它一定就是在黑格子上,反之亦然。 換句話說,如果最後騎士又回到了原來的位置, 那麼騎士總共必定是走了偶數步(就算兩個騎士最後的位置交換也一樣), 而移開了騎士之後,唯一能夠移動的城堡如果最後也回到了原本的位置, 那總共也是走了偶數步,所以,假設白城堡是在 h1 被吃掉的, 那麼就會導致黑白雙方同樣都是走了偶數步,是故這個局面不可能是黑先! 於是唯一合理的解釋是:其實白城堡是在 g1 被吃掉的才對, 只有這樣才能破壞奇偶性的對稱。 因此,黑棋肯定有走過的那一步不是 Ng3xRh1, 而是 Nh3xRg1(以及退出的那一步)才對! 什麼?你問為什麼不能是 Nf3xRg1? 因為如果黑騎士來到 f3 的話白王不就被將軍了嗎?黑騎士還有可能活著離開嗎? (4) 著色問題 著色問題比較是從 1950 年代之後才開始流行的, 這種題目會給予一堆顏色未判定的棋子,要求解謎者正確著上黑白兩色, 而且很多時候題目也會順便問一點倒退。 底下是一個簡單的例子,G. Husserl(1966)的題目: 8       黑白 7         pP = 小兵 6        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    黑白 7     pP = 小兵 6           rR = 城堡 5           nN = 騎士 4           bB = 主教 3           qQ = 皇后 2   kK = 國王 1       abcdefgh 題目:這是黑棋走完第四步之後的局面,請把棋譜寫出來。 首先,黑棋總共被吃掉了一個騎士和兩個小兵, 白方只出動了一個騎士,而顯然這個騎士的第一步絕對不可能吃到任何東西, 因此我們就知道這個騎士打從它的第二步開始連續吃了三個棋子, 並且在吃完最後一個棋子之後被黑棋的下一步收拾掉。 而白騎士要在第二步就有東西吃只有一個辦法,就是位於 e7 的小兵走兩步給它吃。 這麼一來前三個單步都確定下來了。 但我們發現了一個奇怪的狀況: 黑棋在最後一步吃掉白騎士之後竟然所有的棋子都歸位了, 也就是說白騎士最後吃掉的東西是在黑棋圖中佔據的位置的其中之一, 然而兩個黑兵因為沒東西吃只能直走,怎麼樣也不會跑到圖中的黑棋佔據位置上, 因此由這點就可以推知,白騎士最後一個吃掉的是黑騎士, 而那個吃棋的地點就只能是在 b8,且在它吃掉之後, 立刻就被另一個黑騎士吃了回來。 整理這些線索,我們就不難想出這個棋局的真面目了: 1. Nf3 e5 2. Nxe5 Ne7 3. Nxd7 Nec6 4. Nxb8 Nxb8 起初恐怕很少人能想像得到圖中位於 b8 的騎士竟然是原本在另一邊的騎士吧? 呼,好累,先寫到這邊好了,下次有機會再介紹其他題型給大家認識吧。 再會囉~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.19.121.146

04/20 19:29, , 1F
相當精彩啊~~~大推
04/20 19:29, 1F

04/20 20:12, , 2F
先用力推一下^^
04/20 20:12, 2F

04/20 21:20, , 3F
一定要推的啦 感覺每個例題都有陷阱成分XD
04/20 21:20, 3F

04/20 22:16, , 4F
喔~那題也有逆推的成分嗎???
04/20 22:16, 4F

04/21 01:54, , 5F
有種相見恨晚的感覺 太多好文了.....
04/21 01:54, 5F
※ 編輯: terrorlone 來自: 163.19.121.146 (04/21 06:18)
文章代碼(AID): #19x4xedc (puzzle)
文章代碼(AID): #19x4xedc (puzzle)