View
0
Download
0
Category
Preview:
Citation preview
アリの行列とフェロモン理工学部 数理情報学科
T150019 尾瀬 翔健
指導教員 池田 勉
概要
アリの特徴的な行動として一番最初に思い浮かぶのが「行列」である。著者はそんなアリの行列を見て、行
列になれば餌を効率よく運べるが、そもそもなぜ行列を作ることができるのか考えた。言葉などのコミュニ
ケーションツールが無いように思えるアリがどのようにして行列を作ることができるのか数理的に説明するこ
とを試みた。
アリは体内で作られた匂いのある液などを分泌していると想定した。この匂いのある液を「フェロモン」と
呼ぶことにする。餌を見つけたアリがフェロモンを少しずつ垂らしながら巣に戻ることで、その他のまだ餌を
見つけていないアリがこのフェロモンを頼りに移動し、餌を見つける。そしてまたフェロモンを垂らしながら
巣に戻る。このサイクルによって行列ができるのではないかと考えた。しかし、アリの行列はジグザグ状など
の無駄なルートを作っているところを見たことがなく最短コースであることが多い。たくさんの種類の最短
コースがあっても、そのうちのひとつが選ばれることが多いように見える。フェロモンに揮発性があると仮定
すると、通過する頻度が少ないルートのフェロモンは時間の経過とともに薄くなっていくが、通過する頻度の
多いルートには着々とフェロモンが溜まっていくのでほとんどのアリが同じような最短コースで餌を運ぶこと
ができると考えた。
本研究では、限られたコミュニケーションツールを駆使して効率よく餌を運ぶ様子に魅力を感じ、これをシ
ミュレートするプログラムを作成した。
アリの行動について以下のように仮定する。
・格子点上を移動する。
・餌を見つけるまでは上下左右ランダムに移動する。ただし、フェロモンが多い方に移動する確率が高い。
・餌を見つけたアリはフェロモンを分泌しながら最短コースで巣へ帰る。
フェロモンには「追加」「拡散」「蒸発」の性質があり以下のように仮定する。
・「追加」:フェロモンは格子点上に追加され、そのたびにアリの手持ちの量が減る
・「拡散」:格子点上のフェロモンは時間の経過とともに周りの格子点にも拡散する
・「蒸発」:格子点上のフェロモンは時間の経過とともに蒸発する。
シミュレーションを行うには、フェロモンがどれくらい追加され、拡散され、蒸発するのかを設定しなけれ
ばならない。適切な値を選べば、「行列」が形成され、効率的に餌を巣まで運べるが、そうでない場合もある。
さまざまな値でシミュレーションをした結果、「追加」量の設定が行列の形成・餌の効率的運搬の両面におい
て一番影響力が強いことが分かった。
また、格子点上にアリの餌探しを邪魔する障害物をいくつか設置しシミュレーションを行った。障害物を避
けて行列を作り、効率よく餌を運ぶことが確認できた。
2018年度 卒業論文
アリの行列とフェロモン
龍谷大学 理工学部 数理情報学科
T150019 尾瀬 翔健
指導教員 池田 勉
目次
1 はじめに 11.1 アリの行列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 研究動機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 餌探しシミュレーション 22.1 アリの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 フェロモンの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 シミュレーションの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 フェロモンの値変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 餌探しを邪魔するモノ 123.1 障害物の設置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 2つの障害物 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4 おわりに 164.1 まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 アニメーションの拡張 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1 はじめに
1.1 アリの行列
図 1 アリの行列のイラスト
アリは人間にとってなじみの深い昆虫のひとつである。日常生活の中で一歩屋外に出ると足元には常にと
言っていいくらいにアリがいる。しかし人々はそのことについて特に気にする素振りもなければ、驚く様子も
ない。それほど身近な生き物であるということだ。アリの特徴的な行動として一番最初に思い浮かぶのが「行
列」である。見たことがないという人を探す方が大変なくらいに誰しもが目にしたことのある行動だ。上記の
イラストのように、餌を巣まで運んでいるアリの行列を見たことがある人も多いのではないだろうか。著者は
そんなアリの行列に疑問を持った。行列になれば餌を効率よく運べるが、そもそもなぜ行列を作ることができ
るのかという点だ。アリは体内で匂いのある液などを生成することができ、その液を分泌しているのではない
かと想定した。この匂いのある液を「フェロモン」と呼ぶことにする。餌を見つけたアリがフェロモンを少し
ずつ垂らしながら巣に戻ることで、その他のまだ餌を見つけていないアリがこのフェロモンを頼りに移動し、
餌を見つける。そしてまたフェロモンを垂らしながら巣に戻る。([1])このサイクルによって行列ができるの
ではないかと考えた。
しかし、アリの行列を見ているとジグザグ状などの無駄なルートを作っているところを見たことがなく、最
短コースであることが多い。([4])さらに、たくさんの種類の最短コースがあってもほとんどのアリが同じよ
うなルートで餌を運んでいるように見える。餌を見つける場所が異なると様々な最短コースができるのにも
かかわらず、同じようなルートで餌を運べるのはフェロモンに揮発性があるからではないかと考えた。([2])
フェロモンに揮発性があると仮定した場合、通過する頻度が少ないルートのフェロモンは時間の経過とともに
薄くなっていく。逆に通過する頻度の多いルートには着々とフェロモンが溜まっていくのでほとんどのアリが
同じような最短コースで餌を運ぶことができると考えた。
1
1.2 研究動機
著者は言葉などのコミュニケーションツールが無いように思えるアリがどのようにして行列を作ることが
できるのかという点に疑問を持ったため、数理的に説明することを試みた。
また、限られたコミュニケーションツールを駆使して効率よく餌を運ぶ様子に魅力を感じたのでプログラム
を作成し、シミュレーションを行った。
2 餌探しシミュレーション
2.1 アリの設定
シミュレーションでのアリの行動は以下のように仮定する。
・アリは星で表現。
ディスプレイ上で実際のアリの形を表現するのは難しいので、白い星の形をしたものをアリと仮定してい
る。
・格子点上を移動する。
シミュレーションを行うディスプレイには見えない格子状の線が用意してあり、アリはその格子点上のみを
移動するものとしている。
・餌を見つけるまでは上下左右ランダムに移動する。
ある格子点から次の格子点に移動する確率は上下左右の 4通りある場合、0.0~1.0までの数字を 4等分した
ものを例えばa(0.0~0.25)、b(0.26~0.50)、c(0.51~0.75)、d(0.76~1.0)とする。アリが一つ移動
するたびに drand48を使い、0.0~1.0までのランダムな数字を発生させる。発生させた数字がa~dのどの
範囲かによって上下左右のどこへ移動するか決めている。
・フェロモンが多い方に移動する確率が高い。([3])
上記で仮定したa~dの数字はあくまで一例である。格子点上にフェロモンが分泌されている場合、それぞ
れの格子点のフェロモンの量に応じてa~dの値が変わる。ある格子点から次に移動の可能性がある格子点が
4つの場合、それぞれの格子点の名前をA (右)、B (上)、C (左)、D (下)とする。格子点A~Dにはフェロ
モンが分泌されており、その量を例えばD<C<B<Aであると仮定する。この場合、格子点Aのフェロモン
量が一番多いのでaの範囲が広くなり、drand48で発生させた値がaの範囲である確率が高くなり、Aに移動
しやすくなる。こうして、ランダムに動くがフェロモンが多い方に移動する確率が高い餌探しをするアリの完
成である。
・餌を見つけたアリはフェロモンを分泌しながら最短コースで巣へ帰る。([4])
下図のように巣のある格子点の番号を0とし、その他の格子点にも番号を振る。
2
図 2 番号を振った格子点
この番号は巣までの距離を表しており、アリがエサを獲得し、巣に帰るときにこの番号の効果が表れる。番
号を一つずつ減らしていくことで無駄なコースを進むことなく、最短コースで巣まで帰ることができる。ある
格子点から次に進む可能性のある格子点が二つ以上ある場合には drand48で乱数を発生させ、どれかが選ば
れるようになっている。
2.2 フェロモンの設定
ランダムに移動し、餌を探していたアリがエサを獲得するとフェロモンを分泌できるようになると仮定す
る。([4])
巣に帰るとき、アリはフェロモンを分泌しながら巣に帰るものと仮定する。
アリのフェロモンには「追加」「拡散」「蒸発」の 3つの特性がある。([5])
プログラムではフェロモンの特性を以下のように仮定する。
「追加」
・アリの持つフェロモンは通過する格子点に追加される。
格子点は配列で並べられており、アリの通過した格子点には A(フェロモン)が足される。
p[j][k] = p[j][k]+A;
・アリが追加することのできるフェロモンの量は追加していくたびに減っていく。
追加のたびに上記の A(フェロモン)に f(1.0以下の数字)をかけて減らしていく
(フェロモン)が 0.0以下になることはないものとする。
A = f*A;
「拡散」
・格子点上のフェロモンは上下左右の周りの格子点にも拡散する。
3
p[j][k] = (1-4*lambda)*p[j][k] + lambda*p[j+1][k] + lambda*p[j-1][k]
+ lambda*p[j][k+1] + lambda*p[j][k-1];
lambdaという変数には 1.0以下の数字を与え、何%ずつ拡散するのか設定する。
lamuda = 0.01 → 周りの格子点には 1%ずつ拡散される。
lamuda = 0.1 → 周りの格子点には 10%ずつ拡散される。
「蒸発」
・格子点上のフェロモンは時間の経過とともに蒸発する。
時間が経過するたびに格子点のフェロモンの量にc(1.0以下の数字)をかけて減らしていく。
p[j][k] = c*p[j][k];
シミュレーションを行うには、フェロモンがどれくらい追加され、拡散され、蒸発するのか設定しなければ
ならない。つまり、上記の「f」「lamda」「c」の値を設定しなければならない。
2.3 シミュレーションの設定
実際に行うシミュレーションの様々な数値を設定していく。
・格子の縦横の数
シミュレーションを行うには格子の縦横の数も決めなければならない。
基本的には正方形になる数字が好ましく、最大の数値は 100 × 100である。
10 × 10や 30 × 30では格子点の数が少ないため、アリの動きがなめらかでなく餌探しの再現とは程遠い
ものであった。
数値を増やしていき、最終的には 100 × 100の設定に落ち着いた。格子点の数も十分なためアリの動きは
なめらかになり、理想とするシミュレーションに近いものとなった。
・アリ
アリの数は 1~100匹まで自由な数を表示することができる。
アリの行列を再現するには少ない数では行えないので最大の 100匹を設定することが最も好ましい。
また、アリのスタート位置は乱数を発生させランダムな位置からスタートする。ただし、餌を見つけるまで
に時間がかかると面倒なので、あえて一匹だけ餌場からスタートさせている。
・フェロモンの表現
格子点に分泌されたフェロモンの量を表現するにあたって、まずは等高線での表現を試みた。フェロモンの
量が多い場所には、等高線が密集し、少ない場所では離散していく様子が表現できた。しかし、時間が経過す
るとともに激しい動きを見せる等高線は分泌するフェロモンの表現にはふさわしくないのではと感じ、色で表
現する方法を試みた。([6])
著者にとってフェロモンの色といえば黄色のイメージがあり、黄色の濃度で表現する。4つの格子点をつな
いだ最小の正方形を塗りつぶす。([6])4 つの格子点のフェロモンの量に応じて黄色の濃度を変え、グラデー
ションになるように塗りつぶす。このように表現することで、フェロモンが多いところは濃度の高い黄色で表
され、アリが通過するたびに上書きされる様子もわかりやすくなった。また、濃度で表現したことによって
フェロモンが少ないところの黄色が薄くなるため、フェロモンが拡散や蒸発などにより徐々になくなっていく
ように表現することができた。さらに、グラデーションで表したため煙のようになめらかに周りに広がってい
く様子も表現することができた。
4
よって格子点のフェロモンの量は色の濃度で表現することが適切であったため、シミュレーションでは、黄
色の濃度で表現する。
・巣と餌
シミュレーションでの巣の位置は右上の方のある 1点を巣の場所と仮定している。
餌はある程度の大きさがあるものを用意した。([5])点ではなくアリが餌場である範囲に入ると獲得したと
仮定してシミュレーションを行う。点ではなく範囲で餌場を表現したことによって、餌の大きさを自由自在に
変更することが可能になった。
2.4 フェロモンの値変更
上記の設定でシミュレーションを行う。及び、フェロモンの値を設定しなければならない。
まず、追加するたびにアリの追加することのできるフェロモンの量は 1%ずつ減らす。
時間の経過とともに拡散する値は、4方向に 1%ずつ。
時間の経過とともに蒸発する値は 0.1%ずつになるよう設定した。
とりあえず、このくらいの値だろうと予想して設定し、シミュレーションを行った。
結果は見事、行列を作り、ほとんどのアリが餌を巣まで運ぶことができた。
縦軸を持ち帰ったエサの数、横軸をステップ(アリの動いた回数)としてグラフを作成した。
そのグラフが下図である。
図 3 シミュレーションの結果
5
5000ステップの時点で 100強の餌を巣まで運ぶことができている。
フェロモンの設定値に適切な値を当てはめることができれば、瞬く間に行列が形成され、効率的に餌を巣ま
で運ぶことができる。上記で当てはめた値は、これくらいだろうと著者の予想で決めた値なのでこれが最も適
しているとは言えない。
より効率的な値を見つけるために様々な値を設定し、シミュレーションを行った。
はじめに、拡散する値と蒸発する値はそのままにして追加するたびに減るアリの手持ちの量の値を変更し
た。
フェロモンを分泌するたびにアリの追加できる量の減少率を 0%とした。つまり、追加する量は変わらずに
分泌するシミュレーションを行った。
結果をグラフで表したのが下図である。
図 4 1番の結果
一番最初にシミュレーションを行ったものの結果を0番として見比べると、最初の方はほとんど同じよう
な結果だが、2000ステップ以降から差が開き始め、最終的に 0番の半分程度の量しか餌を運ぶことができな
かった。この結果を 1番と呼ぶことにする。フェロモンを分泌できる量が変わらないということは、餌場での
分泌量と巣の周りの分泌量が同じということになる。しかし、先に分泌された餌場の周りのフェロモンから
徐々に拡散や蒸発が行われるので餌場周りと巣の近くのフェロモンの量を比べると巣の近くのフェロモンの量
が多いことになる。その結果、餌を運び巣まで戻ったアリが再び餌を求め、フェロモンを頼りに移動すると巣
の近くでうろうろするだけという現象が起こり、効率的な餌運びができなかった。
6
1番のシミュレーションの設定では追加するフェロモンの減少率は 0%であったが、10%に増やしてシ
ミュレーションを行った。拡散する値や蒸発する値は変更しない。
その結果が下図である。この設定のグラフを 2番と呼ぶことにする。
図 5 2番の結果
1番のグラフと同じように 0番の結果と並べている。グラフを見ると素晴らしい結果が出たのではないだろ
うか。序盤こそ同じような軌道であるがすぐに差が開き始め、最終的には 0番の結果の倍以上の量の餌を巣ま
で運ぶことができている。グラフだけ見ると良い結果に思えるが、実際のシミュレーションでは良いとは言え
ない点がある。行列ができないという点だ。
追加するたびに次に追加することのできる量が 10%ずつ減るということは、餌場から餌を獲得して巣に帰
るが、巣の近くに分泌されるフェロモンの量はほとんど 0に近いものとなる。そのため、2番では巣の近くで
餌をランダムに移動しながら探しているアリにはフェロモンの影響がほとんどなく、餌場の近くにいた数匹の
アリが何度も餌と巣の間を行き来し餌を運ぶ結果になり、グラフで見ると効率よく餌を運んでいるように見え
るが、アニメーションでは何十匹ものアリの行列とはならなかった。
続いて、拡散の値を変更しシミュレーションを行う。
時間の経過とともに 4方向に拡散する値を 0%に設定した。つまり拡散しないということだ。その他の値は
0番のままで行った結果が下図である。この結果を3番とする。
7
図 6 3番の結果
最終的に巣まで餌を運ぶことができた数は0番の半分以下であった。
餌を見つけたアリが餌場から巣までの間をフェロモンを分泌しながら戻るが、拡散しないということは追加
されたフェロモンが周りの格子点に広がっていかないので、その他の餌を見つけていないアリにフェロモンの
影響がほとんどないということになってしまう。たまたまアリがいる格子点の隣の格子点にフェロモンが分泌
されている場合のみしかフェロモンの影響を受けないのでこのような結果になった。
そこで時間の経過とともに4方向に拡散する値を 10%に増やした場合のシミュレーションを行った。0番
での設定の 10倍である。その他の値の変更はしない。
この設定を 4番とし、結果は下図のようになった。
8
図 7 4番の結果
最終的な巣まで餌を持ち帰った数は3番での結果と同じくらいになり、良い結果が出なかった。
時間が経過するとともに格子点に追加されたフェロモンは周りの格子点に 10%ずつ拡散していくように設
定したため、瞬く間に広がっていき、アリは餌と巣の間にすぐに集まった。
しかし、拡散する割合が多すぎたため格子点のフェロモンはすぐに薄くなり、餌までたどり着くことができ
ないアリが続出した。よって、このような結果になった。
蒸発の値も変更してシミュレーションを行う。
時間の経過とともに蒸発していく割合を 0%とし、その他の値を 0番のままで設定した。この設定を 5番
とし、結果をグラフで表したものが下図である。
9
図 8 5番の結果
上記のグラフ同様 0 番の結果と並べてあり、2000 ステップあたりを比べると 5 番の結果の方が巣まで持ち
帰ったエサの数が多い。しかし、最終的に持ち帰った数は 100弱となり 0番よりも劣っている結果になった。
蒸発する割合が 0%ということは格子点に追加されたフェロモンはなくなることがなく拡散によって広がっ
ていくだけである。つまり、シミュレーションの序盤は餌場と巣の間にしか分泌されていなかったフェロモン
が後半には、餌場や巣から遠く離れた場所にまでフェロモンが広がっていき、フェロモンを頼りに餌を探すア
リが餌はないがフェロモンだけがある場所で迷ってしまい、なかなか餌までたどり着けないという現象が起
こってしまう。その結果、シミュレーションの後半には餌を獲得し巣まで帰るアリの数が伸びなかった。
時間の経過とともに蒸発する割合を 1%にしたものも同様にシミュレーションを行った。
この結果を 6番とし、グラフは下図のようになった。
10
図 9 6番の結果
ここまで様々な数値を試したが 5000ステップ時の持ち帰ったエサの数は一番少ない。
格子点に追加されたフェロモンは0番の設定よりも 10倍の速さで蒸発するので残された格子点のフェロモ
ンの量は少なく、アリが餌場までたどり着くことは難しかった。アリは餌と巣の間に集まっては来るものの、
行列はできなかった。
以上の結果より、2番の設定以外は最初にシミュレーションを行った 0番よりも効率的な餌運びをできてい
るとは言えない。2番の設定で行ったシミュレーションでは何十匹ものアリの行列はできなかったが餌場の近
くのフェロモンの量と巣の近くのフェロモンの量に大きな差があり、餌場に近づくほどフェロモンの量が増え
ていくため餌を見つけやすくなる。よって、フェロモンの数値設定では追加するたびに次に追加することがで
きる量の減少の割合が効率的な餌運びにおいて一番影響力が強いことが分かった。追加するたびに手持ち量が
減少していく割合が大きすぎると行列が作られないという点を踏まえて、追加するたびに 5%ずつ減少してい
くと設定してシミュレーションを行った。
アニメーションでは 2番の時のようにはならず、餌場と巣の近くでフェロモンの量に差はあるものの、巣の
近くにもフェロモンが多少残されているため、ほとんどの アリが参加する行列を作ることができた。
この結果をグラフで表したものが下図である。比較するために 0番と 2番の設定も一緒に描画している。
11
図 10 最適な設定での結果
序盤こそ、2番の結果に劣るが 5000ステップ時には 2番の設定よりもはるかに効率の良い餌運びができて
いる。0番に関しては 3倍以上の餌の数を巣まで運ぶことができている。
2番の結果と比べてわかるように、行列の形成が効率的な餌運びに強くかかわっていることが確認できた。
よって、行列の形成・餌の効率的な運搬に最も適した値は
・追加するたびに減るアリの手持ちの割合:5%
・時間の経過とともに 4方向に拡散する割合:1%
・上のフェロモンは時間の経過とともに蒸発する割合:0.1%
となった。
3 餌探しを邪魔するモノ
3.1 障害物の設置
アリが餌を探すとき、必ずしも地面は何もない平らな場所とは限らない。
地面には石などの障害物があることが多い。その障害物は、餌場と巣の間にも点在し、アリはそんな邪魔を
する障害物を避けて、餌を探し、運ばなければならない場合がほとんどである。障害物を避けた場合、アリは
最短コースではなく遠回りをしなければ巣まで帰ることができない。
12
障害物を避けたうえでアリは最短コースで巣まで帰ると仮定しシミュレーションを行った。
アリが移動する格子点に障害物を設置し、アリは通過できないものとする。
障害物はある特定の範囲を決め、そこに長方形の図形を描画し、図形の中に含まれる格子点をアリは通過で
きないものとした。([6])
最短コースで戻るには、前記のように格子点に振った番号を順に一つずつ減らして行く必要がある。しか
し、アリが進むことができない障害物が格子点上にあるためその格子点以外で番号を振らなければならない。
その結果、下図のようになる。
図 11 障害物を置いた場合の格子点番号
こうすることでアリは障害物を避けたうえで最短コースをたどり、巣まで戻ることができる。
実際に障害物設置バージョンでシミュレーションを行った。
フェロモンに設定する数値は前記の結果の中で最適とされる値の
・追加するたびに減るアリの手持ちの割合:5%
・時間の経過とともに 4方向に拡散する割合:1%
・上のフェロモンは時間の経過とともに蒸発する割合:0.1%
を与えた。
結果は、見事障害物を避け、行列を作ることができた。
13
図 12 障害物を置いた場合の行列
アリが餌を巣まで運ぶ際に、障害物に近づきすぎてしまうと余計に遠回りになってしまう。格子点に番号を
振って最短コースを作ったことにより、無駄な遠回りをすることなく、直前で曲がることができた。そのため
上図のような道筋の行列ができ、効率の良い餌運びができた。
3.2 2つの障害物
餌場と巣の間にある石などの障害物は一つだけではない。むしろ、いくつもの障害物がある場合がほとんど
である。
餌を探すアリはそのいくつもの障害物すらも避けて行列を形成し、効率的な餌運びを行うと仮定する。
障害物の設置は 1つ置いた場合とは違う方法で設置した。最短コースで餌を巣まで運ぶために格子点に番号
を振るという点は同じだが、1つの格子点に小さなひし形の障害物を描画し、障害物が置かれた格子点をいく
つも並べて大きな障害物を設置した。([6])もちろんアリはその障害物の中を通過することはできないものと
する。
シミュレーションで扱う障害物というものは、石であったり、小枝であったり、葉っぱや木の実など様々な
ものを意味する。つまり 1つのものに特定できない障害物というナニカである。色を特定してしまうと、アニ
メーションを見る人からすると石や小枝などに見え、特定されてしまう恐れがある。そこで、ひとつひとつの
ひし形の色を決定時に乱数を発生させランダムな色にすることでアバウトな意味での障害物であり、特定しな
いナニカという表現にふさわしい異質感のある障害物を表現した。
さらに、ひとつひとつの格子点に障害物を与えることで、大きさや数を自由に指定することが可能になった。
14
シミュレーションでは、小さなひし形をつなげ大きな障害物を 2つ設置し行った。
フェロモンの数値の設定は先ほどと同様に
・追加するたびに減るアリの手持ちの割合:5%
・時間の経過とともに 4方向に拡散する割合:1%
・上のフェロモンは時間の経過とともに蒸発する割合:0.1%
を与え、行った。
この場合の結果も見事障害物を避け、行列の形成に成功した。
図 13 障害物を2つ置いた場合の行列
障害物が多くなるとどうしても餌場やフェロモンの分泌されている位置から離れた場所にいるアリは餌を見
つけるまでに時間がかかってしまう。いくつもの障害物がある場合、餌場から巣までの最短コースは限られた
ものになり、ほとんどのアリが同じようなコースをたどるため広範囲にフェロモンが広がることが難しい。ま
た、障害物をたくさん避けると餌場から巣までの移動回数が多くなり、巣の近くのフェロモンが薄くなってし
まう点が餌探しに時間がかかる理由としてあげられる。それでも、ほとんどのアリが徐々に餌場に近づき餌を
運ぶことができた。
また、序盤のイラストのように障害物を上手によけ、行列を作るアリを再現することができた。
15
4 おわりに
4.1 まとめ
この研究は著者の仮定を下に行われているが、想定したとおりにシミュレーションを行うことができた。
一連のアリの動きや、フェロモンの描画、障害物の設置まで表現することができた。
アニメーションを見ていても実際のアリの動きと同じように行列を作り、餌を運ぶことができているのでは
ないだろうか。最も時間を費やした部分はフェロモンの表現だ。フェロモンというものは実際の目には見えな
いものであるが、著者の考えでは色は黄色で煙のような広がりを見せるものであった。アニメーションではグ
ラデーションで表現したことにより、著者の考えのままのフェロモンを描画することができた。最適な数値を
見つけることもでき、非常に満足のいく結果となった。
4.2 アニメーションの拡張
モノの説明というものは文章だけではどうも伝わりづらい部分がある。
飲食店のメニュー表を見ていてこれはどんな料理なのか見当もつかないといった経験はないだろうか。その
メニュー表に料理の写真やイラストが描かれている場合は、こんな感じの料理なんだなと推測でき、おいしそ
うであれば気軽に注文することができる。しかし、メニューの名前だけが記載してあり、その他の情報がほと
んどないメニュー表を置いている店もある。初めて入る店のメニュー表がそのような場合、どんなサイズでど
んなものが出てくるのか分からず、一回の食事を台無しにしてしまうのではないかという恐怖を味わいながら
料理が運ばれてくるのを待たなければならない。しかし、写真やイラストを添付するとなると手間がかかるこ
とや、新たなメニューが誕生した時にはメニュー表を一新しなければならないなどの問題がある。そんな問題
を解決するのがタブレットなどでのデジタルのメニュー表だ。最近では大手の飲食店などで多く導入されてい
る。その他にもデジタルになっていくものが多くある、時計や電光掲示板、券売機など最近では自販機すらも
ディスプレイやタッチパネルを導入しデジタル化している。([7])
これらはなぜデジタルになったのか、それはわかりやすく簡単に理解できるからである。将来、デジタル版
になっていくものがほとんどであると考える。
デジタルで表示されるものの中に図鑑がある。図鑑といえば、重たいもので書庫に保管してあるイメージが
強く、とてもではないが持ち歩くものではない。しかし、タブレットなどで読める電子版の図鑑であれば持ち
歩くことも簡単である。最近では小学生の荷物が重すぎるといったニュースもあったが、タブレットなどを導
入すればこの問題も解決することができる。([8])
電子版の図鑑では紙媒体では行えなかったあることができる。動画の再生だ。電子版の昆虫図鑑でアリの
ページを開く。その文中の、アリはこんな風に行列を作り餌を運びます。などといった説明の中で電子版であ
ると動画を簡単に流すことができる。見ている側にとっては新鮮なものであり、わかりやすい。そんな場面で
シミュレーションのために作成したアニメーションが利用されると幸いである。
また、博物館などでの文章ではわかりづらい説明もアニメーションであれば簡単に説明することができるの
で、ケージの外側にこういった動画がディスプレイなどで設置されているとわかりやすいのではないかと考え
た。
16
参考文献
[1] http://ant.miyakyo-u.ac.jp/BJ/Kingdom/3233/3233j.html
[2] http://www.shigakan.co.jp/jiten/trivia/trivia15.html
[3] https://www.jstage.jst.go.jp/article/kagakutoseibutsu1962/43/12/43 12 817/ pdf
[4] https://naturally-land.com/2016/08/28/ant-18/
[5] http://www.alife.cs.is.nagoya-u.ac.jp/r̃eiji/aw/ants.html
[6] 床井浩平,GLUT/freeglutによる OpenGL入門,工学者,2015.
[7] https://livejapan.com/ja/in-tokyo train station/article-a0001321/
[8] https://www.yomiuri.co.jp/fukayomi/ichiran/20171214-OYT8T50015.html
17
Recommended