ブログ

鳥の群れのシミュレーション(下)

━━━━━━━━━━━━━━━━━━━━
数学月間SGK通信 [2014.06.21] No.015
<<数学と社会の架け橋=数学月間>>
━━━━━━━━━━━━━━━━━━━━
◆揺動させる
もう一つの重要なモデリングパラメータはランダムジグリングである
(プログラム中にrandomJiggleと記す).
各鳥の周囲の鳥の平均飛行方位の査定がいつも正確になされる訳ではない
という事実を考慮に入れる.プログラムが時時刻,各鳥の方位を更新するとき,
ランダムジグリング変数により与えられる範囲内のランダム角で調整される.
10°より小さいrandomJigle値なら,群れは最終的に一方向への一体運動になる.
randomJiggleを180°にセットすると系は塵微粒子のブラウン運動の
シミュレーションと同じになる.ガス分子の例のように,
このモデルをさらに自然に近づけるいくつかの方法がある.
このヒントのいくつかはプログラムファイルの末尾にある.

◆単純さと速度
モデル記述で重要な因子は,用いるアルゴリズムの効率である.
”アルゴリズム”の起源は,アラブの数学者al-Khowarazmiの名前であるが,
”仕事を完成させるための一連の指示”を意味するようになった.
ここの鳥の群れの例で用いたアルゴリズムは,おそらくそれほど自然ではない.
本当の鳥は,他のすべての鳥の位置を記録し,
自身と他のすべての鳥間の斜辺距離を計算し,
正確に5m内のものを選択し,
それらの進路の算術平均の方位に向けて舵を切るなどということはしない.
これらのステップは,追従が容易で,望ましい結果が得られるので,
モデルとして選ばれたのだ.これは,なかなか冗長な方法だ.
一つの鳥から他のすべての鳥までの距離を計算しなければならない.
これを順番にそれぞれの鳥について,各時間ステップごとに行う.
高速なデスクトップコンピュータでも,
鳥の数が500より大きいとシミュレーションはゆっくりゆっくり進む.

そこでモデルのデザインでは,仕事をどのように達成するか考える必要がある.
可能な限り速いアルゴリズムを使うか,現実の系の現実の方法に近づけるか,
単純に効率は悪いかもしれないが仕事はできる方法にするか.プログラミングで,
しばしば,特定の仕事部分のアルゴリズムを関数にするのは良いアイディアだ.
こうすればプログラム内で特定の計算が必要になったときいつでも呼び出せる.
(鳥の群れのコードを見れば,MeanHeading()関数でこれがなされる
のを見るだろう.)
見守る間にシミュレーションがずっと速く走るようにしたければ,
プログラムを2つの段階に分割するとよい.
最初は,コンピュータを貪り尽くすようなすべての計算を通して行い,
各時間ごとに系の状態を別々な行列として記録する.
この計算の後は,例えば1000回の時間間隔の行列リストの束
のような3次元行列に行き着く.
シミュレーションを一回通しで行えば,すべての情報が保存される.
第二のステージは時間ステップごとに順番に表示する
(今度は計算処理のために待つ必要はない).
あたかもアニメーションを見るのに,
行列の本の頁をパラパラするようなものだ.
我々は,単純な鳥の群れシミュレーションに絞ってきた.
コンピュータプログラムの構造,特定の仕事をするアルゴリズムや
関数の記述などのコンピュータモデリングの重要な様相が浮彫りになるからだ.
このように単純なモデルでも,複雑で大変自然に近い群れのふるまいが作れる.
これはまさに,動物研究者が作ろうとし,理解しようとした鳥の群れのふるまいや,
魚の群れのコンピュータモデルだ.
例えば,Iain Couzin博士が動物のふるまいを理解するために
巨大グループのコンピュータモデルを使つている.
彼のモデルは,この論文で見てきたものとまったく同じ原理に基づいており,
同様の複雑性がみごとに出現する.
モデルはさらに複雑になっており,(我々の2次元平面を超え)
3次元で動き,冗長だが現実に近い各個体のふるまいを制御する規則の集合を持つ.
-------------------------------------------------------------------------
◆Iain Couzin
イアンは,プリンストン大学とオックスフォード大学の両方に拠点を置く
動物行動の専門家だ.バッタから魚,鳥に至るまでの
群れのダイナミックスのコンピュータモデルを作った.
彼の研究は,如何に動物の群れが集団としての決定をなすか
驚異的な特徴を見いだすことと,
アフリカの政府機関の行うバッタの致命的な群移動コントロールを
手伝うことだ.最近まで,イアンは群れがどのように肉食動物の
アプローチに反応するかに集中していた.
諸君はイアンの研究の詳細を
http://www.princeton.edu/̃icouzin/で読むことができる.
下の映像は彼のモデルの一つから作ったビデオの静止画だ.
BBCのドキュメンタリシリーズ”肉食動物”で使われた.
http://plus.maths.org/issue42/features/dartnell/SimImage.jpg
------------------------------------------------------------------------

