- 遗传算法教程
- 遗传算法 – 主页
- 遗传算法 – 介绍
- 遗传算法 – 基础知识
- 基因型表示
- 遗传算法 – 种群
- 遗传算法 – 适应度函数
- 遗传算法 – 选择亲本
- 遗传算法 – 交叉
- 遗传算法 – 变异
- 选择幸存者
- 终止条件
- 终生适应模型
- 有效实施
- 高级主题
- 应用领域
- 进一步阅读
- 遗传算法资源
- 遗传算法 - 快速指南
- 遗传算法 - 资源
- 遗传算法 - 讨论
遗传算法 - 适应度函数
简单来说,适应度函数是一个函数,它将一个问题的候选解决方案作为输入,并输出该解决方案相对于所考虑的问题的“适应度”或“优劣”。
在遗传算法中,会重复计算适应度值,因此它应足够快。适应度值的计算速度慢可能会对遗传算法产生不利影响,并使其异常缓慢。
在大多数情况下,适应度函数和目标函数是相同的,因为目标是最大化或最小化给定的目标函数。但是,对于具有多个目标和约束的更复杂问题,算法设计者可能会选择使用不同的适应度函数。
适应度函数应具备以下特征 -
适应度函数的计算应足够快。
它必须定量测量给定解决方案的适应度或从给定解决方案中产生的个体的适应度。
在某些情况下,由于手头问题的固有复杂性,可能无法直接计算适应度函数。在这种情况下,我们会进行适应度近似以满足我们的需求。
下图显示了 0/1 背包问题的解决方案的适应度计算。它是一个简单的适应度函数,仅将选取的物品的利润值相加(这些物品带有 1),从左到右扫描元素,直到背包已满。
广告