- 遗传算法教程
- 遗传算法 – 首页
- 遗传算法 – 简介
- 遗传算法 – 基础知识
- 基因型表示
- 遗传算法 – 种群
- 遗传算法 – 适应度函数
- 遗传算法 – 亲本选择
- 遗传算法 – 交叉
- 遗传算法 – 变异
- 幸存者选择
- 终止条件
- 终身适应模型
- 有效实现
- 高级主题
- 应用领域
- 进一步阅读
- 遗传算法资源
- 遗传算法 - 快速指南
- 遗传算法 - 资源
- 遗传算法 - 讨论
遗传算法 - 种群
种群是当前代中解的一个子集。它也可以定义为一组染色体。在处理 GA 种群时,需要注意以下几点:
应保持种群的多样性,否则可能会导致早熟收敛。
种群规模不应过大,因为它会导致 GA 速度变慢,而较小的种群可能不足以形成良好的交配池。因此,需要通过试错来确定最佳的种群规模。
种群通常定义为一个二维数组 - **种群规模,x 大小,染色体大小**。
种群初始化
在 GA 中初始化种群主要有两种方法。它们是:
**随机初始化** - 用完全随机的解填充初始种群。
**启发式初始化** - 使用已知的启发式算法填充初始种群。
据观察,不应使用启发式算法初始化整个种群,因为它会导致种群具有相似的解并且多样性非常低。实验观察表明,随机解是推动种群达到最优性的关键。因此,在启发式初始化中,我们只用几个好的解来填充种群,其余部分则用随机解填充,而不是用基于启发式的解填充整个种群。
还观察到,在某些情况下,启发式初始化只会影响种群的初始适应度,但最终,导致最优性的是解的多样性。
种群模型
两种广泛使用的种群模型:
稳态
在稳态 GA 中,我们在每次迭代中生成一个或两个后代,它们替换种群中的一个或两个个体。稳态 GA 也称为**增量 GA**。
代际
在代际模型中,我们生成 'n' 个后代,其中 n 是种群规模,并在迭代结束时用新的种群替换整个种群。
广告