c# – 为遗传算法表示二进制基因组的合理方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 为遗传算法表示二进制基因组的合理方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含801字,纯文字阅读大概需要2分钟。
内容图文
![c# – 为遗传算法表示二进制基因组的合理方法是什么?](/upload/InfoBanner/zyjiaocheng/813/49109cf200ae41a19d2fe0a7a18c7bce.jpg)
我的previous question缺乏经验,并且基于一个假设.现在我更聪明了. (把1和0放在一个字符串里?Pah!我嘲笑这个建议!)
我的问题是,我应该如何编码我的基因组?
在纸面上,它们看起来像这样:
01010011010110010
17位,用于编码(在某些情况下单独地,在某些情况下作为组)要测试的参数.
要求是:
>需要可扩展.目前可能有17个,但随着选项的添加,删除或修改范围,这可能会增长/缩小.
>每个位都需要单独翻转,以表示点突变.
>理想情况下,应该很容易取两个基因组的最后X%并将它们切换(代表交叉).
>必须有一种直接用明文表示基因组的方法.这里强调的是方便而不是人类的可译性. (想想URL缩短器.)
有人有什么好主意吗? (如果它有用,我正在使用C#.)
解决方法:
像Andrey说的那样,BitArray可能是你最好的答案,它符合你的所有要求.
1)您可以使用构造函数设置位数
2)它允许你设置(打开或关闭),或者,和,Xor,Not on bits
3)你可以循环你的最后一个x%做交叉
4)有一个ToString,允许你输出它.
内容总结
以上是互联网集市为您收集整理的c# – 为遗传算法表示二进制基因组的合理方法是什么?全部内容,希望文章能够帮你解决c# – 为遗传算法表示二进制基因组的合理方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。