3

遺伝的プログラミングを使用して、ユーザーが何を求めているかを正確に把握するアプリケーションを構築したいと考えています。非プログラマー向けのプログラミングアプリケーションです。基本的に、ユーザーはアプリケーションに一連の例をフィードし、アプリケーションはその例から、ユーザー自身の使用/配布用の新しいプログラムを構築するために必要なルールを導き出します。

線形回帰を使用してプロトタイプを作成しましたが、単純な問題しか解決できませんでした。今週、pyevolve を使用して遺伝的プログラミングを実験しましたが、予想以上にうまく機能しました。ただし、純粋な python で記述されているため、例を解決するのに数十秒かかると思われますが、私のアプリケーションでは、せいぜい数秒の時間しかありません。

私は、pyevolve と同じくらい使いやすい、よりパフォーマンスの高いライブラリを見つけようとしましたが、適切なライブラリが見つかりません。openBeagle を試してみましたが、サンプルを実行し、ドキュメントを何時間も調べた後でも、「ビバリウム」から個体を実際に選択する方法を見つけることができません。人々が GAUL を推奨しているのを見てきましたが、これは GPL ライブラリであり、将来のアプリケーションのライセンス方法を制限します。lil-gp をダウンロードしようとしましたが、ftp ダウンロード リンクが大学のログイン画面でロックされています。

アプリケーションは Mac OS X cocoa アプリケーションになるため、Java、C#、または Matlab GP ​​ライブラリは考慮しませんでした。

4

2 に答える 2

4

Open BEAGLEの開発者として、高速のGPライブラリを探している場合は、そのライブラリを使用することをお勧めします。最高の個人を取得するには、実際には、進化の終わりにログに記録されるXMLファイルを解析する2番目のプログラムを実行します。それ以外の場合は、Vivarium.getHallOfFame()メソッドを使用してアクセスし、並べ替えて、HallOfFame.operator[]を使用して最初の要素にアクセスできます。あなたが得るメンバーは、それが記録された世代とそれがどのようなデームであったかを持った個人の構造体です。

そうすれば、あなたは自分の進化の中でこれまで生きてきた最高の個人にアクセスすることができます。

Open BEAGLEについて具体的な質問がある場合は、開発者リストに直接質問することをお勧めします。通常、非常に迅速に回答します。

ただし、Pythonで非常に異なるライブラリを試したい場合は、Pyevolveよりもはるかに柔軟性のあるDEAPをお勧めします。一部のGPの例は、PythonよりもPyPyではるかに高速に実行されます。

于 2011-12-27T04:36:15.603 に答える
1

GAUL プロジェクトの主要な開発者に別のライセンス契約を使用する許可を求める場合、彼はおそらく同意するでしょう

「彼」は私です。

于 2012-12-19T10:49:14.167 に答える