how do i compare two approaches in masyu puzzle
如何在 Masyu 謎題中比較兩種解題方法

在 Masyu 迴圈中「比較兩種方法」的意義

Masyu 要求你沿著一條封閉的正交迴圈穿過每一個黑珠與白珠,同時滿足兩個相反的局部規則;而比較兩種方法,就是在「逐珠解題」(從每個線索向外推展)與「先畫形狀」(先描繪迴圈輪廓,再檢查珠子)之間做選擇。在固定的 4×4 棋盤上,兩種策略都能達成同一個十二步解答,得到 880 分,但決策順序、能及早發現的錯誤類型,以及重新解題的速度,都存在可量化的差異。Masyu Puzzle 瀏覽器工具直接呈現了這項比較:棋盤是公開的、驗證是即時的,並有 Restart 指令讓你從已知的空白狀態重播任一條路線。要有意義地比較兩種方法,你需要一道可重現的謎題、兩套明確的決策順序,以及評分每次嘗試的方式——這正是該工具所提供的。

兩種標準方法一覽

在你開始按鍵之前,先寫下每種方法實際上優先決定的事會有幫助。逐珠解題代表下一格是因為滿足某顆珠的局部規則而選;先畫形狀代表下一格是因為維持一條事先規畫好的迴圈輪廓而選,珠子的規則則在之後檢查。下表整理了這兩種方法在公開題版上的實際差異。

面向 逐珠解題 先畫形狀(輪廓)
第一個決策 辨識黑珠所需的 90 度轉彎 挑選一個接觸四邊的封閉輪廓
作業順序 局部線索,再決定一格 整個輪廓,再檢查線索
錯誤出現的位置 任何一步中違反單一珠子規則 輪廓漏掉珠子或自身交叉
重新開始成本 低——通常僅需重畫最後 2–3 格 中等——輪廓可能需要重新塑形
在此題版上的得分 880 分,共十二步接受步數 880 分,共十二步接受步數

兩條路線的得分公式完全相同:score = max(0, 1000 − 10 × accepted steps)。在十二步接受步數下,計算過程為 1000 − 10 × 12 = 1000 − 120 = 880。路線在手感上可能不同,但最終的數學結果是一致的。

為兩次嘗試設定同一塊固定棋盤

題版是一塊公開的 4×4 格子,左上角有一顆黑珠,其正右方緊鄰一顆白珠。開啟 Masyu Puzzle 頁面,將游標停留在那顆起始的黑珠上。棋盤是無障礙的 CSS 格線,因此每個格子會報讀自己的列、行與珠子類型,作用中的游標也具有可見的外框。在黑珠上按 Space 或 Enter 即開始迴圈,從那一瞬間起,每一個被接受的方向鍵都會將路線剛好延伸一個正交格。Restart 會還原原始游標、空白路徑以及 1,000 的起始分數,因此兩種方法是在同一初始狀態下被評估。沒有音效、沒有隨機服務、也沒有下載的圖片——只有針對固定題版的鍵盤輸入,這正是讓比較公平的關鍵。

如何在 4x4 題版上執行「輪廓優先」方法

輪廓優先法將迴圈視為一個封閉的矩形,讓珠子的規則對該輪廓進行檢查。請依序執行下列步驟;任何時候按下 Restart 按鈕都會讓你回到乾淨的棋盤,以便重試。

  1. 在左上角的黑珠上按 Space 或 Enter,以開始路線。
  2. 按右方向鍵延伸至頂列的白珠格——此處必須直行通過。
  3. 再按右鍵兩次,沿頂列繼續前進到右上角。
  4. 按向下鍵三次,沿右側邊向下移動。
  5. 按向左鍵三次,穿過底列。
  6. 按向上鍵三次,沿左側邊向上移動,回到起始的黑珠以封閉迴圈。
  7. 若所有珠子規則皆成立,路線即被接受,分數顯示為 880。

由於白珠正好位於黑珠右側,左上角的轉彎提供了白珠所需的「相鄰轉彎」,而黑珠的兩條相鄰臂(向右與向上)都是直線。瀏覽器會驗證每一個被接受的移動;超出邊界的按鍵沒有作用,按入已在路線上的格子則會產生偵測到的死路,因為簡單的迴圈不能重複使用同一個身體格。

如何在 4x4 題版上執行「逐珠解題」方法

