问题标签 [cellular-automata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 我如何保证元胞自动机生成的迷宫是可解的/有趣的?
我正在写一个迷宫生成算法,这篇维基百科文章引起了我的注意。我决定用java实现它,这很容易。我遇到的问题是,虽然生成了类似迷宫的图片,但迷宫通常是不可解决的,而且通常并不有趣。我所说的有趣是指有大量无法到达的地方,而且通常有很多解决方案。
我实施了 1234/3 规则(虽然它很容易改变,请参阅注释以获得解释),一开始的分布大约为 50/50。迷宫总是达到平衡,其中 t 步之间没有变化。
我的问题是,有没有办法从固定的起点和终点保证迷宫的可解性?此外,有没有办法让迷宫更有趣地解决(更少/一个解决方案和很少/没有无法到达的地方)?如果细胞自动机无法做到这一点,请告诉我。谢谢你。
physics - 元胞自动机的流体动力学(FHP 等)
我正在寻找基于 CA 的流体动力学软件,例如在 Nvidia CUDA 技术中实现 FHP 模型,但仍然没有运气。
我想自己“玩”这些模拟,至少阅读一些相关论文。如果软件是开源的,那就更好了。
wolfram-mathematica - 在 Mathematica 中创建新的元胞自动机规则
我需要在 Mathematica 中创建一个新的 CA 规则。我能怎么做?我的意思是,我需要创建一个具有 3 种颜色(黑色、白色和灰色)的 CA。你能帮帮我吗?
wolfram-mathematica - Rule 30 Cellular Automata 3 colors in Mathematica
May I ask you if I can use the CA rule 30 with 3 colors in Mathematica?
Regards,
Daniele
wolfram-mathematica - CA 随机 3 色
是否存在随机的元胞自动机规则(如规则 30)并具有 3 种颜色?
python - Udacity CS101:Python 中的基本元胞自动机
谁能告诉我我的代码有什么问题(似乎带有“num”的行)。我的字符串索引超出范围,但在几乎相同的代码块中它似乎可以工作。如果有一些我可以在 python 中查看的代码,我也很想看到它的链接。谢谢!
wolfram-mathematica - Stephen Wolfram 的规则 30 模式说明
问题
我正在研究 Wolfram's Mathematica 生成随机数的方法,发现它使用了元胞自动机 规则 30。它的基本解释如下:
一个基本元胞自动机的演化完全可以用一个表格来描述它的权利。
由于与给定单元相邻的三个单元有 2 x 2 x 2 = 2^3 = 8 种可能的二进制状态,因此共有 2^8 = 256 个基本元胞自动机,每个都可以用 8-位二进制数(Wolfram 1983, 2002)。例如,给出规则 30 演变的表格(在二进制中,规则 30 写为30 = 00011110)如下所示。在该图中,三个相邻单元格的可能值显示在每个面板的顶行中,而中心单元格在下一代中的结果值显示在下面的中心。
问题
上图与表格上部的各个模式有何关系?我知道该图是由它们组成的,但对它是如何按顺序形成的感到困惑。我没有看到任何行/列区别特征可能会告诉我这些层是使用给定表中的上部行构建的。简而言之,我想看看这背后的俄罗斯方块之类的现象
cellular-automata - 如何从元胞自动机开始
我必须开始研究细胞自动机,所以任何人都可以分享可以帮助初学者学习基础知识的链接。
c++ - 用于瓷砖水的 2D 元胞自动机
我一直在尝试在我的游戏中实现基于 2D 瓷砖的水。我开始让瓷砖出现在屏幕上等。我有一个绘制每种瓷砖类型的绘图功能。我遇到的问题是,当我调用这个函数时,水的瓷砖不会改变位置。这让我相信这段代码运行不正常。在每个循环中都会调用此代码。这应该更新所有水瓦的质量。出于某种原因,什么都没有发生。水停留在原来的位置。我的瓷砖在瓷砖类的向量中只是
java - 生活游戏规则无法正常工作
我的 Java 生命游戏应用程序有以下逻辑代码。我的问题是这些规则不像默认的康威生命游戏规则。我已经在Wikipedia上阅读了它们,它们如下;
- 任何少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。
- 任何有两三个活邻居的活细胞都可以活到下一代。
- 任何有超过三个活邻居的活细胞都会死亡,就好像过度拥挤一样。
- 任何只有三个活邻居的死细胞都会变成活细胞,就像通过繁殖一样。
我试图在下面的代码中复制这些规则,但它的行为与普通的康威生命游戏不同;
这是运行几代后的样子;
它让我想起了“迷宫”规则集,这很奇怪。
我不相信我的aroundLife 计算器有问题,因为当实体周围有 8 个其他实体时,它会返回 8。问题是因为我循环 Y 然后 X 吗?