作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何在 Java 中为遗传算法实现统一交叉方法?
目前,我正在使用 2 个 ArrayList,它们需要在程序继续之前相互连接。下面是我一直在使用的方法的开始:
private void UniformCrossOver(int ListOne,int ListTwo)
{
...
}
我现在所处的位置,我假设我需要制作另外 2 个 ArrayLists,将数据拆分成但我不知道从哪里开始交叉。我是否会使用 for 循环并将新数组的大小作为定义键?
非常感谢您的帮助。
最佳答案
如果在交叉后不需要 parent ,则不必创建新的数组列表。只要你的染色体大小相等,这就应该有效
public void uniformCrossover(ArrayList<Integer> a, ArrayList<Integer> b){
for (int i = 0; i <a.size(); i++) {
if(Math.random() < crossoverProbability){
int tmp = a.get(i);
a.set(i, b.get(i));
b.set(i, tmp);
}
}
}
关于java - Java 中遗传算法的均匀交叉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42736866/
如何将 solr 与 heritrix 集成? 我想使用 heritrix 归档一个站点,然后使用 solr 在本地索引和搜索该文件。 谢谢 最佳答案 使用 Solr 进行索引的问题在于它是一个纯文本
我的任务: 创建一个程序来仅使用基元(如三角形或其他东西)复制图片(作为输入给出)。该程序应使用进化算法来创建输出图片。 我的问题: 我需要发明一种算法来创建种群并检查它们(它们与输入图片的匹配程度
我看过几篇文章和文章,建议使用模拟退火等方法来避免局部最小值/最大值问题。 我不明白为什么如果您从足够大的随机人口开始,这将是必要的。 这只是确保初始人口实际上足够大和随机的另一项检查吗?或者这些技术
我是一名优秀的程序员,十分优秀!