首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个以上状态的元胞自动机(不仅仅是活的或死的)

两个以上状态的元胞自动机(不仅仅是活的或死的)
EN

Stack Overflow用户
提问于 2017-03-27 22:26:38
回答 1查看 220关注 0票数 0

我正在做一个罗格利克,其中设置是开放的世界,在一个程序上产生的行星。我希望每个生物群落的分布都是有机的。有5种不同的生物群落。有没有一种不需要庞大复杂算法就能有机地分发它们的方法?我希望每个生物群落所占的空间几乎相等。

当我为每个生物群落制作地形发生器时,我曾经使用过元胞自动机。每个瓷砖有两个不同的状态。有有效的方法来做5吗?

我使用python2.5,尽管没有必要使用特定的代码。关于它的编程理论是很好的。

如果问题过于开放,是否有资源可供我研究这类问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 09:50:31

您可以在任何单元格状态空间上定义元胞自动机。只需将单元格更新函数表示为F:Q^n->Q,其中Q是您的状态空间(此处为Q={0,1,2,3,4,5}),而n是您的邻居的大小。

首先,只需写F作为多数规则,即0是中立状态,F(c)应该返回1-5中的值,其计数在邻域中最高,如果不存在,则返回0。在平等的情况下,你可以随机选择其中的一个最大值。

作为初始状态,首先配置状态为1-5的5个相对等距的单元格(您可以通过可以移动/镜像的固定位置确定地构建它们,或者随机生成这些点)。

当所有单元格的值都与0不同时,就有了映射。

可以随意地改进更新函数,例如,以给定的概率应用规则。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43057477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档