遺伝的アルゴリズム(GA)
遺伝的アルゴリズム(GA: Genetic Algorithm)は、候補解の集団(population)を並列に探索し、選択・交叉・突然変異を繰り返して高性能解へ近づけるメタヒューリスティクスである。材料科学では、組成設計・プロセス条件探索・構造予測・多目的最適化(性能とコスト等)に広く使われる。
参考ドキュメント
- 日本語(材料×GAの具体例): PFP を用いた結晶構造予測(GAを用いた探索の解説) https://tech.preferred.jp/ja/blog/csp_with_pfp/
- 日本語(学術論文): Ikeda et al., A New Method of Alloy Design Using a Genetic Algorithm and Molecular Dynamics Simulation, Materials Transactions (1997) https://www.jstage.jst.go.jp/article/matertrans1989/38/9/38_9_771/_article/-char/ja/
- 海外(材料探索レビュー/実例): Jennings et al., Genetic algorithms for computational materials discovery and design, npj Computational Materials (2019) https://www.nature.com/articles/s41524-019-0181-4
1. GAが効く場面
- 目的関数が非凸・多峰性(局所解が多い):相変態や準安定相、複雑な反応経路
- 設計変数が混在:連続(温度・時間)+離散(元素種、工程フラグ)+順列(積層順など)
- 制約が多い:合成可能域、組成制約(和=1)、安全制約、装置制約
- 多目的最適化:強度–延性、活性–耐久、性能–コスト など
BO(ベイズ最適化)が「少数回で最良点」狙いに強いのに対し、GAは「大域探索と離散・組合せの扱い」に強い傾向がある。
2. GAの構成要素
GAは以下の設計で性能が決まる。
- 染色体(個体表現): 候補解の表現方法
- 適応度(fitness): 良さを数値化する指標(最大化/最小化)
- 選択(selection): 良い個体を残す仕組み
- 交叉(crossover): 2個体を組み合わせ新個体を作る
- 突然変異(mutation): 局所探索・多様性維持のためのランダム変更
- エリート保存(elitism): 最良個体の取りこぼし防止
- 停止条件: 世代数、改善停止、予算枯渇(実験回数・DFT回数)など
3. 基本アルゴリズム
入力: 初期集団サイズ N、世代数 G、交叉率 pc、突然変異率 pm
- 初期集団 P0 を生成(ランダム、DOE、既知良条件など)
について繰り返す 2.1 各個体 を評価し fitness を得る(実験/計算/サロゲート) 2.2 選択で親集団を作る(例: トーナメント選択) 2.3 交叉で子個体を生成(確率 ) 2.4 突然変異で子個体を摂動(確率 ) 2.5 制約処理(投影、修復、ペナルティ等) 2.6 次世代 を構成(エリート保存 + 子個体) - 最良個体(またはパレート集合)を出力
4. 個体(設計変数)の表現
表現の選択は最重要である(交叉・突然変異を自然に定義できるかが鍵)。
| 設計対象 | 代表的表現 | 例 |
|---|---|---|
| 連続条件(温度・時間等) | 実数ベクトル | |
| 組成(和=1制約) | 実数+制約付き | |
| 元素種の組合せ | 離散(整数/カテゴリ) | 元素IDの列、one-hot |
| 結晶/原子構造 | 原子座標+格子、グラフ | 交叉は「部分構造の交換」等 |
| 積層/配列 | 順列 | layer順、サイト占有順 |
組成は
のように正規化して feasible に戻す(投影/修復)のが定番である。
5. 適応度設計
5.1 単一目的の例
最小化したいとき(エネルギー E、損失 P など)は
のように最大化へ変換するか、最小化GAを用いる。
5.2 制約の扱い(ペナルティ法の例)
制約
のように違反量を罰する。合成不可能領域は「生成段階で除外(hard)」が安全である。
5.3 ノイズ・再現性
実験応答がばらつく場合、同一点反復で分散推定を持ち、適応度に平均と不確かさを入れる設計が有効である。
6. 多目的GA
材料設計は多目的になりやすい。 例:強度
多目的では「パレート最適」を求める。
- 支配(domination): すべての目的で同等以上、かつ少なくとも一つで優れる
- パレート前線: 支配されない解の集合
代表的手法の一つが NSGA-II(非支配ソート + 混雑度)である。
7. 典型例
7.1 合金・触媒組成探索
- 個体 = 組成(+処理条件)
- 評価 = 実験(HTE)または計算(DFT/MD)
- 世代更新で高性能域に集団が寄る
- 最後に上位候補を高精度評価し、物理解釈(特徴量、相、局所構造)へ接続
7.2 結晶構造予測(CSP)への応用
- 個体 = 構造(格子+原子配置)
- 評価 = 構造緩和後のエネルギー
- 交叉 = 部分構造の交換、突然変異 = 格子・座標摂動など
- 低エネルギー構造群を列挙し、安定相・準安定相候補を得る
7.3 サロゲート併用(GAを高速化)
評価が高価な場合、段階評価が有効である。
- 低忠実度(粗いDFT、短MD、経験式)でふるい分け
- 高忠実度(精密DFT、実験)で上位のみ確定
- 途中で機械学習サロゲートを学習し、評価回数を削減する
8. 初期設定
| 項目 | 目安 | コメント |
|---|---|---|
| 集団サイズ N | 20〜200 | 変数次元と評価コストで調整 |
| 交叉率 pc | 0.6〜0.9 | 探索を進める主力 |
| 突然変異率 pm | 0.01〜0.2 | 多様性維持、上げすぎ注意 |
| 選択 | トーナメント/ランキング | ルーレットはスケール差に敏感 |
| エリート数 | 1〜数個体 | 取りこぼし防止、増やしすぎ注意 |
| 終了条件 | 改善停止 + 最大世代 | 再現性のため乱数seed管理 |
9. 注意点
- 表現が悪い:交叉・突然変異が物理的に意味のない解を大量生成する
- 制約処理が弱い:実現不可能点の評価に計算資源を浪費する
- 多様性が死ぬ:早期収束(premature convergence)で局所解に固着する
- 1回実行の結果を過信:GAは確率的手法であり、複数seedでの安定性確認が必要である
まとめ
遺伝的アルゴリズムは、離散・組合せ・多峰性を含む材料設計問題に対して強い大域探索法である。成功の鍵は、材料問題に合った個体表現、制約処理、適応度設計、多目的(パレート)運用であり、評価が高価な場合はサロゲートや段階評価と組み合わせることで実用性が大きく向上する。