質問

今日は読み このブログによるロジャー Alsing つ塗料のレプリカ製 Mona Lisa だけで50半透明のポリゴン.

私は魅了され その結果 には、その特定の場合、いかと思って(これが私の質問): どのような遺伝的プログラミング作業 どのその他の 問題を解決する による遺伝的プログラミング?

役に立ちましたか?

解決

あの議論かどうかのロジャーのMona Lisaプログラム 遺伝的プログラミング ます。このように近づけること(1+1) 進化戦略.両方の技術の例は、より広範な分野での進化計算によるもの 遺伝的アルゴリズム.

遺伝的プログラミング(GP)は、進化するコンピュータプログラム(通常は樹木がLispプログラム).まいについて具体的にGP、ジョン講座として広く知られているが、先彼の webサイト としてのリンクです。GPは演算集中型の非自明な課題に寄り添う仕組みですが、大きなグリッドの機).

だかより一般的には、進化的アルゴリズム(EAs)には一般的に使用され良い近似解を解決できない問題が簡単に利用その他の技術など、NP困難問題があります)。多くの最適化問題はまる。ものでは計算機集約的な見解も近く最適解は十分です。このような状況の進化の手法が有効です。によりランダムな自然の進化アルゴリズムあるいは保証ぐりに最適なソリューションのための問題がフィラデルフィアのソリューションが存在します。

進化的アルゴリズムで使用することもに取り組む問題と人間のかかる問題もあります。ットにすることで、人間の先入観や偏見、意外なソリューションと比較しより、人間-生成されます。ではないか必要なことを認識ソリューションの場合にご説明いただいた場合でも、どうなるかはわかりませんが完成します。つまり、できることを必要策定のための有効な フィットネス機能.

一例

編集: 自由にご用意書 野外ガイドに遺伝的プログラミング, が含まれて事例のGPは 人間の競争 ます。

他のヒント

興味深いことに、グランド・セフト・オートIVのようなゲームで使用されるダイナミックなキャラクターアニメーションと最新のスターウォーズのゲーム(フォースアンリーシュド)の背後にある同社は、移動アルゴリズムを開発するために、遺伝的プログラミングを使用していました。同社のウェブサイトはここにあり、ビデオが非常に印象的です。

http://www.naturalmotion.com/euphoria.htmする

私は、彼らはある程度の接続をランダム化し、その後、文字の神経系をシミュレートすると信じています。そして、彼らは代々でより多くのことが「子供」を作成するために、遠くを歩いたモデルの「遺伝子」を組み合わせます。本当に魅力的なシミュレーション作業ます。

私は、食品・シークアリは古典的な例であると、オートマトンを見つけるのパスに使用される遺伝的アルゴリズムを見てきました。

遺伝的アルゴリズムは、ほとんどの任意の最適化問題を解決するために使用することができます。しかし、多くのケースでは、それらを解決するためのより良い、より直接的な方法があります。それはあなたが、潜在的な解決策をコードする組み合わせ/ソリューションを変異し、どれを決定する方法を生成することができることを考えると、あなたがそれで投げることができるほとんど何に適応することが可能であることを意味し、メタプログラミングアルゴリズムのクラスでありますソリューションは、他のものよりも優れています。それはシミュレーテッドアニーリングのような純粋な山登りアルゴリズム、より良好極大値を扱うことができるという点で、GAは、他のメタプログラミングアルゴリズムに優る利点を有している。

私は、地形に基づいて、種の進化をシミュレートするために、私の論文の中で遺伝的プログラミングを使用し、それは当然のことながら、遺伝的アルゴリズムのA-ライフアプリケーションです。

問題GAが得意な問題を山登りです。問題は、問題を定義する要因は、他の言葉であなたが何らかの形で他のその知識を達成することはできません、不明である場合を除き、通常それは、手でこれらの問題のほとんどを解決するために簡単だということです、社会や地域社会との関連の事を言う、または状況であなたは良いアルゴリズムを持っていますが、チューニングにパラメータを微する必要があり、ここではGAは非常に便利です。

私がやった微調整の状況は、同じアルゴリズムに基づいて微調整いくつかのオセロAIプレイヤーにしたそれぞれの異なるプレイスタイルを与え、したがって、各対戦相手はユニークな作り、独自の癖で、その後、私は彼らがカルに競争していましたアウト私は私のゲームで使用されるトップ16 AIさん。利点は、彼らがすべて多かれ少なかれ等しいスキルの非常に良い選手だったので、彼らは同じように簡単AIを推測することができなかったので、それが人間相手のために面白かったします。

あなたは自分自身に問う必要があります:「私は(先験的)特定のソリューションは、他のソリューションに比べてどのように良いかを決定するための関数を定義することはできますか?」

適用される

モナリザの例では、あなたは簡単に新しい絵はもっと前の絵よりも元の画像のように見えるかどうかを判断することができますので、遺伝的プログラミングは、「簡単に」することができます。

私は、遺伝的アルゴリズムを使用していくつかのプロジェクトを持っています。 GAあなたは完全にシーケンシャル、正確なアルゴリズムを開発することができない場合、問題を解決しない、最適化問題のために理想的です。たとえば、次のように?それより速いと同時に、より経済的にする車のcharacteristcsの最適な組み合わせは何

現時点では私がプレイリストを詳しく説明するための単純なGAを開発しています。私のGAは似ているアルバム/曲のより良い組み合わせを見つける必要があります(この類似性がlast.fmの助けを借りて、「計算された」になります)と私のためのプレイリストを提案します。

あ新しい分野でのロボットという 進化ロボティクス (w:進化ロボティクスを使用し、遺伝的アルゴリズム(GA)の大きい。

w:遺伝的アルゴリズム:

簡単な世代の遺伝的アルゴリズムの擬似コード

  1. 選べる初期人口
  2. 評価のフィットネスの各個人の人口
  3. まで繰り返しの終了:(時間制限または十分なフィットネスを達成)
  4. ベストプラクティスを選択順位の個人を再現
  5. 種の新世代クロスオーバー及び/または突然変異(遺伝子 業生 子孫
  6. 評価は、個人fitnessesの子孫
  7. 交換悪位の人口と子孫

の再生、起性やasexually、遺伝子事業者 クロスオーバー突然変異.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top