Windows 上的空當接龍第 11982 關到底能不能通過?


非常感謝各位參與討論和點贊的朋友!

由於第一次回答時候是比較隨意的寫出了這些東西,在再看過一次之後我發現這裡有一些錯誤。同時有朋友也提到了這個11982因何無解的問題,因此我對這個回答做了一部分修改和增添,希望能對對此問題感興趣的朋友有所幫助。

以下有些內容來源於國外的空當接龍大牛加資深研究者Michael Keller在過去近15年中撰寫而成的 FreeCell FAQ and links,其實這個FAQ已被很多空當接龍的國外同好奉為「聖典」,推薦各位朋友讀讀這個含有很多典故和有趣信息的長FAQ。

————————————————————————————————-——————————

11982是一個無解局,至少在Windows的標準8列+4中轉單元下。

最早在Windows 3.1中捆綁的空當接龍程序的局數是32000;進入Windows 95版中的也是一樣。空當接龍這一遊戲能夠得到大眾歡迎,與Windows 95的成功密不可分。遊戲開發者Jim Horne曾在幫助文件中留下了一句著名論斷:

「儘管未經證實,但請您相信:所有的牌局最終都能解開。」

雖然其1-32000的編號使得許多玩家進行了從1開始的順序解局玩法,但由於32000局仍然算一個「龐大」的數字,對於單個的普通玩家來說這個問題相對難以找出答案。直到1994年年中,一位空當接龍發燒友Dave Ring藉助當時盛行的Usenet新聞組,發起了一場尋找答案的活動。

他召集到了一些和他一樣的愛好者,最開始每人分配100局,然後將這些參與玩家提交的所不能解出的局整理後,再交給另一批水平更高的玩家試圖解出。參加者完成自己的100局後如果有興趣,Dave Ring將會再給他/她分配100局……整個活動前前後後共有100多人參加,歷時1年左右。

最終在這32000局中只有一局是所有參加者,包括Dave Ring本人都未能解開的:

11982。

再後來起碼有近20人在4-5年的時間裡相繼玩過了整個32000局後,都報告稱11982是不能解出的。在21世紀以來依賴電腦程序的分析中,11982也一次次擊破了研究者們的希望。

——————————————————————————————————-————————

11982用5個中轉單元才能解開。

以下是我自己玩出來的一個解法,使用的程序是由Adrian Ettlinger開發的開源空當接龍遊戲FreeCell Pro。這個程序是一個研究向的作品,有一項重要功能就是它可以改變在遊戲中的從0個到9個的中轉單元數。此處使用的a,b,c,d,e代表中轉單元;1,2,3,4,5,6,7,8代表從左至右的列;k代表回收單元。

2a 2b 2c 2d 2e 27 78 c8 4k 12

62 7k a4 7a 37 73 71 17 d1 5c

5d 56 57 57 b7 17 12 1b 1k 32

87 8c 84 82 d2 32 a1 3d 31 e4

d4 34 65 6a 61 51 84 83 42 a5

58 48 43 41 4k 45 64

——————————————————————————————————————————

Freecell Pro的最後一個版本6.5中包含了3款不同的Solver,分別為Don Woods、Shlomi Fish和Tom Holroyd開發。而每一次在利用Options→Solve功能後,Freecell Pro都會在根目錄下生成一個solution.txt作為Solver工作日誌;在這個文檔中就有使用Solver試圖解開某一局的計算次數信息。

值得一提的是,這3款Solver的一個共性特點是其採用的方式都是窮舉法推算,因此受內存容量限制,如果計算過的總解法數超過內存存儲空間的話就會報告「Intractable」;但是「Intractable」並不代表推算局是無解的。

那麼這三款Solver對於11982的解局報告結果如何?

Don Woods的Solver報告如下:

Game #11982 Impossible. Generated 78983 Hands. Elapsed Seconds: 1

即計算了78983次之後報告無解。

Shlomi Fish的Solver報告如下:

Game #11982 Impossible. 35264 Iterations Elapsed Seconds: 1

它在35264次計算後也報告了無解。

Tom Holroyd的Patsolve報告如下:

Game #11982 Impossible. Elapsed Seconds: 0

雖然Patsolve在導出的solution.txt中並不提供究竟進行了多少次計算的信息,但是在對狀態欄觀察的過程中大致可以發現Patsolve在計算了約8萬5千次後最終也報告無解。


我剛剛研究了一下,11982 是可以通過的。

關鍵之處在於,數學上和模擬出來說無法解答,是因為需要5個中轉單元(理解為放牌的地方,一共只有四個);

但是可以通過 開始遊戲-進行一個操作-再開始遊戲-撤銷,來充當第五個中轉單元(這似乎不是 bug,而是唯一解法)

截圖一下


據遊戲設計者說,每一副牌都能被完成。 大致可以確定,空當接龍中,有三局無解,分別是11982,-1,-2。(Win7中的空當接龍則有一百萬關,其中十局無解。分別是-1,-2,11982,146692, 186216, 455889, 495505, 512118, 517776, 781948局,據設計者說,需要使用撤銷功能來完成)。


我也狠狠的試了一下這局。仔細嘗試了每一種開局,最後用了一個破釜沉舟的辦法把看似應該在開局階段被忽略的(因為這一列有兩個K兩個J)最左側一列利用中轉單元先清空,然後豁然開朗順勢清理了另外兩列,最後總是少一個中轉單元而被卡死。


我彷彿看到了公務員福利這個標籤。多少年後成為研究這個時代的很多社會現象後背原因很有用的素材。出現在各大媒體的頭版頭條。


win7可以無限撤銷(之前的只能撤銷一次),所以win7版本的勝利概率比舊版高出很多啊


[圖片未上傳成功] 標籤竟然是公務員!


難道這個遊戲不是把排好順序的牌通過程序反向隨機調出來的嗎?如果是這樣,每一局肯定都有解法啊!


試過多次,解不開


有卡bug的方法。移動幾張牌,然後重新開始。就會較上次略有不同。


坐看你們怎麼無聊的


推薦閱讀:

去現場參加暴雪嘉年華(Blizzcon)是怎樣的體驗?
如何評價WiiU遊戲《異度之刃X》 ?
網吧遊戲的發展歷程,從最初到現在,我們都在網吧玩了什麼?
你們在遊戲中遇到過什麼奇葩?
高手是如何玩足球經理(Football Manager)的?

TAG:遊戲 | MicrosoftWindows |