在我的问题中,我有一个带有随机元胞自动机的格子。为了简化一点,假设它是一维的。在我的系统中,每个节点都可以是 A、B 或 C 类型。表示系统并在其上快速运行的一种方法是使用一个整数 64 位变量,按位工作。
让我举一个具有 4 个节点的系统的实现示例。假设我有节点 0 和 3 处于状态 A,节点 1 处于 B 中,而节点 2 处于 C 中,那么:
A -> 1001 -> A = 9
B -> 0100 -> B = 4
C -> 0010 -> C = 2
您会看到 3 个整数可以代表系统的整个状态。我可以使用单个按位操作更新系统。这在元胞自动机中被大量使用。
但是,现在,假设我有这样的反应
以同步方式模拟这种反应。我可以在下一个时间步中获得 B 个人的数量:
B = A && r
其中是一个随机数,使得位置的位为 1,概率,其中是个体的 B 个邻居的数量。也就是说,执行反应 1 的概率为 1。
我的问题是:有没有一种有效的方法来获得?