对于当前的项目,我想使用遗传算法——目前我查看了jenetics库。
我怎样才能强迫某些基因相互依赖?我想在基因上映射 CSS,我有基因指示是否显示图像,如果它也是相应的高度和宽度。所以我想把这些基因作为一个整体,因为在交叉之后,染色体会指示“无图像”之类的东西是没有意义的 - 高度 100 像素 - 宽度 0 像素。
有没有办法做到这一点?或者也许另一个支持这个的库(在java中)?
非常感谢!
对于当前的项目,我想使用遗传算法——目前我查看了jenetics库。
我怎样才能强迫某些基因相互依赖?我想在基因上映射 CSS,我有基因指示是否显示图像,如果它也是相应的高度和宽度。所以我想把这些基因作为一个整体,因为在交叉之后,染色体会指示“无图像”之类的东西是没有意义的 - 高度 100 像素 - 宽度 0 像素。
有没有办法做到这一点?或者也许另一个支持这个的库(在java中)?
非常感谢!
如果你知道你的基因组是如何编码的——也就是说,你知道哪些染色体序列形成了组——那么你可以扩展(因为你提到了 jenetics)io.jenetics.MultiPointCrossover
以避免分裂组。(源代码可在GitHub上找到。)
如果随机切割索引之一将一个组拆分,将索引调整到组的最近端,则它可以像存储形成组的基因范围一样简单。(当然,这会在统计上导致在组的末端进行切割的可能性更高;最好生成一个新的随机位置,直到它不与组相交。)
但是,基于其他基因,拥有无意义(被忽略)的基因也是有效的(正如皮特所说)。如果组合是反生存的,它将被选中。