💡 关灯游戏 Lights Out — 在线益智解谜

经典关灯游戏(Lights Out),点击任意格子会同时翻转它自身与上下左右四格的亮灭状态,目标是把所有灯全部关掉。 支持 3×3 ~ 6×6 四种规格与三档难度,题目由全灭状态反向随机点击生成,保证 100% 有解; 内置基于 GF(2) 高斯消元的求解器,可给出提示与最少步数的完整解法演示。

① 游戏设置

② 游戏面板

点击格子,翻转它和上下左右四格,把所有灯关掉即获胜。
步数
0
用时
0.0s
剩余亮灯
0
剩余最少步
最佳步数
最佳用时

③ 本机最佳纪录(当前规格)

难度 打乱步数 最佳步数 最佳用时
纪录保存在本机浏览器 localStorage,不会上传服务器。使用「提示」或「一键求解」通关的局不计入最佳纪录。

🎮 玩法说明与实用技巧

📐 数学原理:GF(2) 线性方程组与高斯消元

🚀 你可能也用得上

💡 这个位置等你来 — 软广告位 / 友情链接 / 合作开发 正在开放中 查看价格

📘 使用说明

  1. 选择网格规格与难度,点击新游戏开始
  2. 点击任意格子会翻转它自己和上下左右相邻的四格
  3. 目标是把所有格子都变成熄灭状态
  4. 卡住时可以点击提示按钮获取最优解的下一步,或一键演示完整解法

❓ 常见问题

Q: 关灯游戏有什么解题技巧?
A: 最实用的是「照亮追逐法」(Chase the Lights):从第一行开始,如果某个格子是亮的,就点击它正下方那一格来关掉它;处理完第一行后,第一行必定全灭,然后用同样方法处理第二行、第三行……直到最后一行。此时前面所有行都灭了,只剩最后一行可能还有亮灯。这时查表——最后一行的亮灯模式对应唯一的第一行点击方案,按方案点击第一行后再做一遍完整的追逐,即可全灭。5×5 的对应关系只有 4 种非平凡情况,记住即可。
Q: 为什么有些局面无解?这个游戏怎么保证有解?
A: 关灯游戏本质上是 GF(2)(模 2 域)上的线性方程组,系数矩阵由网格的邻接关系决定。当矩阵不满秩时,存在「不可达」的局面——5×5 的关灯游戏矩阵秩为 23(有 2 维零空间),意味着 2²⁵ 种局面中只有 2²³ 种可解,即 1/4 的局面无解。本游戏采用「从全灭状态反向随机点击 N 次」的方式生成初始局面,由于每次点击都是可逆操作,生成的局面必定在可解空间内,因此保证每一关都有解。
Q: 提示功能给的是最少步数吗?
A: 是的。求解器构造 n²×n² 的系数矩阵,在 GF(2) 上做高斯消元得到一个特解,然后枚举零空间中所有向量与特解相加,从所有可行解中选出汉明重量(即需要点击的格子数)最小的那个。5×5 的零空间维度是 2,需要枚举 4 个解;4×4 的零空间维度是 4,枚举 16 个解;3×3 和 6×6 矩阵满秩,解唯一。因此提示给出的一定是理论最少点击次数,不存在更优解。
Q: 关灯游戏和线性代数有什么关系?
A: 关系非常直接。把每个格子的状态看作 GF(2) 上的一个变量(0 灭 1 亮),每次点击看作对相关格子做模 2 加法,那么「哪些格子需要点击才能全灭」就是求解 Ax = b 这个线性方程组,其中 A 是邻接矩阵(含自身),b 是初始亮灯状态。两个重要推论:一是每个格子最多点一次(点两次等于没点,因为模 2 下 1+1=0);二是点击顺序不影响结果(加法交换律)。这个游戏常被用作线性代数课程的趣味教学案例。
👉 下一步 🏆 看看周榜热门 🧩 工作流中心 🔍 全部工具分类