4

之前的问题掩盖了我的经验不足,并且是基于一个假设。现在我聪明多了。(将 1 和 0 放在一个字符串中?呸!我对这个建议一笑置之!)

那么我的问题是,我应该如何编码我的基因组

在纸面上,它们看起来像这样:

01010011010110010

17 位编码(在某些情况下单独,在某些情况下作为组)要测试的参数。

要求是:

  1. 需要可扩展。目前可能有 17 个,但随着选项的添加、删除或范围的修改,这可能会增加/缩小。
  2. 每个位都需要单独翻转,以表示点突变。
  3. 理想情况下,取两个基因组的最后 X% 并将它们转换(表示交叉)应该很容易。
  4. 必须有一种直接的方式以明文形式表示基因组。这里的重点是方便而不是人工翻译。(想想 URL 缩短器。)

有人有什么好主意吗?(如果有用,我正在使用 C#。)

4

2 回答 2

3

正如 Andrey 所说,BitArray 可能是您最好的答案,它满足您的所有要求。

1)您可以使用构造函数设置位数

2) 它允许您设置(开或关)、或、与、异或、不在位

3)你可以循环你最后的 x% 做交叉

4)有一个 ToString 应该允许你输出它。

于 2010-10-15T16:09:07.913 回答
3

位数组

于 2010-10-15T15:51:54.737 回答