为了在我的一个简单项目中使用,我遇到了一些障碍。
我在网格中有一系列点,“墙壁”和“开放空间”。网格外的空间被假定为墙。我在这个网格中有任意数量的开放点,如果我让网格中的一个特定块从开放空间变为墙壁,我必须确定连接的点是否会改变。
这样做的有效方法是什么?
示例:如果绿色方块是墙壁或开放空间,则确定红色方块之间路径的存在/不存在是否会改变。(PS:我真诚地为我糟糕的网格道歉)
现在,我假设某种元胞自动机是最好的,但我不确定。我以前看过寻路,但从未真正看到任何涉及此类问题的东西。
请注意:我不在乎路径有多长,(我知道它们的最大长度)它们必须存在。所以没有必要找到点之间的最佳路径。
哦,虽然没关系,但我正在用 Java 编写这个项目,但是任何语言(或伪代码)或算法的英文描述就足够了。(我知道大多数花括号语言,以及有限的 Haskell 和 LISP,他们都可以。)