エージェント指向モデリング環境NetLogoの最新版Version 6のある機能が気に入っている。Multi-level Models In NetLogo 6である。従来は、特定の自然現象や物理現象ごとに、それぞれモデル(プログラム)を作っていた。それで非常に高いレベルのシミュレーションはできた。今回、さらに、個々のモデルを連結して、ひとつの統合モデルにする機能ができたのである。しかも、それらを階層的に結合できる。それらは同時に(マルチスレッドで)実行される。
例えば、あるモデルに含まれるある機能(サブモデル)は大まかに(マクロに)作成して動かす。別途、そのサブモデルを具体的に実現するモデルを作る。その2つを階層的に結合して一つのモデルとして、全体を同時に動かすのである。
何か、卒研のレベルを高めるためのヒントを与えられた気がする。具体例を見てみよう。NetLogoシステムに含まれるモデルライブラリのうちから、次の2つに着目する。(両者は互いに独立に、特に関連性なく開発されたモデルである。)
■Wolf Sheep Predation(羊の群れに対するオオカミの補食圧)
草原には草が生える。羊はそれを食べて子を産む。狼は羊を食べて子を産む。それらは何れもある確率で生ずる。草が枯れてしまえば、羊が居なくなり、狼も死滅する。狼が増えすぎてもいけない。羊と狼の個体数の変動(ダイナミクス)を観察する。
■Climate Change(温室効果ガスによる気温変動)
CO2は、太陽からの照射エネルギーは通過させるが、地面からの輻射エネルギーは通過させないので、大気の温度は上昇する。これは、CO2の greenhouse effect (温室効果)と言われる。
この両者を結合して一つのモデルにするのである。すなわち、Wolf Sheep Predationでの草の生え方を、Climate Changeによる温度変化に基づいて、より精密に決められる。このようにして、モデルを階層的に作って統合することで、現実性の高いモデルを作るのである。この例では、地球温暖化の問題を取り込んだことで、より現実的な課題に向かうきっかけになるだろう。
0 件のコメント:
コメントを投稿