私はこのパーティーに遅れていることを知っていますが、いくつかのポイントを作りたいと思います. 私は、ジョン・コザと彼の遺伝的プログラミング 4 の本で仕事をするという信じられないほどの幸運に恵まれました。
私たちのほとんどが日常的に行っている種類のプログラミング (GUI イベントの接続、ピクセルのプッシュ、データベースなど) は、GP が構築しようとしている種類のプログラムではないことは間違いありません。
John Koza が約 100 台のマシンからなるクラスターで行っていること (私の記憶が正しければ!) は、興味深い問題 (NP 困難と考えてください) の解決策を探すことです。悲しいことに、私たちプログラマーが日々取り組んでいる問題のほとんどは、あまり面白くも難しい問題でもありません。ほとんどの場合、イライラして時間がかかるだけです。
遺伝子操作された電子発振器についてベン・ジャクソンが言ったことは、このスレッドでコザ博士とチームが実際に行っていることに最も近いものです。GPシリーズの本にはサーキットの例がたくさんありました。
トム・キャッスルが命令型プログラムについてここで述べたことは、正確には正しくありません。ジョンと会社によるこの重要な例は、アンテナ設計の実行です。これは、アンテナを設計する LOGO 描画言語のようなコマンドを備えた 3D 描画プログラムです。スタック上の行列をプッシュおよびポップするための moveto、lineto タイプのコマンドがあります。先週見たばかりの GP パッケージ jgap は、直接サポートしています。つまり、void return ステートメントを含めることができ、最後に return ステートメントを持つコンテナ型の非終端記号です。あまり詳しく見ていませんが、ローカル変数のようなものさえあると思います。
初期の GP が中心となって実行されていたオリジナルの LISP 設計は、ときどき苦痛を感じますが、それは確かに真実です。これは通過儀礼のようなもので、GP 実行の出力をより使いやすいコードに変換することに悩まされていると思います。
TL;DR: GP は実際には自動プログラミング システムではありません。自動発明システムです。