智能控制理论讲稿第4章遗传算法Word格式.docx

上传人:b****4 文档编号:17841736 上传时间:2022-12-11 格式:DOCX 页数:14 大小:35.42KB
下载 相关 举报
智能控制理论讲稿第4章遗传算法Word格式.docx_第1页
第1页 / 共14页
智能控制理论讲稿第4章遗传算法Word格式.docx_第2页
第2页 / 共14页
智能控制理论讲稿第4章遗传算法Word格式.docx_第3页
第3页 / 共14页
智能控制理论讲稿第4章遗传算法Word格式.docx_第4页
第4页 / 共14页
智能控制理论讲稿第4章遗传算法Word格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

智能控制理论讲稿第4章遗传算法Word格式.docx

《智能控制理论讲稿第4章遗传算法Word格式.docx》由会员分享,可在线阅读,更多相关《智能控制理论讲稿第4章遗传算法Word格式.docx(14页珍藏版)》请在冰豆网上搜索。

智能控制理论讲稿第4章遗传算法Word格式.docx

遗传算法操作过程如下:

生成初始种群

↓←—————————————

计算每个个体的适应度fi

最优解?

Y↓N

输出最优解选择高fi个体复制

交换

变异

↓——————————————

图2-1GA的基本流程

由图可知,先把待寻优的参数或变量(实际问题参数集)表示成“位串(染色体串)”(lndividualstring)以确定初始种群,一般用二进制码串表示,每位又称为“基因”(gene)。

通过位串,可以得到一个x∈[0,N]。

第2步:

选取目标函数或算适配值f(x),计算每个位串的适应度(fitness)。

第3步:

是否收敛于最优解。

第4步:

进行复制,交换,变异操作,并重新计算适应度,直至找到最优解输出(迭代)。

例1:

寻找函数f(x)=-x²

+31x+10,当x∈[0,31]为整数时的最大值。

第一步:

确定初始种群——编码

1.编码的目的是将寻求优化解的参数用位串来表示,在本例中,x在0-31之间变化,所以用5位二进制位串即可,即00000——11111。

2.选择初始种群:

一般种群参数要适中,太少了可能迭代次数要增加,甚至得不到结果;

太多了会增加计算工作量,降低效率。

这里选择种群个数为4,并随机选取个体:

 

串号

随机生成种群

X值

F(x)

fi/∑fi

fi/fi(平均)

Ri

1

2

3

4

00001

11100

01000

10011

28

8

19

40

94

194

238

0.071

0.166

0.343

0.420

0.284

0.664

1.372

1.080

总计

566

平均值

141.5

0.25

最大值

0.42

1.68

表3-1:

复制操作前的各项准备

第二步:

计算适应度fi

应该说决定适应度fi的计算公式是一个技巧性很高,而理论上的研究又很不充分的复杂问题。

一般要根据优化的目标函数来决定(较难选择)。

本例求解f(x)=–x²

+31x+10的最大值,所以目标函数即为此。

见上表。

同时可计算出复制概率fi/∑fi、期望复制数fi/fi(平均)。

其中fi(平均)是fi的平均值(期望值)。

表3-1。

第三步:

复制

根据适者生存理论,越能适应环境的生物品种,越能繁衍其后代。

在这里,复制的原则是:

适应度fi越高的位串,其复制的字字及复制的数量越多,根据Ri(平均)=fi/fi(平均)知道,根据四舍五入原则,将Ri(平均)圆整为整数Ri,发现串2、3被复制一次,串4被复制2次,串1被淘汰。

见下表:

新串号

复制种群

匹配(随机)

交叉点

新种群

X

fi

(1)

11111

01011

10000

31

11

16

10

230

250

740

185

表3-2复制操作后的各项数据

第四步:

交换(交叉)

分两步:

1.将新复制的位串随机两亮配对;

2.随机选择交叉点,对匹配的位串进行交叉繁殖,产生一对新的位串,具体操作过程如下:

设位串长为L,在[1,L-1]内,随机选择一个整数作为交叉点,将两个配对位串从位置K后的所有基因(二进制位码)进行交换。

生成新种群。

例如:

串111100K=3,交换得11111

串41001110000

串201000K=2,交换得01011

串31001110000

并计算适应度fi。

见表3-2。

第五步:

尽管复制和交叉操作是第一位的,很重要,但不能保证不会遗漏一些重要的遗传信息。

可用变异来防止这种不可弥补的遗漏,应注意的是,生物体中某一个或几个基因的变化,其概率是很小的,应在千分之几。

