具有 2 个以上状态的元胞自动机(不仅仅是活着或死了)

Cellular automaton with more then 2 states(more than just alive or dead)

我正在制作一个 roguelike,其中设置是一个程序生成的星球上的开放世界。我希望每个生物群落的分布都是有机的。有5种不同的生物群系。有没有办法在没有庞大复杂算法的情况下有机地分发它们?我希望每个生物群落占据的 space 数量几乎相等。

我之前在为每个生物群落制作地形生成器时使用过元胞自动机。那里的每个图块都有 2 个不同的状态。有没有一种有效的方法来做5?

我使用的是 python 2.5,尽管不需要特定代码。关于它的编程理论很好。

如果问题过于开放,是否有任何资源可供我查看此类问题?

您可以在任何细胞状态下定义元胞自动机space。只需将单元格更新函数公式化为 F:Q^n->Q,其中 Q 是您的州 space(此处 Q={0,1,2,3,4,5}),n 是您所在社区的大小。

作为开始,只要写F作为多数规则,即0是中立状态,F(c)应该return 1-5中的值附近的最高计数,如果存在 none,则 0。在相等的情况下,您可以随机选择一个最大值。

作为初始状态,从具有状态 1-5 的 5 个相对等距单元格的配置开始(您可以通过可以是 shifted/mirrored 的固定位置确定性地构建它们,或者生成这些点随机)。

当所有单元格的值都不为 0 时,您就有了地图。

随时改进更新功能,例如以给定的概率应用规则。