HOME > natural science Laboratory > 学会へ行こう!プロジェクト > 研究開発テーマ > トゲオオハリアリの女王が示すパトロール行動解析とモデル化

アリの生態に基づいたアリロボットアルゴリズムの構築

研究背景

 まず、これから発表する研究内容が既存の科学の体系の中でどこに位置づけられるのかを説明します。生物をとりまく環境に注目し研究していく分野としてバイオサイエンスがあります。その一方で電磁気学、力学を応用してハードウェアを構築し、プログラミングを用いてソフトウェアを作り高性能な機械を構築していくロボティクスがあります。かつてはそれぞれの分野がその領域の研究を積み重ねてきたのですが、近年生物の持つ機能をロボットに応用するバイオロボティクスという分野が発展してきています。すなわち人間や生物の構造や運動機能を工学的な視点で解析し、ロボットや機械技術として活かす研究、今回発表する内容はその分野の一つです。

 バイオサイエンスの中の生態学に、「社会性昆虫」の生態について注目します。「社会性昆虫」とは個体同士が集まり異なる役目を持ちコロニーとしてある役目を果たす昆虫を指します。例えばアリはどんな種類であっても必ず1つのコロニー内に女王アリと働きアリが存在します。当たり前のことですが女王アリと働きアリは役割が異なり行動も異なります。そしてそれぞれのアリがコロニーが存在できるように各々の役割を果たしています。

 この「社会性昆虫を」をロボティクスの視点、「群れロボット」への応用という見方で研究していきます。「群れロボット」とは個の役割・集団としての役割が存在する服す体で一つに役割を果たすロボットです。長所として事故に強く、個体数で行動範囲を調整できるという点が挙げられます。
 すなわち今回の研究ではロボティクスの群れロボットへという視点で社会性昆虫の行動を研究し生物の持つ役割を抽出しロボットへ応用していきます。

研究の目的

 本研究の目的は社会性昆虫の持つ習性をロボティクスへの応用という視点から解析し、生物が自然の中で生きるために必要な習性を抽出し、さらに人間社会へ応用した場合どの習性を利用できるか、また改変し応用できるからを考え最終的にそれらを踏まえたロボットを作ります。

 社会性昆虫の中で今回はトゲオオハリアリというアリに注目します。アリの種類によって1つのコロニーに存在する個体の数は数十~数千まであるが、このトゲオオハリアリはコロニーの個体数が60~100と少なく研究しやすい。さらにこのトゲオオハリアリの特徴として、「女王アリが3~6時間以内にワーカー(働きアリ)に触れないとワーカーが生殖活動を開始する」という特性がある。すなわち、女王アリは3~6時間以内にすべてのワーカーと接触しないといけないという研究結果がある。
 しかし、実際にこのトゲオオハリアリを観察すると活動しているのは全体の3割に過ぎず、残りのアリは女王アリも含めほとんど活動していない。もっと効率よく女王がワーカーに触れるのに最適な活動パターンがあるのではないか?その最も最適な活動パターンを探し群れロボットへ応用するのが研究の目的である。

実験原理

 アリのコロニーをできるだけ抽象化し注目したい要素だけ抜き出し、数学的に考えます。「効率よく女王がワーカーに触れるのに最適な活動パターン」を解析するため,各アリの歩行する方向はすべてランダムとし,アリの活動時間と休憩時間について注目します。最初はアリの排除体積を考慮しない(何匹でも重なることできる)場合、考慮する場合、ワーカーと女王の引力(ワーカーが女王を見つけたら近づく)を考慮する場合、しない場合というように、最も簡略な場合から少しずつ要素を増やし結果を比べていきます。

 次に実際にどうやって活動時間と休憩時間を数学的に考えるかです。まずはある一瞬見たときの、コロニー全体の活動・休憩の様子を数学で記述します。例えば「ある一瞬コロニーを見たときい3割のアリが活動しており、7割が休憩していた」という状況があったとします。すべてのありの行動がランダムである、つまり個体一つ一つの習性を無視した場合にこれを数学的に表現する方法は二通りあります。それは「活動・休憩を切り替える確率を変更する」「活動・休憩の時間の割合を変更する」の二つです。例えば、すべてのアリに対し活動時間・休憩時間を30秒とし、30秒ごとに30%の確率で活動70%の確率で休憩と分けるとします。そうすることである一瞬コロニーを見た際に30%のアリが活動し、70%が休憩しているという状況が観測できます。これが「活動・休憩を切り替える確率を変更する」という考え方です。逆に活動・休憩を切り替える確率を一律50%とし、活動・休憩時間の比を変えてみます。例えば活動モードは30秒、休憩モードは70秒としそれぞれのモードが終わった際に50%の確率で活動・休憩を切り替えます。 この場合もある一瞬コロニーを見た際に30%のアリが活動し、70%が休憩しているという状況が観測できます。これが「活動・休憩の時間の割合を変更する」方法です。

 上記の考え方を用い、横軸を活動時間と休憩時間の比、縦軸を活動・休憩のモード切替の確率とし、相図としてあらわします。すると大きく5パターンのコロニーのタイプに分類できます。全く活動しないなまけもの型、その対極でずっと活動している過労死型、こまめに活動する一方で休憩を長く取る大型連休型、その対極であるこまめに休憩を取る一方で活動する時間は長い飛び石連休型、すべての平均を取ったバランス型です。それぞれの型のアリのコロニーをシミュレーションし女王がワーカーすべてと出会うまでの時間を測定し比べていきます。

