« | メイン | EclipseでRepastをつかう »

2006年10月07日

個体ベースモデルを手軽に:Repast

Repast (Recursive Porus Agent Simulation Toolkit)は、個体(エージェント)ベースモデルをつくるためのソフトウェアで、Javaのクラスライブラリとして使えます。シカゴ大で開発されたRepastは社会科学系の分野で使われていることが多いようです。

生態学分野でも、野外で観察された現象を理解するのに、"モデル"をつくるとことが有効なことが良くあります。個体ベースモデルは、仕組みが簡単な上に現実に即した複雑さも容易に組み込めるので、フィールドデータの分析と相性がいい手法だと思います。

Repastでは、対象とする生物の行動規則などの特性や、その生物が動き回る空間、スケジュールなど個体ベースモデルを作るときに必要となる基本的な要素を含んだ、個体ベースモデルのひな形が用意されています。したがって、モデルを作るときには、そのひな形に必要なプログラムを足していけばよいということになります。一から自分で作るよりは断然楽です。あくまでも用意されているのは、ひな形だけなので自由度が下がるということもありません。

パラメーターを読み込んだり、結果を書き出したり、いろいろな確率分布から乱数を発生させたりとシミュレーションをするうえで役に立つクラスも多々用意されています。中でも特に、メリットが大きいのはシミュレーションの「視覚化」が簡単に行える機能でしょうか。シミュレーションの過程を視覚化することは、システムの挙動を理解したりバグを発見したりするのに大変便利です。Repastのひな形にそって作られたプログラムなら、数行のコードを追加するだけでシミュレーションの結果をリアルタイムで視覚化することができます。Repastで作られたモデルの例はこちらから見ることができます。

投稿者 taku_kadoya : 2006年10月07日 23:24

コメント