ここでは[DemeJ]において追加拡張されたル−ルについて説明しています.ツノヤハズ等,Demeシリーズの基本ルールについては,別頁をご覧ください.
ルールを説明するためには,当然 どういう積もりでそうなのか? そのルールを新設して何を見たいのか? 基礎概念とか問題意識とかの説明も必要になります.さらにそれらは,当然,実在の生物との対比での説明になり,どこまでナゾっていて,どこから違うか,という説明も伴います.要するに … ややこしくて,すみません.
追加されたのは,適応と移動です.
なお,拡張ルール上で生息する”虫”を[マメヤハズ]と呼ぶことにします.拡張ルールも基本ルールも実行する環境であるDemeJで飼育する虫をひっくるめて「マメヤハズ」です.
拡張ルールにおいて導入した[生息地域への適応]の概念のうちの一つが[緯度帯への適応]です.実在の動植物でもよく見られる気候帯への適応を想像していただくと近いです.
[生息地域への適応]のもう一つは[高度への適応]です.これも,実在の動植物でもよく見られる高標高への適応を想像していただくと近いです.
ところが,今↑,想像いただいた二つは,ちょっと似てますね.
実在の生物では,たとえば[耐寒性]が発達して,高緯度に適応した個体群は高標高にも適応するのでは? と考えるわけです.ところが,DemeJでは高緯度への適応と高高度への適応はまったく別とします.このへんがちょっと抽象的なトコです.
で,なぜ2要素なのか? なぜ別か? の説明をします.
そもそも環境の多様性は,緯度や高度や温度や湿度や日照や…温度の年周変化や日周変化や年間最低最高…,いくらでも考えつくくらい多くの要素から成り立っています.餌の豊富さや捕食者の多さや,それらの変動や…,それらも環境の属性の一部です.
現実の環境というブラックボックスの中には,たぶん物理的要素から生物的要素への緩い階層があり,因果関係の線でつながっているでしょう.さらに生物的要素の間では相互作用の線が絡み合っていそうです.それらをひっくるめて生息地の環境なのです(下表A).そんな生息地への適応とは無限にあるローカルルールをうまく利用し,切り抜けているのが地域に最適化した個体群といえます.
ブラックボックスの内部構造を一旦置き,基礎的な要素(下表では緯度,地質,高度)と生物の間の関係だけに注目するのも一つの考え方です.再現や予測を目的としたシミュレーションでは有効な方法です.現実のデータに一致する関数を見つけ出し,未知の状況を予測するわけです.しかし,それで再現できても,その成果は「構造を理解する」事とは別のものです.
内部を理解するために考え付く限りの要素を列挙し,その結果うまく再現できたとしても,今度は複雑すぎます.無限の要素が無限のルールに従って動いている,それを把握する事はできません.理解もできません.
逆にいうと理解するには単純化が必要なのです.ですから,ここ(DemeJの世界)では抽象化,単純化して2要素のみ,高度と緯度帯だけにしたというわけです.
このシミュレーションは個体以下をモデル化することによって,より上位の実体(下表の青い部分)が創発される事,それを観察するのが目的です.モデルは単純なほど良いのです(とか言いつつ拡張してますが).
2つに絞った要素を,さらに,それらが互いに独立な性質をもつものとしています.高度や緯度がたとえば温度などの第3のパラメータを介して生物に影響を与える(3階層の4要素が絡む,下表B)のではなく,高度と緯度が直接生物に影響を与える(2階層の3要素が直結,下表C)との単純化だとご理解ください.
|
|
|
種 種間関係 系統… 変異性 個体群… 個体 餌 病気… 天敵 競合種… 日照 風 湿度 温度… 緯度 地質 高度… |
↑ 個体 / | \ |(温度)| | /\ | 緯度 高度 |
↑ 個体 | | | | | | 緯度 高度 |
拡張ルールでも基本ルールと同様に,マップは東西40×南北60の広さです.その南北を6つの緯度帯(z0〜z5)に分割します.
つまり,最も北の東西40×南北10の地域は"z0"なる緯度帯であり,それに適応した個体は生存に関して得をし,適応していない個体はちょと損をします.続いて南北10の地域は"z1"で…,一番南は"z5"となります.
それぞれの地域では,環境に適応した虫が選択することになるでしょう,ただし,その損得の度合い(後述)が激しい場合,すなわち,選択が強く働く場合には,それぞれの地域はバッチリ適応した個体にそれぞれ埋め尽くされる事になるでしょうし,損得の度合いが弱い場合には,その地域と,棲息する虫の形質状態は必ずしも一致しないことになるでしょう.
また,南北の移動によって新たな地域に進出を果たした個体群は,その緯度帯への適応が次の課題となるはずです.強行進出した場合も同様です.すなわち,地域を巡っての陣取り合戦の場合,基本的に防御側が有利となる,その程度を決めるのが,このルールだともいえます.
個体は(6つあるうちの)どれかの緯度帯へ適応しています.普通は,親から受け継いだ[当り]の形質状態を持っている事が多いでしょう.しかし,たまたま隣のヘックスから別の緯度帯であったため親からの形質が[ハズレ]になってしまう不幸な個体もいるでしょう.さらに,たまたま突然変異していたために[当り]になるラッキーな個体が出る可能性もあります…何世代も繰り返すうちには.
繰り返しになりますが,その緯度帯へ適応するということは,相対的に,他の緯度帯への弱い不適応を伴うことを意味します.
このルールでは緯度帯への適応の[当り/ハズレ]は各個体の生存率の増分,減分として影響します.生存率のみに影響します.
適応は+5単位,不適応は-1単位の影響があり,1単位がどれだけの寄与をするかは,系全体で一定(Advantage of Latitude Adaptation)とします.
適応できる緯度は0〜5の範囲です.遺伝し,稀に突然変異するものとします.
緯度適応形質の遺伝様式,突然変異の起き方は基本ルールと同様です.遺伝型が表現型に直結してる点も同様です.突然変異は形質状態が-1または+1変化しますので[隣接する緯度帯への適応を得る]ことになります.わりと自然なルールだと自負.
当然ながら「5から+1変化して0」とか,「0から-1変化して5」とかはナシです.
高度への適応の概念自体は単純ですが,ルールは(Demeシリーズ中では)ユニークです.
基本ルールでも拡張ルールでも,各地点の標高は8段階あり,普通(海進海退がなければ)は下2段階が海中,上6段階が地上です.
虫は地上にしか生息できません.高度により生存率が異なり,基本ルールでは下の4高度(h=3〜6)しか生息できないルールでした.詳しくいうと,生存率は「各地点の標高」に,その時点の「海水位」を増減して決まる「高度」によって与えられます.
各高度の生存率は個々に設定でき,高度6を高く設定する事もできますが,高度7以上では生存率は0です.地形はもっと高いところもあるので,ちょっともったいない設定でしたので,これを拡張したわけです.
拡張といっても単に生存率の設定範囲を(h=3〜6)を(h=3〜9)に広げたわけではありません.
拡張ルールでの生存率は「各地点の標高」と「海水位」からの「高度」と「個体の属性である高度適応(aa)」によって決まります.つまり個体によって違うのです.
このルールのユニークなところは「高度ごとの生存率曲線が高度適応によってシフトする!」という点です.
個体の高度適応形質は「0〜3」の範囲の値を取りえ,その値ぶんシフトします.もっとも高い高度に適応したaa=3の個体では,もともと(というか基本ルールで)高度3〜6用に設定された生存率が,+3ずれて,高度6〜9に適用されます.9でもそれなりに生存し得ます.ただし3〜5では生存率0なので”海にはまったかのように”死にます.
この形質も,やはり遺伝,突然変異します.形質の遺伝様式,突然変異の起き方は基本ルールと同様です.なお突然変異は形質状態が-1または+1変化しますので[一段上または下への適応を得る]ことになります.もちろん「3から+1変化して0」とか,「0から-1変化して3」とかはナシです.
なお,高度適応のルールからは怪奇現象?と思える事が起ることがあります.[高度適応のルールによって,棲息ヘックスの高度とその個体の高度適応により決まる生存率は0であるはず.なのに,生き残っている個体がいるぞ!]というものです.これは高度適応ではなく緯度帯への適応の結果として生起する現象です.
元々ツノヤハズシリーズは「飛ばない甲虫」がモチーフなので,拡張にあたって「漂流」も考えたのですが,「飛翔」あるいは「浮遊」にしました.マメヤハズの移動個体は海を渡るだけではなく山脈も越えます.つまり空中を移動します.個体に注目すると「移動」で,個体群的には「分散」です.
ふつう,生き物は(極端に単純化すると)「殖える装置」のように思えますが,上記のような例に接すると,ものによっては「分散する装置」に思えてきます.
もちろん,突き詰めれば「(分散することによって)殖える装置」なんでしょうけれど,目先の増殖に比べ分散のメリットが極端に大きい場合があるのです.それはどういう状況なのでしょうか? 生息パッチの安定性が重要そうだと思い当たります.「安住の地」か「こしかけ程度」か.
また,一方で(多分祖先にはあった)移動能力を捨て去っている種や群の多いようにも思えます.虫生の大部分を移動分散にかけている虫はごく少数.まったく飛べないわけではないけど採餌や配偶行動に使う程度のものが大多数です.じっさい虫屋の大好きな虫は,あまり移動性が高くなく場所によってちがうのがいる虫です.…だから元々「飛ばない甲虫」がモチーフ.
否,移動能力の低下で地理的な種分化が促進され,いっぱい居るように見えるけれども,それは短期的な現象であって,長期的には進化の袋小路なのでは? 「高移動性のコスモポリタン→低移動性のローカル→個々の絶滅」の繰り返しかも? という考え方も可能です. 実際,現存数からいうと世界中のほぼ全ての細胞が「体細胞」なのですが,これが実は,常にごく少数保存されている「生殖細胞」の系列から派生した泡沫でしかない! そんな感じで.
この辺り(どの辺り?)の問題を考えると,基本的には,移動の「メリットとコスト(リスク)のバランスの問題」だとわかります.たいていはソコソコの落としどころがあるのでしょうが,極端な比率に解があったり,ほぼ拮抗して局所解がいくつかできたり,他の要因でそのバランス全体が崩れる状況があったり,とかです.
あと,興味深いのは「メリットとコスト(リスク)のバランスの問題」が「(短期的に)個体にとっての解」と「(中長期的に)個体群や種や系統にとっての解」が違ってしまう場合があるのでは? という問題です.「超個体的選択」が埋まってそうですよ,ここ掘れワンワン.
拡張ルールで新たに導入するにあたり,ルール上,個体の属性として形質を追加し,時間の経過の中で「飛翔」が生じる過程を新設しました.♂と♀は別の時期に移動しますが,そのルール自体はほぼ共通しています.
まず,飛翔を試みる個体,試みない個体,中程度の個体…つまり個体の属性の部分です.
移動性形質(am)は0〜3の範囲で変化し,基本ルールの形質と同様に,遺伝し突然変異し…(以下同文).
初期個体群の形質状態をすべて0にし,変異率を0にしておけば,子孫もぜんぶ0なので飛翔しません.
また,形質状態が様々でも,飛翔強度(後述)を0にしておけば飛翔は起こりません.
飛翔の生起過程は,雌雄で異なるものとしました.
1ターンのうち,0)地理状態の変化がなければ,1)雌雄の羽化出現して,繁殖の最初に,2)♂の移動フェーズ(上図青)があり,各♀の繁殖の中で,3)交配のフェーズが先にあり,その後に4)♀の移動フェーズ(上図赤)となり,それぞれの位置に産卵します.基本ルールに比べると2と4のフェーズが挿入された事になります.
♂は隣接♀の有無で飛翔のスイッチがオン/オフ,♀は隣接♀数によって飛翔のスイッチがオン/オフします(別頁「閾値の設定」に詳述).
飛翔のアルゴリズムは,基本ルールとの互換性維持のため,ちょっと不合理なところがあります.
基本的には,1フライトはステップの繰り返しです.一定の確率(飛翔継続確率)を経て次のステップを繰り返します.フライトにかかるリスク(死亡率)は距離とは無関係に一定で,移動距離が0の場合(元の位置に着陸する場合)は免除されます.
環境設定によっては1個体が1フライトで数ヘックス先まで到達し得ます.しかし,各ステップの移動方向はランダムですので,たとえば2ステップのフライトから生還しても元の位置かもしれません.各ステップは他個体の存在しない地点しか通れません.このため「高密度の地域から分散しようとしても,結果的に閉じ込められてしまう」という場合があります.
可能性として,移動距離に上限はありません.「マップの端から端まで」という意味で60です.
フライトあたりの死亡率は(チューニングの結果)0.4です.
マップの縁では反射します.
フライトにおけるステップ繰り返しの確率「飛翔継続確率」は各個体の移動性形質(am)と系全体の設定である「移動強度(Tension for Migrative Activitiy)」の掛け算で決まります.それぞれの「移動強度」のもとでの,移動性形質(am)が最大(3)個体の遠距離飛翔の生起率については[連続飛翔距離のページ]をご覧下さい.
【注意】amは0〜3ですので,移動強度を0.34以上に設定すると,amが3の個体では継続確率が1を超えてしまいます.その虫は永久に飛び続け,PCは暴走します.そうならないよう,0.34以上に設定したファイルを読み込んだ場合,0.33と見なすことにします.
拡張ルールは基本ルールに対して上位互換です.
拡張環境においては,生息個体に[緯度適応],[高度適応],[移動性]の三形質が存在し,これが活動に影響するようルール化されているわけですが,1)これらの形質の影響を無効化,または,2)これらの形質の多様性を排除することで,基本ルールと同等の環境とすることができます.
たとえば緯度適応に関していうと,各個体は好みの緯度帯をもっており(その性質は遺伝,突然変異する),その緯度帯ではメリットを受け,他の緯度帯では少しのデメリットを受けるわけですが,環境設定においてメリット,デメリットの量を0(Advantage of Latitude Adaptation = 0)にすれば,緯度適応の概念を排除した設定となります.これが[形質の影響を無効化]です.
同様の[形質の影響を無効化]は,移動性に関しても行えます.個体群に移動性の変異があっても,飛翔の効力を0(Tension for Migrative Activity = 0)にしておけば,飛翔による移動は行われず,飛翔のメリットやリスクのない設定となります.
なお[高度適応]は,各高度で生存率をズラすことにより影響を受ける方式ですので,効力を0にする方法はありません.
基本ルールで生息する個体の形質状態は,拡張ルール上では[緯度適応:0],[高度適応:0],[移動性:0]に相当します.従って,初期個体群のこれらの形質状態を0とした上で,突然変異率を0(Mutation lat. = 0, alt. = 0, mig. = 0)にしておけば,[形質の多様性を排除]できます.
このように,拡張ルールの実行環境においても”設定を落とす”ことによって,基本ルールを実行することができます.
上に詳述したように,拡張ルールでは個体の形質(属性,パラメータ)として,移動適応性,高度適応性,移動性が加わりました.各個体は移動適応性は0〜5のどれかの形質状態,高度適応性は0〜3のどれかの形質状態,,移動性0〜3のどれかの形質状態を持ちます.
これらの形質はそれぞれ,他の形質と独立に遺伝し,突然変異します.
情報量の増分としては3ビット,2ビット,2ビットの計7ビットです(今は[7シャノン]と呼ぶそうです).
さて,Demeシリーズの個体群ファイル([*.btl]も[*.btx]も)はテキスト形式で,一個体を一行で記述しています.[*.btx]ファイルの第一行は世代数や水位などで,二行目からが個体の情報です.従って,テキストエディタ等で特定の個体を抹殺したり,移植したりできます(所在座標の重複に要注意).
上図の例で,○印の個体は(座標x=31,y=23に棲息し)第2の種で;
● 性:1(♀)
● 配偶行動:67,交尾器形態:79,生理:10
● 頭胸色彩:8,翅鞘色彩:7
● 緯度適応:2,高度適応:0,移動性:3
という形質状態を持っています.この個体は,ファイルでは次のようにコード化されます(赤文字部分が拡張ルールでの追加分).
32 24 141 17231 26955つの整数はそれぞれ;
この構造を弁えれば,ファイル上の個体の形質状態をテキストエディタ等で編集(遺伝子操作)できます.なお,この変換はダウンロードの頁にあるエクセルのワークシートでも行えますのでご利用ください.
個体の移植性の観点からいうと,基本ルールから拡張ルールへの移行は全く問題ありません.
敢えて言うと,いきなり緯度適応の効果(Advantage of Latitude Adaptation)を大きくした場合,基本ルールからの移行個体群には過酷かもしれません.なぜなら,基本ルールからの移行個体は後述の通り緯度適応の形質状態が0,つまり最も北の緯度帯に適応した個体であるからです.
逆の場合は多少の配慮が必要です.拡張ルール上で,たとえば高い高度に適応していた個体群を基本ルールに移して継続飼育しようとしても,適応が無効なのですぐ絶滅するでしょう.
データファイルの互換性は,基本ルールの実行環境であるNEC98版,DOS版,Windows版,Macintosh版からDemeJへの移行は問題ありません.これらはすべてテキストファイルです.
地形ファイル(*.trr)は全く同じです.
基本ルールでの個体群ファイル(*.btl)は,適応3形質の形質状態が0であるものとして拡張ルール上にロードできます.
拡張ルールでは適応3形質が可変ですので,個体群ファイルの拡張子を*.btxとするよう推奨します.
実行環境ファイルは基本ルールでそれ(*.set)に比べ,拡張ルールでのファイル(*.cnd)では,適応3形質の変異率と緯度帯適応の効果および移動性の効果,計5つのパラメータが追加されています.(*.cnd)では4行目を"-999"として,形式を識別しています.
最も旧式のNEC98版とDOS版では実行環境ファイル名は固定されており(deme.set, demev.set),その4行目はデータファイルのパスを指定しています.
従ってDemeJの(*.cnd)をDOS版等で読み込む場合は,ファイル名と拡張子を変更し4行目を書き換える必要があります.
パラメータ | NEC98版"deme.set" | DemeJ"*.cnd" |
Mut.ec. mph. phy. pt. el. Cap.ec. mph. phy. Surv.h6 h5 h4 h3 識別行 Mut.lat. alt. mig. Adv.lat Tens.mig. |
0.100 0.200 0.100 0.000 0.000 2 4 2 0.100 0.300 0.900 0.700 b:\ [DEME.SET/DMSET.EXE 1992...] |
0.0200 0.0200 0.0200 0.0002 0.0020 4 4 4 0.1000 0.2000 0.6900 0.6800 -999 0.0020 0.0020 0.0020 0.005 0.30 |