4

私の前の質問は私の経験不足を信じており、仮定に基づいていました。今、私ははるかに賢いです。(1と0を文字列に入れますか?Pah!提案を笑います!)

私の質問は、ゲノムをどのようにエンコードする必要があるかということです。

紙の上では、次のようになります。

01010011010110010

テストするパラメーターを(場合によっては単独で、場合によってはグループとして)エンコードする17ビット。

要件は次のとおりです。

  1. スケーラブルである必要があります。現在17ある可能性がありますが、オプションが追加、削除、または範囲が変更されると、これは拡大/縮小する可能性があります。
  2. スポット変異を表すには、各ビットを個別に反転可能にする必要があります。
  3. 理想的には、2つのゲノムの最後のX%を取得し、それらを切り替えるのは簡単である必要があります(クロスオーバーを表します)。
  4. ゲノムを平文で表現する簡単な方法が必要です。ここでは、人間の翻訳可能性よりも利便性に重点が置かれています。(URL短縮サービスを考えてください。)

誰か素晴らしいアイデアがありますか?(便利な場合は、C#を使用しています。)

4

2 に答える 2

3

BitArray

于 2010-10-15T15:51:54.737 に答える
3

アンドレイが言ったように、ビット配列はおそらくあなたの最良の答えであり、それはあなたのすべての要件を満たしています。

1)コンストラクターでビット数を設定できます

2)ビットをオンまたはオフに設定(オンまたはオフ)、または、And、Xor、

3)最後のx%をループして、クロスオーバーを実行できます

4)それを出力できるようにするToStringがあります。

于 2010-10-15T16:09:07.913 に答える