14、遗传算法中的交叉、变异与控制参数详解

遗传算法中的交叉、变异与控制参数详解

1. 交叉操作

交叉操作是遗传算法中产生新个体的重要方式,下面将分别介绍二进制表示和浮点表示下的交叉操作。

1.1 二进制表示的交叉操作

大多数二进制表示的交叉算子是有性的,应用于两个选定的父代。若用 (x_1(t)) 和 (x_2(t)) 表示两个选定的父代,重组过程总结在算法 9.1 中。其中,(m(t)) 是一个掩码,用于指定父代的哪些位应该交换以生成子代 (\tilde{x}_1(t)) 和 (\tilde{x}_2(t))。以下是几种计算掩码的交叉算子:
- 单点交叉 :Holland 建议在父代之间交换基因段而不是单个基因。单点交叉算子随机选择一个交叉点,然后交换两个父代在该点之后的位串。其掩码计算使用算法 9.2。
- 两点交叉 :随机选择两个位位置,交换这两个点之间的位串。掩码计算使用算法 9.3,该算子可推广到 n 点交叉。
- 均匀交叉 :随机创建 (n_x) 维的掩码,其中 (p_x) 是位交换概率。若 (p_x = 0.5),则每个位有相等的交换机会。其掩码计算使用算法 9.4。

算法 9.1 位串交叉的通用算法
Let ˜x1(t) = x1(t) and ˜x2(t) = x2(t);
if U(0, 1) ≤ pc then
    Compute the binary mask, m(t);
    for j = 1, ..., nx do
        if mj = 1 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值