所谓变异操作就是将位串中的某一位把1变成0,或反之。

在本例中随机生成的种群如下:

编号

位串

可以看到,无论如何交叉,位置4上都不可能出现1,若优化的结果要求误差是1,仅用交叉操作是做不到的。

01101

11001

00101

虽然变异操作在遗传算法中的作用是第二位的,但却是必须的,以保证位串的多样性(物种基因多样性),可提高搜索效率。

在本例中,选取变异的概率为千分之一,既0.001,种群中共有4串,20位,所以期望的变异位串位数为:

20×

0.001=0.02(位)

故此例无变异情况。

第六步:

迭代

经复制、交叉、变异操作后得到的新一代种群,对此再进行第二步操作——计算适应度fi,按事先确定的评判规则来估计是否已得到最优解,其评判规则如下:

方程

(k+1)k(k+1)kk

E(fi,fi)=[max(fi)-max(fi)]/max(fi)<

ε

其中E为两次迭代的相对误差;

ε是字字的评判标准,如ε=0.01或ε=0.001或ε=0。

K=0开始(从初始种群fi开始)。

(k+1)k

fi、fi为前后两次种群适应度最大值。

在本例中:

ε

E=(250-238)/238=0.05

若选择=0.01,则判定遗传算法还要继续进行,计算结果如表3-3所示。

E=(250+250)/250=0

两者适应度相同(均为250),评判结果为0,算法结束。

最优解x=16,f(x)=250。

效率很高。

实际上f(x)极值为x=15.5,max(f(x))=250.25。

四.遗传算法的理论基础

遗传算法是一个以适应度函数为目标的函数,对种群中的各个个体施加遗传操作,实现群体结构重组,经迭代处理,达到总体优化,最后求得逼近的最优解,即遗传算法寻优问题的性能是朝着不断改进的方向发展的。

其步骤有:

参数编码、初始种群设定(随机)、适应度函数设定、复制/选择、交换(交叉、杂交)、变异(突变)、算法控制参数设定(最优解评判规则)等七个步骤。

现在的问题是

1.上述七个步骤的理论研究还不够,许多设定或操作设计是凭经验或试验,该算法的稳定性,鲁棒性、收敛性及字字字理论的问题研究就更为欠缺。

2.我们怎么能知道对某一特定问题使用遗传算法,会得到优化或近似优化解。

即在仅利用适配值进行搜索的过程中,遗传算法到底利用了包括在种群中多数位串及其相应的目标函数内的什么信息来引导和改善它的搜索——遗传算法的工作机理,鉴于1。

这里只能介绍基本的理论研究成果。

一.遗传算法的模式理论

1.模式(schemata)

一个模式就上一个描述种群中在位串的某些确定位置上具有相似性(位串之间的相似性质)的位串子集的相似性摸板(similaritytemplate)。

F(x)=-x²

+31x+10

适配值fi

(2)

在此种群中,各位串之间具有某种相似性,以及这种相似性与适配值之间具有某种因果关系。

例如,位串间的相似性与适配值间的因果关系:

“凡以1为开头的位串,其适配值高”(这只是个例子,不尽然)。

这种相似性正是遗传算法有效工作的因素,根据对种群中的高适高适配值位串之间的相似性缝隙,Holland提出了遗传算法的模式理论。

2.模式的描述

表示模式用的三字符的字母表{0,1,*},其中*为通配符{0,1}。

用三元素字母表{0,1,*}可以构造出任意一种模式。

即由{0,1,*}所产生的位串称为模式,例如:

01011、0*10*等均为模式。

不含通配符*的模式(如01011),只描述了一个串的集合,

而带通配符*的模式(0*10*),它描述了多个串的集合。

{00100,00101,01100,01101}

注意:

一个长度为L的二进制位串,工有(2+1)的L次方个模式。

原因是在L个位置中任何一个位置上都可取{0,1,*}之一,则L个位置的全排列数为3的L次方。

例如:

L=3,模式数为27(27种不同的相似摸板)

000

*00

00*

*0*

001

010

*01

*10

01*

10*

*1*

***

011

100

101

110

111

0*0

0*1

1*0

1*1

11*

**0

**1

0**

1**

可见模式数量(3的L次方)要大于实际位串数量(2的L次方)。

一般地,(K+1)的L次方,K的L次方,其中K为字母表基数。

3.模式与位串匹配

算一个模式与一个特定的位串相匹配是指:

该模式中的1与位串中的1相匹配;

模式中的0与位串中的0想匹配;

