群れのセオリー

  • "群れのセオリー", NATIONAL GEOGRAPHIC 日本語版 200707, p.114-135

を読みました.

鳥,魚,ミツバチ,アリなどの生物は個体としては本当にシンプルなアルゴリズムで動いているが,群れでは協調している.そんな記事でした.


ミツバチは手狭になった巣から新しい住処を探すときに探索隊を出す.探索隊となったミツバチは気に入った場所が見つかれば,そこに居座りダンスし始める.そして同じ場所に15匹の蜂が集まったのを合図にそれを群れに報告し,新居の場所が決定する.


「ミツバチの判断は案外正しい」とのこと.
つまりWeb2.0などで流行っている言葉の「群集の叡智」なんですね(ref.「みんなの意見」は案外正しい).ミツバチによる投票はSocial Bookmarkのpopular entriesと置き換えることができるわけです.
アダム・スミスがいう見えざる手により,人間の世界でも株価や馬券のオッズなどは相応のものになるということも同じかな.


さてこの中で群れの動きをプログラムしたものとして,クレイグ・レイノルズの「ボイド」が紹介されている.

1) 近づきすぎない
2) 進む方向をだいたい揃える
3) 離れすぎない

これをほぼ同様の分散アルゴリズムで実践したものとして

が参考になります.


Googleの分散処理も例に挙げられていました.


要は

分散制御
局所的なきっかけへの反応
単純なルール

という要素が大切.でも制御ポリシをうまく設定しないと分散アルゴリズムとしてまずく,発散してしまいます.群集の叡智にしようと思っても2ちゃんねるの祭りと化したり,ネットイナゴになることもあります.


アルゴリズムって大事ですね.


これに加えてもう幾つか思ったことは,私個人も個体としてシンプルなポリシで動きたいということ,そして分散だけではなく全体を見通す目も持ちたいということ.