0

私は現在、基本的なセル オートマトンと遺伝的アルゴリズムを使用してダンジョンのようなマップを作成するプロジェクトに取り組んでいます。現在、出力が DEAD または ALIVE (1 または 0) の 2 つの状態しかない場合、クロスオーバーがどのように機能するかを正確に理解するのに非常に苦労しています。

私は概念的にクロスオーバーを理解しています.2人の適合メンバーを見つけて、遺伝物質を交換し、うまくいけばより適合した子孫を生み出します. また、これは通常、ビット文字列で k 点クロスオーバーを実行することによって行われることも理解しています (ただし、実数でも実行できます)。

しかし、Dead/Alive セルをビットにエンコードして交差させても、結果はどうなるでしょうか。セルはデッドまたはアライブのみです。クロスオーバーは、この範囲外のランダムな値を与えてくれますよね? また、浮動小数点数を扱ったとしても、結局 1 または 0 になってしまうのではないでしょうか? その場合、Dead セルを Alive セルに、またはその逆にランダムに変異させた方がよいようです。

このトピックに関するいくつかの論文を読みましたが、この特定の問題を説明しているようには見えません (とにかく、私が理解できる言語で)。直感的に、NEIGHBORHOODS のセルでクロスオーバーを実行できるのではないかと考えたので、2 つの適切な近隣を見つけて、メンバーを交換します (たとえば、近隣 A はその近隣の 4 つを近隣 B に渡します)。しかし、私はこの考えをどこにも見たことがなく、根本的に間違っているに違いないと思います。

どんな助けでも大歓迎です、私は本当にこれにこだわっています。

4

1 に答える 1