75、遗传算法:受生物启发的快速收敛优化方法

遗传算法:受生物启发的快速收敛优化方法

1. 遗传算法的主要组件

要完整定义一个优化算法,需要明确以下几个主要组件:
- 如何编码解决方案 —— 对于遗传算法来说是染色体。
- 过渡算子 —— 交叉和变异。
- 衡量成本的方法 —— 适应度函数。
- 系统如何进化 —— 世代和自然选择。

2. 染色体

染色体用于编码我们需要解决的问题的解决方案。在Holland的原始工作中,染色体仅被认为是由0和1组成的位串。但并非所有问题都能用二进制字符串编码,后来衍生出了更通用的版本,允许基因(染色体中的每个值)为连续的实数值。

概念上,这些版本可以被视为等价的,但当我们不使用二进制字符串表示染色体时,可能需要对其存储的可能值进行限制,作用于生物体的算子也需要进行调整,以检查和维护这些约束。

以0 - 1背包问题为例,它是讨论原始遗传算法的完美示例,因为该问题的解决方案可以精确地编码为二进制字符串。对于每个物品,0表示将其留在地球上,1表示将其放入运往火星的箱子中。

在这个例子中,基因型和表型存在1:1的映射关系,即一个解决方案(表型)由其表示(基因型)唯一标识。因此,具有相同基因型的两个生物体将对应相同的解决方案,进而具有相同的适应度值。

以下是一个可能的物品列表,包含其重量和卡路里:
| 食物 | 重量(千克) | 总卡路里 |
| — | — | — |
| 豆子(罐) | 300 | 690,000 |
| 西红柿(罐) | 300 | 237,000 |
| 草莓酱 | 50 | 130,000 |

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值