模式中的*可以匹配位串中的0或1。

(注意:

位置对等)

模式1*0*1匹配位串如F:

1000110011

1101111001都是模式1*0*1的成员

定义模式的好处就是使我们容易描述串的相似性。

即模式的思路为我们提供了一种简单而有效的方法,此方法能够使我们在有限字母表{0,1,*}的基础上讨论有限长(L)位串的严谨定义的相似性。

通配符*号只是一个元符号,即代表其它符号的符号,它不能被遗传算法直接处理,它只不过是允许用来描述特定长度和特定字母表的位串的所有相似性的符号文件。

*从匹配的角度看,模式数量可以理解为:

一个确定的位串,可以是若干与之相匹配的模式的成员,例如:

位串10,可以是下列四个模式的成员:

***01*10

称此位串包含有2的2次方等于4种模式(与之想匹配的)。

一般的讲,一个确定位串的长设为L,则此串可以是2的L次方种模式的成员,即有2的L次方种模式与之想匹配,(因为在L个位置中的任一位置上,要么取确定值,要么取*,既任一位置都有2种表示)。

所以,对于大小为n的种群,与之相匹配的模式共有:

2的L次方到n×

2的L次方种

综上所述,之所以重视种群中位串之间的众多的相似性,正是为了利用这种信息来引导遗传算法有效地搜索,因为一个种群(n,l)包含了丰富的(2的L次方到n×

2的L次方个)有关这种相似性的信息。

这些相似性和适配值之间的相关性正是使遗传算法能够进行有效搜索的根本所在。

4.模式间差异的度量(模式的属性)

模式间是有差异的,例如:

模式1——01*1**

模式2——****0*

显然模式1比模式2包含有更加确定的相似性。

再例如:

模式1——1***1*

模式2——1*1***

模式1比模式2跨越的长度要长

综上,我们对模式准确性予以定义O(H)△(H)

考虑在二进制字母表V={0,1}上构成长度为L的位串,表示如F:

A=a,a2‥‥aL,ai∈V

相应地,一个模式是定义在V+={0,1,*}之上的,表示如下:

H=10**11*

第t代种群用A(t)表示,该种群中的n个个体位串用Aj(j=1,2,……,n).

定义1:

模式位数(order)O(H),也称为模式H的阶,它定义为模式H中确定代码(0或1)位置的个数。

即H中有定义的非*位的个数。

例:

H=10**11*,记O(H)=4

显然,一个模式的阶数越高,其匹配的位串(又称样本)数越少,因而确定性越高,样本的形似性越高。

定义2:

模式的定义长度(defininslength)△(H),也称模式H的定义距。

它定义的模式H中第一个确是代码位置和最后一个确定代码位置之间的距离(用位数来表示)。

H=10**11*,δ(H)=6-1=5

H=***0**,δ(H)=4-4=0

这两个量为分析位串的相似性,以及分析遗传操作对模式(重要模式,也称建筑块)的影响提供了基本手段。

二.遗传操作对模式的影响

1.复制(选择)对模式的影响

基于上述考虑,第t代种群A(t)中,模式H所能匹配的样本数为m,记为:

m=m(H,t)

在复制操作中,一个串是按适应度f进行复制的,更准确地说,是按概率Pi=fi/∑fi进行选择复制的。

如果设A(t)种群大小为n,

且个体两两不相同,则模式H在第t+1代所能匹配的样本数为:

m(H,t+1)=m(H,t)×

f(H)/∑fi

其中f(H)是对应模式H所能匹配的样本(位串)的平均适应度(适配值)。

因为A(t)整个种群的平均适应度f(平均)=∑fi/n

所以∑fi=n×

f(平均)

所以m(H,t+1)=m(H,t)×

f(H)/f(平均)

可见,经复制操作后,下一代中特定模式的数量H增减,与该模式的平均适应度与种群的平均适应度的比值成正比。

即:

f(H)>

f(平均)时,H的数量增加;

反之减少。

种群A(t)中的任一模式H在复制中都将上述规律变化,这种模式的增减在复制中是并行进行的,即遗传算法中隐含的并行机制就在于此。

上式即是复制操作对模式H数量影响的定量描述。

进一步分析模式数量的增减规律,可设:

f(H)-f(平均)=cf(平均),c>

0(常数)

所以m(H,t+1)=m(H,t)·

(1+c)

从原始种群开始(t=0),则有:

m(H,t+1)=m(H,0)·

可见模式数量的增减将呈指数形式。

结论:

