3

次のように動作する SGI UV システム (コア = 512、共有メモリ = 4TB) 用の GA ベースの機能選択プログラムを実装したいと思います。元の機能セットを使用するよりも、または指定されたデータに対して同じことを使用するよりも優れた出力クラス間の識別。たとえば、データは独立変数として {大気圧、温度、myShoeSize} で構成され、出力は降雨であり、機能の可能な結果です。選択は {Atm.Pressure, Temperature} になります)。

GA は、それぞれが異なる機能サブセットを表す親のプールを保持します。これらの親は、サポート ベクター マシンまたはその他の機械学習方法 (ニューラル ネットワークなど) を使用して評価する必要があるため、各親を次に使用可能な CPU コアに送信し、任意のプログラムを使用して評価し、フィットネスをに送り返す必要があります。 GA。したがって、GA は各親の評価 (適合度) を除くすべての責任を負います。代わりに、GA は親を使用可能なコアに送信し、適合度の結果を待ちます。これは、メソッドの分散機能がある場所です (したがって、さまざまなコアでさまざまな GA を実行したくありません。1 つのコアで 1 つの GA を実行し、異なるコアでフィットネス エバリュエーターを生成するだけです)。

私のハードウェアの分散コンピューティング機能を利用するために、GA を非同期モードで動作させたいと考えていますが、親には 2 つのグループ、フィットネスを評価したグループとそれを待っているグループがあります。空きコアがある場合、GA は未評価のプールから親を取得し、それをコアに送信します。その間、GAは評価されたプールから親を取得し、それらを変異させます。それらをクロスオーバーし、その子を未評価のプールなどに送信します。

そこで、私の考えは、オープンソースの GA ライブラリを入手し、その評価関数に関する限り、少し変更することです。ライブラリがこの「非同期」モードを提供している場合は、それで問題ありません。これらすべてに加えて、このライブラリには、cellularGA などの多くの機能を提供してもらいたいと考えています。何が出てくるかは、オープンソースでもあります。

誰か提案はありますか?ところで、この「非同期」モードに関する出版物への言及を知っている人はいますか?それとも欠点がありますか?

4

2 に答える 2

1

JGAPを試してみてください。遺伝的プログラミングに関するものですが、GA サポートがあり、オープンソースであるため、変更できます。また、分散コンピューティングをサポートしています。

于 2010-07-07T17:18:07.913 に答える
0

最近では、これを可能にするさまざまなプログラミング言語のオープン ソース プロジェクトがあります。Python 用の DEAP は私がよく知っているものですが、他の Python パッケージや、この種の作業を行うことができる R 用の同様のパッケージがあります。

于 2015-01-27T21:56:18.907 に答える