這個固定 4×4 Lights Out 謎題的最短解法剛好是五次按壓,這個數字是由一個獨立的 GF(2) 計算引擎所產生,該引擎列舉了所有 65,536 種可能的按壓遮罩,並對照已公開的起始圖樣進行比對。按下任何一個方塊會切換該方塊本身,以及位於棋盤範圍內、緊鄰其上、下、左、右的四個鄰居,斜向的方塊則永遠不會改變。起始棋盤有六格亮著,從零開始索引,每一列的位置為 1、2、3、5、9 和 10,而全滅的目標則是要清除全部 16 盞燈。由於按下同一格兩次會恢復其原本的燈號狀態,因此每格的按壓奇偶性才是影響最終棋盤的關鍵,這也正是為什麼經過驗證的最佳解在五個格子上的按壓奇偶性都是奇數。這條唯一的最短路徑會各按壓一次以零為索引的格子 0、1、3、5 和 6,執行階段會追蹤任何能滿足全滅條件的按壓順序,而在五次按壓的門檻達成後成功檢查,剛好會獲得 1,000 分。

什麼讓一個 Lights Out 謎題變得簡單
當謎題的規則簡單、起始狀態固定,而且存在已知解答時,它就是一個簡單的謎題。這個 4×4 Lights Out 棋盤滿足上述全部三個條件。切換規則就是 GNOME 的 Lights Off 說明文件以及加州大學柏克萊分校 GamesCrafters 參考資料中所描述的標準十字規則:一次按壓會翻轉被選中的格子,加上其範圍內的正交鄰居。起始圖樣是固定的,有六格亮著、十格暗著,而解答並非個人猜測,而是一個經過驗證的結果。一項獨立的測試會列舉完整的按壓空間,並回報秩(rank)為 12、零度(nullity)為 4、剛好 4,096 個可達成的效果狀態,以及 16 種不同的全滅按壓遮罩。在這些遮罩中只有一個的權重為 5,因此最短路徑是唯一的。初學者可以遊玩這個固定關卡一次,觀察十字預覽,然後以五次從容的按壓完成,無時間壓力、無隨機關卡,除了奇偶性之外也不需要任何事前規劃。
4×4 棋盤上的十字切換規則
棋盤上的每個格子不是亮就是暗,而單次按壓會反轉被按下方格的狀態,以及其位於 4×4 矩形範圍內、緊鄰其上、下、左、右的鄰居狀態。斜向格子不會改變,因此按角格會翻轉三格、按非角的邊格會翻轉四格、按內部格子則會翻轉五格。目前選中的方塊會帶有可見的外框;其合法的鄰居會顯示較淡的邊框預覽,讓玩家在實際按壓前就能清楚看出接下來的切換圖樣。這個預覽純粹是說明性質,不會因為滑鼠游標懸停而改變任何狀態。每個格子都會透過無障礙標籤公開其所在列、所在行、亮暗狀態以及選取狀態,而「On」與「Off」這兩個文字搭配表面對比,可以在不單獨依賴顏色的情況下傳達狀態。
GNOME 的 Lights Off 基礎說明頁面描述了「被選中加上非斜向鄰居」的行為,而加州大學柏克萊分校 GamesCrafters 的 Lights Out 條目則獨立確認了本版本所遵循的正交切換規則與全滅目標。
以五次按壓解開棋盤
經過驗證的五步解法會以任意順序按壓以零為索引的格子 0、1、3、5 和 6。由於按壓順序不會影響最終的奇偶狀態,以下步驟採用為了可審查性而公開的列優先順序。開啟 Lights Out 工具,然後依序執行下列步驟。
- 在進行任何按壓之前,先確認起始的六盞燈與固定關卡中格子 1、2、3、5、9 和 10 的位置一致。
- 使用方向鍵或滑鼠指標選取格子 0(左上角的角格),然後按下空白鍵、輕觸該格,或點選「Press selected」按鈕,以翻轉該格及其三個合法鄰居(0、1、4)。
- 用右方向鍵移至格子 1 並按下它。它的四格十字涵蓋 0、1、2 和 5,逐一進行切換,使棋盤朝全滅目標推進。
- 移至格子 3 並按下它。格子 3 是個角格,會影響 2、3 和 7,逐一進行切換,使棋盤朝全滅目標推進。
- 移至格子 5 並按下它。這次內部按壓會翻轉五格(1、4、5、6 和 9),將棋盤推入下半部。
- 移至格子 6 並按下它。格子 6 會影響 2、5、6、7 和 10,完成全滅圖樣。
- 按下 Check 或按 Enter。在全部 16 盞燈熄滅且記錄了五次以上移動的情況下,該局會剛好獲得 1,000 分。
按壓幾何一覽
4×4 棋盤包含三種幾何按壓類型。下表列出每種格子類別、會翻轉的格子數量,以及取自實際測試案例的已驗證範例。
| 格子類型 | 受影響的格子數 | 已驗證範例 | 被翻轉的格子 |
|---|---|---|---|
| 角格 | 3 | 格子 0 | 0, 1, 4 |
| 非角的邊格 | 4 | 格子 1 | 0, 1, 2, 5 |
| 內部 | 5 | 格子 5 | 1, 4, 5, 6, 9 |
這三個數字直接來自同一組黃金測試資料,這些資料同時驗證了重複按壓的抵銷效果、初始狀態的保真度,以及完整的遮罩空間列舉。五次按壓的最佳解使用了一個邊格(1)、兩個內部格子(5 和 6),以及兩個角格(0 和 3)。這些次數加總為 3 + 4 + 3 + 5 + 5 = 20 次格子翻轉,涵蓋整個遊戲過程,這是十字切換幾何所衍生、可加以驗證的副產物。
檢查、計分與修復路徑
只有在達到或超過已證明的五步下界時,檢查才有意義。遊戲將第零步到第四步視為客觀上尚未完成,在這個區間內進行檢查不會記錄任何錯誤。在五次或更多步時,若棋盤為全滅則成功;若仍有燈亮著,則代表所提交的路徑雖然完整但不正確。第一次發生這種錯誤檢查時,會記錄一次錯誤並保留該局可編輯狀態,因此玩家可以繼續按壓方塊、達到全滅,並成功通過檢查。第二次錯誤的完整檢查會使該局鎖死,直到按 Restart;而 Restart 會還原為精確的六盞燈初始圖樣、格子零的游標位置、零步數、零錯誤數以及零分。
完成與鎖死都是終止狀態。在進入其中任一狀態後,點擊、空白鍵按壓、游標移動、選取變更以及進一步的檢查都無法修改棋盤。這些保證存在於純粹的狀態轉換函式中,並由測試所涵蓋,而不僅僅依賴被停用的視覺控制項。無論速度、額外步數、裝置或輸入方式為何,一次成功的檢查都會剛好頒發 1,000 分;正確性是唯一計分的判定條件。
為何這個五步答案是經過驗證,而非憑空假設
五次這個數字並非人工編寫的提示。一個獨立的 GF(2) 測試(它不會呼叫正式版的鄰居或按壓函式)會為棋盤上的每個格子建立一個 16 位元的效果欄位,執行二元高斯消去法以找出矩陣秩 12 與零度 4,列舉所有 65,536 種按壓遮罩,並計算出 4,096 個可達成的效果狀態。對照已公開的初始遮罩,該測試找出 16 個全滅解,其漢明權重分別為 5、7、9 或 11。其中剛好只有一個遮罩的權重為 5,因此最短解是唯一的,將其五個效果欄位套用至起始遮罩會得到零。權重為零到四的任何遮罩都無法產生零,這證明了這個固定關卡無法以少於五次按壓來解開。
執行階段的遊戲並不會把移動清單與隱藏的解答進行比對。它儲存了 16 個目前的燈號布林值,一次按壓會計算被選中格子的範圍內正交十字並翻轉那些布林值,而檢查會在達到已證明的最小門檻後,接受任何 16 格全滅的狀態。這代表較長的有效解依然有效,正如標準的切換代數所要求的那樣。按下同一格兩次會恢復原本的燈號圖樣,而即使顯示的步數會記錄每一次實際按壓,按壓順序也不會影響最終的奇偶狀態。
其他經過測試的保證還包括:重複按壓的抵銷、初始狀態的保真度、完整遮罩空間的大小、秩、可達成狀態數、總解數、最小權重、唯一最佳解、未完成的檢查、首次錯誤完整路徑後的修復、精確計分、第二次錯誤鎖死、終止凍結、游標邊界,以及確定性的 Restart。
實戰遊玩備註
在規劃時,請善用受影響十字的預覽。每個被選中的方塊會在其下一次按壓將翻轉的格子周圍顯示較淡的邊框,讓初學者可以一列一列地推理,而不必動筆書寫。建議從角格開始,因為角格的十字最小,留下的未變動格子也最多。避免連續兩次按下同一格,因為它必然會抵銷;即便如此,動作也不會帶來任何進展,只會讓你更接近第二次錯誤鎖死。請隨時使用 Restart;它是脫離第二次錯誤鎖死的唯一方法,並會將棋盤還原為精確的已公開狀態。
所有運作都在瀏覽器本地進行。不會上傳任何棋盤狀態、不需要帳號、不會請求隨機關卡、結果不受計時器影響,也不會引入新的套件相依。正方形的四欄格線、簡潔的狀態列、大型原生按鈕以及會自動換行的控制項,都是為了在 390 像素的視窗寬度下容納內容,而不產生水平捲動。如果您特別想在純瀏覽器環境中確認執行階段行為,瀏覽器內 Lights Out 指南會從免下載的角度介紹相同的規則。
這是一款休閒性質的固定謎題,而非智力測驗、認知或醫學評量、教育分組工具,或就業篩選。透過記憶,反覆遊玩自然會變得更容易,這也是為什麼計分純粹依據正確性,而不考慮速度。