4

しばらく前に、ダーウィンの進化をプログラムに適用してより良いプログラムを作成することについての雑誌記事(Wiredで私は信じています)を読んだことを思い出します。基本的に、プログラムの複数のミューテーションが生成され、パフォーマンスが最も優れたものが次のミューテーションラウンドに選択されます。

残念ながら、記事のように主題を面白くすることはできませんが、記事を見つけることができません。

これは私にとってこれまでで最もクールなことのように聞こえるので、プログラム内でどのような突然変異が発生する可能性があるのか​​疑問に思いました。

4

5 に答える 5

4

はい。それは遺伝的プログラミングと呼ばれ、プログラム自体を書くマスタープログラムです。そして、それが作成するプログラムは、特定の基準に進化する可能性があります。

たとえば、 8クイーンはGPで解決できます。

于 2010-10-07T15:53:28.310 に答える
2

あなたは遺伝的アルゴリズムを参照していると思います。私は私の論文のためにこのトピックに取り組みたいと思います。私はそれについて読むのをやめられません:-)

于 2010-10-07T15:54:07.747 に答える
1

この記事/論文を見つけました-これはあなたが言及しているものですか?このPDFも見つかりました。非常に興味深いトピック

自己監視の最適化に基づいてプログラム自体を再現する自己修正コードを使用できるように聞こえます。これは現在、通訳言語プログラムを指しています。

于 2010-10-07T15:57:10.703 に答える
0

先日、そのようなことについてのコーディングホラーに関する記事を読みました: Go That Way、ReallyFast。基本的に、私がそこから得たアイデアは、ソフトウェアは常に改善されるべきであり、それは常に新しいバージョン/リリースをプッシュすることを意味するというものでした。これは、ソフトウェアが常により良いものに改善されているという点で、進化の考え方と一致しているようです。

于 2010-10-07T15:51:31.370 に答える
0

前に言ったように、それは遺伝的プログラミング(GP)と呼ばれています。

興味深いのは、GPは、実行する必要のあることの高レベルのステートメントから自動的に問題をコンピューターに解決させるための体系的でドメインに依存しない方法であるということです。

GPは、自然進化からのアイデアを使用して、ランダムなコンピュータープログラムの母集団から開始し、解決策が現れるまで、突然変異とクロスオーバー(組換え)のプロセスを通じてそれらを徐々に改良します。

これはすべて、ユーザーがソリューションの形式や構造を事前に知ったり指定したりする必要がないためです。

GPは、新しい科学的発見や特許性のある発明など、人間と競争力のある結果とアプリケーションを数多く生み出してきました(遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?も参照してください)。

プログラム内でどのような突然変異が発生する可能性があるのか​​疑問に思いました

多くの遺伝子演算子(突然変異だけでなく)と多くの実装があります。彼らが持つ必要のある基本的な特性は閉鎖です(彼らは遺伝子プログラムの構造的完全性を維持しなければなりません)。

一般に、ミューテーションは、プログラムのシンボルを、使用可能なシンボルのグループから選択された互換性のある端末/関数に置き換えます。クロスオーバー演算子は、2つ以上のプログラムの情報を混合します。

おそらく、この主題への最良の無料の紹介は、遺伝子プログラミングのフィールドガイドです。

いくつかの素晴らしいリンクは次のとおりです。

于 2014-09-28T08:53:03.690 に答える