方法論
最適化問題 遺伝的アルゴリズムでは、最適化問題に対する候補解 (個体、生物、生物、表現型 などと呼ばれる)の集団が 、より良い解へと進化します。各候補解は、突然変異や変更が可能な一連の特性(染色体 または遺伝子型 )を持ちます。従来、解はバイナリで0と1の文字列として表現されますが、他のエンコーディングも可能です。
進化は通常、ランダムに生成された個体群から始まり、反復プロセス であり、各反復における個体群は世代 と呼ばれます。各世代において、個体群内のすべての個体の適応度が評価されます。適応度は通常、解決しようとしている最適化問題の 目的関数 の値です。適応度の高い個体が現在の個体群から確率的に 選択され、各個体のゲノムが改変(組み換え、場合によってはランダムに突然変異)されて新しい世代が形成されます。候補解の新しい世代は、 アルゴリズム の次の反復で使用されます。一般的に、アルゴリズムは、最大世代数に達するか、個体群の適応度が満足できるレベルに達した時点で終了します。
典型的な遺伝的アルゴリズムには以下が必要です。
解領域の遺伝的表現、 解領域を評価するための適合度関数。 各候補解の標準的な表現は、ビット配列 (ビットセット またはビット列 とも呼ばれる)です。他のタイプや構造の配列も、基本的に同じ方法で使用できます。これらの遺伝的表現が便利な主な特性は、固定サイズのため各部分を簡単に整列できることであり、これにより単純な交叉 操作が容易になります。可変長の表現も使用できますが、この場合、交叉の実装はより複雑になります。ツリー状の表現は遺伝的プログラミング で検討され、グラフ形式の表現は進化的プログラミング で検討されています。線形染色体とツリーの両方の組み合わせは、遺伝子発現プログラミング で検討されています。
遺伝的表現と適応度関数が定義されると、遺伝的アルゴリズムは解の集団を初期化し、突然変異、交叉、反転、選択演算子を繰り返し適用することによってそれを改善していく。
初期化 個体群のサイズは問題の性質によって異なりますが、通常は数百または数千の可能な解が含まれます。多くの場合、初期個体群はランダムに生成され、可能な解の全範囲(探索空間 )を網羅します。場合によっては、最適な解が見つかる可能性が高い領域に解を「シード」したり、サンプリング確率の分布を調整して、より関心のある領域に集中させたりすることがあります。[ 6 ]
選択 各世代において、既存の個体群の一部が選択され 、新たな世代へと繁殖します。個々の解は適応度に基づく プロセスによって選択され、適応度関数 によって測定される適応度の高い 解ほど選択される可能性が高くなります。特定の選択方法では、各解の適応度を評価し、最良の解を優先的に選択します。一方、他の方法では、前者のプロセスは非常に時間がかかる可能性があるため、個体群のランダムサンプルのみを評価します。
適合度関数は遺伝的表現上で定義され、表現された解の質 を測定します。適合度関数は常に問題に依存します。たとえば、ナップサック問題 では、一定の容量のナップサックに入れることができる物の合計価値を最大化したいと考えます。解の表現はビットの配列である可能性があり、各ビットは異なる物を表し、ビットの値(0または1)は物がナップサックに入っているかどうかを表します。物のサイズがナップサックの容量を超える場合があるため、すべての表現が有効とは限りません。表現が有効な場合、解の適合度 はナップサック内のすべての物の値の合計であり、そうでない場合は0です。
問題によっては、適応度を表す式を定義することが困難、あるいは不可能な場合もあります。このような場合、シミュレーションを用いて 表現型 の適応度関数値を決定する(例えば、形状が表現型として符号化された車両の空気抵抗を決定するために計算流体力学を用いる)か、あるいは 対話型の遺伝的アルゴリズム を用いることもあります。
遺伝的演算子 次のステップは、選択された解から、遺伝的演算子で ある交叉 (組換えとも呼ばれる)と突然変異を 組み合わせることによって、第2世代の解の集団を生成することです。
新たに生成されるソリューションごとに、以前に選択されたプールから繁殖用の「親」ソリューションのペアが選択されます。上記の交叉と突然変異の方法を使用して「子」ソリューションを生成すると、通常は「親」の多くの特性を共有する新しいソリューションが作成されます。新しい子ごとに新しい親が選択され、適切なサイズのソリューションの新しい集団が生成されるまでプロセスが続きます。2 つの親の使用に基づく繁殖方法はより「生物学にヒントを得た」ものですが、いくつかの研究[ 7 ] [ 8 ] は、 2 つ以上の「親」がより高品質の染色体を生成することを示唆しています。
これらのプロセスを経て、最終的に次世代の染色体集団は初期世代とは異なるものとなる。一般的に、この手順によって集団の平均適応度は向上する。なぜなら、第一世代から最も優れた個体のみが繁殖のために選ばれ、適応度の低い個体も少数ながら残されるからである。これらの適応度の低い個体は、親の遺伝子プール内の遺伝的多様性を確保し、ひいては次世代の子孫の遺伝的多様性を確保する。
交叉と突然変異のどちらが重要かについては意見が分かれている。Fogel(2006)には、突然変異に基づく探索の重要性を支持する多くの文献がある 。
突然変異 確率、交叉 確率、個体群サイズなどのパラメータを調整して、対象となる問題の複雑さに適した設定を見つけることが重要です。 突然変異率が 低すぎると、遺伝的浮動 (非エルゴード的 性質を持つ)が発生する可能性があります。組換え率が高すぎると、遺伝的アルゴリズムが早期に収束してしまう可能性があります。突然変異率が高すぎると、エリート選択 を用いない限り、優れた解が失われる可能性があります。適切な個体群サイズは、対象となる問題に対して十分な遺伝的多様性を確保しますが、必要以上に大きな値に設定すると、計算リソースの無駄遣いにつながる可能性があります。
終了 この世代交代プロセスは、終了条件に達するまで繰り返されます。一般的な終了条件は次のとおりです。
最小基準を満たす解が見つかる 固定世代数に達した 割り当てられた予算(計算時間/金額)に達しました 最高ランクのソリューションの適合度は、それ以上反復してもより良い結果が得られないほど、プラトーに達しつつあるか、既に達している。 手動検査 上記の組み合わせ
構成要素仮説 遺伝的アルゴリズムは実装は簡単ですが、その挙動を理解するのは困難です。特に、これらのアルゴリズムが実際の問題に適用された際に、高い適合度を持つ解を生成することに頻繁に成功する理由を理解するのは困難です。構成要素仮説(BBH)は、以下の要素から構成されます。
適応を実行するヒューリスティックの説明。これは、「構成要素」、すなわち平均以上の適応度を持つ低次数で定義長が短いスキーマを 識別して再結合することによって行われる。 遺伝的アルゴリズムは、このヒューリスティックを暗黙的かつ効率的に実装することによって適応を行うという仮説。 ゴールドバーグはこのヒューリスティックを次のように説明している。
「短く、次数が低く、適合度の高いスキーマをサンプリングし、組み換え (交差)して、さらに再サンプリングすることで、潜在的に適合度の高い文字列を形成します。ある意味で、これらの特定のスキーマ(構成要素)を扱うことで、問題の複雑さを軽減しました。考えられるすべての組み合わせを試して高性能な文字列を構築する代わりに、過去のサンプリングで得られた最良の部分解から、より良い文字列を構築していくのです。」 「定義長が短く次数が低い、適合度の高いスキーマは遺伝的アルゴリズムの動作において非常に重要な役割を果たすため、私たちはすでにそれらに特別な名前を与えています。それはビルディングブロックです。子供が単純な木のブロックを並べて壮大な要塞を作るように、遺伝的アルゴリズムも短く、次数が低く、高性能なスキーマ、つまりビルディングブロックを並置することによってほぼ最適なパフォーマンスを追求します。」 構成要素仮説の妥当性についてはコンセンサスが得られていないにもかかわらず、長年にわたり一貫して評価され、参照として使用されてきました。たとえば、多くの分布推定アルゴリズムは 、この仮説が成り立つ環境を提供しようとして提案されています。[ 12 ] [ 13 ] いくつかのクラスの問題 については良好な結果が報告されていますが、GA の効率性の説明としての構成要素仮説の一般性および/または実用性については依然として懐疑的です。実際、分布推定アルゴリズムの観点からその限界を理解しようとする研究が相当数あります。[ 14 ] [ 15 ] [ 16 ]
制限事項 遺伝的アルゴリズムの実用化には、特に他の最適化アルゴリズムと比較した場合、いくつかの限界がある。
複雑な問題に対する適応度関数の 繰り返し評価は、人工進化アルゴリズムにおいて最も負担が大きく、制約となる部分であることが多い。複雑な高次元多峰性問題の最適解を見つけるには、非常にコストのかかる適応度関数の 評価が必要となる場合が多い。構造最適化問題のような現実世界の問題では、1回の関数評価に数時間から数日のシミュレーションが必要となることもある。一般的な最適化手法では、このような問題には対応できない。この場合、厳密な評価を諦め、計算効率の良い近似適応度を用いる必要があるかもしれない。 近似モデル を組み合わせることは、複雑な現実世界の問題を解決するためにGAを効果的に活用する上で、最も有望なアプローチの1つであることは明らかである。遺伝的アルゴリズムは、複雑さが増すとスケーリングがうまくいきません。つまり、突然変異にさらされる要素の数が多い場合、探索空間のサイズが指数関数的に増加することがよくあります。そのため、エンジン、家、飛行機などの設計といった問題にこの手法を適用することは非常に困難です。このような問題を進化的探索で扱いやすくするためには、可能な限り単純な表現に分解する必要があります。したがって、進化的アルゴリズムでは、エンジンではなくファンブレードの設計、詳細な建設計画ではなく建物の形状、航空機全体の設計ではなく翼型がエンコードされるのが一般的です。複雑さに関する2つ目の問題は、優れたソリューションを表すように進化した部分を、さらなる破壊的な突然変異からどのように保護するかという問題です。特に、適応度評価で他の部分とうまく組み合わせる必要がある場合はなおさらです。 「より良い」解決策とは、他の解決策との比較においてのみ存在する。そのため、すべての問題において停止基準が明確であるとは限らない。 多くの問題において、遺伝的アルゴリズムは、問題の全体最適解 ではなく、局所最適解 や任意の点に収束する傾向があります。これは、短期的な適応度を犠牲にして長期的な適応度を得る方法を「知らない」ことを意味します。このようなことが起こる可能性は、適応度ランドスケープ の形状に依存します。特定の問題では、全体最適解への容易な上昇が提供される場合もあれば、関数が局所最適解を見つけやすくなる場合もあります。この問題は、異なる適応度関数を使用したり、突然変異率を上げたり、多様な解の集団を維持する選択手法を使用したりすることで軽減できますが、[ 17 ] ノーフリーランチ定理 [ 18 ] は、この問題に対する一般的な解決策がないことを証明しています。多様性を維持するための一般的な手法は、「ニッチペナルティ」を課すことです。これは、十分な類似性(ニッチ半径)を持つ個体のグループにペナルティを追加し、後続の世代におけるそのグループの出現を減らし、他の(類似性の低い)個体が集団に維持されるようにするものです。ただし、この手法は、問題のランドスケープによっては効果的でない場合があります。別の方法としては、集団の大部分が互いに似通っている場合に、集団の一部をランダムに生成された個体に置き換えるという方法もある。遺伝的アルゴリズム(および遺伝的プログラミング )では、均質な集団を交叉しても新しい解が得られないため、多様性が重要となる。進化戦略 や進化プログラミング では、突然変異への依存度が高いため、多様性は必須ではない。動的なデータセットを扱うのは困難です。ゲノムは早い段階で収束し始め、後のデータにはもはや有効ではなくなる可能性があるからです。この問題を解決するために、遺伝的多様性を何らかの方法で高め、早期の収束を防ぐためのいくつかの方法が提案されています。例えば、解の質が低下したときに突然変異の確率を高める(トリガー型ハイパーミューテーション と呼ばれる)か、あるいは時折、全く新しいランダムに生成された要素を遺伝子プールに導入する(ランダム移民 と呼ばれる)といった方法です。ここでも、進化戦略 と進化プログラミングは 、いわゆる「コンマ戦略」で実装できます。この戦略では、親は維持されず、新しい親は子孫からのみ選択されます。これは、動的な問題に対してより効果的です。 遺伝的アルゴリズム(GA)は、適合度指標が合否の二値結果のみである問題(意思決定問題 など)を効果的に解決することはできません。なぜなら、解に収束する方法がない(乗り越えるべき山がない)からです。このような場合、ランダム探索でもGAと同じくらい速く解が見つかる可能性があります。しかし、成功/失敗の試行を繰り返して(場合によっては)異なる結果が得られる状況であれば、成功と失敗の比率が適切な適合度指標となります。 特定の最適化問題や問題インスタンスによっては、収束速度の点で遺伝的アルゴリズムよりも効率的な最適化アルゴリズムが存在する場合があります。代替的かつ補完的なアルゴリズムとしては、進化戦略、 進化プログラミング 、シミュレーテッドアニーリング 、ガウス適応 、ヒルクライミング 、群知能 (例:アリコロニー最適化 、粒子群最適化)、および 整数線形計画法 に基づく手法などが挙げられます。遺伝的アルゴリズムの適合性は、問題に関する知識の量に依存します。よく知られた問題には、より優れた、より専門的なアプローチが存在することが多いのです。
バリエーション
染色体の表現 最も単純なアルゴリズムでは、各染色体をビット列として表現します。通常、数値パラメータは 整数 で表現できますが、浮動小数点 表現を使用することも可能です。浮動小数点表現は、進化戦略 や進化プログラミング にとって自然な表現です。実数値遺伝的アルゴリズムという概念が提案されていますが、これは実際には誤称です。なぜなら、 1970年代にジョン・ヘンリー・ホランド によって提案されたビルディングブロック理論を実際には表していないからです。ただし、この理論は理論的および実験的結果に基づいて支持されていないわけではありません(下記参照)。基本アルゴリズムは、ビットレベルで交叉と突然変異を実行します。他のバリアントでは、染色体を命令テーブルへのインデックス、リンクリスト のノード、ハッシュ 、オブジェクト 、またはその他の考えられるあらゆるデータ構造で ある数値のリストとして扱います。交叉と突然変異は、データ要素の境界を尊重するように実行されます。ほとんどのデータ型に対して、特定の変異演算子を設計できます。異なる染色体データ型は、特定の問題領域によって、より良く機能したり、より悪く機能したりするようです。
整数をビット列で表現する場合、グレイ符号化 がよく用いられます。この方法では、突然変異や交叉によって整数のわずかな変化を容易に反映させることができます。これは、いわゆるハミングの壁 における早期収束を防ぐのに役立つことが分かっています。ハミングの壁とは、染色体をより良い解に変化させるために、同時に発生する突然変異(または交叉)が多すぎる状態を指します。
他のアプローチでは、染色体を表すためにビット列の代わりに実数値の配列を使用します。スキーマ理論の結果は、一般的にアルファベットが小さいほどパフォーマンスが向上することを示唆していますが、実数値の染色体を使用して良好な結果が得られたことは、当初研究者にとって驚きでした。これは、有限の染色体集団における実数値の集合が、 (選択と組み換えが支配的な場合)浮動小数点表現から予想されるよりもはるかに低いカーディナリティを持つ仮想アルファベット を形成することによって説明されました。[ 19 ] [ 20 ]
遺伝的アルゴリズムでアクセス可能な問題領域の拡張は、異種エンコードされた複数のタイプの遺伝子を1つの染色体に連結することによって、解プールをより複雑にエンコードすることによって実現できます。[ 21 ] この特定のアプローチにより、問題パラメータの定義領域が大きく異なる最適化問題を解決できます。たとえば、カスケードコントローラチューニングの問題では、内部ループコントローラ構造は3つのパラメータを持つ従来のレギュレータに属することができますが、外部ループは本質的に異なる記述を持つ言語コントローラ(ファジーシステムなど)を実装できます。この特定の形式のエンコードには、染色体をセクションごとに再結合する特殊な交叉メカニズムが必要であり、複雑な適応システム、特に進化プロセスのモデリングとシミュレーションに役立つツールです。
遺伝的アルゴリズム (GA) でアクセス可能な解空間のもう 1 つの重要な拡張は、解の状態に関するさまざまなレベルの知識に対応できる表現を作成する必要性によって推進されました。可変長表現は、自然界では進化がより単純な生物からより複雑な生物へと進む傾向があるという観察から着想を得ており、柔軟な構造を採用する根本的な理由を示唆しています。[ 22 ] 2 つ目の、より実用的な動機は、現実世界のほとんどの工学および知識ベースの問題が、自然には厳格な知識構造に適合しないということです。[ 23 ]
可変長表現におけるこれらの初期の革新は、遺伝的プログラミング の発展に不可欠な基礎を築き、古典的な遺伝的アルゴリズム(GA)のパラダイムをさらに拡張した。このような表現には、固定長染色体に使用される単純な遺伝的演算子の改良が必要であり、より洗練された適応型GAモデルの出現を可能にした。
エリート主義 新しい集団を構築する一般的なプロセスの実際的な変形として、現在の世代から最良の生物をそのまま次の世代に引き継がせる方法がある。この戦略はエリート選択 として知られており、GAによって得られるソリューションの質が世代ごとに低下しないことを保証する。[ 24 ]
並列実装 遺伝的アルゴリズムの並列 実装には、大きく分けて2種類あります。粗粒度並列遺伝的アルゴリズムは、各コンピュータノード上に個体群が存在し、個体がノード間を移動すると仮定します。一方、細粒度並列遺伝的アルゴリズムは、各プロセッサノード上に個体が存在し、隣接する個体と相互作用して選択と繁殖を行うと仮定します。オンライン最適化 問題のための遺伝的アルゴリズムなど、その他のバリアントでは、適応度関数に時間依存性やノイズが導入されます。
適応型遺伝的アルゴリズム 適応パラメータを持つ遺伝的アルゴリズム(適応型遺伝的アルゴリズム、AGA)は、遺伝的アルゴリズムのもう1つの重要かつ有望なバリアントです。交叉確率(pc)と突然変異確率(pm)は、遺伝的アルゴリズムが達成できる解の精度と収束速度を大きく左右します。研究者たちは、GAの収束を解析的に分析してきました。[ 25 ] [ 26 ]
pc とpm の固定値を使用する代わりに、AGA は各世代で集団情報を使用し、集団の多様性を維持し、収束能力を維持するためにpc とpm を適応的に調整します。AGA (適応型遺伝的アルゴリズム) [ 27 ] では、 pc とpm の調整は解の適合度値に依存します。AGA のバリアントの例は他にもあります。収束を改善する初期の例として、逐次ズーム法があります。[ 28 ] CAGA (クラスタリングベースの適応型遺伝的アルゴリズム) [ 29 ] では、クラスタリング分析を使用して集団の最適化状態を判断することにより、pc とpm の調整はこれらの最適化状態に依存します。最近のアプローチでは、 pc とpm を決定するために、より抽象的な変数を使用します。例としては、優位性および共優位性の原理[ 30 ]と、柔軟な GA と修正 A* 探索を組み合わせて探索空間の異方性に対処する LIGA (レベル化補間遺伝的アルゴリズム) [ 31 ] があります。
遺伝的アルゴリズム(GA)を他の最適化手法と組み合わせることは、非常に効果的です。GAは、全体的に優れた解を見つけるのに非常に優れていますが、絶対最適解を見つけるための最後の数回の突然変異を見つける効率は低い傾向があります。一方、他の手法(単純な山登り法 など)は、限られた領域内で絶対最適解を見つけるのに非常に効率的です。GAと山登り法を交互に用いることで、GAの効率性を向上させつつ、山登り法の頑健性の低さを克服することができます。
これは、遺伝的変異の規則が自然界では異なる意味を持つ可能性があることを意味します。たとえば、 ステップが連続した順序で保存されている場合、 交差は母方のDNAからのステップの数を合計し、父方のDNAからのステップの数を加算するなどします。これは、表現型ランドスケープの尾根をたどる可能性が高いベクトルを追加するようなものです。したがって、プロセスの効率は桁違いに向上する可能性があります。さらに、反転演算子は、 生存または効率に有利になるように、ステップを連続した順序またはその他の適切な順序に配置する機会があります。[ 32 ]
個体ではなく集団全体が進化する変異は、遺伝子プール組換えとして知られている。
適応度エピスタシスが高い問題、つまり解の適応度がその変数の相互作用する部分集合から構成される問題において、GA のパフォーマンスを向上させるために、いくつかのバリエーションが開発されてきました。このようなアルゴリズムは、これらの有益な表現型相互作用を (利用する前に) 学習することを目的としています。そのため、破壊的組換えを適応的に削減するという点で、ビルディング ブロック仮説と一致しています。このアプローチの代表的な例としては、mGA [ 33 ] 、 GEMGA [ 34 ] 、LLGA [ 35 ]などがあります。
問題領域 遺伝的アルゴリズムによる解決に特に適していると思われる問題には、時間割作成やスケジューリングの問題 があり、多くのスケジューリングソフトウェアパッケージはGAに基づいています。GAはエンジニアリング にも応用されています。[ 36 ] 遺伝的アルゴリズムは、グローバル最適化 問題を解決するためのアプローチとしてよく適用されます。
一般的に、遺伝的アルゴリズムは、複雑な適応度ランドスケープ を持つ問題領域で有用である可能性があります。これは、混合、つまり突然変異 と交叉 の組み合わせによって、従来のヒルクライミングアルゴリズムが陥る可能性のある 局所最適解 から集団を遠ざけるように設計されているためです。一般的に使用される交叉演算子は、均一な集団を変更できないことに注意してください。突然変異だけでも、遺伝的アルゴリズム全体のプロセス(マルコフ連鎖 として見なされる)のエルゴード性を 提供できます。
遺伝的アルゴリズムによって解決された問題の例としては、太陽光を太陽集光器に集めるように設計された鏡[ 37 ] 、宇宙空間で無線信号を受信するように設計されたアンテナ[ 38 ] 、コンピュータ図形の歩行方法[ 39 ] 、複雑な流れ場における空力体の最適設計 [ 40 ] などがある。
スキエナは著書 『アルゴリズム設計マニュアル』 の中で、いかなるタスクにおいても遺伝的アルゴリズムを用いることを推奨していない。
ビット列に対する突然変異や交叉といった遺伝的演算子を用いてアプリケーションをモデル化するのは、全く不自然です。擬似生物学は、あなたと問題の間にさらに別の複雑さを加えます。第二に、遺伝的アルゴリズムは、非自明な問題に対して非常に長い時間を要します。[...] 進化との類推――大きな進歩には数百万年を要する――は、まさに適切と言えるでしょう。
[...]
遺伝的アルゴリズムが適切な解決策だと思えるような問題に遭遇したことは一度もありません。さらに、遺伝的アルゴリズムを用いた計算結果で、私に好印象を与えたものを見たこともありません。ヒューリスティック探索の高度な手法が必要な場合は、シミュレーテッドアニーリングを用いることをお勧めします。
親フィールド 遺伝的アルゴリズムは、以下の分野に属する。
進化アルゴリズム 進化アルゴリズムは、進化コンピューティング のサブ分野である。
進化戦略 (ES、Rechenberg、1994を参照)は、突然変異と中間または離散的な組換えによって個体を進化させます。ESアルゴリズムは、特に実数値領域の問題を解決するように設計されています。[ 60 ] 自己適応を使用して、探索の制御パラメータを調整します。自己適応の非ランダム化により、現代の共分散行列適応進化戦略(CMA-ES )が生まれました。進化プログラミング (EP)は、主に突然変異と選択、そして任意の表現を用いた解の集団を扱う。自己適応を用いてパラメータを調整し、複数の親からの情報を組み合わせるなど、他の変異操作も含むことができる。分布推定アルゴリズム (EDA)は、従来の複製演算子をモデル誘導演算子に置き換えます。このようなモデルは、機械学習技術を用いて集団から学習され、確率的グラフィカルモデルとして表現され、そこから新しい解をサンプリングしたり[ 61 ] [ 62 ] 、誘導交叉によって生成したりできます[ 63 ] 。 遺伝的プログラミング(GP) は、 ジョン・コザ によって普及した関連技術であり、関数パラメータではなくコンピュータ プログラムが最適化されます。遺伝的プログラミングでは、適応のためのコンピュータ プログラムを表現するために、遺伝的アルゴリズムで一般的なリスト 構造の代わりに、ツリーベースの 内部データ構造 がよく使用されます。遺伝的プログラミングには、デカルト遺伝的プログラミング 、遺伝子発現プログラミング 、[ 64 ] 文法進化 、線形遺伝的プログラミング 、多重発現プログラミング など、多くのバリエーションがあります。グループ化遺伝的アルゴリズム (GGA) は、古典的な GA のように個々のアイテムではなく、アイテムのグループまたはサブセットに焦点を当てた GA の進化形です。[ 65 ] エマニュエル・ファルケナウアー が提案したこの GA 進化形の背後にある考え方は、アイテムのセットを最適な方法で互いに素なアイテムのグループに分割する必要があるクラスタリング やパーティショニング 問題などの複雑な問題を解決するには、アイテムのグループの特性を遺伝子と同等にすることでより良く達成できるというものです。このような問題には、ビン パッキング 、ライン バランシング、距離尺度に関するクラスタリング 、等山などがあり、古典的な GA ではうまく機能しませんでした。遺伝子をグループと同等にするということは、一般的に可変長の染色体と、アイテムのグループ全体を操作する特別な遺伝的演算子を意味します。特にビン パッキングに関しては、マルテロとトスの優位性基準とハイブリッド化した GGA が、おそらく今日までで最高の技術です。対話型進化アルゴリズム とは、人間の評価を用いる進化アルゴリズムのことである。これらは通常、計算による適合度関数を設計するのが難しい分野、例えば、ユーザーの美的嗜好に合わせて画像、音楽、芸術的なデザインや形態を進化させる場合などに適用される。
群知能 群知能は進化計算 の一分野である。
アリコロニー最適化 (ACO )は、フェロモンモデルを備えた多数のアリ(またはエージェント)を使用して、解空間を探索し、局所的に生産性の高い領域を見つけ出します。分布推定アルゴリズム と考えられているが、[ 66 ] 粒子群最適化 (PSO) は、集団ベースのアプローチも使用する多パラメータ最適化の計算手法である。候補解 (粒子) の集団 (群れ) が探索空間内を移動し、粒子の移動は、粒子自身の既知の最良位置と群れのグローバルな既知の最良位置の両方の影響を受ける。遺伝的アルゴリズムと同様に、PSO 手法は集団メンバー間の情報共有に依存する。いくつかの問題では、特に連続変数を持つ制約のない問題では、PSO は GA よりも計算効率が高いことが多い。[ 67 ]
その他の進化計算アルゴリズム 進化計算は、メタヒューリスティック 手法のサブ分野である。
ミームアルゴリズム(MA)は、 ハイブリッド遺伝的アルゴリズム などとも呼ばれ、解が局所的な改善段階も経る集団ベースの手法です。ミームアルゴリズムの発想は、遺伝子とは異なり自己適応能力を持つミーム に由来しています。いくつかの問題領域では、従来の進化アルゴリズムよりも効率的であることが示されています。細菌学的アルゴリズム (BA)は、進化生態学 、特に細菌の適応に触発されたものです。進化生態学は、生物が環境の中でどのように適応するかを解明することを目的として、生物をその環境との関連で研究する学問です。その基本概念は、異質な環境では、環境全体に適合する個体は存在しないということです。したがって、集団レベルで推論する必要があります。BAは、複雑な位置特定問題(携帯電話のアンテナ、都市計画など)やデータマイニングにもうまく適用できると考えられています。[ 68 ] 文化アルゴリズム (CA)は、遺伝的アルゴリズムとほぼ同じ集団構成要素に加え、信念空間と呼ばれる知識構成要素から構成される。超生物の移動に触発された差異進化 (DE)。[ 69 ] ガウス適応 (正規または自然適応、GA との混同を避けるために NA と略記)は、信号処理システムの製造歩留まりを最大化することを目的としています。通常のパラメトリック最適化にも使用できます。これは、すべての許容領域とすべてのガウス分布に有効な特定の定理に基づいています。NA の効率は、情報理論と特定の効率定理に基づいています。その効率は、情報を取得するために必要な作業で割った情報として定義されます。[ 70 ] NA は個体の適応度ではなく平均適応度を最大化するため、地形は滑らかになり、ピーク間の谷が消える可能性があります。したがって、適応度地形の局所的なピークを回避するという一定の「野心」があります。NA は、モーメント行列の適応によって鋭い頂上を登ることにも優れています。これは、NA が平均適応度 を一定に保ちながらガウスの無秩序(平均情報 )を最大化できるためです。
メタヒューリスティック手法は、概して確率的 最適化手法に分類される。
シミュレーテッドアニーリング (SA)は、個々の解に対してランダムな突然変異をテストすることで探索空間を探索する、関連するグローバル最適化手法です。適応度を高める突然変異は常に受け入れられます。適応度を低下させる突然変異は、適応度の差と低下する温度パラメータに基づいて確率的に受け入れられます。SAの用語では、最大適応度ではなく最小エネルギーを追求すると言えます。SAは、比較的高い突然変異率から開始し、所定のスケジュールに従って時間とともに低下させることで、標準的なGAアルゴリズム内でも使用できます。タブーサーチ (TS)は、個々の解の変異をテストすることで解空間を探索するという点で、シミュレーテッドアニーリングと類似しています。シミュレーテッドアニーリングは変異した解を1つだけ生成するのに対し、タブーサーチは多数の変異した解を生成し、生成された解の中でエネルギーが最も低い解へと移動します。循環を防ぎ、解空間をより広く探索するために、部分解または完全な解のタブーリストが維持されます。タブーリストの要素を含む解へ移動することは禁止されており、解が解空間を探索するにつれてタブーリストは更新されます。極値最適化 (EO)は、候補解の集団を扱う遺伝的アルゴリズム(GA)とは異なり、単一の解を進化させ、最も劣るコンポーネントに局所的な 修正を加えます。そのためには、個々の解のコンポーネントに品質尺度(「適合度」)を割り当てることができる適切な表現を選択する必要があります。このアルゴリズムの背後にある原理は、低品質のコンポーネントを選択的に除去し、ランダムに選択されたコンポーネントに置き換えることによって、創発的に 改善していくというものです。これは、より良い解を作ろうとして優れた解を選択するGAとは明らかに相容れません。
その他の確率的最適化手法 交差エントロピー(CE)法は、 パラメータ化された確率分布を用いて候補解を生成する。パラメータは交差エントロピー最小化によって更新され、次の反復処理でより良いサンプルが生成される。 リアクティブサーチ最適化(RSO)は、複雑な最適化問題を解決するための探索ヒューリスティクスに、サブシンボリック機械学習技術を統合することを提唱しています。リアクティブという言葉は、重要なパラメータを自己調整するための内部オンラインフィードバックループを通じて、探索中のイベントに迅速に対応できることを示唆しています。リアクティブサーチで注目されている手法には、機械学習と統計学、特に強化学習 、アクティブラーニングまたはクエリ学習 、ニューラルネットワーク 、メタヒューリスティクス などがあります。
参考文献 ↑ ペトロフスキー、アラン;ベン=ハミダ、サナ(2017)。進化アルゴリズム 。ジョン・ワイリー&サンズ。30ページ。ISBN 978-1-119-13638-5 。 ↑ Gerges, Firas; Zouein, Germain; Azar, Danielle (2018年3月12日). 「局所最適解処理を伴う遺伝的アルゴリズムによる数独パズルの解法」 . 2018年国際コンピューティング・人工知能会議議事録 . ICCAI 2018. ニューヨーク州ニューヨーク市、米国: Association for Computing Machinery. pp. 19–22 . doi : 10.1145/3194452.3194463 . ISBN 978-1-4503-6419-5 . S2CID 44152535 . ↑ Burkhart, Michael C.; Ruiz, Gabriel (2023). "異質な治療効果を学習するための神経進化的表現" . Journal of Computational Science . 71 102054. doi : 10.1016/j.jocs.2023.102054 . S2CID 258752823 . ↑ ルケ・ロドリゲス、マリア。モリーナ・バエナ、ホセ。ヒメネス・ヴィルチェス、アルフォンソ。アラウゾ アゾフラ、アントニオ (2022)。 「分類のための特徴選択検索の初期化 (セクション 3)」 。 人工知能研究ジャーナル 。 75 : 953–983 . 土井 : 10.1613/jair.1.14015 。 ↑ Eiben, AE 他 (1994). 「多親組換えを伴う遺伝的アルゴリズム」. PPSN III: 進化計算に関する国際会議議事録. 自然界からの並列問題解決に関する第3回会議: 78 – 87. ISBN 3-540-58484-6 。 ↑ Ting, Chuan-Kang (2005). 「選択なしの多親遺伝的アルゴリズムの平均収束時間について」. 人工生命の進歩: 403 – 412. ISBN 978-3-540-28848-0 。 ↑ Deb, Kalyanmoy; Spears, William M. (1997). "C6.2: 種分化法". 進化計算ハンドブック . Institute of Physics Publishing. S2CID 3547258 . ↑ Shir, Ofer M. (2012). "進化アルゴリズムにおけるニッチング". Rozenberg, Grzegorz; Bäck, Thomas; Kok, Joost N. (編). Handbook of Natural Computing . Springer Berlin Heidelberg. pp. 1035–1069 . doi : 10.1007 /978-3-540-92910-9_32 . ISBN 9783540929093 。↑ Harik, Georges R.; Lobo, Fernando G.; Sastry, Kumara (2006年1月1日). 「拡張コンパクト遺伝的アルゴリズム(ECGA)における確率的モデリングによる連結学習」. 確率的モデリングによるスケーラブル最適化 . 計算知能研究. 第33巻. 39–61 頁. doi : 10.1007 /978-3-540-34954-9_3 . ISBN 978-3-540-34953-2 。↑ ペリカン、マーティン。ゴールドバーグ、デヴィッド E.エリック・カントゥパス(1999年1月1日)。 BOA: ベイジアン最適化アルゴリズム 。ゲッコー'99。ページ 525–532。ISBN 9781558606111 。↑ Coffin, David; Smith, Robert E. (2008年1月1日). 「分布推定アルゴリズムにおけるリンケージ学習」. 進化計算におけるリンケージ . 計算知能研究. 第 157巻. pp. 141–156 . doi : 10.1007/978-3-540-85068-7_7 . ISBN 978-3-540-85067-0 。↑ Echegoyen, Carlos; Mendiburu, Alexander; Santana, Roberto; Lozano, Jose A. (2012年11月8日). 「分布推定アルゴリズムにおける最適化 問題の分類について」. Evolutionary Computation . 21 (3): 471–495 . doi : 10.1162/EVCO_a_00095 . ISSN 1063-6560 . PMID 23136917. S2CID 26585053 . ↑ Sadowski, Krzysztof L.; Bosman, Peter AN; Thierens, Dirk (2013年1月1日). 「MAX-SATを解くためのリンケージ処理の有用性について」. 第15回遺伝的アルゴリズムと進化的計算に関する年次会議議事録 . Gecco '13. pp. 853–860 . doi : 10.1145/2463372.2463474 . hdl : 1874/290291 . ISBN 9781450319638 . S2CID 9986768 . ↑ Taherdangkoo, Mohammad; Paziresh, Mahsa; Yazdi, Mehran; Bagheri, Mohammad Hadi (2012年11月19日) 「関数最適化のための効率的なアルゴリズム:改良された幹細胞アルゴリズム」 Central European Journal of Engineering 3 ( 1): 36– 50. doi : 10.2478/s13531-012-0047-8 . ↑ Wolpert, DH、Macready, WG、1995年。最適化のためのノーフリーランチ定理。サンタフェ研究所、SFI-TR-05-010、サンタフェ。 ↑ゴールドバーグ、デイビッド E. (1991). 「仮想アルファベット の 理論」。 自然からの並列問題解決 。コンピュータサイエンス講義ノート。第496巻 、 13–22 ページ。doi : 10.1007 / BFb0029726。ISBN 978-3-540-54148-6 。↑ Janikow, CZ; Michalewicz, Z. (1991). "遺伝的アルゴリズムにおけるバイナリ表現と浮動小数点表現の実験的比較" (PDF) . 第4回国際遺伝的アルゴリズム会議議事録 : 31– 36. 2022年10月9日にオリジナルから アーカイブ (PDF) 。 2013年 7月2日 に取得 。 ↑ Patrascu, M.; Stancu, AF; Pop, F. (2014). "HELGA: 集団進化モデリングとシミュレーションのための異種符号化生命体遺伝的アルゴリズム". Soft Computing . 18 (12): 2565– 2576. doi : 10.1007/s00500-014-1401-y . S2CID 29821873 . ↑ Goldberg, DE、Korb, B.、Deb, K. (1989)。Messy Genetic Algorithms: Motivation, Analysis, and First Results. Complex Systems, 3(5), 493–530. ISSN 0891-2513. ↑ Davidor, Y. (1991). Genetic Algorithms and Robotics: A Heuristic Strategy for Optimization. World Scientific Series in Robotics and Intelligent Systems: Volume 1. ↑ Baluja, Shumeet; Caruana, Rich (1995). 標準遺伝的アルゴリズムから遺伝学を取り除く (PDF) . ICML . 2022年10月9日にオリジナルから アーカイブ (PDF) 。 ↑ Stannat, W. (2004). "遺伝的アルゴリズムの収束について – 変分アプローチ" . Probab. Theory Relat. Fields . 129 : 113– 132. doi : 10.1007/s00440-003-0330-y . S2CID 121086772 . ↑ Sharapov, RR; Lapshin, AV (2006). "遺伝的アルゴリズムの収束". Pattern Recognit. Image Anal . 16 (3): 392–397 . doi : 10.1134/S1054661806030084 . S2CID 22890010 . ↑ Srinivas, M.; Patnaik, L. (1994). "Adaptive probabilities of crossover and mutation in genetic algorithms" (PDF) . IEEE Transactions on Systems, Man, and Cybernetics . 24 (4): 656– 667. Bibcode : 1994ITSMC..24..656S . doi : 10.1109/21.286385 . 2022年10月9日にオリジナルから アーカイブされた (PDF) 。 ↑ Kwon, YD; Kwon, SB; Jin, SB; Kim, JY (2003). "連続最適化問題を解くための逐次ズーム法を用いた収束強化遺伝的アルゴリズム". Computers & Structures . 81 (17): 1715– 1725. doi : 10.1016/S0045-7949(03)00183-4 . ↑ Zhang, J.; Chung, H.; Lo, WL (2007). "Clustering-Based Adaptive Crossover and Mutation Probabilities for Genetic Algorithms". IEEE Transactions on Evolutionary Computation . 11 (3): 326–335 . Bibcode : 2007ITEC...11..326Z . doi : 10.1109/TEVC.2006.880727 . S2CID 2625150 . ↑ Pavai, G.; Geetha, TV (2019). "遺伝的アルゴリズムの収束を速めるための優位性と共優位性の原理を用いた新しい交叉演算子". Soft Comput . 23 (11): 3661–3686 . doi : 10.1007/s00500-018-3016-1 . S2CID 254028984 . ↑ Li, JCF; Zimmerle, D.; Young, P. (2022). "レベル化補間遺伝的アルゴリズムを用いた柔軟なネットワーク型農村電化" . Energy & AI . 10 100186. Bibcode : 2022EneAI..1000186L . doi : 10.1016/j.egyai.2022.100186 . S2CID 250972466 . ↑ 例えば、 Wayback Machine に 2016 年 4 月 15 日に アーカイブされたEvolution-in-a-nutshellや、特にエッジ再結合演算子 の使用例である巡回セールスマン問題 を参照してください。 ↑ Goldberg, DE; Korb, B.; Deb, K. (1989). "Messy Genetic Algorithms : Motivation Analysis, and First Results" . Complex Systems . 5 (3): 493– 530. ↑ 遺伝子発現:進化計算における欠落したリンク ↑ Harik, G. (1997). 遺伝的アルゴリズムを用いて限定された難易度の問題を効率的に解決するためのリンケージの学習 (博士論文). ミシガン大学コンピュータサイエンス学科、アナーバー。 ↑ Tomoiagă B、Chindriş M、Sumper A、Sudria-Andreu A、Villafafila-Robles R. NSGA-IIに基づく遺伝的アルゴリズムを用いた配電システムのパレート最適再構成。Energies . 2013; 6(3):1439-1455. ↑ グロス、ビル(2009年2月2日)。 「太陽を追跡する太陽エネルギーシステム」 。TED 。 2013年 11月20日 取得 。 ↑ Hornby, GS; Linden, DS; Lohn, JD、 「進化アルゴリズムを用いた自動アンテナ設計」 (PDF) ↑ 「二足歩行生物のための柔軟な筋肉ベースの移動」 。 ↑ Evans, B.; Walton, SP (2017 年 12 月). "ボルツマン-BGK 方程式の解と進化的最適化に基づく極超音速再突入機の空力最適化" . Applied Mathematical Modelling . 52 : 215– 240. doi : 10.1016/j.apm.2017.07.024 . ISSN 0307-904X . ↑ スキエナ、スティーブン (2010)。 アルゴリズム設計マニュアル (第2 版)。 シュプリンガー・サイエンス+ビジネス・ メディア 。ISBN 978-1-849-96720-4 。↑ チューリング、アラン・ M.(1950年10月)「計算機械と知能」 Mind.LIX ( 238 ): 433–460.doi : 10.1093 / mind/LIX.236.433 . ↑ バリチェリ、ニルス・アール (1954)。 「進化の過程における数値計算」。 メソッド : 45–68 。 ↑ Barricelli, Nils Aall (1957). "人工的方法によって実現された共生発生進化プロセス". Methodos : 143– 182. ↑ Fraser, Alex (1957). "自動デジタルコンピュータによる遺伝子システムのシミュレーション。I. 序論" . Aust. J. Biol. Sci . 10 (4): 484– 491. Bibcode : 1957AuJBS..10..484F . doi : 10.1071/BI9570484 . ↑ Fraser, Alex ; Burnell, Donald (1970). Computer Models in Genetics . New York: McGraw-Hill. ISBN 978-0-07-021904-5 。↑ クロスビー、ジャック L. (1973). 遺伝学におけるコンピュータシミュレーション . ロンドン: ジョン・ワイリー・アンド・サンズ. ISBN 978-0-471-18880-3 。↑ 1996年2月27日 - カリフォルニア大学バークレー校のハンス・ブレマーマン名誉教授(数理生物学の先駆者)が69歳で死去 ↑ フォゲル、デイビッド・B. 編 (1998). 進化計算:化石記録 . ニューヨーク:IEEE Press. ISBN 978-0-7803-3481-6 。↑ Barricelli, Nils Aall (1963). "進化理論の数値的検証。第II部。パフォーマンス、共生発生、および陸上生命の予備的検証". Acta Biotheoretica . 16 ( 3– 4): 99– 126. doi : 10.1007/BF01556602 . S2CID 86717105 . ↑ レッヒェンベルク、インゴ (1973)。 進化戦略 。シュトゥットガルト:ホルツマン=フロブーグ。 ISBN 978-3-7728-0373-4 。↑ シュヴェーフェル、ハンス=パウル (1974)。 コンピューターモデルの最適化 (博士論文) 。 ↑ シュヴェーフェル、ハンス=パウル (1977)。 コンピューター モデルの進化戦略に関する最適化 : ヒルクライミングと落下の戦略における評価 の向上。バーゼル;シュトゥットガルト:ビルクホイザー。 ISBN 978-3-7643-0876-6 。↑ シュヴェーフェル、ハンス=パウル (1981)。 コンピューター モデルの数値最適化 (1977 年の翻訳 Numerische Optimierung von Computor-Modellen mittels der Evolutionsstrategie . Chichester; New York: Wiley. ISBN 978-0-471-09988-8 。↑ Aldawoodi, Namir (2008). An Approach to Designing an Unmanned Helicopter Autopilot Using Genetic Algorithms and Simulated Annealing . p. 99. ISBN 978-0549773498 ―Google ブックス経由。↑ マーコフ、ジョン(1990年8月29日) 「最良の答えは何か?それは適者生存だ」 ニューヨーク・タイムズ 。 2016年 7月13日 閲覧 。 ↑ Ruggiero, Murray A. (2009年8月1日) 15年が経過し、現在も継続中。 2016年1月30日にWayback Machine に アーカイブ済み。Futuresmag.com。2013年8月7日に取得。 ↑ Evolver: スプレッドシートのための高度な最適化。Palisade。2013年8月7日取得。 ↑ リー、リン。サルディバル、アルフレッド・アラン・フローレス。バイ、ユン。チェン、イー。劉坤峰。李尹(2019)。 「最適化アルゴリズムを評価するためのベンチマークと、実務者の迅速なアクセスのための MATLAB デリバティブフリー オプティマイザーのベンチマーク」 。 IEEE アクセス 。 7 : 79657– 79670。 Bibcode : 2019IEEEA...779657L 。 土井 : 10.1109/ACCESS.2019.2923092 。 S2CID 195774435 。 ↑ Cohoon, J; et al. (2002). VLSI回路の物理設計のための進化アルゴリズム (PDF) . Springer、pp. 683-712、2003年 。ISBN 978-3-540-43330-9 2022年10月9日にオリジナルからアーカイブ(PDF) 。↑ ペリカン、マーティン。ゴールドバーグ、デヴィッド E.エリック・カントゥパス(1999年1月1日)。 BOA: ベイジアン最適化アルゴリズム 。ゲッコー'99。ページ 525–532。ISBN 9781558606111 。↑ ペリカン、マーティン (2005). 階層的ベイズ最適化アルゴリズム :進化アルゴリズムの新世代に向けて (第1 版). ベルリン [ua]: Springer. ISBN 978-3-540-23774-7 。↑ Thierens, Dirk (2010年9月11日). 「連結木遺伝的アルゴリズム」. Parallel Problem Solving from Nature, PPSN XI . pp. 264–273 . doi : 10.1007/978-3-642-15844-5_27 . ISBN 978-3-642-15843-8 。↑ Ferreira, C (2001). "Gene Expression Programming: A New Adaptive Algorithm for Solving Problems" (PDF) . Complex Systems . 13 (2): 87– 129. arXiv : cs/0102027 . Bibcode : 2001cs........2027F . 2022年10月9日にオリジナルから アーカイブ済み (PDF) 。 ↑ ファルケナウアー、エマニュエル (1997). 遺伝的アルゴリズムとグループ化問題 . チチェスター、イングランド: ジョン・ワイリー・アンド・サンズ社. ISBN 978-0-471-97150-4 。↑ Zlochin, Mark; Birattari, Mauro; Meuleau, Nicolas; Dorigo, Marco (2004 年 10 月 1 日). "組み合わせ最適化のためのモデルベース探索: 批判的調査". Annals of Operations Research . 131 ( 1– 4): 373– 395. CiteSeerX 10.1.1.3.427 . doi : 10.1023/B:ANOR.0000039526.52305.af . ISSN 0254-5330 . S2CID 63137 . ↑ Rania Hassan、Babak Cohanim、Olivier de Weck、Gerhard Venter (2005)粒子群最適化と遺伝的アルゴリズムの比較 ↑ ボードリー、ブノワ。フランク・フルーリー; ジャン=マルク・ジェゼケル ;イヴ・ル・トラオン(2005年3月~4月)。 「自動テスト ケースの最適化: 細菌学的アルゴリズム」 (PDF) 。 IEEE ソフトウェア 。 22 (2): 76–82 。 Bibcode : 2005ISoft..22b..76B 。 土井 : 10.1109/MS.2005.30 。 S2CID 3559602 。 2022 年 10 月 9 日のオリジナルから アーカイブ (PDF) 。 2009 年 8 月 9 日 に取得 。 ↑ Civicioglu, P. (2012). "差分探索アルゴリズムを使用した地心直交座標から測地座標への変換". Computers & Geosciences . 46 : 229– 247. Bibcode : 2012CG.....46..229C . doi : 10.1016/j.cageo.2011.12.011 . ↑ Kjellström, G. (1991年12月). 「ガウス適応の効率について」. Journal of Optimization Theory and Applications . 71 (3): 589–597 . doi : 10.1007/BF00941405 . S2CID 116847975 .
参考文献 バンザフ、ヴォルフガング。ノルディン、ピーター。ケラー、ロバート。フランク・フランコーネ(1998)。遺伝的プログラミング– 入門 。カリフォルニア州サンフランシスコ:モーガン・カウフマン。ISBN 978-1558605107 。 Bies, Robert R.; Muldoon, Matthew F.; Pollock, Bruce G.; Manuck, Steven; Smith, Gwenn; Sale, Mark E. (2006). "モデル選択のための遺伝的アルゴリズムに基づくハイブリッド機械学習アプローチ". Journal of Pharmacokinetics and Pharmacodynamics . 33 (2): 196–221 . doi : 10.1007/s10928-006-9004-6 . PMID 16565924. S2CID 39571129 . Cha, Sung-Hyuk; Tappert, Charles C. (2009). "A Genetic Algorithm for Constructing Compact Binary Decision Trees". Journal of Pattern Recognition Research . 4 (1): 1– 13. CiteSeerX 10.1.1.154.8314 . doi : 10.13176/11.44 . アイベン、アゴストン、スミス、ジェームズ(2003)。進化計算入門 。シュプリンガー。ISBN 978-3540401841 。 Fraser, Alex S. (1957). "自動デジタルコンピュータによる遺伝子システムのシミュレーション。I. 序論" . Australian Journal of Biological Sciences . 10 (4): 484– 491. Bibcode : 1957AuJBS..10..484F . doi : 10.1071/BI9570484 . ゴールドバーグ、デイビッド(1989)。『探索、最適化、機械学習における遺伝的アルゴリズム』 。マサチューセッツ州レディング:アディソン・ウェスリー・プロフェッショナル。ISBN 978-0201157673 。 ゴールドバーグ、デイビッド(2002)。イノベーションのデザイン:有能な遺伝的アルゴリズムからの教訓と、遺伝的アルゴリズムのための教訓 。マサチューセッツ州ノーウェル:クルーワー・アカデミック・パブリッシャーズ。ISBN 978-1402070983 。 フォゲル、デイビッド(2006)。進化計算:機械知能の新しい哲学に向けて (第3 版)。ピスカタウェイ、ニュージャージー州:IEEE Press。ISBN 978-0471669517 。 ヒングストン、フィリップ;バローネ、ルイージ;ミハレヴィッチ、ズビグニエフ(2008)。進化によるデザイン:進化的デザインの進歩 。シュプリンガー。ISBN 978-3540741091 。 ホランド、ジョン(1992)。自然システムと 人工システムにおける適応 。マサチューセッツ州ケンブリッジ:MIT Press。ISBN 978-0262581110 。 コザ、ジョン(1992)。遺伝的プログラミング:自然選択によるコンピュータのプログラミングについて 。 マサチューセッツ州ケンブリッジ:MIT Press。ISBN 978-0262111706 。 ミハレヴィッチ、ズビグニエフ(1996)。遺伝的アルゴリズム+データ構造=進化プログラム 。シュプリンガー・フェルラーク。ISBN 978-3540606765 。 ミッチェル、 メラニー(1996)。遺伝的アルゴリズム入門 。マサチューセッツ州ケンブリッジ:MIT Press。ISBN 9780585030944 。Poli, R.; Langdon, WB; McPhee, NF (2008).遺伝子プログラミング入門 . Lulu.com、インターネットから無料で入手可能。ISBN 978-1-4092-0073-4 。 Rechenberg、Ingo (1994): Evolutionsstrategie '94、シュトゥットガルト: Fromman-Holzboog。 Schmitt, Lothar M.; Nehaniv, Chrystopher L.; Fujii, Robert H. (1998). "遺伝的アルゴリズムの線形解析" . Theoretical Computer Science . 208 : 111– 148. Schmitt, Lothar M. (2001). "遺伝的アルゴリズムの理論" . Theoretical Computer Science . 259 ( 1– 2): 1– 61. Bibcode : 2001TComS.259....1S . doi : 10.1016/S0304-3975(00)00406-0 . Schmitt, Lothar M. (2004). "遺伝的アルゴリズムの理論 II: 集団の文字列テンソル表現上の遺伝的演算子のモデルとスケーリング下での任意の適合度関数のグローバル最適値への収束" . Theoretical Computer Science . 310 ( 1– 3): 181– 231. doi : 10.1016/S0304-3975(03)00393-1 . Schwefel、Hans-Paul (1974): Numericsche Optimierung von Computer-Modellen (博士論文)。 Birkhäuser によって再版されました (1977)。 ヴォーズ、マイケル(1999)。『単純遺伝的アルゴリズム:基礎と理論 』 ケンブリッジ、マサチューセッツ州:MIT Press。ISBN 978-0262220583 。 Whitley, Darrell (1994). "遺伝的アルゴリズムのチュートリアル" (PDF) . Statistics and Computing . 4 (2): 65– 85. Bibcode : 1994StCom...475354W . CiteSeerX 10.1.1.184.3999 . doi : 10.1007/BF00175354 . S2CID 344712 6 . 2022年10月9日にオリジナルからアーカイブ(PDF) 。
外部リンク
リソース 遺伝的アルゴリズム分野のリソース一覧を提供します。 進化アルゴリズムの歴史と種類に関する概説
チュートリアル 遺伝的アルゴリズムを解説するインタラクティブなチュートリアル。ブラウザ上で動作する例や実験を用いて、基本的な操作から巡回セールスマン問題の解決までを解説します。 遺伝的アルゴリズム ― 自然淘汰に似た方法で「進化」するコンピュータプログラムは、開発者自身でさえ完全には理解していない複雑な問題を解決できる。ジョン・ホランドによる遺伝的アルゴリズムの優れた入門書であり、囚人のジレンマへの応用例も紹介されている。 読者が遺伝的アルゴリズムの仕組みを練習したり学んだりするための、オンラインのインタラクティブな遺伝的アルゴリズムチュートリアルです。ステップバイステップで学習したり、一括してグローバルな収束を観察したり、個体群サイズ、交叉率/境界、突然変異率/境界、選択メカニズムを変更したり、制約を追加したりできます。 コロラド州立大学コンピュータサイエンス学部のダレル・ウィットリーによる遺伝的アルゴリズムのチュートリアル。理論を豊富に含んだ優れたチュートリアルです。 「メタヒューリスティクスの基礎」(2009年、225ページ)。ショーン・ルーク著、無料公開テキスト。 グローバル最適化アルゴリズム– 理論と応用( 2008年9月11日、 Wayback Machine に アーカイブ済み) Pythonによる遺伝的アルゴリズムのチュートリアル。遺伝的アルゴリズムの背後にある直感とPythonによる実装について解説します。 遺伝的アルゴリズムは囚人のジレンマを解決するために進化する。ロバート・アクセルロッド著。