0

GAをテストするための2Dモデル検索スペースを提供するソースを誰かが知っているかどうか疑問に思っていました. これらのタイプのアルゴリズムを評価するときに通常使用される標準的な検索スペースがたくさんあることを少し前に読んだと思います。

そうでない場合、毎回このデータを自分でランダムに生成するだけですか?

追記:上からも横からも。

4

2 に答える 2

1

検索スペースは、問題に完全に依存しています。個人の集団の「ゲノム」を変更して次世代を作成し、新しい世代の適合度を測定し、ランダム性をスローしてゲノムを再度変更するという遺伝的アルゴリズムのアイデアは、極小値に行き詰まらないようにすることです。 . ただし、検索スペースは、ゲノムにあるものによって完全に決定され、次に、問題が何であるかによって完全に決定されます。

特定の問題に対してうまく機能することがわかっている標準的な検索空間 (つまり、ゲノム) があるかもしれませんが (私は聞いたことがありません)、通常、GA を使用する際の最も難しい部分は、ゲノムに何があり、それがどのように許可されているかを定義することです。突然変異する。有用性は、モデルのさまざまな変数のすべての値を明示的に宣言する必要がないという事実に由来しますが、多かれ少なかれブラインド検索を使用して適切な値 (必ずしも最良の値とは限りません) を見つけることができます。

非常に頻繁に使用される 1 つの例は、進化したラジオ アンテナです ( Wikipedia )。目的は、特定の周波数に応答しなければならない、低ノイズであるなどの制限があり、アンテナ自体が可能な限り小型軽量になるような無線アンテナの構成を見つけることです。

したがって、指定したゲノムを構築します

  1. 使用するワイヤの数
  2. 各ワイヤーの曲がりの数
  3. 各曲げの角度
  4. おそらくベースからの各曲がりの距離
  5. (他の何か、私は何を知りません)

GA を実行し、相手の結果を確認し、なぜ機能しなかったのかを分析します。GA には、シミュレーションのバグが原因で、予期しない結果を生成する癖があります。いずれにせよ、ゲノムはアンテナの各ワイヤの曲がりの数を個別にエンコードする必要があるかもしれないことを発見しました。つまり、アンテナは対称的ではありません。それをゲノムに入れて、もう一度実行します。物理的な世界で機能する必要があるものをシミュレートすることは、ある時点で現実の世界で個人をテストする必要があるため、通常最も費用がかかります。

ここには、遺伝的アルゴリズムの合理的なチュートリアルがあり、ゲノムのさまざまなエンコード方式に関するいくつかの有用な例が示されています。

最後のポイントとして、GA はシンプルで実装が容易であると人々が言うとき、それは GA に関するフレームワーク (新しい母集団の生成、フィットネスの評価など) がシンプルであることを意味します。通常言われていないことは、実際の問題に対して GA を設定することは非常に困難であり、複雑な問題に対して適切に機能するエンコード方式を考え出すことは単純ではないため、通常は多くの試行錯誤が必要であるということです。開始する最良の方法は、単純なものから始めて、作業が進むにつれて物事をより複雑にすることです。もちろん、別のGAを作成して、最初のGAのエンコーディングに付属させることができます:)。

于 2013-08-20T07:25:10.923 に答える