忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

細菌の走化性シミュレーション

細菌の走化性シミュレーションです。あちこち嗅ぎ回り、匂いの強い方へ進みます。


デモ

操作方法

[スタート]ボタン:シミュレーションを開始します。もう一度押すと一時停止します。

キャンバスの上をクリック:匂いのもとを追加します。匂いのもとをクリックすると匂いのもとを削除します。

解説

これは細菌の走化性のシミュレーションです。「匂いのもと」から匂いが周囲に漂っており、細菌たちはそこへ向かって移動します。

ただし、細菌たちには匂いのもとがどこにあるのかセンサーから直接はわかりません(遠くがわかる目がない)。現在地の匂いの強さがわかるだけです(鼻がついている)。にもかかわらず、細菌たちは次のような単純なステップを繰り返すことによって、自然と匂いのもとにたどり着きます。

  1. ランダムに進行方向を選び一定時間進む
  2. ふたたび1を繰り返す。ただし、進む前より匂いが強くなっていたら1を繰り返す前にもう少しだけ同じ方向にす進む。
これだけで匂いのもとにたどり着けます。これはいわばバイアスのかかったランダムウォークであり、間違った方向に進むことはあるものの、正しい方向に進む時間が不自然に長くなっているので、長期的に見ればゴール付近にたどり着けるわけです。

拍手[0回]

PR