実験方法と結果の予想

 先ほど実験原理で述べた方法についてC言語を用いて数値シミュレーションを行い、OpenGLを用いてアリの活動の様子を可視化し結果を実際のアリと比較しながら実験を行います。コロニーすべてのアリに対し一律で「活動・休憩を切り替える確率」「活動・休憩の時間の割合」を変化させた場合、女王蟻とワーカーが出会うのに要するステップ数を測定します。時間を測定するとコンピュータの処理速度の影響が出てしまうため、アリの1つの行動につき1ステップをカウントして次官の代わりとします。

 右図にあるのが実際のシミュレーションの画面です。まずは灰色部分がありがいない場所、赤が活動中のワーカー(女王と未接触)、黄が休憩中のワーカー(女王と未接触)、青が女王と接触済みのワーカー、緑が女王です。このように実験の様子を可視化しプログラミングに間違いがないかどうかを確認しつつ実験していきます。

 以上のシミュレーターを用いて、ワーカーも女王も歩行方向をランダムにした場合の結果を予想しました(右図)。赤にいくほど女王とすべてのワーカーの接触に要するステップ数が少なく、紫に近いほど多くなります。予想ではある一瞬観察したコロニーのアリが50%以上活動していればステップ数は律速するのではないかと予想しました。

実験結果、考察

 実験の結果は左図のようになりました。結果を予想と同じように色を用いてあらわしたものが左下の図です。結果は活動・休憩を切り替える確率」「活動・休憩の時間の割合」が増えれば増えるほど出会うために要するステップ数は少なくなりました。すなわち、活動すればするほど出会うための効率はよいということになります。

 なぜ当初の予想と異なってしなったでしょうか?そして、なぜこのような結果となったかについて考察を行います。シミュレーションは女王がコロニー内のすべてのワーカーに出会うまで作動しています。実際にその様子を見てみると最後の一匹のワーカーに接触するために要するステップ数がそれまでのステップ数に対して非常に長いということがわかりました。つまり、このシミュレーションは女王と1匹のワーカーが出会うためのシミュレーションとして考えることができます。また、移動方向は全くのランダムであるため、ある閉じたれた空間内で2個の分子が衝突するまでの時間についての問題と同様に考えることができます。2個の分子が衝突するためには互いの速度が大きければ大きいほど衝突までの時間は短くなります。これと同様に考えるならばアリができるだけ大きな速度、今回は活動中の速度は一定であるためより活動時間が長いほど効率がいいということになります。この視点から考えると今回の実験結果は確からしいことがわかります。

今後の方針

 今回の実験でシミュレーションを行う土台を作ることができました。今後はこのシミュレータを用いて排除体積効果を導入(アリが重なることができない)します。こうすることで、一度に女王と接触できるワーカーの数は制限されます。そうするとより実際のアリのコロニーに近づき、今回とは異なった結果予想できます。また同様にワーカーと女王の引力も考慮し今回の結果と比較していきます。



▲このページのトップNPO法人 natural science トップ

関連記事

n.s.シンポジウム(2008.07.13)

トゲオオハリアリの女王が示すパトロール行動解析とモデル化







▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました