有意識地練習

踩地雷技巧與攻略

看得更準,猜得更少。速度來自知道該看哪裡。

踩地雷怎樣才能贏?

最核心的踩地雷技巧只有一句:只翻開你能證明安全的格子。沿著已翻開區域的邊緣,先找雷已經全部插旗的數字,再找剩下的未翻開格子必須全是雷的數字。兩者都不適時間,就比較相鄰的數字。只有在無法證明任何一步時才去猜,並且選風險最低的格子。

踩地雷實用技巧

  1. 先看容易的數字。已滿足的數字和完全確定的數字,貢獻了大部分的步驟。
  2. 學會五個公式。1-1、1-2、1-2-1、1-2-2-1 和減去旗子,能覆蓋實戰中很大一部分局面。去看看配有練習棋盤的踩地雷公式。
  3. 卡住就換個地方。棋盤的其他部分往往會翻開新的資訊,改變局面。
  4. 只給能證明的格子插旗。一面插錯的旗會破壞它周圍所有的推理。
  5. 檢查之後再雙擊展開。只有旗都插對了,雙擊展開才能省時間。
  6. 殘局再用雷數計數器。快結束時,剩餘的雷數能解決局部數字解決不了的局面。

從資訊出發,而不是迷信

在本站,你的第一個格子和它周圍的格子都是安全的。從中間開局可以向多個方向翻出數字,從角落開局則需要照顧的相鄰格更少。在隨機模式下,兩種選擇都不能保證獲勝。選一個你覺得好讀的開局位置,然後專注於實際的數字。

沿著邊界掃兩遍

第一遍,找剩餘雷數等於剩餘未翻開格子數的數字:這些格子全是雷。第二遍,找雷數已經被確認的旗子滿足的數字:它剩下的相鄰格都是安全的。每翻開一片新區域就會帶來更多機會,所以不斷重複這個簡單的循環。

比較兩個數字共享的部分

當一個數字的未翻開相鄰格是另一個數字的子集時,把它們剩餘的雷數相減,差值完全屬於多出來的那些格子。差為零,多出來的格子都安全;差等於多出來的格子數,它們就全是雷。先把下面的範例練熟,再去記形狀。

先檢查旗子,再雙擊展開

雙擊展開會獎勵插對的旗子,一次翻開多個相鄰格;但它也會放大錯誤。在按 D 或雙擊之前,先檢查每面旗背後的推理,尤其是那些插得很快、或者在猜測之後挪動過的旗。

機率不等於承諾

估計風險較低的格子仍然可能是雷。能拿到精確機率時優先使用精確機率,也要看清工具有沒有考慮整個棋盤。我們的踩地雷解題器會按總雷數給各個獨立邊界加權;超出計算上限的局面會保持不標機率,而不是把局部的猜測當成精確機率展示出來。

怎樣打通高級

先在初級按舒服的節奏完成棋盤,再開始計時。當你能解釋自己插的每一面旗、能發現相互重疊的範圍時,再升到中級。用不用猜的踩地雷單獨練習推理。在高級卡住時,把整條邊界都掃一遍:別處一個簡單的數字,也許就能解開困難的那一片。

建立固定的掃描順序,而不是東看西看

在已翻開區域的邊界上選一個方向,接下來幾局都保持一致。比如從左上角的邊界開始,順時針走。每遇到一個數字,問兩個問題:它的雷是否都已經找到了?它剩下的未翻開格子是否必須全是雷?只要某一步能帶來有用的資訊就馬上走,然後回頭簡單看一下受影響的那片區域。這樣可以避免每點一下就把整個棋盤重新掃一遍。

如果某一片沒有直接的下一步,就先放一放。一直盯著同樣三個數字,反而會錯過別處很容易的推理。等其他地方翻開、可用資訊或剩餘雷數變了,再回來看。掃描既要有條理,讓你知道哪些已經檢查過;又要夠靈活,能跟上新翻出的數字。速度來自少做重複的工作,而不是把同一個沒把握的決定做得更快。

把「確定」和「假設」分開

把旗當作假設來用,會汙染它周圍之後的每一步推理。如果你在心裡假設某個格子是雷,就在推理時明確標記這個假設:「如果這裡是雷,會推出什麼?」如果推出了矛盾,就可以排除這條分支;如果沒有推出矛盾,你只是找到了一種可能的擺法,並沒有證明這個假設。

正常對局時,只把旗留給能用數字解釋清楚的結論。打算回頭再想的格子,用選用的問號標記更合適。在解題器裡,旗會被當作確認的雷;輸入一面推測出來的旗,等於改變了解題器要解的問題。遇到出乎意料的答案時,先去掉不確定的旗再分析一次。這個習慣在不用猜模式裡尤其有用:一面插錯的旗,可能讓本來可解的局面看起來自相矛盾,或者讓你期待的那一步消失。

