2017-05-29 9 views
1

私は学位論文に取り組んでおり、手続き的な方法でゲームのレベルを作成するためのGAを作成しようとしています。遺伝的アルゴリズム - 染色体は樹木である可能性がありますか?

GAが最善の手法ではない場合でも可能です。

とにかく私は彼らと一緒に働いたことがないので、GAの紹介についての書籍を読んでいます。

染色体をビットで表現する必要がありますか、それともどのような種類のデータ構造でもかまいませんか?私はそれを求めています。ツリーを使用して手続き的なレベルでレベルを作成し、GAを使用してそれらを評価するのはうまく見えますが、私がGAについて読んだとき、ほとんどの例でビットを使用しています。

答えて

1

絶対に!遺伝的アルゴリズムが文字列や固定長配列以外のより複雑な表現を使用したい場合は、Genetic Programming(GP)と呼ばれます。 GPで

は、個人は通常、ツリーとして表現されます。

Tree representation of a GP individual

、あるいはコードの行として: Code generation by genetic algorithms

詳細情報については以下を参照してください What are the differences between genetic algorithms and genetic programming?

以上をすべて、私はこの本を強くお勧めします: A Field Guide to Genetic Programming

1

あなたが定義したものをクロスオーバー操作として扱うことができれば、その提案は実行可能になる可能性があります。また、遺伝物質にアシンメトリーを導入しない限り、樹木の平衡が保たれていなければなりません。この時点で、線形エンコーディングは同じ有効な情報を運ぶことができます。そのような表現は文学と既存の図書館の両方の標準であるので、私はビットや文字列に固執しません。

1

絶対に!適切なフィットネス、突然変異、および(多分)クロスオーバー演算子を提供する限り、任意のデータ構造を使用できます。

関連する問題