遺伝的プログラミングタイプのアプリケーションを作成して、Pythonを学ぶのはとても楽しいです。
このサイトでは、Torsten Marek、Paul Hankin、AlexMartelliから素晴らしいアドバイスがありました。
プログラムには4つの主な機能があります。
- 式ツリーを(ランダムに)生成します。
- 木の適性を評価する
- 交雑種
- 変異する
生成、交雑、変異のすべてが「適応度を評価する」と呼びます。これは最も忙しい機能であり、速度的には主要なボトルネックです。
遺伝的アルゴリズムの性質と同様に、それは巨大な解空間を検索する必要があるので、速いほど良いです。これらの各機能を高速化したいと思います。フィットネス評価者から始めましょう。私の質問は、これを行うための最良の方法は何ですか。私はcython、ctypes、および「リンクと埋め込み」を調査してきました。それらはすべて私にとって新しいものであり、現時点では私をはるかに超えていますが、1つ、そして最終的にはすべてを学ぶことを楽しみにしています。
「適応度関数」は、式ツリーの値をターゲット式の値と比較する必要があります。したがって、接尾辞の順序でツリーを読み取る接尾辞エバリュエーターで構成されます。私はすべてのコードをPythonで持っています。
cython、ctypes、またはリンクと埋め込みなど、今学習して使用する必要があるアドバイスが必要です。
ありがとうございました。