gpt4 book ai didi

c# - 为遗传算法表示二进制基因组的明智方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:57:58 24 4
gpt4 key购买 nike

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

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

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

01010011010110010

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

要求是:

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

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

最佳答案

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

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

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

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

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

关于c# - 为遗传算法表示二进制基因组的明智方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com