Monday, June 22, 2015

模倣による障害物の回避行動

鳥か魚の群れが空中か水中を飛んでいるまたは泳いでいるとする。
障害物があれば彼らはそれを避けて移動する。
次のアニメはそれを簡単ににシミュレートしたもので、群れが障害物を回避する様子を示している。



ここで画面の中央に置いた円が障害物。
それぞれの鳥または魚の行動は、
1. 各個体はどれも同じ速さで移動する。
2. 移動する方向は、自分の近くにいる個体が向かっている方角の平均値とする。
3. 障害物に近づいた個体は円の接線方向に向きを変える。
というルールによっている。

これらのルールに従って移動する群れに何が起こるか。障害物にどう対応するか。
画面の右上から降りてくる大群の動きにその特色が顕著に現れている。
この群れがまっすぐ進めばほとんどの個体は障害物に突き当たり、それぞれに回避行動を取らなければならない。けれども実際に起きていることはそうではない。
群れの先頭にいる少数の個体は、障害物に近づいたことを知ってルール3により自ら進む方向を変える。これに対して、あとに続く多数の個体は障害物を察知して向きを変えるのではなく、ルール2によって周囲の個体の動きを真似ることで結果的に障害物を回避している。

群れのメンバーの大半は、障害物や危険物をそれと意識せずに避けている。他のメンバーの行動を真似るだけでそうしたことが可能になる。
はやい話が「烏合の衆」である。オンライン辞書を見ると、
「規律も統制もなく、ただ寄り集まっているだけの集団。秩序のない人々の集まりや軍勢にいう。からすの集まりが無秩序でばらばらであることから」
とある。ただ寄り集まって、たがいの動きを真似ているだけの群れが、「用心」や「判断」といったコストを払うことなく、といっても障害物に直面した個体は自発的な行動をとるのだが、全体としては少ないコストで行動を最適化している。

関連記事 » robottage: 鳥の群舞の簡単シミュレーション