谁创造了递归除法迷宫算法?
Who created the recursive division maze algorithm?
我正在开展一个项目,该项目使用一种通常用于创建 fractal-like 迷宫的递归除法算法。现在我想引用这个算法的creator/author来表扬他们,但我不确定是谁发明的
Jamis Buck 有一篇非常著名的博客文章 https://weblog.jamisbuck.org/2011/1/12/maze-generation-recursive-division-algorithm ,标题为:“提出了一种生成 fractal-like 迷宫的新方法,带有示例代码和动画” 但他真的想出了这个主意吗?我不理解他的 post 因为他发明了它,对我来说这听起来更像是他在描述它。
我无法通过 Google 和 Wikipedia(en) 或任何其他特定 maze-focused 站点找到明确的 publication/author。有谁知道这个算法的由来吗?
不,算法不是我的;我是从 Walter Pullen 的页面上学到的,在这里:https://www.astrolog.org/labyrnth/algrithm.htm。他也没有引用该算法的作者。应该注意的是,许多迷宫算法都是对更通用的图算法的改编,所以这可能是图论中某处的模拟...
好歹不是我的。我在我的 post 中使用“小说”一词是这里给出的第二种含义 (https://www.merriam-webster.com/dictionary/novel) “原创的或引人注目的,尤其是在概念或风格上”,而不是“新”的意思。
递归除法算法是John Perry, who added it to Wikipedia's Maze generation algorithm佩奇于2006年11月发明并命名的。
为了帮助解决此类问题,Walter Pullen 的 Maze generation algorithms page 已更新,在迷宫生成和求解算法的 table 中添加了一个“来源”列,以列出发明者、命名者、或以其他方式推广每个算法。是的,许多迷宫算法确实是一般图论算法的改编,并且许多算法与其他算法相似或有所不同,等等。
例如,递归划分是一种“嵌套迷宫”、“分形迷宫”或“细分迷宫”,这意味着在较大迷宫的每个单元格中生成较小的迷宫。这是一个更古老和更普遍的概念,以及其他概念(例如 Maze generation program Daedalus) have done nested cell Mazes since 2003. However, it would always divide the Maze into the SAME sized submazes, e.g. a 2x2 equal sized cell Maze with equal sized 2x2 cell Mazes within each cell, with the process repeated 6 times.
John Perry 介绍了将迷宫分成随机大小的 2x2 单元格迷宫而不是固定大小的 2x2 单元格迷宫的想法,它可以生成任何尺寸的迷宫,而不是像嵌套单元格那样只有 2^N 个电源通道。结果看起来更有机(如树干)而不是基于网格(如博格立方体)。请注意,Daedalus 中递归除法的实现更通用一些,因为 Daedalus divides the Maze into either 1x2 or 2x1 cell Mazes (option chosen randomly too) which looks even more random and organic. Also, note that both same and random sized division ("nested cell" algorithm and "recursive division" algorithm) can be implemented in a virtual manner 可以生成巨大的虚拟迷宫(其中并非所有的迷宫都必须同时在内存中)。
我正在开展一个项目,该项目使用一种通常用于创建 fractal-like 迷宫的递归除法算法。现在我想引用这个算法的creator/author来表扬他们,但我不确定是谁发明的
Jamis Buck 有一篇非常著名的博客文章 https://weblog.jamisbuck.org/2011/1/12/maze-generation-recursive-division-algorithm ,标题为:“提出了一种生成 fractal-like 迷宫的新方法,带有示例代码和动画” 但他真的想出了这个主意吗?我不理解他的 post 因为他发明了它,对我来说这听起来更像是他在描述它。
我无法通过 Google 和 Wikipedia(en) 或任何其他特定 maze-focused 站点找到明确的 publication/author。有谁知道这个算法的由来吗?
不,算法不是我的;我是从 Walter Pullen 的页面上学到的,在这里:https://www.astrolog.org/labyrnth/algrithm.htm。他也没有引用该算法的作者。应该注意的是,许多迷宫算法都是对更通用的图算法的改编,所以这可能是图论中某处的模拟...
好歹不是我的。我在我的 post 中使用“小说”一词是这里给出的第二种含义 (https://www.merriam-webster.com/dictionary/novel) “原创的或引人注目的,尤其是在概念或风格上”,而不是“新”的意思。
递归除法算法是John Perry, who added it to Wikipedia's Maze generation algorithm佩奇于2006年11月发明并命名的。
为了帮助解决此类问题,Walter Pullen 的 Maze generation algorithms page 已更新,在迷宫生成和求解算法的 table 中添加了一个“来源”列,以列出发明者、命名者、或以其他方式推广每个算法。是的,许多迷宫算法确实是一般图论算法的改编,并且许多算法与其他算法相似或有所不同,等等。
例如,递归划分是一种“嵌套迷宫”、“分形迷宫”或“细分迷宫”,这意味着在较大迷宫的每个单元格中生成较小的迷宫。这是一个更古老和更普遍的概念,以及其他概念(例如 Maze generation program Daedalus) have done nested cell Mazes since 2003. However, it would always divide the Maze into the SAME sized submazes, e.g. a 2x2 equal sized cell Maze with equal sized 2x2 cell Mazes within each cell, with the process repeated 6 times.
John Perry 介绍了将迷宫分成随机大小的 2x2 单元格迷宫而不是固定大小的 2x2 单元格迷宫的想法,它可以生成任何尺寸的迷宫,而不是像嵌套单元格那样只有 2^N 个电源通道。结果看起来更有机(如树干)而不是基于网格(如博格立方体)。请注意,Daedalus 中递归除法的实现更通用一些,因为 Daedalus divides the Maze into either 1x2 or 2x1 cell Mazes (option chosen randomly too) which looks even more random and organic. Also, note that both same and random sized division ("nested cell" algorithm and "recursive division" algorithm) can be implemented in a virtual manner 可以生成巨大的虚拟迷宫(其中并非所有的迷宫都必须同时在内存中)。