對相鄰格子的集合做減法

局面看起來複雜時,給未翻開的格子臨時起個名字。如果一個減過旗之後的 1 看到 A 和 B,而一個減過旗之後的 2 看到 A、B 和 C,就用第二個等式減去第一個。A 加 B 在兩個等式裡都貢獻一顆雷,剩下的 C 就等於一顆雷。如果兩個數字減完後都是 1,同樣的減法則證明 C 是安全的。

前提是小範圍必須完全包含在大範圍裡。一個看到 A 和 B 的數字,不能直接去減一個看到 B 和 C 的數字:兩者誰也不包含誰,需要更多約束才能推下去。另外,比較之前先把已確認的旗減掉:一個挨著兩面旗的 3,對剩下的未翻開格子來說相當於 1。可以用互動的「減法」範例,把顯示的數字和實際還需要的雷數區分開。

弄清 1-2-1 這個捷徑什麼時候成立

常見的直邊1-2-1 公式,是數字的一側有三個未翻開的格子,且沒有其他未翻開的相鄰格。在這種情況下,兩側的格子是雷,中間的格子安全。這個結論來自相互重疊的範圍,並不是說只要出現這三個數字,雷的位置就一定如此。

如果某一端上方、轉角處或數字的另一側還有未翻開的格子,這個捷徑就可能不成立;已有的旗也會改變實際的數字。套用記住的形狀之前,先確認那條邊是封閉的,再數清每個相關數字的所有未知相鄰格。轉角版的 1-2-1 範例特意帶上了周圍的資訊,讓你練習在不套用直邊答案的情況下推理。認出公式能幫你找到可能的推理,而確認它的邊界,才讓這一步真正安全。

把 2-1-2 和 2-2-2 當作「要看上下文」的訊號

這兩種排列看起來很有規律,所以容易引人注意,但光憑數字並不能確定答案。在一條很緊的封閉邊上,有些擺法甚至會互相矛盾;而在更大的邊界上,兩側多出來的相鄰格又會讓同樣的數字完全成立。要看的是:哪些未知格是共享的,哪些只屬於某一個數字,哪些已經被翻開的 0 排除了。

兩個練習範例給出了完整的周圍數字,而不是讓你死記一串孤立的數字。先從已經滿足的範圍入手,再把其餘數字逐個化簡。切換範例、旋轉棋盤,能幫你分清「格子之間的關係」和「碰巧記住的圖案」。如果你說不出某個格子為什麼一定是雷,就先別插旗。認出一串熟悉的數字,是開始推理的提示,而不是跳過推理的許可。

先檢查旗,再用雙擊展開提速

當一個數字周圍的旗數與它相等時,雙擊展開會翻開它其餘的相鄰格子。在電腦上可以雙擊這個數字、左右鍵同時按,或者選取後按 D;在手機上輕點這個已滿足的數字即可。先把一種方法練熟,再在計時對局中考慮切換。

旗數相等只是觸發條件。如果有一面旗插錯了位置,雙擊展開會直接翻到真正的雷。在數字密集的地方雙擊前,先確認每面旗是怎麼來的,尤其是好幾步之前插的旗。有時只翻開一個已證明安全的格子,就能拿到足夠的資訊。高效並不等於一次翻開最多的格子,而是用你能準確執行的操作,以最少的可靠動作拿到需要的資訊。

比較風險,但別把百分比當成承諾

如果必須猜,是雷的機率越低越好,這是首要標準。在同一個完整模型下,是雷機率 15% 的格子比 40% 的更安全,但兩者都不保證安全。如果你反覆遇到這樣的機率,有些低風險的選擇仍然會輸。要把「決策好不好」和「這一下的結果」分開看。

機率還取決於計算時考慮了哪些資訊。只看局部的擺法數,可能忽略了總雷數和其他不相連的邊界。MinesweeperHQ 會把各個獨立邊界的計數合併,並在你提供總雷數時按整體總數加權;沒有總數時,分析器會說明它假設每種合法擺法機率相等。超出計算上限的局面會保持不標機率,而不是給出編出來的百分比。不要把沒標機率的格子當成零風險,也不要把在不同假設下算出的百分比當作同一種結果來比較。

別忘了未接觸的區域和剩餘雷數

有些未翻開的格子不挨著任何已翻開的數字。它們沒有局部約束,但仍然和有約束的邊界一起分配剩下的雷。假設某條邊界可能有一顆或兩顆雷:如果全盤只剩一顆雷,兩顆雷的擺法就不可能出現;反過來,如果還剩好幾顆雷,多出來的雷在未接觸區域裡有多少種放法,會改變邊界上各種擺法的相對權重。

