关于迷宫 - 从古代迷宫到计算机生成的谜题
几千年来,人们一直在绘制和建造迷宫,从希腊神话中的迷宫到花园里的树篱迷宫。如今计算机能在一瞬间生成一个新迷宫,而它使用的方法很好地展示了简单规则如何产生复杂形状。
单路迷宫与分岔迷宫
经典的单路迷宫只有一条蜿蜒的路,没有选择。分岔迷宫有岔路和死路,所以你必须决定往哪走。树篱迷宫从 16 世纪起在欧洲花园中流行,纸上迷宫谜题从此一直深受喜爱。
完美迷宫
完美迷宫没有回路,也没有封闭区域:任意两个格子之间恰好有一条路。用数学语言说,它的通道构成网格的一棵生成树,因此有 n 个格子的迷宫恰好有 n - 1 个格子间的开口。
计算机如何生成迷宫
递归回溯算法在网格中随机行走,把墙打通到尚未访问的格子,被困住时就退回。它会产生分支较少的长通道。Prim 算法则从一个格子向外扩展,每次连接一个随机的相邻格子,从而产生许多短小的死路。
解法技巧
在完美迷宫中,只要一只手始终扶着墙往前走,就一定能到达出口。这不是最短的路,但总是有效。从出口往起点反向观察也有帮助,而足迹能防止你两次走进同一条死路。
常见问题
分岔迷宫和单路迷宫有什么区别?
单路迷宫只有一条没有选择的路;分岔迷宫有岔路和死路。日常生活中这两者通常都叫迷宫。
沿墙走的方法总是有效吗?
在完美迷宫中是的,因为所有墙都是连在一起的。在有回路的迷宫中,你可能会绕着一座“岛”一直走下去。
迷宫最大可以多大?
这里最大为 100 x 100 格,也就是 10,000 个格子,起点和出口之间只有一条路。
准备好尝试了吗?
在浏览器中打开 PictorX — 无需安装,无需信用卡即可启动。
玩迷宫