隣接♀数による飛翔スイッチのオン/オフ.この閾値はシステムで固定しています.つまり,個体の属性として遺伝したり変異したりしませんし,実験ごとに変えたりもできません.いちおう「虫の視野」を考えた上で固定しています.
で,その決め方が,ちょっとややこしいです.ツノヤハズの世界観,バックストーリー絡み話になります.なので,そのためだけに頁を設置しました.
基本的には「虫は隣接する周囲6ヘックスから得られる情報にもとづいて推定される最適な閾値をすでに進化上で獲得,固定している」として,その値はどうであるか? という発想で決めました.
各個体が他個体の存在をどう認識できるか? は,このシミュレーションにとって重大な前提です.
もし,広範囲の認識が可能なら,たとえば「2時方向5ヘックス先に♀」とかが分かるなら,かなりインテリジェントな長距離移動機能が存在するとしないと釣り合いません.
だったら「3ヘックス先は海」とか「そのさきの6ヘクス目から陸地」とかも分かりそうなモンです.そんな虫なら,それなりの長距離移動機能が搭載されているはず,進化してきているはずです.というか,それらは総合的に有用であるから発達し維持されているはずであり,活用できない情報を得るための器官はすぐ退化してしまうでしょう.
ツノヤハズシリーズは,認識も移動も単純な「おバカでトンマだけどパワフルなチャレンジャー」が前提です.
基本ルールでも,個体はせいぜい隣接する6ヘクスだけが認識範囲です.拡張ルールでは,さらに(♀♂とも)♀個体の存在(個体数)だけを認識する!との前提を追加します.数だけです.方向はわかりません.でないと,つまり他個体の存在方向を認識できるなら「空いているほうに移動」ができて当然だからです.
「(♀♂とも)周囲6ヘックスの♀個体の存在(個体数)だけを認識する!」これは手抜きではなく仕様です.♀も♂も同種の♀だけを認識,というのはそんなに不自然ではないと思いますが,いかがでしょう.ムリヤリ,そうであるべき状況を想像すると …
… ♀個体は化学的に不安定な性フェロモンを発する.風のないこの世界でそれは均一に拡散し,隣接したヘックスまではほぼ完全に届くが,それ以遠では急激に分解が進み,次のヘックスへは届かない. …
… 従って,あるヘックスでは,隣接するヘックスからの性フェロモンの合計濃度が感知されるが,濃度の勾配は認められない.由来する方向は判らないのだった … みたいな.
ですから,マメヤハズの他個体認識はフェロモン濃度として感知される「隣接♀数」のみです.自分が♀であればその分も加算されます.で,この「隣接♀数」から,♀密度も,♂密度も感じ取るわけです.
さて,ある個体からは,自分の位置と,隣接する6ヘックスの,合計7ヘックスだけが認識できるとすると,局地的には7/7が最大の密度ということになります.性比は1/2ですので,虫でぎっしりになると,♀密度は1/2になるでしょう.♀密度が(3.5)/7以上(♀にとっては4/7以上,♂にとっては3/7以上)になると,密度感覚は振り切ってしまい飽和.「ぎっしり」としか判らない状態です.
♀個体にとっては,まず♀個体の密度(自分を含む7ヘックス中の♀個体数から)が推定できます.
♀が認識できるの7ヘックスのうち半分を超える4ヶ所に♀がいる場合,つまり♀密度4/7だと多分周囲は虫でギッシリです.多分,もっと別の場所のほうが産卵しやすいでしょう.
逆に少ない場合は現在地で産卵したほうが良いでしょう.たとえば隣接する♀が1匹の場合(下表右上),♀密度は2/7.唯一隣接競合する♀(A)が9時方向にいる状況では,その横の11時方向と7時方向の空き地(あるいは♂占有地)はAと共有せねばなりません.というか,取り合いしてAに勝てる率は半分です.
さらにその先の不明地(?)があり,潜在的に(2/7)他♀がいる可能性があります.11時の地点に隣接して3地点あります.従って,11時方向には7/20卵産めます.
7時方向も同様.1,3,5時方向には(その先の各3ヘックスに2/7の潜在♀を見込んで)各7/13卵を産めます.現在地の1卵を加えて「みこみ卵数」約3.3卵の計算になります.
隣接♀数 | 0 | 1 |
(♀)密度 | 1/7 | 2/7 |
配置 |
? ? ? ? ○ ○ ? ? ○ ♀ ○ ? ? ○ ○ ? ? ? ? |
? ? ? ? ○ ○ ? ? A ♀ ○ ? ? ○ ○ ? ? ? ? |
みこみ卵数 | 4.2 | 3.3 |
2 | 2 | 2 |
3/7 | 3/7 | 3/7 |
? ? ? ? B ○ ? ? A ♀ ○ ? ? ○ ○ ? ? ? ? |
? ? ? ? ○ B ? ? A ♀ ○ ? ? ○ ○ ? ? ? ? |
? ? ? ? ○ ○ ? ? A ♀ B ? ? ○ ○ ? ? ? ? |
2.5 | 2.28 | 2.21 |
3 | 3 | 3 |
4/7 | 4/7 | 4/7 |
? ? ? ? B C ? ? A ♀ ○ ? ? ○ ○ ? ? ? ? |
? ? ? ? B ○ ? ? A ♀ C ? ? ○ ○ ? ? ? ? |
? ? ? ? ○ B ? ? A ♀ ○ ? ? ○ C ? ? ? ? |
1.91 | 1.75 | 1.64 |
隣接♀が2匹の場合には3通りの接し方のパターンがあります(上表中段).「みこみ卵数」は,60°で2.5,120°で2.28,180°で2.21卵になります.
隣接♀が2匹までは「みこみ卵数」は2.0を超えていますが,隣接3♀(上表下段)になると「みこみ卵数」は2.0を切り,増殖は見込めません.
というわけで,♀は低密度では飛翔オフ,密度が高くなると,良い場所を求めて飛翔します.♀の飛翔スイッチがオンになるのは,隣接♀が3匹以上いる場合,これを閾値としました.
ところで,同じ密度でも接し方のパターンにより,その出現率は異なります.隣接2でも,60°のパターンは6種類,120°のも6種類,180°のは3種類です,それぞれの出現確率は,6/15,6/15,3/15です.同様に隣接3では三連が6/20,У字型が12/20,Y字型が2/20です.
そこで,荷重平均をとると;
同様に♂にもスイッチのオン/オフがあります.こっちは事情が違います.
まず,低密度の場合,隣接♀がいない場合には子孫は確実に0で,飛ばなければ一方的に損です.ダメモトで飛ぶべきなのは明らかです.
比較的空いている場合,♂にとって自分の居る場所は隣接♀にとっても「ライバル♀の少ない空き地」に相当し,その場合のライバル♀も自分にとっては隣接♀であり両方交尾相手である可能性があります.かなり評価の高いへクスです.
個体が混んでいてギッシリのとき(それが感知できるとして)飛ぶべきでしょうか? 混んでいるときは隣接♀が多く,多数の卵に関与できる可能性がありますが,付近には♂も多いはずで,関与した卵が自分の子孫である率は低下するでしょう…
総合的に考えると,♂にとっての現在地評価は,各隣接♀に対して「みこみ交尾率」のような値を介し,ソレと♀の「みこみ卵数」の掛け算をして,その合計,のような評価になるはずです.
♂が他の♂を感知できない(♂密度を推定♀密度と同等とする)条件で「みこみ交尾率」を隣接♀の配置パターン別に算出すると;
隣接♀数 | 0 | 1 |
(♀)密度 | 0/7 | 1/7 |
配置 |
× ♂ × × × |
♀ ♂ × × × |
みこみ交尾率 | 0 | 0.58 |
2 | 2 | 2 | 3 | 3 | 3 |
2/7 | 2/7 | 2/7 | 3/7 | 3/7 | 3/7 |
♀ ♂ × × × |
♀ ♂ × × × |
♀ ♂ ♀ × × |
♀ ♂ × × × |
♀ ♂ ♀ × × |
♀ ♂ × × ♀ |
0.93 | 0.83 | 0.83 | 1.17 | 1.05 | 0.95 |
これに,それぞれの場合の「みこみ卵数」を掛けるわけですが,が,各場合の個々の隣接♀が,どのように他の♀と隣接しているかを特定することは一般には困難(一部特定できる組み合わせがあり,場合分けも可能ですが)です.
そこで,下表では,隣接♀数ごとに,♀はその密度での荷重平均みこみ卵数を使うこととし(3列目),各隣接パターンの頻度で荷重平均した交尾率(4列目)を算出して,これと掛け算.「みこみ父卵数」(5)列目を算出しました.
隣接♀数 | 0 | 1 | 2 | 3 |
(♀)密度 | 0/7 | 1/7 | 2/7 | 3/7 |
みこみ交尾率 | 0 | 0.58 | 0.87 | 1.076 |
みこみ卵数 | 4.2 | 3.3 | 2.4 | 1.8 |
みこみ父卵数 | 0 | 2.1 | 2.05 | 1.92 |
意外なことに(?),隣接1こそが希望にあふれた良い数値で,隣接2〜3では密集して飽和していますが,「みこみ父卵数」はほぼ2をキープしています.
総合的に「みこみ父卵数」を評価すると,意外なことに,♂が飛翔すべき♀密度,すなわち♂の飛翔スイッチがオンになるのは隣接♀が居ない場合のみ,です.これが閾値となります.♀とは逆に低密度でスイッチが入るのです.
と,まぁ,こういう考え方で閾値をルール中に設定したのですが…じつは,最初に「最適な閾値を虫は既に進化上で獲得しているもの」と書いたのは強引な前提であり,一定の閾値を超えれば即,飛ぶべきというような,単純なものではなく,飛ぶメリットとリスクを掛けた上で,閾値自体が変化(遺伝&突然変異→進化)しそうです.閾値を個体の属性とし,それぞれのマップ上で実際に走らせてみて,マップによって閾値自体が進化するのを観るがリアルなように思えます.
しかし,ここでは,個体の形質として別に「移動性」を搭載していますので,あまり多数の形質が絡むと混乱するだけだとの考えから,閾値のほうはシステムで固定し個体側の「移動性」の進化を観ることにしました.要するに「自由度」を小さくして,片方を固定して他方の変化を見る,みたいな考え方です.