監査役 古川正志
前回のブログでは,遺伝的アルゴロズのスキーマ理論に基づいて存在するスキーマの平均適応度(生存競争力)より大きなスキーマを含んでいる遺伝子の個体(一つ一つの生物)は,指数的に増加していくことを説明しました.
今回もやはりスキーマ理論に基づいて,スキーマHを持つ個体の数が交叉と突然変異によりどれくらい増えるかを考えたいと思います.前回の再生に対して最小の撹乱で遺伝子列の新構造を作るのが交叉の操作です.
(交叉)
交叉とは,t世代に現存している個体群の中から任意(ランダム)に二つの個体を取り出し,それらそれぞれの遺伝子列を任意の場所で切断し,切断箇所から後部を入れ替える遺伝子の操作をいいます.二つ選択することを「対を作る(mating)」といいます.
ここで前回に使用したスキーマを再度説明のために使用します.遺伝子(文字1または0)6文字からなる4つのスキーマを
H1=[11****], H2=[1***0*], H3=[1*****], H4=[0****1]
としました.話を単純化するために遺伝子交換のために行う切断を1点とします.スキーマH1では△で示したように5箇所の切断点があります.
H1=[1△1△*△*△*△*]
1番目と2番目の遺伝子の間で切断して遺伝子を交換するとスキーマに破壊がおきますが,2番目以降の切断点では遺伝子に破壊は生じません.ここで*はドントケア記号です.従って,スキーマH1の場合は,切断によりスキーマを破壊する確率をpd(H1)として
pd(H1)=1/5
になります.スキーマH1が残る確率をps(H1)とすると,
ps(H1)=1- pd(H1)=4/5
となります.
スキーマH2についても同じように考えます.H1の切断点は以下のように4箇所あります.ここでは5番目以降は変わりません.
H2=[1△*△*△*△0 *]
従って,スキーマをH2破壊する確率は
pd(H2)=4/5
になります.これからスキーマH2の残存確率は,
ps(H1)=1- pd(H1)=1/5
となります.
遺伝子の文字列の文字数(遺伝子数)をnとするとスキーマHの残存確率は,
ps(H)=1- δ(H)/(n-1)
と定式化できます.ここで,δ(H)は前回述べた遺伝子長です.一つの文字(遺伝子)の交叉確率がpcとすると,この残存確率は
ps(H)=1- pc・δ(H)/(n-1)
となります.従って,前回の再生と交叉を組み合わせた世代t+1でのスキーマHを持つ個体数は
m(H,t+1)=m(H,0)・(1+c)t・[f(H)/fave]・[1- pc・δ(H)/(n-1)]
となります.Hの残存確率の式を見るとδ(H)が小さいほど残存数が大きくなります.このことは重要な遺伝子は近くにある方が,スキーマが壊されずに済むことが分かります.
(突然変異)
突然変異は,スキーマHに含まれる文字の1が0,0が1に変化することを言います.スキーマには次数o(H)だけの1か0の文字が含まれています.その他は,ドントケア(*)なので変化してもスキーマには何も変化が起きません.
pmを一文字の変異確率とすると,その文字が残存する確率は1- pmとなります.従って,スキーマを破壊しないために残存する確率psmは,次数o(H)の文字が残存する確率ですから
pm=(1- pm)( 1- pm)...( 1- pm)= ( 1- pm)o(H)
となります.Pmが十分に小さな値(pm<<1)の時は
pm= ( 1- pm)o(H) ⋍1-o(H) pm
と近似できます.
再生,交叉と突然変異を組み合わせるとスキーマHを持つ個体のt+1世代の個体数は,
m(H,t+1)=m(H,0)・(1+c)t・[f(H)/fave]・[1- pc・δ(H)/(n-1)]・(1-o(H) pm)
となります.
これらの理論はスキーマ理論あるいはビルディングブロック理論と呼ばれています.これは交叉においてスキーマ長が短いものほどドントケア(Don't care)の部分に多くの同じ仲間を作るからです.
次回は,コロナ時代のウイルスの突然変異についてもう少し考えてみたいと思います.