這就是為什麼「邊界有兩種可能的形狀」並不自動意味著各佔 50%。其中一種形狀可能讓其他地方有多得多的合法補全方式。到了殘局,用計數器決定局部的一步之前,先把所有剩下的未翻開區域放在一起數。並且先檢查旗:一面插錯的旗既會從總數裡扣掉一顆雷,又會給旁邊的數字加上一個錯誤的假設,局部和整體的推理都會受影響。

猜的時候,先求活下來,再考慮資訊量

沒有確定的下一步時,翻開一個格子可以有兩個目的:這一步不踩雷,以及為之後翻出有用的資訊。兩者相關,但並不相同。角落的格子可能眼下更安全,而另一個位置如果安全,能翻出更有資訊量的數字。評估整棵未來的決策樹,要比計算眼前這一下是雷的機率難得多。

解題器推薦的是它實際算出的機率中,眼前是雷風險最低的那個格子,並不聲稱這個選擇能讓整局獲勝的機率最大。實際練習時,先從你能說出理由的風險開始。如果幾個格子的風險相同,可以考慮哪一個能把分開的區域連起來,或者區分幾種互相競爭的擺法,但要清楚這是額外的策略判斷。不要因為模糊地覺得「能開一大片」,就認定它眼前的風險更低。

輸了以後,做一條簡短而具體的記錄

輸了之後,先判斷最後一步是推理、有意的猜測,還是操作失誤。推理出來卻踩了雷的那一步最值得細看:檢查斜角相鄰格、減過旗之後的數字,以及你用過的公式的準確邊界。有意的猜測即使分析正確也可能輸。操作失誤則需要換個方式調整,比如把格子調大、插旗時放慢節奏,或者換一種更順手的操作方法。

如果你有練習筆記,就寫一句這次學到的東西,例如「我把一個多出來的未翻開相鄰格當成了公式之外的格子」。這比「我不擅長高級」更能指導行動。本機統計能看出你完成的局數有沒有變多、時間有沒有變短,但不會告訴你為什麼輸。先用幾局仔細檢討找出反覆出現的錯誤,再決定要不要改變整體的打法。練習的改變越具體,進步就越容易看見。

用短時間、單一目標的方式練習

第一次練習時,不看計時器,每插一面旗之前都先說出理由。另一次練習專門找已滿足的數字,並正確地雙擊展開。第三次則專注於比較相互重疊的範圍。公式小測驗適合檢查你在圖形旋轉後還能不能認出同樣的關係,而完整的一局則考驗你能不能在一堆干擾數字中找到它。

不用猜模式把推理練習和無法避免的猜測分開了,但你仍然需要掃描邊界、檢查旗子。先認真把邊界掃一遍,再使用提示。讀完提示給出的理由後,用自己的話再解釋一遍,然後繼續。使用了提示的對局會在統計裡單獨分組,你既能比較不借助提示時的表現,也不必隱藏自己的學習過程。當失誤越來越多、判斷越來越草率時,就結束這次練習;一次又一次地快速重開,並不總是有效的練習。

小棋盤看得懂了,再升一級

初級適合練習準確的操作和局部計數。中級的空間足夠出現好幾條邊界,適合練習「離開難的區域、去別處找下一步」。高級則同時增加了寬度和雷的密度。在手機上,高級棋盤會改成直向排列,但仍可能需要捲動。要確保你能回到某個數字,而不會搞丟已經確認過的旗。

升級沒有硬性的時間門檻。當你在小棋盤上通常都能說出每一步的理由時,就可以試試更大的棋盤;某項技巧需要練習時,也可以退回來。自訂棋盤可以單獨練習某種尺寸或密度,但密度特別高的不用猜的棋盤可能產生得更慢,或者需要重試。產生失敗並不代表你選的設定已經有一道驗證過的謎題可玩;網站會如實報告失敗,而不會悄悄換成一個隨機棋盤。

用解題器檢驗你的推理

「分析這個棋盤」會把目前看得見的局面(包括旗子)傳到解題器,並在跳轉前暫停遊戲。解題器拿不到隱藏雷的位置。知道總雷數時就填上,每個已翻開的空白格都輸入為 0。如果你輸錯了某個數字,分析器可能會檢測到矛盾;但如果輸錯的局面仍然有合法解,它只能回答你輸入的那個局面。

點選亮起的格子去讀推理原因,而不只是照抄答案。修改任何數字之後,舊的證明會被清除,直到你重新分析。一個有用的練習是:先自己預測一個安全格,再看解題器是否同意,以及它的解釋用的是不是同一種關係。如果一大片相連的邊界超出了計算上限,可以補充更多已知數字,或者先處理棋盤的其他部分。如實說明計算的上限,好過給出一個快速但沒有依據的結論。