我正在写一个迷宫生成算法,这篇维基百科文章引起了我的注意。我决定用java实现它,这很容易。我遇到的问题是,虽然生成了类似迷宫的图片,但迷宫通常是不可解决的,而且通常并不有趣。我所说的有趣是指有大量无法到达的地方,而且通常有很多解决方案。
我实施了 1234/3 规则(虽然它很容易改变,请参阅注释以获得解释),一开始的分布大约为 50/50。迷宫总是达到平衡,其中 t 步之间没有变化。
我的问题是,有没有办法从固定的起点和终点保证迷宫的可解性?此外,有没有办法让迷宫更有趣地解决(更少/一个解决方案和很少/没有无法到达的地方)?如果细胞自动机无法做到这一点,请告诉我。谢谢你。