人工知能 - 遺伝的アルゴリズム

遺伝的アルゴリズムの概要

  • 遺伝的アルゴリズム(GA) は、1970 年代に米国のジョン・ホランドによって初めて提案され、自然界の生物の進化の法則に基づいて設計・提案されました。
  • 遺伝的アルゴリズムとは、ダーウィンの自然選択と遺伝メカニズムに関する生物進化理論を模擬した生物進化過程の計算モデルであり、自然進化過程を模擬して最適解を探索する手法です。
  • このアルゴリズムは、数学的な方法でコンピュータ シミュレーション操作を使用することにより、問題解決のプロセスを生物進化における染色体遺伝子の交叉や突然変異と同様のプロセスに変換します。より複雑な組み合わせ最適化問題を解決する場合、従来の一部の最適化アルゴリズムと比較して、通常、より優れた最適化結果をより迅速に得ることができます。

コーディング

遺伝的アルゴリズムは問題空間のパラメータを直接扱うことができないため、解くべき問題を染色体や個体として遺伝空間にコーディングして表現する必要があります。この変換操作はエンコードと呼ばれ、(問題の)表現とも呼ばれます。
コーディング戦略を評価するために、次の 3 つの基準がよく使用されます。

  • 完全性: 問題空間内のすべての点 (候補解) は、GA 空間内の点 (染色体) として表現できます。
  • 健全性: GA 空間の染色体は、問題空間のすべての候補解に対応します。
  • 非冗長性(non-redundancy):染色体と候補解が一対一に対応する。

フィットネス機能

  • 進化論における適応度とは、個体が環境に適応する能力と、個体が繁殖する能力を指します遺伝的アルゴリズムの適応度関数は評価関数とも呼ばれ、集団内の個人の良し悪しを判断する指標であり、問​​題の目的関数に応じて評価されます
  • 遺伝的アルゴリズムは一般に、探索の進化の過程で他の外部情報を必要とせず、評価関数のみを使用して個人またはソリューションの長所と短所を評価し、それを将来の遺伝的操作の基礎として使用します。遺伝的アルゴリズムでは、適応度関数をソートする必要があり、これに基づいて選択確率を計算するため、適応度関数の値は正の値を取る必要があります。多くの場合、目的関数を、最大値を求め、非負の関数値を持つ適応度関数にマッピングする必要があることがわかります。
  • フィットネス関数の設計は主に次の条件を満たします。
    • 単一値、連続、非負、最大化。
    • 合理的で一貫性があります。
    • 計算量は少ないです。
    • 多用途。
  • 特定のアプリケーションでは、フィットネス関数の設計を問題自体を解決する要件と組み合わせる必要があります。適応度関数の設計は、遺伝的アルゴリズムのパフォーマンスに直接影響します。

初期グループ選択

  • 遺伝的アルゴリズムの初期集団の個体はランダムに生成されます。一般に、初期グループの設定には次の戦略を採用できます。
    1. 問題の固有の知識に従って、問題空間全体の中で最適解が占める空間の分布範囲を把握し、この分布範囲内に初期グループを設定します。
    2. まず一定数の個体がランダムに生成され、次に最良の個体が選択されて最初のグループに追加されます。このプロセスは、初期集団の個体数が所定のサイズに達するまで繰り返されます。

操作プロセス

伝播アルゴリズムの基本的な演算プロセスは次のとおりです。
1.初期化: 進化代数カウンター t = 0 を設定し、最大進化代数 T を設定し、初期集団 P(0) として M 個の個体をランダムに生成します。
2.個人評価: グループ内の各個人の適応度 P(t) を計算します。
3.選択操作: 選択演算子をグループに適用します。選抜の目的は、最適化された個体を直接次世代に継承するか、ペア交雑により新たな個体を生成して次世代に継承することです。選択操作は、母集団内の個人の適応度評価に基づいて行われます。
4.クロスオーバー操作: グループにクロスオーバー演算子を適用します。遺伝的アルゴリズムの中核となる機能はクロスオーバー演算子です。
5.突然変異演算: 母集団に突然変異演算子を適用します。それは、集団内の個々の文字列のいくつかの遺伝子座の遺伝子値を変更することです。グループ P(t) が選択、交叉、突然変異の操作を受けた後、次世代グループ P(t+1) が得られます。
6.終了条件判定:t=Tの場合、進化の過程で得られた適応度が最大の個体を最適解として出力し、計算を終了する。

  • 遺伝的操作には、次の 3 つの基本的な遺伝的演算子、selectioncrossover、およびmutationが含まれます。

選ぶ

集団の中から優れた個体を選び出し劣った個体を排除する操作を淘汰といいます。選択オペレーターは、再生オペレーターと呼ばれることもあります。選択の目的は、最適化された個体(または解)を次世代に直接継承するか、ペア交叉により新たな個体を生成して次世代に引き継ぐことです。選択演算は、グループ内の個人の適応度評価に基づきます。一般的に使用される選択演算子には、適応度比例法ランダム トラバーサル サンプリング法、およびローカル選択法が含まれます。

クロス

自然界における生物進化の過程で中心的な役割を果たすのは、生物学的遺伝子遺伝子の組換え(プラス変異)です。同様に、遺伝的アルゴリズムの中核機能は、遺伝的操作のクロスオーバー演算子ですいわゆる交叉とは、2つの親個体の構造の一部を置き換え、再編して新しい個体を生成する操作を指します。クロスオーバーにより、遺伝的アルゴリズムの検索能力が大幅に向上します。

突然変異

突然変異オペレーターの基本的な内容は、集団内の個々の文字列のいくつかの遺伝子座の遺伝子値を変更することです。個々のエンコーディングのさまざまな表現方法に応じて、次のアルゴリズムを使用できます。

  • 実数値の変動。
  • バイナリ突然変異。

一般に、ミューテーション オペレーター操作の基本手順は次のとおりです。

  1. 集団内のすべての個体について、あらかじめ設定された突然変異確率に従って突然変異するかどうかが判断されます。
  2. 変異した個体が変異する変異ビットをランダムに選択します。

遺伝的アルゴリズムが突然変異を導入する目的は2 つあります。1 つは、遺伝的アルゴリズムに局所的なランダム検索機能を持たせることです遺伝的アルゴリズムがクロスオーバー オペレーターを通じて最適解の近傍に近づいた場合、突然変異オペレーターのローカル ランダム検索機能を使用して、最適解への収束を加速できます。明らかに、この場合の突然変異確率は小さい値をとる必要があります。そうでないと、最適解に近い構成要素が突然変異によって破壊されてしまいます。2 つ目は、遺伝的アルゴリズムを有効にして集団の多様性を維持し、早期の収束を防ぐことですこのとき、収束確率はより大きな値をとる必要があります

終了条件

最適な個体の適応度が所定の 閾値に達した場合、最適な個体の適応度およびグループの適応度が増加しなくなった場合、または反復回数が事前に設定された世代数に達した場合、アルゴリズムは終了します。あらかじめ設定される世代数は、通常 100 ~ 500 世代に設定されます。

おすすめ

転載: blog.csdn.net/qq_45902301/article/details/125431615