遺伝的プログラミングはDNAを反映していない


2018年 06月 10日

前回、『DNAの98%は謎』で、DNAで遺伝に関係している、つまりタンパク質の生成に関係しているデータは、たった2%程度で、残りの98%は、謎であるという本を紹介した。

AIには、ディープラーニング以外に、進化、遺伝の仕組みを模した方法が存在する。
生物の進化をモデルにした、かなり広範囲なものを進化計算とよび、さまざまな最適化に使われている。
その中でも一番良く知られているのが、遺伝をモデルにした遺伝的アルゴリズムである。
つまり、染色体の交叉や突然変異を利用しているのだが、一般に行われているモデル化は、最適化したいデータを染色体のように長い糸状(配列)に並べ、データの交叉や突然変異を行い、出来たものを淘汰させるのを何世代も繰り返すことで、最適化を進め、満足できるようなデータを求めようとするものである。

つまり、配列の全データが有効データなのである。
ということは、実際のDNAをちゃんとモデル化していないと言えるはずなのだ。

長い長い染色体(配列)の一部に有効なデータを置き、染色体と同様な交叉や突然変異をしていない。

人間ではDNAの98%が謎なのだが、高等な生物ほど謎の部分が大きいということだから、現状の遺伝的アルゴリズムは下等生物を真似ているに過ぎないと考えられる。
DNAの98%の謎の部分の意味、意義、効用は今世紀になってから研究が本格化し、まだまだ研究途上のようだ。
だからこそ、この謎の部分を反映した進化計算ができれば、もっと高度なことができるようになるかも知れない。

さて、下等生物であるはずのウイルスがとても賢い(?)ので、対策が難しいことを知っているだろうか。
あるウイルスに対する薬を作っても、ウイルスの遺伝情報が変化するので、新しい薬を作ってもダメになる。
つまり、ウイルスはとても賢いと言えるのではないだろうか。
ウイルスは、DNAまたはRNAを持っており、遺伝の仕組みが異なるために、薬に対抗する能力が高いと言われている。
そのため、ウイルス進化論なる専門用語もあるようだ。

ならば、ウイルス進化論をモデルにしたアルゴリズムは無いかと調べたら、ウイルス進化型遺伝的アルゴリズムというのがあり、論文もかなり存在するようである。
通常の遺伝的アルゴリズムでは進化が停滞してしまうような場合でも、ウイルスの寄生能力をモデル化することで、もっと有効なアルゴリズムにしようというものらしい。
今までの遺伝的アルゴリズムのための染色体以外に、ウイルスを用意し、ウイルスを染色体に感染させることで、進化を促進(?)するらしい。

98%の謎部分をモデルにした遺伝的アルゴリズムはまだないらしいが、ウイルス版は存在する。
といっても、出版されている遺伝的アルゴリズムの本で、ウイルス進化型を説明している本は無いらしいので、ぜひ論文を読もう。