◆重力モデル
この種類の粒子運動モデリングの拡張は,
地図をよぎって伸びる効果を含めることである.
このわかりやすい例は,重力である.
重力は消えそうなほどわずかかもしれないが,
太陽の重力の影響は非常に長距離まで達する.
processingを使い単純な重力モデルを作るには,
太陽としてスクリーンの中心に小円を描き,
他のすべての点から太陽までの方位と距離を
計算する関数を記述する.これで,諸君のモデル化した世界にある
粒子が影響を被り速度を変じる重力を計算できる.
ランダムな位置に置かれランダムな速度を持った惑星で
シミュレーションを初期化し,
これらの太陽の周りの円弧運動をアニメートしよう.
次の時間ステップのこれらの位置は,
現在の重力と速度で決定される.諸君はプログラムを,
各惑星が後ろに軌道の軌跡を残すように変更することもできる.
(draw()関数BYの背景コマンドを取り除く.ラインの始めに//でコメントにする).
http://plus.maths.org/issue42/features/dartnell/collision.jpg

Fig. 何十億という星がアンテナ銀河の衝突の間に形成された.
下に示した銀河衝突モデリングで色々見いだそう.
このイメージはハッブル宇宙望遠鏡で撮影された(NASA提供).

太陽系の表示のために,各惑星の円軌道を生む速度を
注意して解く必要がある.太陽系の圧倒的な支配力,
太陽の重力だけを含めば,第一近似で正確なモデルができる.
だが,巨大ガスの木星は他の惑星に注目すべき影響を与える.
このような二次的な効果を含めるなら,さらに正確なモデルができる.
水星の軌道を完全に観察に合わせるには,もっと複雑なレベルが必要で,
アインシュタインの相対性理論-これはNewtonの重力の法則よりも,
ある特定の状況では正確-を含める必要がある.
再度,モデリングのコツは,月面に人を着陸させるアポロプログラムが
含める必要のある詳細の最小量を巧みに考慮することだ.
単純な Newtonの重力モデルで地球と月の影響以外のすべてを無視している.
すべての粒子が互いに相互作用するもっと大きな重力系ダイナミックス
のモデリングは,非常に高速なコンピュータで膨大な計算が必要で,
極端な”計算浪費”である.
しかし,このような数値シミュレーションは多くの研究者にとって
極めて重要だ.例えば,下の枠中に,
2人の主導的な研究者の仕事に焦点を合わせ,
過去と未来の何十億年のイベントを見る.
世界を打ち砕く衝突を通して月が作られ,
我々自身の銀河と我々の最も近くの隣人の巨大な重力の引きが,
何十億年もの年を超えお互いを分裂させるであろう.
----------------------------------------------------------------
◆Robin Canup
ロビンはデキサスのサウスウエスト研究所の宇宙科学者だ.
彼女は月がいかにして形成されたかに興味を持ち,
太陽系生成の初期に,若い地球がより小さい原始の惑星に衝突した時の
イベントから月が生まれたという理論をテストした.
彼女のコンピュータモデルは衝突の熱で地球全体が融け
大量の岩が宇宙に放出され,その多くは衛星の軌道でに合体し月になった.
http://www.boulder.swri.edu/̃robin/でもっと多くを見ることができる.
http://plus.maths.org/issue42/features/dartnell/Moon_impact1.jpg
-----
◆John Dubinski
ジョンはトロント大学で全銀河のダイナミックスを研究している宇宙物理学者.
我々の銀河,天の川,アンドロメダと呼ばれるらせん銀河の隣人は
重力的に互いに引き合っていて,
500,000km/時間でお互いに向かって落ちて行く.
2人がお互いを破壊する(とき・から・につれて・ように)、
これらの2つの巨大銀河が星の大きい細長い布をもぎ取って、合流し始めるであろうとき、
ジョンは将来の30億年の時間のモデル作りにスーパーコンピュータ使い,
これらの2つの巨大銀河が混合し始め,
星の巨大な細長い布をもぎ取り2つの裂け目のようになる.
驚異的なのは,このすべての混乱にもかかわらず個々星間のギャップは
非常に大きいので,実際には一つも衝突しないであろう.
我々の太陽の運命は不確実である.
しかしそれはあるいは銀河間の宇宙の暗虚に排出されるか,
混合銀河の密集しているコアに飛び込むかである.諸君は,
http://www.cita.utoronto.ca/̃dubinski/tflops/で,
地球の夜空の景色も含めて,さらに色々な映画を見ることができる.
http://plus.maths.org/issue42/features/dartnell/galaxy1.jpg   
-----
◆著者:Lewis Dartnell
ルイスはオックスフォード,クイーンズ・カレッジで生物科学を専攻している.
現在[訳注:2004年当時],生命科学と実験生物学の数学と物理センター,
学際科学のロンドン大学センターの生物学的複雑系モデリングの
4年間のMRes-PhD課程にいる.彼は宇宙生物学の分野で研究している.
火星の放射線レベルのコンピュータ・モデルを用い,火星の表面付近で
生命が生きられるかの予測をし,最近ニュースで報じられた.
彼はデイリーテレグラフ/ BASFの若手科学ライター賞などを4回受賞した.
彼のポピュラーサイエンス本,宇宙での生活:初心者向けガイドは,
2007年3月に出版された.彼のウェブサイトで多くの作品を読むことができる.
(訳:谷克彦)