前に言ったように、それは遺伝的プログラミング(GP)と呼ばれています。
興味深いのは、GPは、実行する必要のあることの高レベルのステートメントから自動的に問題をコンピューターに解決させるための体系的でドメインに依存しない方法であるということです。
GPは、自然進化からのアイデアを使用して、ランダムなコンピュータープログラムの母集団から開始し、解決策が現れるまで、突然変異とクロスオーバー(組換え)のプロセスを通じてそれらを徐々に改良します。
これはすべて、ユーザーがソリューションの形式や構造を事前に知ったり指定したりする必要がないためです。
GPは、新しい科学的発見や特許性のある発明など、人間と競争力のある結果とアプリケーションを数多く生み出してきました(遺伝的アルゴリズム/遺伝的プログラミングソリューションの良い例は何ですか?も参照してください)。
プログラム内でどのような突然変異が発生する可能性があるのか疑問に思いました
多くの遺伝子演算子(突然変異だけでなく)と多くの実装があります。彼らが持つ必要のある基本的な特性は閉鎖です(彼らは遺伝子プログラムの構造的完全性を維持しなければなりません)。
一般に、ミューテーションは、プログラムのシンボルを、使用可能なシンボルのグループから選択された互換性のある端末/関数に置き換えます。クロスオーバー演算子は、2つ以上のプログラムの情報を混合します。
おそらく、この主題への最良の無料の紹介は、遺伝子プログラミングのフィールドガイドです。
いくつかの素晴らしいリンクは次のとおりです。