挙動の解説

脅威への反応、壁ぞいの移動、そして背後にある昆虫学の研究を紹介します。

GOKIs の住人は決まったアニメーションを再生しているわけではありません。GPU が毎フレーム各個体の状態を評価し、行動を選び、位置と速度を更新しています。挙動のモデルは、ゴキブリの逃走行動に関する査読論文を元に設計されています。

何が逃走の引き金になるのか

マウスカーソルは捕食者として扱われます。各個体は毎フレーム、カーソルとの距離を測ります。カーソルが 180 ピクセル以内に入ると脅威と判定し、反応は 2 段階に分かれます。弱い刺激では 警戒 にとどまり、一旦立ち止まって状況を見極めます。強い刺激になると 逃走 に移ります。

この 2 段階モデルは、Camhi & Nolen (1981) のゴキブリ巨大繊維反応に関する研究に由来します。

逃走の動きかた

逃走するとき、住人はランダムな方向に走るわけではありません。脅威に対する 5 つの好ましい逃走角度(180° が脅威の真反対方向)から 1 つを選びます。

角度 意味
95° ほぼ垂直方向への突進
125° 斜め後方への離脱
150° 鋭く反対方向へ
180° 真後ろへ直線的に退避
205° 反対側へ行き過ぎる方向

このうちどれが候補になるかは、脅威が体に対してどこにあるかで変わります。脅威が前方なら 95°〜180° のいずれか、側方なら 125°〜180°、後方なら 150°・180°・205° が使われます。

逃走のうち 約 90% は脅威から離れる方向ですが、残り 10% は意表を突いて脅威に向かう動き(多くは小さな空振りの旋回、まれに突進)になります。この比率は Domenici et al. (2008) の観察と一致します。

脅威に対して 95・125・150・180・205 度という 5 つの好ましい角度へ広がる逃走軌道の図。約 90% が脅威から離れる方向、10% が脅威へ向かう方向を示している。

壁ぞいの移動

ゴキブリは何かに触れているときに安心します。GOKIs ではこれを thigmotaxis (壁接触への先天的な好み、個体ごとに値が異なる) としてモデル化しています。逃走中でない住人は次のように振る舞います。

  • 最も近い画面の端 (またはテキスト境界、後述) に向かって移動します。
  • 端に到達すると、その縁に沿って動きます。
  • 角の付近に長く滞留します。

各個体は独自の性格を持っています。生成時に thigmotaxis、boldness (大胆さ)、activity (活発さ) の 3 つの値がガウス分布からサンプリングされます。そのため、2 匹として同じ振る舞いをする個体はおらず、何匹に増やしても見飽きない動きになります。

サバイバル行動とデイリー行動

内部のステートマシンは行動を 2 種類に分けています。

  • サバイバル行動 — ALERT (静止して警戒) と ESCAPE (逃走)。脅威によって発動し、ほかのあらゆる行動より優先されます。
  • デイリー行動 — REST (疲労回復のための休息)、WALL_FOLLOW (端ぞいの移動)、EXPLORE (オープン領域の探索)、SEEK_WALL (端に向かって移動)。脅威が近くにないときに、ユーティリティスコアで選ばれます。

ユーティリティスコアは、現在の疲労、接触欲求、直近の行動履歴 (直前の行動を続けやすい傾向)、個体ごとの性格を加味して算出されます。

ユーティリティスコアで選ばれる 4 つのデイリー行動と、脅威が 180 ピクセル以内に入ると割り込むサバイバル行動 ALERT・ESCAPE を示すステートマシン図。

テキスト境界

画面の境界に加えて、“GOKIs” という文字の形を SDF (signed distance field) として生成し、もう一つの壁として扱っています。住人はテキストの輪郭も壁として認識するため、暇なときは文字の中に集まる性質があります。長方形の画面境界だけで充分という方は、メニューバーの テキスト境界を表示 をオフにしてください。

参考文献

  • Camhi, J. M. & Nolen, T. G. (1981). Properties of the escape system of cockroaches. Journal of Comparative Physiology.
  • Domenici, P. et al. (2008). Cockroaches keep predators guessing by using preferred escape trajectories. Current Biology.