進化的アルゴリズム
https://gyazo.com/54454f2725f340053592606cdabd1055
進化とは何か?
生物の集団がもつ以下のような特徴により、結果的に個体群が「より環境に有利な性質」をもつように変化していく現象
生物は、自らの遺伝情報を遺伝子として持つ
その発現により物理的な実体や行動様式などが定まる
物理的な実体や行動様式などが環境により適合した個体が生き残る
生物は、生殖により子孫を残す
生殖の際、遺伝子の組み換えや変異が起こり、遺伝情報が変化する
進化的アルゴリズム
こうした生物の遺伝と進化のメカニズムをヒントにした数理最適化アルゴリズム 解候補を記号列(染色体)にコード化し、集団による探索を行う
いろいろな進化的アルゴリズム
遺伝的プログラミング
進化戦略
差分進化(Differential Evolution) など
進化的アルゴリズム共通のイメージ
https://gyazo.com/6c571e70711ac4af467b5b89c13fa2f7
進化的アルゴリズムにおける型と適合度
遺伝子型と表現型、環境と適合度
https://gyazo.com/7588169e97f8c7ea74773b8aeced288b
引用:伊庭斉志, 「進化計算と深層学習―創発する知能―」(2015)
染色体による個体情報の表現
遺伝子型として、生物の染色体と、最適化における決定変数を記号化したものを対応づける
https://gyazo.com/dd7d493cf781bb778011e259e9a189fb
進化型アルゴリズムの基本的なしくみのイメージ
https://gyazo.com/5611eb4be7c20f526b478ba8c757ea63
引用:伊庭斉志, 「進化計算と深層学習―創発する知能―」(2015)
遺伝子操作
染色体の遺伝子操作
これによって遺伝情報を世代ごとに変化させる
操作を施すかは確率的に(乱数で)決める
https://gyazo.com/36112bd3c15d4761c607679781008b3a
引用:伊庭斉志, 「進化計算と深層学習―創発する知能―」(2015)
いろいろな選択や遺伝的操作
選択(淘汰):適合度の高いものを次世代に残す操作
ルーレット選択:適合度に比例して残りやすくする
トーナメント選択:いわば小選挙区のような選択方法
エリート保存:最も適合度の高いものを無条件で残す
交叉
一点交叉
二点交叉
一様交叉
逆位
突然変異
進化的アルゴリズムのフローチャート
https://gyazo.com/2f50a3322d689e458b82533c5494584a
進化的アルゴリズムの利点
多点探索(さまざまな可能性を並列に探れる)
評価関数の形状が不明でも「値」だけ得られれば良い(勾配情報が要らない)
交叉・突然変異などにより局所解を抜け出し得る
実用化の例
遺伝的アルゴリズム実用化の例
N700系の先端の形状も遺伝的アルゴリズムで最適化されたもの、だそうです
その他、ジェット旅客機の翼の設計などにも
いわゆる「最適化らしい最適化」だけでなく、「記号列で表せるモノ」のうち「良いもの」を見つけたいような問題であれば、評価関数の計算さえできれば適用可能
音楽の生成(作曲)など