遺伝的アルゴリズム
遺伝的アルゴリズムとは
進化は問題解決の名人だ。自然淘汰は盲目的なプロセスでありながら、眼・翼・神経系という信じられないほど複雑な「設計」を生み出してきた。遺伝的アルゴリズム(Genetic Algorithm, GA)は、この自然進化のメカニズム——選択・交叉・突然変異——をコンピュータ上で模倣することで、複雑な最適化問題を解くアルゴリズムだ。ジョン・ホランドが複雑系の研究の中で1975年に提唱したこの手法は、人工知能・工学設計・機械学習の広い領域で使われている。
歴史的背景:ダーウィンからコンピュータへ
チャールズ・ダーウィンの自然淘汰理論(1859年)は「適者生存」というメカニズムを提示した。しかし進化は遺伝の詳細なメカニズムを必要とする。グレゴール・メンデルの遺伝学(1866年)がその基礎を提供し、20世紀のDNA二重らせん発見(1953年)が分子的な基盤を明らかにした。
ジョン・ホランドは1975年の著書「Adaptation in Natural and Artificial Systems」で、自然進化のメカニズムをコンピュータアルゴリズムとして定式化した。問題の「解」を「染色体」としてビット列で表現し、選択・交叉・突然変異を通じて解の集団を進化させる。
遺伝的アルゴリズムのメカニズム
遺伝的アルゴリズムは以下のステップで動作する:
1. 初期化: 候補解の集団(個体群)をランダムに生成する。各個体は「染色体」(ビット列や実数値の列)として表現される。
2. 評価(適応度関数): 各個体が「どれだけ良い解か」を評価する。問題固有の評価関数(適応度関数)を定義する。
3. 選択: 適応度が高い個体を「親」として選ぶ。ルーレット選択・トーナメント選択などの方法がある。適応度が低い個体も確率的に選ばれる余地を持つことで多様性を保つ。
4. 交叉(クロスオーバー): 二つの親の染色体を組み合わせて「子」を生成する。一点交叉・二点交叉・一様交叉などがある。自然の有性生殖の模倣だ。
5. 突然変異: 生成された子の染色体に低確率でランダムな変化を加える。局所最適解への収束を防ぎ、探索の多様性を維持する。
6. 次世代の形成: 子個体群で現世代を更新または部分的に置き換える。
このサイクルを繰り返すことで、世代を経るにつれて集団全体の適応度が向上する。
他概念との関係
適応度地形は遺伝的アルゴリズムが探索する「地形」のメタファーだ。適応度関数が定める空間を地形として視覚化すると、局所最大値(局所最適解)と大域最大値(大域最適解)が山のように分布する。遺伝的アルゴリズムは交叉・突然変異によってこの地形を探索する。
非線形性との関係は本質的だ。線形な問題は微積分・線形代数で解析的に解ける。遺伝的アルゴリズムが特に有効なのは、評価関数が非線形で不連続・微分不可能な場合だ。設計変数が多く、局所最適解が多数存在するような問題に適する。
共進化と遺伝的アルゴリズムの接続では、複数の集団が互いの適応度に影響し合うシナリオ(共進化)を模倣したアルゴリズムも開発されている。ゲームAI同士の対戦・捕食者-被食者モデルなどに応用される。
現代への示唆
遺伝的アルゴリズムは深層学習・強化学習と組み合わせた「進化的学習(evolutionary learning)」として現代のAI研究に組み込まれている。ニューラルネットワークの構造自体を進化的に最適化するNeuroEvolution、ロボット制御プログラムの自動設計などが代表的な応用だ。
またエージェントベースモデルと組み合わせることで、社会的行動の進化・経済行動のシミュレーションにも使われる。「何が最適解か」を人間が事前に知らなくても、進化的なプロセスが解を「発見」するという能力が、複雑なシステム設計に革命をもたらした。
この概念を扱う本
概念ネットワーク
線の太さは共通する本の数を表しています。ノードをクリックすると概念ページに移動します。
この概念を扱う本(1冊)
M・ミッチェル・ワールドロップ
ジョン・ホランドが開発した手法で、複雑適応系の計算モデルとして、また実用的な問題解決ツールとして研究された。