私は、3Dでボロノイのテッセレーションを作成するための進化的アプローチを使用する、アーキテクチャでの遺伝的アルゴリズムの使用を探索するプロジェクトを行っています。これは、openFrameworks(C++)にforxVoro ++を使用して行われます。遺伝子アルゴリズムではバイナリエンコーディングが必要ですか?
ゲノムのための我々の染色体は、3Dの点のベクター(リスト)です。私たちは、一点突然変異と二点突然変異を実装しました。突然変異は、これらの点をある確率でランダム化します。私が見たほとんどの例では、ゲノムは二価にコードされています。これは突然変異とクロスオーバーが異なるように作用すると推定しています。
私の質問は次のとおりです。バイナリエンコーディング(スピードを除く)には他にも利点がありますか、C++でこのようなエンコーディング/デコードをどのように処理しますか?バイナリから3d-pointのリストに行く。
敬具、 フレッド
すべてがコンピュータ上でバイナリでエンコードされていることを考慮すると、すでにそれを行っています。 3D点で作られた染色体を扱うことは、すべての演算が浮動小数点/固定小数点数の正当な表現である一連のビットを生成することを意味します。 – StoryTeller
人工知能の助けが必要ですか? https://area51.stackexchange.com/proposals/93481/artificial-intelligence – 6119
いいえ、バイナリエンコーディングを使用する必要はありません。何かを使いたい。あなたが適切な突然変異および交叉オペレーターを持っていることを確認してください。 – Ray