それで、これに対する答えは基本的に私が自分の生き物*の遺伝子をコード化することを本当に調べなければならないと言ったので、私はそれをしました!
そこで、次の小さな(byte []-)構造を作成しました。
遺伝子={X、X、X、X、Y、Y、Y、Y、Z、Z、Z、Z}
どこ
X=クリーチャーの特定の特性を表します。
Y =これらのブロックは、クロスオーバーとミューテーションが発生する方法、発生する場合、発生するタイミングを制御します(16の可能な値、それで十分だと思います!)
Z =ストランドの長さ(基本的に、これは将来のビルド用であり、進化によってストランド全体の長ささえも制御できるようにします)。
(したがって、ZとYはMETA情報と考えることができます)
(尋ねる前に、はい、それは12バイトです:))
あなたへの私の質問は次のとおりです。
これらの各「生き物」の特徴をどのように結び付けるのでしょうか?
基本的に、私はそれをこのように見ています(そしてこれはおそらく私がそれを実装する方法になるでしょう):それぞれの「生き物」は走り回って、食べて繁殖することができます、基本的なもの。私はそうは思いません(少なくともそうは望んでいません!)私は適応度関数自体が必要になると思いますが、食物、パートナー、宇宙の競争のように、進化が生き物を進化に駆り立てることを願っています。
この見方は間違っていますか?それを1つの大きなグラフとして見て、そこから「単純に」取得する方が簡単でしょうか(私はプログラマーであり、数学者ではありません!)。
または、tl; dr:記事、研究、および/またはこれの実装例を正しい方向に向けてください。
(さらに多くのtl; dr;遺伝子を、たとえば脚の長さに変換するにはどうすればよいですか?)
*質問を読んでください、私は一種のシミュレーターを構築しています。