已知目标经过编码之后是0000111100001111
现在有4个经过编码之后的选项
A. 1111000011110000
B. 0000110011001111
C. 1111000010110001
D. 0001110010001111
现在想以迭代次数最少达到目标(即达到0000111100001111)为选择条件,选择A,B, C,D中最为合适的选项,应该怎么用java 遗传算法写出来? 因为遗传算法需要用交叉,我不清楚我现在这个情况,应该怎么做交叉?
已知目标经过编码之后是0000111100001111
现在有4个经过编码之后的选项
A. 1111000011110000
B. 0000110011001111
C. 1111000010110001
D. 0001110010001111
现在想以迭代次数最少达到目标(即达到0000111100001111)为选择条件,选择A,B, C,D中最为合适的选项,应该怎么用java 遗传算法写出来? 因为遗传算法需要用交叉,我不清楚我现在这个情况,应该怎么做交叉?
基因算法需要建立你的基因训练种群,并设置你和目标编码相匹配的适应度计算函数。然后设置若干代基因种群的交叉和变异的算法,并且采用轮盘赌法选择产生下一代。在经历有限个种群代数的迭代后,生成趋向目标编码的种群。所以你的问题就是设计java算法,实现以上的过程。至于你的编码我觉得就是以最近的原则设计一个适应度匹配算法,从abcd四个选项中计算最优和最差适应度,选择最优的就好。可参考:
有帮助请采纳谢谢!