任何人都可以举一个交叉概率的例子吗?我想知道确定交叉概率的好处,以及它在遗传算法或遗传编程中的作用。交叉概率对遗传算法/遗传规划有什么影响?
回答
根据定义,交叉概率没有收益。它仅仅是一个参数,可以让你调整遗传算法的行为。降低交叉概率会让更多的人在下一代继续保持不变。解决某些问题时,这可能会或可能不会产生积极影响。我在HeuristicLab中创建了一个适用于TSP的遗传算法的小实验。对于TSPLIB(bays29)的一个小实例,每个概率重复10次遗传算法。正如您在下面的图片中看到的,识别图案相当困难。我也上传了algorithm和experiment,你可以在HeuristicLab中打开并试验这些文件。实验包括每次运行和进一步分析的质量图表,以便您可以检查收敛行为。
这也可能是选择的策略过于简单,因而未能表现出的效果。在实验中,不受交叉影响的亲本也通过适应性比例选择来选择。所以一个高素质的人会非常快地占主导地位。一种不同的策略可能是通过健身比例选择仅选择交叉父母,而其余父母则随机选择。结果可以在这里看到(algorithm和experiment);
您可以用结果使自己的修改和实验。
一个相关的答案可以在这里找到:What is Crossover Probability & Mutation Probability in Genetic Algorithm or Genetic Programming?
我不知道你在问什么。交叉概率就是应用交叉算子的概率 - 范围[0.0,1.0]中的任何实数就是一个例子。
也没有单一的最佳设置。它取决于大量的因素以及算法中与其他设置的复杂关系。例如,如果你有世代通用遗传算法,你希望有一些父母可以在未经修改的情况下存活的可能性。否则,你会失去很好的解决方案。所以你可以将交叉率设置为0.7这样的低点。另一方面,像CHC这样的算法非常强大 - 它始终保持它找到的最佳解决方案,因此使用交叉搜索的动机更广泛,因此它将概率设置为1.0。其他算法完全依赖于突变,并将交叉率设置为0.0。遗传算法的最典型值非常高 - 可能是0.8到1.0。遗传编程经常使用较低的值,可能低至0.3或0.4。
但是,这是所有的点旁边。你必须设计一个算法来支持一些目标。确定交叉频率应该是由于某种原因决定的。如果你所做的只是采用现成的遗传算法并在其中存储一些随机参数,那么它不太可能工作得很好。
- 1. 什么是遗传算法或遗传程序设计中的交叉概率和变异概率?
- 2. 遗传算法和细胞遗传算法有什么区别
- 3. 遗传算法中交叉的方法
- 4. 交叉熵和遗传算法有什么区别?
- 5. 遗传算法:交叉0-1背包
- 6. 遗传算法的自适应变异/交叉率
- 7. 遗传算法
- 8. 的遗传算法
- 9. 遗传算法库
- 10. DEAP遗传算法
- 11. 遗传算法的概率分布编码
- 12. 遗传算法 - 路径的交叉和变异运算符
- 13. 遗传算法 - 交叉和突变无法正常工作
- 14. 遗传规划中的指数
- 15. 允许在遗传算法交叉不兼容的变化
- 16. 遗传算法寻路 - 交叉和变异
- 17. 在遗传编程中实现交叉
- 18. 要使用遗传算法
- 19. 遗传算法问题
- 20. 高效的遗传算法
- 21. 分类遗传算法
- 22. SVM后的遗传算法
- 23. 遗传算法编码
- 24. 遗传算法的制作
- 25. 遗传算法在R
- 26. 遗传算法的数独
- 27. 遗传算法 - 旅行商
- 28. 在遗传算法中我应该使用什么交叉方法来交叉Postfix表达式?
- 29. 计划中的遗传类
- 30. 你有生产遗传算法吗?