进化计算——进化规划(EP)

进化规划(Evolutionary programming,EP)

EP同GA的不同之处在于,EP的种群进化集中于自上而下的适应性行为,它 的重点是开发行为模型,即可观测系统与环境交互的模型。自然进化理论对EP的原理和范式有着重要影响。EP源于对进化的适应性行为的模拟描述,而GA源于对基因的模拟;GA是在信息编码的基因空间起作用,而EP却强调可观测行为的表现型空间,因此,EP直接利用表现型行为进化来解决问题

EP在是一种更加灵活的利用进化解决问题的方法,它的操作子对问题是自适应的。例如,它的进化依赖于变异,而非有性生殖(交叉)来产生子代。不像ES(进化策略)产生比父代更多的子代,EP通常产生的子代数量同父代相同,一般利用锦标赛方法选择父代,对他们的特征进行变异从而产生子代,当种群数量翻倍时,将父代和子代一起排序,最优的一半保留到下一代。因此,EP主要依靠两个主要的进化操作子:变异、选择

EP的步骤

1.种群初始化
2.将种群暴露在环境中
3.计算每个个体的适应度
4.每个父代随机变异
5.父代和子代的一起评估
6.选择下一代个体
7.返回到第二步直到达到终止条件

其基本算法如下图所示:
在这里插入图片描述

EP操作子

1.变异

变异是唯一为EP种群带来改变的操作,因此在变异算子的设计中,考虑探索能力与开发能力(exploration–exploitation) 的权衡是非常重要的。其变化过程需要使在早期有充足的探索能力以确保能够覆盖尽可能大的搜索空间;在最初探索之后,个体应当利用有关的搜索信息来对解进行微调。

例如,在求解连续无约束函数 f : R n x → R f:\mathcal R^{n_x}\to\mathcal R f:RnxR的最小值时,若 x i ( t ) \mathbf x_i(t) xi(t)代表第 t 代的第 i 个个体,且有 x i j ( t ) ∈ R , j = 1 , 2 , ⋅ , n x x_{ij}(t)\in\mathcal R,j=1,2,\cdot,n_x xij(t)R,j=1,2,,nx。则变异可描述为: x i j ′ ( t ) = x i j ( t ) + △ x i j ( t ) x'_{ij}(t)=x_{ij}(t)+\triangle x_{ij}(t) xij(t)=xij(t)+xij(t),其中, △ x i j ( t ) \triangle x_{ij}(t) xij(t)是父代的一个步长,加上步长后得到子代 x i j ′ ( t ) x'_{ij}(t) xij(t)。步长是从某些概率分布中采样得到的噪声,噪声的偏差由一个策略参数 σ i j \sigma_{ij} σij决定,一般的, △ x i j ( t ) = Φ ( σ i j ( t ) ) ⋅ η i j ( t ) \triangle x_{ij}(t)=\Phi(\sigma_{ij}(t))\cdot \eta_{ij}(t) xij(t)=Φ(σij(t))ηij(t),其中, Φ : R → R \Phi:\mathcal R\to\mathcal R Φ:RR是对噪声 η i j ( t ) \eta_{ij}(t) ηij(t) 分布进行缩放的函数。

根据缩放函数 Φ \Phi Φ 的不同,EP可分为三大种类:
1.无适应EP:其中, Φ ( σ ) = σ \Phi(\sigma)=\sigma Φ(σ)=σ,即,步长的偏差保持不变;
2.动态EP:步长偏差利用一个确定性函数 Φ \Phi Φ(通常是个体适应度的函数) 随时间变化而变化;
3.自适应EP:其步长变化是动态的,而 σ i j \sigma_{ij} σij的最优值是和决策变量 x i j x_{ij} xij并行学习得到的。

σ i j \sigma_{ij} σij对动态EP和自适应EP有重要影响,因此,这两种方法中中,个体可以用一个元组 χ i ( t ) = ( x i ( t ) , σ i ( t ) ) \displaystyle \chi_i(t)=(\mathbf x_i(t),\sigma_i(t)) χi(t)=(xi(t),σi(t)) 表示。而偏差 σ i j \sigma_{ij} σij是最常用的策略选择参数。

