F#, GP, Machine Learning | 20:57 | 最近、機械学習について勉強中です。ところで、遺伝的アルゴリズムを発展させた遺伝的プログラミングというものをご存知でしょうか。通常の遺伝的アルゴリズムでは、遺伝子型を表現するのに数値の配列を使います。ところが配列の代わりに木構造を使うようにすると、構造を持つデータの探索ができるようになります*1。遺伝的プログラミングとは、プログラムの構文木を遺伝子型として用いることで、プログラムの作成そのものを遺伝的アルゴリズムに自動的にやらせてしまおうという技法のことです。遺伝的プログラミング - WikipediaまたF#にはコード引用符という機能があるんですが、これを使うとプログラムの構文木を操作して別のプログラムを生成する、みたいなことが簡単にできます*2。この機能を使えば遺伝的プログラミングが実装できそうだったので、試しにやって