真の未来開拓倶楽部 WikiWikipedia Is Dead ↗ ← トップ
生命・進化・加速

遺伝的アルゴリズム:進化を計算にする

選択・交叉・突然変異で、解を進化させる。ページ増殖アルゴリズムとの関係と、その限界。

概要

遺伝的アルゴリズム(GA)は、生物の進化を模した最適化の手法で、ジョン・ホランドが1975年に体系化しました。進化的計算の一種です。

要素内容
個体解の候補を、符号(遺伝子)で表したもの
適応度解の良さの評価値
選択適応度の高い個体を、多く残す
交叉二つの個体の遺伝子を、組み替える
突然変異遺伝子を、ランダムに少し変える

手順

  1. 個体の集団をランダムに作る。
  2. 全員の適応度を評価する。
  3. 選択・交叉・突然変異で、次世代を作る。
  4. 収束するまで繰り返す。

理論と限界

この Wiki のページ増殖との関係

GAgrowth.py
集団1つの遺伝子(採点の重み)のみ
選択前回の最良と比較し、下回れば戻す(山登り)
交叉なし
突然変異重みへの±10%の変動
現在の実装は、本格的なGAではなく、山登り法((1+1)-進化戦略に近い)です。集団と交叉を導入すれば、局所解に強くなります(拡張案)。「冪乗の速度」は保証されません(ノー・フリー・ランチ)。

拡張案

  1. 複数の遺伝子(採点の重みの組)を、同時に保持し、各回で最良のものを採用。
  2. 候補選びの方針を、遺伝子に含める(関連度偏重・新規性偏重など)。
  3. 適応度に、読者の反応(閲覧・滞在)を加える(公開後)。

関連項目

Wikipedia ミラーで読む(wikipedia-is-dead.com)

実装側:マニフェスト ↗ / ネットワーク ↗ / 削除記事の救出 ↗ / 参加する ↗ 思想とURLの対応表

このページを参照しているページ