セル オートマトン モデルにランダムな動きを持たせるにはどうすればよいですか? たとえば、セル内の要素が2つ以上の隣接セルよりもはるかに多い場合、いくつかの要素を与えるためにいくつかの隣接セルをランダムに選択したいと思います。頭に浮かんだすべてのコードを試しましたが、Mathematica では、要素がセルから生きており、別のセルに移動しているのと同時に確認する必要があるという問題があります。条件を使用してそれを行うことを考えましたが、方法がわかりません。誰でも私を助けてもらえますか?
編集:これまでに使用したコード
私の実際のコードは非常に複雑なので、単純なセル オートマトンで何を行ったかを説明しようと思います。私はムーア地区でムーブメントを成功させたかったのです。私のセルオートマトンのすべてのセルには、複数の個体があります (またはまったくありません)。細胞間でランダムな動きをしたい。私はこれを行うことができなかったので、次のコードを試してみました。セルオートマトンでは、以下に示すように使用しました。
w[i_, j_] :=
If[(i - 4) > j, -1, If[(i - 4) == j, 0, If[(j - 4) > i, 1, 0]]];
dogs[p, p1, p2,p3,p4,p5,p6,p7,p8]:=newp &[
newp = w[p, p1] + w[p, p2] + w[p, p3] + w[p, p4] + w[p, p5] +
w[p, p6] + w[p, p7] + w[p, p8]]
このコードは動きをしていますが、セルに0個の個体があり、その隣人がすべて5人である場合、最後に8個とその隣人が4個になるため、私が望んでいるものとはまったく異なります。個体数が少ないセルが、最後に隣接するセルより多くの個体を持つようにする必要があります。私はそれらすべてに近い価値観を持ち、それでも動きがあることを望んでいます。Mathematica でそれを行う方法がわかりません。