而噪声是从一些概率分布中采用得到,这些概率分布可以是:均匀分布、高斯分布、柯西分布、Levy分布、指数分布、无序分布等,或这些分布的组合。

2.选择

不同于EA,EP 是从父代和子代中选取优良个体作为下一代;而且EP的竞争是基于相对适应度而非绝对适应度。绝对适应度是利用实际的适应度函数来衡量候选解的优劣,而相对适应度表达了一个个体同一组从父代和子代中随机选择的竞争者进行比较的表现。

选择的第一步是计算每个父代 x i ( t ) \mathbf x_i(t) xi(t) 和子代 x i ′ ( t ) \mathbf x'_i(t) xi(t)的相对适应度值(分数)。定义 P ( t ) = C ( t )   U   C ′ ( t ) \mathcal P(t)=\mathcal C(t)\,U\,\mathcal C'(t) P(t)=C(t)UC(t)为竞争池, u i ( t ) ∈ P ( t ) , i = 1 , 2 , ⋯   , μ + λ \mathbf u_i(t)\in\mathcal P(t),i=1,2,\cdots,\mu+\lambda ui(t)P(t),i=1,2,,μ+λ,其中 μ \mu μ是从父代中选入竞争池中的个体数, λ \lambda λ是从子代中选入竞争池的个体数。对于竞争池中的每个个体 u i ( t ) \mathbf u_i(t) ui(t),从剩余竞争池中的剩余的个体中随机选择一组 n P n_{\mathcal P} nP个竞争对手,计算 u i ( t ) \mathbf u_i(t) ui(t)的分数为 s i ( t ) = ∑ l = 1 n P s i l ( t ) \displaystyle s_i(t)=\sum^{n_{\mathcal P}}_{l=1}s_{il}(t) si(t)=l=1nPsil(t)。其中,对于最小化问题, s i l ( t ) s_{il}(t) sil(t)可按如下方法计算:
(1) s i l ( t ) = { 1 i f    f ( u i ( t ) ) < f ( u l ( t ) ) 0 o t h e r w i s e s_{il}(t)=\left\{ \begin{aligned} 1 & & {if\,\,f(\mathbf u_i(t))<f(\mathbf u_l(t))}\\ 0 & & otherwise\\ \end{aligned} \right. sil(t)={10iff(ui(t))<f(ul(t))otherwise

或(2) s i l ( t ) = { 1 i f    r 1 < f ( u l ( t ) ) f ( u i ( t ) ) + f ( u l ( t ) ) 0 o t h e r w i s e s_{il}(t)=\left\{ \begin{aligned} 1 & & {if\,\,r_1<\frac{f(\mathbf u_l(t))}{f(\mathbf u_i(t))+f(\mathbf u_l(t))}}\\ 0 & & otherwise\\ \end{aligned} \right. sil(t)=10ifr1<f(ui(t))+f(ul(t))f(ul(t))otherwise。 其中, n P n_{\mathcal P} nP个对手是根据 l = [ 2 μ r 2 + 1 ] ,    r 1 , r 2 ∼ U ( 0 , 1 ) l=[2\mu r_2+1],\;r_1,r_2\sim U(0,1) l=[2μr2+1],r1,r2U(0,1)进行选择的。当 f ( u i ( t ) ) < < f ( u l ( t ) ) f(\mathbf u_i(t))<<f(\mathbf u_l(t)) f(ui(t))<<f(ul(t))时, u i ( t ) ) \mathbf u_i(t)) ui(t))的相对适应度值会显著高于 u l ( t ) ) \mathbf u_l(t)) ul(t)),因此 u i ( t ) ) \mathbf u_i(t)) ui(t))有很大的概率得到分数 1 。但这种方法对 f ( u i ( t ) ) < f ( u l ( t ) ) f(\mathbf u_i(t))<f(\mathbf u_l(t)) f(ui(t))<f(ul(t))的限制则小得多。

基于每个个体 u i ( t ) \mathbf u_i(t) ui(t)的分数,可以使用以下方法进行子代选择:精英主义、锦标赛法、轮盘赌法、非线性排序等。(这些选择方法可以与GA中的选择方法相同,可参考)。

EP可应用在利用有限状态机进行时间序列预测、数学函数优化等问题。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值