3

私は遺伝的アルゴリズムについて調べてきました。私の目的は、プレーヤー (外部の人間のプレーヤーによって制御されていない) が障害物を避けて報酬に向かう単純なシミュレーションを実装することです。

遺伝的アルゴリズムは進化的アルゴリズムに分類されることを理解しています。これは、トレーニング データを提供する必要がないため、このシナリオに最適です。それはそれ自体で学習します。

私が読んでいるこれらの紹介は、バイナリ文字列としてエンコードされている集団について話しています (私は思います)。集団と、新しい世代を生成するための集団の改良が、この問題ドメインとどのように関係しているのかわかりません。

誰か説明してくれませんか

4

2 に答える 2

4

簡単に言えば、遺伝的アルゴリズムを使用して、AI の動作を決定するルールを生成します。これらのルールがどのようにエンコードおよび解釈されるかは、何を達成したいかによって異なります。

遺伝的アルゴリズムでニューラル ネットワークの接続の重みを生成し、それによってプレーヤーの動作を処理したいと思うかもしれません。その場合、重みをバイナリ文字列としてエンコードします。

もう 1 つの例は、バイナリ文字列を決定木として解釈することです。

表現をコード化すると、遺伝的アルゴリズムによって、異なる遺伝子またはバイナリ文字列を持つ個体が生成されます。次に、これらの個人には、パフォーマンスの良さに応じてフィットネス値が割り当てられ、GA は時間の経過とともに (フィットネス関数と表現に従って) 適切な AI を見つけます。

EDIT : 以下のネットワークに 3 つの接続があり、各重みを 4 ビットでエンコードすることを選択したとします。次に、バイナリ文字列は、最も単純なエンコーディングで、これらの 3 つの重みを連結することができます。

ここに画像の説明を入力

于 2013-09-25T20:23:13.510 に答える
0

Dan Ashlock のTartarusの論文をチェックしてください。

于 2013-09-25T20:35:07.157 に答える