逐珠解題法從每個線索向外推展迴圈,僅在滿足當下考慮的珠子規則時才接受每個格子。同一道題版、同一個 Restart、同樣十二步完成——只有決策順序不同。

  1. 在黑珠上按 Space 或 Enter 以開始,然後按右方向鍵一次抵達白珠;黑珠已記錄了一次 90 度轉彎,其中一條臂向右延伸。
  2. 通過白珠後繼續向右,因為白珠強制直行通過——珠子上不允許轉彎。
  3. 停在右上角的格子。白珠所需的相鄰轉彎不在此角落;它由位於 (0,0) 的黑珠上的轉彎提供,距離白珠一格。
  4. 沿右側邊按向下鍵三次;這些格子都是普通的身體格,因此唯一的限制就是直行通過。
  5. 沿底列按向左鍵三次,落到左下角。
  6. 按向上鍵三次,沿左側邊向上移動,回到黑珠封閉迴圈;黑珠的兩條臂是其緊鄰的格子 (0,1) 與 (1,0),路線以直線通過兩者。
  7. 若兩條臂皆為直線,且白珠稍早已獲得其相鄰轉彎,則路線在 880 分被接受。

這條路線產生同樣的十二步接受移動,但決策順序不同:每個被接受的格子先檢查珠子規則,而輪廓優先路線則先檢查輪廓。若某一步失敗,Restart 會將棋盤還原為空白狀態,分數也回到 1,000——這對於以不同的相鄰轉彎位置重新嘗試逐珠解題很有用。

在同一固定棋盤上比較兩種方法

當兩次嘗試都走完後,比較結果會直接從鍵盤歷史、步數與計分面板中浮現。下表總結了你會在公開題版上觀察到的質性差異。

觀察到的行為 逐珠解題 先畫形狀(輪廓)
第一個被接受的步驟 向右進入白珠格 向右進入白珠格
規則首次起作用的位置 在每個被接受的移動之前 在封閉迴圈的那一步
失敗訊號 封閉步驟時若漏掉珠子規則,會出現「Invalid route」 若輪廓漏掉珠子或重複格子,會出現「Invalid route」
最早需要重新開始的時機 罕見——局部錯誤在路線中途即可看見 罕見——輪廓錯誤會在角落的轉彎處顯現
最終得分(12 步接受步數) 880 880

兩列中的精確得分算式是相同的:1000 − 10 × 12 = 880。真正有趣的比較在於兩種方法分別把你的注意力放在哪裡。逐珠解題迫使你在每一步都自問『此移動是否滿足我所在或靠近的珠子?』 先畫形狀則將該問題推遲到輪廓封閉後,一次檢查所有珠子。若你想孤立地觀察一種方法的失敗型態,可進行第三次嘗試,蓄意違反白珠直行通過規則,觀察兩種方法如何抓到它——兩種嘗試都只在迴圈封閉時才標示違規,因為珠子規則的驗證發生在封閉時。

何時該選擇哪種方法

當棋盤較小、珠子密度低,且一個封閉輪廓顯然能接觸到每顆珠子時,使用輪廓優先法。公開的 4×4 題版正是這種情況,其十二步的輪廓很難走錯。當你懷疑沒有任何單一輪廓能滿足所有線索,或你想要更快速的心智迴圈時,使用逐珠解題:每一步都必須先通過一條局部規則才能進行,瀏覽器的驗證會對每次按鍵給出立即的是或否。在較大或較密集的棋盤上,逐珠解題法擴展性較佳,因為局部推理獨立於整體輪廓形狀。在這塊 4×4 題版上,兩種方法在得分與步數上相等,這是最乾淨的比較:同一道題、同一個結果,卻是穿越同一組決策的兩條不同路線。若想練習獎勵類似「局部對全局」思考的其他推理謎題,Masyu 常見錯誤指南會逐步說明每種方法可能落入的規則陷阱;網站上更廣泛的謎題類別還包含 Shingoki、Heyawake、Hitori 與 Pipes,可供你在同一鍵盤優先風格下進一步練習。根據 Nikoli 公布的規則,這些局部對全局的模式正是定義優秀 Masyu 解法的「向前看」思維,而公開的 4x4 題版則是比較它們的受控環境。

若想深入了解,請參閱 迷宮遊戲的兩種方法比較:探索 vs 記憶。