自律する魚たちがつくる群れ


Ex-Gramプログラミング教室の上級コースでは人工生命や人工知能をテーマとして様々なプログラムを作成していきます。
人工生命の初歩として自律して動きまわる魚(鳥)たちが形成する群れをコンピューターで再現してみましょう。フロッキングと呼ばれるプログラムです。flockは集まる、群がるという意味です。

群れを作るには分離・整列・結合の3つのルールが必要です。
分離は近隣の魚オブジェクトとの衝突を避けることです。
整列は近隣の魚オブジェクトと同じ方向(平均速度)に進むことです。
結合は近隣の魚オブジェクトの中心(平均位置)に向かって進み集団を維持することです。

このような単純なルールに従う自律する魚たちが自然に群れを形成する事例は「単純な法則が複雑な世界を創る」ことを示す良い事例だと思います。