49

遺伝的アルゴリズムを使用する実用的なアプリケーションを探しています。考えられたいくつかのことは次のとおりです。

  • ウェブサイトのインターフェースの最適化
  • 物理シミュレーターによる車両の最適化
  • 遺伝子プログラミング
  • テスト ケースの自動生成

しかし、実際に私に飛び出した人はいません。では、遺伝的アルゴリズムのプロジェクトに費やす自由な時間 (数か月) があるとしたら、何に取り組むことを選択しますか?

4

12 に答える 12

19

多くの可能性を秘めたトピックの1つは、進化的アルゴリズムを使用してゲームプレイの戦略を進化させることです。人々は進化論を使用して、ポーカー、チェッカー/ドラフト、ゴー、その他多くのゲームの戦略を生み出してきました。J-GAPの人々は、遺伝的プログラミングを使用してRobocodeのボットを進化させてきました。

最近、進化的計算に関する紹介記事を投稿しました。これには、進化的アルゴリズムが使用されてきたいくつかの詳細が含まれています。 Adam Marczykは、多くの例を含む優れた記事も書いています。Genetic Argonautブログには、興味深い進化プロジェクトへのリンクが多数含まれています。

あまり一般的ではないタイプの進化的アルゴリズムは、学習分類システムです。これにより、入力を分類するための一連のルールが進化します。ニューラルネットワークが使用されるのと同じ種類の問題に適用できます。フォームに基づいてスポーツの結果を予測しようとするなど、特定の問題に対してLCSを開発することは興味深いかもしれません。

于 2009-01-23T12:48:10.813 に答える
11

ロジャー・アルシングのモナ・リザのようなものに興味があるかもしれません

于 2009-01-23T06:06:57.973 に答える
11

進化するレゴ構造は、GA にとって最も興味深いおもちゃプロジェクトだと思います。

http://static.23.nu/md/Pictures/ZZ099735B6.jpg

于 2009-01-23T06:13:03.013 に答える
4

テストケースの自動生成に関する質問で提案されたものに似たものについて読んだことがあります。実際はかなり反対でした。テスト ケースを指定し、アルゴリズム (遺伝的プログラミング) を使用して合格するコードを作成します。このようにして、仕様を提供し、プログラムを繁殖させます。少しグーグルで検索すると、それに関するいくつかの研究を見つけることができます。
これは非常に興味深いアイデアだと思います。もちろん、今では誰もこのようなアプリを作成することはありませんが、それは素晴らしい研究分野です.

于 2009-11-04T18:55:42.940 に答える
3

複雑なシンセサイザーでサウンドパッチを生成するために使用されています(例:Clavia Nord Modular G2)。他のマシンでも試してみます。YamahaDX7が思い浮かびますが、ソフトウェアの選択肢はかなりあると思います。または画像の生成。

PalleDahlstedtによる論文でパッチアルゴリズムの背後にある理論を読んでください。現時点ではダウンしているようですが...

于 2009-01-23T09:23:26.437 に答える
3


コンウェイのライフ ゲームと遺伝的アルゴリズムで遊んで、高度な生命体を進化させようとして楽しんでい
ました.

于 2009-01-23T06:56:25.813 に答える
3

おそらく、巡回セールスマンツアーを見つける. 私は最近、パリの約 66 か所を巡るウォーキング ツアーを見つけようとしましたが、これらすべてのコーディングが非常に楽しいことがわかりました。私の興奮は 2 つのソースから生じていると思いました: ツアーを描くことができたという事実 (モナリザのアイデアの良い点の 1 つ、またはエンジニアリングが好きな場合はレゴ構造) と、できるアプローチが非常に多いという事実です。比較:

  • 「どこかから開始し、常に最も近い未訪問の場所に移動する」などの単純なヒューリスティックを使用できます。
  • 「1 つの頂点またはより小さいサイクルから 3 つのエッジが発生する場合を除いて、コストを増やして (任意の場所に) エッジを順番に追加し続ける」など、より複雑なヒューリスティックを使用できます。
  • コストが三角形の不等式を満たす場合は、最小スパニング ツリーに基づく簡単なアルゴリズムなどの近似アルゴリズムを使用できます。おまけとして、最小全域木をコーディングできます (高速で簡単な正確なアルゴリズムが利用できるにもかかわらず、そこで GA を使用することもできます)。自信がある場合は、最小スパニング ツリーと完全一致に基づいて、より難しい (3/2) 近似アルゴリズムをコーディングできます。
  • 巡回セールスマン ツアーがあり、それ自体が交差している場合は、「交差を解除」することで改善できます。繰り返しますが、これはコスト関数に関するいくつかの条件を前提としています。
  • 自分でツアーを見つけて、コンピューターに勝てるかどうかを試すこともできます。
  • 最後になりましたが、遺伝的アルゴリズムです。この問題は GA に非常に適しています。これは、適合度関数が非常に明確であり、再結合を行うための非常に簡単な方法があるためです。
于 2009-01-23T07:11:18.107 に答える
3

遺伝的プログラミングを使用してどのような問題を解決できますか? を参照してください。

車両製作は本当にかっこいいと思いました。

于 2009-01-23T07:19:50.150 に答える
3

音楽作品を生成します!David Cope と彼のプログラム Emily Howell について読んでください。

于 2009-11-04T19:01:04.793 に答える
2

大学に戻って、多次元関数の最小化を行いました。パラメータx1、x2、x3、...、xnを取り、値Yを生成するaf(x)があるとします。パラメータx1、..を見つける必要があります。 Xnは、Y =Y1..それほど難しくありません..それでも興味深い学習方法です。Nedlermeadの方がはるかに効率的ですが、これはローカルの最小値でスタックする傾向はありません。

于 2009-01-23T09:29:40.373 に答える
2

いわば「ドヴォルザークを打ち負かす」ために、最適なキーボードレイアウトを試して見つけるプロジェクトの言及を見たと思います。:D

于 2009-01-23T06:50:33.063 に答える