前回はこちら

 今回は遺伝的アルゴリズムについて説明します。そろそろ機械学習の話は終わりにして、次回からは具体的に脳の機能をいかにして再現するかに焦点を絞っていきますが、その前に少し趣向を変えてちょっと寄り道します。というのも、汎用的な人工知能を作るためには、このような考え方もおそらく必要になるからです。

進化に倣った計算手法

 遺伝的アルゴリズム(genetic algorithm, GA)は、生命の進化を模した計算によって、従来よりも柔軟な処理ができるのではないかという発想から生まれたものです。類似した手法には遺伝的プログラミングや人工免疫システムなどがあり、総称としては進化的アルゴリズム(evolutionary algorithm, EA)や進化的計算(evolutionary computation)などと呼ばれますが、ここでは遺伝的アルゴリズムに絞って説明します。

 最初はごく単純な存在だった生命は、非常に長い時間をかけて少しずつ、より環境に適応するよう進化してきました。「進化」という方法によって、最初は海を漂うタンパク質程度でしかなかったものが、泳ぐようになり、光合成するようになり、空を飛んだり、木に登ったり、さらには二足歩行をして月に行ったりできるようになったことを考えれば、進化のような計算手法をコンピュータで扱うという発想は自然なものといえます。

 実際、早くも1975年にJohn Henry Hollandが遺伝的アルゴリズムを考案しています。タイミング的には、パーセプトロンより後で、バックプロパゲーションよりは前といったところです(第15回を参照)。