虽然复制过程能按适者生存的原则,成功地以并行方式控制着模式数量以指数形式增减,但由于复制只是将某些高适配度的个体全盘复制,或淘汰某些低适配度的个体,而决不会产生新的模式结构,因而对性能的改进是有限的。

2.交叉对模式的影响

交叉是位串之间的有组织的而又是随机的信息交换,它能创造新的模式结构,但又能最低限度地破坏复制过程所选择的高适应度的模式。

用一个例子来考查一下交叉过程中模式遭破坏或生存的情况(即概率),以及交叉操作对模式的影响与什么量有关。

位串A=010110,L=6

所包含的其中的两个模式:

H1=*1***0H2=***11*

由于交换(叉)点的选择是等概率的。

所以选K=3,即:

A=010110H1=*1***0H2=***11*

由于H1的确定位在分隔符两侧,而H2的确定位在分隔符一侧(右边),所以,当A与A’交叉时,除非A’的确定位与模式H1的确定位相同,否则交叉后H1将遭到破坏,即交叉后的下一代不可能是H1的成员,或者说,下一代中不能隐含H1模式。

而H2的确定位均在交叉之列,不论A’为何串,都将传入下一代。

A’=101001

与A交叉后的下一代位串:

A1=010001A2=101110

显然,A1,A2均不是H1(被破坏了)的样本,但却是H2(存活了)的样本。

如果交叉的位置K=4,H2也可能遭到破坏,但由于交叉选择是等概率的,而:

H1在位置2,3,4,5交叉都遭破坏;

H2在位置4交叉将遭破坏

所以说H1比H2遭破坏的概率大多了,即H2的“生命力”强于H1。

显然,交叉操作对模式H的影响取决δ(H),即

△(H1)=6-2=4△(H2)=5-4=1

而交叉点L-1=6-1=5个可能位置上随机选取,

所以H1被破坏的概率Pd=△(H1)/L-1=4/5

H1存活的概率Ps=1–Pd=1/5

类似地:

H2被破坏的概率Pd=δ(H)/L-1=1/5

H2存活的概率Ps=1–Pd=4/5

一般地:

任何模式H的交叉存活概率的下限为:

Ps≥1-δ(H)/L-1

若考虑交叉本身的概率Pc,即在种群中随机抽取一对位串进行交叉操作的概率,则上式可改为:

Ps≥1-Pc·

δ(H)/L-1

为什么称Ps是下限?

即在公式中的“>

”是怎么产生的呢?

这就是说,即使交叉操作发生在意义长度内,模式H也有可能不破坏。

例如上例中:

A=010110A1=010001

而A’=111001A2=111110(H1的样本)

或A’=101000A1=010000(H1的样本)

A2=101110

所以H1没有被破坏,故Ps是下限。

综合考虑复制的交叉的共同作用,模式H的数量为:

m(H,t+1)≥m(H,t)·

f(H)/f·

[1-Pc·

δ(H)/L-1]

t

也即:

m(H,t+1)≥m(H,0)·

(1+c)·

Ps

二模式H在下一代数量取决于f(H)/f(平均)和δ(H),即:

f(H)越大,δ(H)越小,将H的数量就越多。

3.变异时模式的影响

变异是对位串中的单个位置以概率Pm进行随机替换,因此可能破坏特定模式。

那么,该位置不变的概率为1-Pm。

一个模式H,在变异作用下不被破坏,即存活,则其中的确定位置都必须保持不变。

因此,模式H的O(H)个确定位置都必须存活,即模式H的存活概率为:

Ps=(1-Pm)的O(H)次方

由于Pm《1,所以Ps=(1-Pm)的O(H)次方≈1-O(H)·

Pm

小结:

综合考虑复制、交叉、变异操作的共同作用,模式H在下一代中的数量为:

m(H,t-1)≥m(H,t)·

f(H)/f(平均)[1-Pc·

δ(H)/L-1](1-O(H)Pm)

或可近似认为:

忽略极小项Pc·

δ(H)/L-1·

O(H)·

f(H)/f(平均)·

δ(H)/(L-1)-O(H)·

Pm]

定义距δ(H)短的,确定位数O(H)少的,平均适配度高的模式,其数量将随着代数的增加量指数增长——模式理论。

它有效地说明了最后得到的位串的性能得到了改善,并最终趋于最优点。

种群

f(x)

0.014

0.311

0.338

0.056

1.244

1.352

25.0

表3-3第一次迭代数据

匹配对象

Fi(2

总计932

平均233

最大250

表3-4复制、交叉后数据

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1