《Java遗传算法编程》—— 1.11 搜索过程

简介: 1.遗传算法开始,初始化候选解的种群。这通常是随机提供整个搜索空间的均匀覆盖。 2.接下来,通过为种群中的每个个体分配一个适应度值,对种群进行评估。在这个阶段,我们常常要注意当前最优解,以及种群的平均适应度。

本节书摘来异步社区《Java遗传算法编程》一书中的第1章,第1.11节,作者: 【英】Lee Jacobson(雅各布森) , 【美】Burak Kanber(坎贝尔),更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.11 搜索过程

作为本章的结束,让我们一步一步地了解遗传算法背后的基本过程,如 图1-10所示。

52f111d55cdb1a9cb23c1dfca2d8765f7bf1c81b

1.遗传算法开始,初始化候选解的种群。这通常是随机提供整个搜索空间的均匀覆盖。

2.接下来,通过为种群中的每个个体分配一个适应度值,对种群进行评估。在这个阶段,我们常常要注意当前最优解,以及种群的平均适应度。

3.评估后,根据终止条件集,该算法决定它是否应该终止搜索。通常这是因为该算法已达到指定的世代数量,或已经找到适当的解。

4.如果终止条件不满足,种群经过一个选择阶段,基于适应度评分,从种群中选择个体。适应度越高,个体就更有机会被选择。

5.下一阶段对选择的个体应用交叉和变异。这个阶段为下一代创建新个体。

6.此时新种群返回到评估步骤,过程重新开始。我们称这种循环的每一圈为一个世代。

7.如果终止条件最终满足,算法会跳出循环,通常向用户返回最后的搜索结果。

相关文章
|
1月前
|
算法 机器学习/深度学习 索引
【算法设计与分析】——搜索算法
【算法设计与分析】——搜索算法
40 1
|
1月前
|
算法 程序员 数据处理
算法与人生 揭秘C语言中高效搜索的秘诀——二分查找算法详解
算法与人生 揭秘C语言中高效搜索的秘诀——二分查找算法详解
|
3月前
|
算法 测试技术 C#
【动态规划】【记忆化搜索】【C++算法】664. 奇怪的打印机
【动态规划】【记忆化搜索】【C++算法】664. 奇怪的打印机
|
3月前
|
算法
【算法系列篇】递归、搜索和回溯(四)
【算法系列篇】递归、搜索和回溯(四)
|
2月前
|
算法 测试技术 C++
【记忆化搜索】【剪枝】【C++算法】1553吃掉 N 个橘子的最少天数
【记忆化搜索】【剪枝】【C++算法】1553吃掉 N 个橘子的最少天数
|
2月前
|
算法 测试技术 C++
【动态规划】【记忆化搜索】【C++算法】664. 奇怪的打印机
【动态规划】【记忆化搜索】【C++算法】664. 奇怪的打印机
|
2月前
|
移动开发 算法 测试技术
【动态规划】【记忆化搜索】C++算法:546移除盒子
【动态规划】【记忆化搜索】C++算法:546移除盒子
|
2月前
|
算法 Java
BFS(广度搜索|宽度搜索)无向图遍历(JAVA手把手深入解析)
BFS(广度搜索|宽度搜索)无向图遍历(JAVA手把手深入解析)
46 0
|
2月前
|
数据采集 算法 Java
DFS(深度搜索)无向图遍历(JAVA手把手深入解析)
DFS(深度搜索)无向图遍历(JAVA手把手深入解析)
41 0
|
2月前
|
Java Docker 容器
百度搜索:蓝易云【Docker使用之java项目工程的部署】
通过以上步骤,你已经成功在Docker中部署了Java项目工程。这样可以确保你的应用在不同环境中具有一致的运行结果,并且方便地进行部署和管理。
36 7