第三章 经典进化计算——遗传算法_2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这一轮仍然不会发生变异。
于是,得第三代种群S3:
s1=11100(28), s2=01001(9)
s3=11000(24), s4=10011(19)
第三代种群S3中各染色体的情况 染色体 s1=11100 适应度 784 选择概率 0.44 积累概率 0.44 估计的 选中次数 2
s2=01001
——遗传算法总是在寻找优解, 而不像图搜 索那样并非总是要求优解, 而一般是设法尽快 找到解, 所以遗传算法又是一种优化搜索算法。
——遗传算法的搜索过程是从空间的一个点 集(种群)到另一个点集(种群)的搜索,而不像图 搜索那样一般是从空间的一个点到另一个点地 搜索。 因而它实际是一种并行搜索, 适合大规 模并行计算,而且这种种群到种群的搜索有能力 跳出局部最优解。
3.2 遗传算法的应用与特点
一、遗传算法应用举例
二、遗传算法的特点与优势
一、遗传算法应用举例
例 1 利用遗传算法求解区间[0,31]上的二 次函数y=x2的最大值。
Y
y=x 2
31
X
分析
原问题可转化为在区间[0, 31]中搜索能 使y取最大值的点a的问题。那么,[0, 31] 中 的点x就是个体, 函数值f(x)恰好就可以作为x的 适应度,区间[0, 31]就是一个(解)空间 。这 样, 只要能给出个体x的适当染色体编码, 该问 题就可以用遗传算法来解决。
j 1
选择-复制
设从区间[0, 1]中产生4个随机数如下: r1 = 0.450126, r2 = 0.110347 r3 = 0.572496, r4 = 0.98503
染色体 适应度 选择概率 积累概率 选中次数
s1=01101
s2=11000 s3=010Leabharlann Baidu0
169
576 64
0.14
0.49 0.06
• 二进制字符串 假设字符的长度为,字符串中每一个字符可取( 0, 1, * ) 三个符号中任意 一个,可能组成的模式数目最多为: 3 3 3 … 3 = (2+1) • 一般情况下, 假设字符串长度为,字符的取值为 k 种,字符串组成的模式数目 n1 最多 为: n1=(k+1)
4个染色体都被选中,则得到群体:
s1’=11001(25), s2’= 01100(12)
s3’=11011(27), s4’= 10000(16)
做交叉运算,让s1’与s2’,s3’与s4’ 分别交换 后三位基因,得 s1’’ =11100(28), s2’’ = 01001(9)
s3’’ =11000(24), s4’’ = 10011(19)
(2) 编码字符串(一个个体编码串)所含模式总数 • 二进制字符串 对于长度为的某二进制字符串,它含有的模式总数最多为: 2 2 2 … 2 = 2 [注意] 这个数目是指字符串已确定为0或1,每个字符只能在已定值 (0/1)或 * 中选取; 前面所述的 n1 指字符串未确定,每个字符可在{0, 1, * }三者中选取。 • 一般情况下 长度为、取值有 k 种的某一字符串,它可能含有的模式数目最多为: n2 = k (3) 群体所含模式数 在长度为,规模为M的二进制编码字符串群体中,一般包含有2 ~ M ·2个模式。
• 阶次越低,模式的概括性越强,所代表的编码串个体数也越多,反之亦然; • 当模式阶次为零时,它没有明确含义的字符,其概括性最强。
模式的定义长度( Schema Defining Length) ——指模式中第一个和最后一个具有明确含意的字符之间的距离,记作 (s)。 例如,模式( 011*l** ) 的第一个字符为0,最后一个字符为l,中间有3个 字符,其定义长度为4,记作 ( 011*l** ) = 4 ;模式 ( 0****** ) 的长度是0,记 作 ( 0****** ) = 0 ;
• 一般地,有式子 (s)=b – a 式中 b—模式s 中最后一个明确字符的位置; a—模式s 中最前一个明确字符的位置。 • 模式的长度代表该模式在今后遗传操作(交叉、变异)中被破坏的可能性: 模式长度越短,被破坏的可能性越小,长度为0的模式最难被破坏。
1.3 编码字符串的模式数目
(1) 模式总数
第二代种群S2中各染色体的情况 染色体 s1=11001 s2=01100 s3=11011 s4=10000 适应度 625 144 729 256 选择概率 0.36 0.08 0.41 0.15 积累概率 0.36 0.44 0.85 1.00 估计的 选中次数 1 0 2 1
假设这一轮选择-复制操作中,种群S2中的
解 (1) 设定种群规模 , 编码染色体,产生初始 种群。 将种群规模设定为 4 ;用 5 位二进制数编码 染色体;取下列个体组成初始种群S1: s1= 13 (01101), s2= 24 (11000) s3= 8 (01000), s4= 19 (10011)
(2) 定义适应度函数,
取适应度函数:f (x)=x2
于是,得第四代种群S4:
s1=11111(31), s2=11100(28)
s3=11000(24), s4=10000(16)
显然,在这一代种群中已经出现了适应度 最高的染色体s1=11111。于是,遗传操作终止, 将染色体“11111”作为最终结果输出。 然后,将染色体“11111”解码为表现型,即 得所求的最优解:31。 将31代入函数y=x2中,即得原问题的解,即 函数y=x2的最大值为961。
——遗传算法的适应性强 , 除需知适应度 函数外, 几乎不需要其他的先验知识。 ——遗传算法长于全局搜索 , 它不受搜索 空间的限制性假设的约束,不要求连续性, 能以 很大的概率从离散的、多极值的、 含有噪声的 高维问题中找到全局最优解。
◆遗传算法的应用
函数优化
是遗传算法的经典应用领域; 组合优化 实践证明,遗传算法对于组合优化中的NP完全问题 非常有效; 自动控制 如基于遗传算法的模糊控制器优化设计、基于遗传算 法的参数辨识、利用遗传算法进行人工神经网络的结构 优化设计和权值学习等; 机器人智能控制 遗传算法已经在移动机器人路径规划、关节机器人运 动轨迹规划、机器人逆运动学求解、细胞机器人的结构 优化和行动协调等;
s3=11000
81
576
0.04
0.32
0.48
0.80
0
1
s4=10011
361
0.20
1.00
1
设这一轮的选择-复制结果为:
s1’=11100(28), s2’=11100(28)
s3’=11000(24), s4’=10011(19) 做交叉运算,让s1’与s4’,s2’与s3’ 分别交换 后两位基因,得 s1’’=11111(31), s2’’=11100(28) s3’’=11000(24), s4’’=10000(16) 这一轮仍然不会发生变异。
0.14
0.63 0.69
1
2 0
s4=10011
361
0.31
1.00
1
于是,经复制得群体:
s1’ =11000(24), s2’ =01101(13)
s3’ =11000(24), s4’ =10011(19)
交叉
设交叉率 pc=100% ,即 S1 中的全体染色体都 参加交叉运算。
设s1’与s2’配对,s3’与s4’配对。分别交换后 两位基因,得新染色体: s1’’=11001(25), s2’’=01100(12)
• 个体是由二值字符集 V={0, 1} 中的元素所组成的一个编码串; • 而模式却是由三值字符集 V={0, 1,* } 中的元素所组成的一个编码串,其中 “ * ” 表示通配符,它既可被当作 “1” 也可被当作 “0”。 模式阶 (Schema Order) ——指模式中已有明确含意(二进制字符时指0或1)的字符个数, 记做 o(s),式中 s 代表模式。 例如,模式 ( 011*1** ) 含有4个明确含意的字符,其阶次是4, 记作 o( 011*1** ) =4; 模式 ( 0****** ) 的阶次是1,记作 o( 0****** ) =1。
(3) 计算各代种群中的各个体的适应度 , 并
对其染色体进行遗传操作,直到适应度最高的个
体(即31(11111))出现为止。
首先计算种群S1中各个体 s1= 13(01101), s2= 24(11000) s3= 8(01000), s4= 19(10011) 的适应度f (si) 。 容易求得 f (s1) = f(13) = 132 = 169 f (s2) = f(24) = 242 = 576 f (s3) = f(8) = 82 = 64 f (s4) = f(19) = 192 = 361
3.3—遗传算法的模式理论
指导遗传算法的基本理论,是J.H.Holland教授创 立的模式理论。该理论揭示遗传算法的基本机理。
一、基本概念 二、模式定理 三、建筑块假说 四、隐含并行性
一、基本概念
1.1 问题的引出
例: 求 max f(x)=x2 x {0,31}
[分析] • 当编码的最左边字符为“1”时,其个体适应度较大,如2号个体和4号个体, 我们将其记为 “ 1**** ”; 其中2号个体适应度最大,其编码的左边两位都是1,我们记为 “ 11*** ”; • 当编码的最左边字符为“0”时,其个体适应度较小,如1号和3号个体, 我们记为 “ 0**** ”。
Y
Y
y=x2
y =x2
8 Y
13
19 24
X Y
12 16
25 27
X
第一代种群及其适应度
第二代种群及其适应度
y=x 2
y=x2
9
19 24 28
X
16
24 28 31 X
第三代种群及其适应度
第四代种群及其适应度
二、遗传算法的特点与优势
◆遗传算法的主要特点 ——遗传算法一般是直接在解空间搜索 , 而不像图搜索那样一般是在问题空间搜索 , 最 后才找到解。 ——遗传算法的搜索随机地始于搜索空间 的一个点集 , 而不像图搜索那样固定地始于搜 索空间的初始节点或终止节点 , 所以遗传算法 是一种随机搜索算法。
s4 0.31
s30.06
s1 0.14 s2 0.49
赌轮选择示意
在算法中赌轮选择法可用下面的子过程来模拟:
① 在[0, 1]区间内产生一个均匀分布的随机 数r。 ② 若r≤q1,则染色体x1被选中。
③ 若qk-1<r≤qk(2≤k≤N), 则染色体xk被选中。其中 的qi称为染色体xi (i=1, 2, …, n)的积累概率, 其计算 公式为 i qi P( x j )
[结论] 从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位 字符,而对其他字符不关心。换句话讲.我们只关心字符的某些特定形式,如 1****,11***,0****。这种特定的形式就叫模式。
1.2 模式、模式阶及模式定义长度
模式(Schema)——指编码的字符串中具有类似特征的子集。 以五位二进制字符串为例,模式 *111* 可代表4个个体: 01110,01111, 11110,11111;模式 *0000 则代表2个个体:10000,00000 。
再计算种群S1中各个体的选择概率。 选择概率的计算公式为
P( xi ) f ( xi )
f (x )
j 1 j
N
由此可求得 P(s1) = P(13) = 0.14
P(s2) = P(24) = 0.49
P(s3) = P(8) = 0.06
P(s4) = P(19) = 0.31
● 赌轮选择法
s3’’=11011(27), s4’’=10000(16)
变异
设变异率pm=0.001。
这样,群体S1中共有
5×4×0.001=0.02
位基因可以变异。 0.02位显然不足 1位,所以本轮遗传操作不 做变异。
于是,得到第二代种群S2:
s1=11001(25), s2=01100(12)
s3=11011(27), s4=10000(16)
组合图像处理和模式识别
目前已在图像恢复、图像边缘持征提取、几何形状 识别等方面得到了应用; 人工生命 基于遗传算法的进化模型是研究人工生命现象的重 要理论基础,遗传算法已在其进化模型、学习模型、行 为模型等方面显示了初步的应用能力; 遗传程序设计 Koza发展了遗传程序设计的慨念,他使用了以LISP 语言所表示的编码方法,基于对一种树型结构所进行的 遗传操作自动生成计算机程序;
于是,得第三代种群S3:
s1=11100(28), s2=01001(9)
s3=11000(24), s4=10011(19)
第三代种群S3中各染色体的情况 染色体 s1=11100 适应度 784 选择概率 0.44 积累概率 0.44 估计的 选中次数 2
s2=01001
——遗传算法总是在寻找优解, 而不像图搜 索那样并非总是要求优解, 而一般是设法尽快 找到解, 所以遗传算法又是一种优化搜索算法。
——遗传算法的搜索过程是从空间的一个点 集(种群)到另一个点集(种群)的搜索,而不像图 搜索那样一般是从空间的一个点到另一个点地 搜索。 因而它实际是一种并行搜索, 适合大规 模并行计算,而且这种种群到种群的搜索有能力 跳出局部最优解。
3.2 遗传算法的应用与特点
一、遗传算法应用举例
二、遗传算法的特点与优势
一、遗传算法应用举例
例 1 利用遗传算法求解区间[0,31]上的二 次函数y=x2的最大值。
Y
y=x 2
31
X
分析
原问题可转化为在区间[0, 31]中搜索能 使y取最大值的点a的问题。那么,[0, 31] 中 的点x就是个体, 函数值f(x)恰好就可以作为x的 适应度,区间[0, 31]就是一个(解)空间 。这 样, 只要能给出个体x的适当染色体编码, 该问 题就可以用遗传算法来解决。
j 1
选择-复制
设从区间[0, 1]中产生4个随机数如下: r1 = 0.450126, r2 = 0.110347 r3 = 0.572496, r4 = 0.98503
染色体 适应度 选择概率 积累概率 选中次数
s1=01101
s2=11000 s3=010Leabharlann Baidu0
169
576 64
0.14
0.49 0.06
• 二进制字符串 假设字符的长度为,字符串中每一个字符可取( 0, 1, * ) 三个符号中任意 一个,可能组成的模式数目最多为: 3 3 3 … 3 = (2+1) • 一般情况下, 假设字符串长度为,字符的取值为 k 种,字符串组成的模式数目 n1 最多 为: n1=(k+1)
4个染色体都被选中,则得到群体:
s1’=11001(25), s2’= 01100(12)
s3’=11011(27), s4’= 10000(16)
做交叉运算,让s1’与s2’,s3’与s4’ 分别交换 后三位基因,得 s1’’ =11100(28), s2’’ = 01001(9)
s3’’ =11000(24), s4’’ = 10011(19)
(2) 编码字符串(一个个体编码串)所含模式总数 • 二进制字符串 对于长度为的某二进制字符串,它含有的模式总数最多为: 2 2 2 … 2 = 2 [注意] 这个数目是指字符串已确定为0或1,每个字符只能在已定值 (0/1)或 * 中选取; 前面所述的 n1 指字符串未确定,每个字符可在{0, 1, * }三者中选取。 • 一般情况下 长度为、取值有 k 种的某一字符串,它可能含有的模式数目最多为: n2 = k (3) 群体所含模式数 在长度为,规模为M的二进制编码字符串群体中,一般包含有2 ~ M ·2个模式。
• 阶次越低,模式的概括性越强,所代表的编码串个体数也越多,反之亦然; • 当模式阶次为零时,它没有明确含义的字符,其概括性最强。
模式的定义长度( Schema Defining Length) ——指模式中第一个和最后一个具有明确含意的字符之间的距离,记作 (s)。 例如,模式( 011*l** ) 的第一个字符为0,最后一个字符为l,中间有3个 字符,其定义长度为4,记作 ( 011*l** ) = 4 ;模式 ( 0****** ) 的长度是0,记 作 ( 0****** ) = 0 ;
• 一般地,有式子 (s)=b – a 式中 b—模式s 中最后一个明确字符的位置; a—模式s 中最前一个明确字符的位置。 • 模式的长度代表该模式在今后遗传操作(交叉、变异)中被破坏的可能性: 模式长度越短,被破坏的可能性越小,长度为0的模式最难被破坏。
1.3 编码字符串的模式数目
(1) 模式总数
第二代种群S2中各染色体的情况 染色体 s1=11001 s2=01100 s3=11011 s4=10000 适应度 625 144 729 256 选择概率 0.36 0.08 0.41 0.15 积累概率 0.36 0.44 0.85 1.00 估计的 选中次数 1 0 2 1
假设这一轮选择-复制操作中,种群S2中的
解 (1) 设定种群规模 , 编码染色体,产生初始 种群。 将种群规模设定为 4 ;用 5 位二进制数编码 染色体;取下列个体组成初始种群S1: s1= 13 (01101), s2= 24 (11000) s3= 8 (01000), s4= 19 (10011)
(2) 定义适应度函数,
取适应度函数:f (x)=x2
于是,得第四代种群S4:
s1=11111(31), s2=11100(28)
s3=11000(24), s4=10000(16)
显然,在这一代种群中已经出现了适应度 最高的染色体s1=11111。于是,遗传操作终止, 将染色体“11111”作为最终结果输出。 然后,将染色体“11111”解码为表现型,即 得所求的最优解:31。 将31代入函数y=x2中,即得原问题的解,即 函数y=x2的最大值为961。
——遗传算法的适应性强 , 除需知适应度 函数外, 几乎不需要其他的先验知识。 ——遗传算法长于全局搜索 , 它不受搜索 空间的限制性假设的约束,不要求连续性, 能以 很大的概率从离散的、多极值的、 含有噪声的 高维问题中找到全局最优解。
◆遗传算法的应用
函数优化
是遗传算法的经典应用领域; 组合优化 实践证明,遗传算法对于组合优化中的NP完全问题 非常有效; 自动控制 如基于遗传算法的模糊控制器优化设计、基于遗传算 法的参数辨识、利用遗传算法进行人工神经网络的结构 优化设计和权值学习等; 机器人智能控制 遗传算法已经在移动机器人路径规划、关节机器人运 动轨迹规划、机器人逆运动学求解、细胞机器人的结构 优化和行动协调等;
s3=11000
81
576
0.04
0.32
0.48
0.80
0
1
s4=10011
361
0.20
1.00
1
设这一轮的选择-复制结果为:
s1’=11100(28), s2’=11100(28)
s3’=11000(24), s4’=10011(19) 做交叉运算,让s1’与s4’,s2’与s3’ 分别交换 后两位基因,得 s1’’=11111(31), s2’’=11100(28) s3’’=11000(24), s4’’=10000(16) 这一轮仍然不会发生变异。
0.14
0.63 0.69
1
2 0
s4=10011
361
0.31
1.00
1
于是,经复制得群体:
s1’ =11000(24), s2’ =01101(13)
s3’ =11000(24), s4’ =10011(19)
交叉
设交叉率 pc=100% ,即 S1 中的全体染色体都 参加交叉运算。
设s1’与s2’配对,s3’与s4’配对。分别交换后 两位基因,得新染色体: s1’’=11001(25), s2’’=01100(12)
• 个体是由二值字符集 V={0, 1} 中的元素所组成的一个编码串; • 而模式却是由三值字符集 V={0, 1,* } 中的元素所组成的一个编码串,其中 “ * ” 表示通配符,它既可被当作 “1” 也可被当作 “0”。 模式阶 (Schema Order) ——指模式中已有明确含意(二进制字符时指0或1)的字符个数, 记做 o(s),式中 s 代表模式。 例如,模式 ( 011*1** ) 含有4个明确含意的字符,其阶次是4, 记作 o( 011*1** ) =4; 模式 ( 0****** ) 的阶次是1,记作 o( 0****** ) =1。
(3) 计算各代种群中的各个体的适应度 , 并
对其染色体进行遗传操作,直到适应度最高的个
体(即31(11111))出现为止。
首先计算种群S1中各个体 s1= 13(01101), s2= 24(11000) s3= 8(01000), s4= 19(10011) 的适应度f (si) 。 容易求得 f (s1) = f(13) = 132 = 169 f (s2) = f(24) = 242 = 576 f (s3) = f(8) = 82 = 64 f (s4) = f(19) = 192 = 361
3.3—遗传算法的模式理论
指导遗传算法的基本理论,是J.H.Holland教授创 立的模式理论。该理论揭示遗传算法的基本机理。
一、基本概念 二、模式定理 三、建筑块假说 四、隐含并行性
一、基本概念
1.1 问题的引出
例: 求 max f(x)=x2 x {0,31}
[分析] • 当编码的最左边字符为“1”时,其个体适应度较大,如2号个体和4号个体, 我们将其记为 “ 1**** ”; 其中2号个体适应度最大,其编码的左边两位都是1,我们记为 “ 11*** ”; • 当编码的最左边字符为“0”时,其个体适应度较小,如1号和3号个体, 我们记为 “ 0**** ”。
Y
Y
y=x2
y =x2
8 Y
13
19 24
X Y
12 16
25 27
X
第一代种群及其适应度
第二代种群及其适应度
y=x 2
y=x2
9
19 24 28
X
16
24 28 31 X
第三代种群及其适应度
第四代种群及其适应度
二、遗传算法的特点与优势
◆遗传算法的主要特点 ——遗传算法一般是直接在解空间搜索 , 而不像图搜索那样一般是在问题空间搜索 , 最 后才找到解。 ——遗传算法的搜索随机地始于搜索空间 的一个点集 , 而不像图搜索那样固定地始于搜 索空间的初始节点或终止节点 , 所以遗传算法 是一种随机搜索算法。
s4 0.31
s30.06
s1 0.14 s2 0.49
赌轮选择示意
在算法中赌轮选择法可用下面的子过程来模拟:
① 在[0, 1]区间内产生一个均匀分布的随机 数r。 ② 若r≤q1,则染色体x1被选中。
③ 若qk-1<r≤qk(2≤k≤N), 则染色体xk被选中。其中 的qi称为染色体xi (i=1, 2, …, n)的积累概率, 其计算 公式为 i qi P( x j )
[结论] 从这个例子可以看比,我们在分析编码字符串时,常常只关心某一位或某几位 字符,而对其他字符不关心。换句话讲.我们只关心字符的某些特定形式,如 1****,11***,0****。这种特定的形式就叫模式。
1.2 模式、模式阶及模式定义长度
模式(Schema)——指编码的字符串中具有类似特征的子集。 以五位二进制字符串为例,模式 *111* 可代表4个个体: 01110,01111, 11110,11111;模式 *0000 则代表2个个体:10000,00000 。
再计算种群S1中各个体的选择概率。 选择概率的计算公式为
P( xi ) f ( xi )
f (x )
j 1 j
N
由此可求得 P(s1) = P(13) = 0.14
P(s2) = P(24) = 0.49
P(s3) = P(8) = 0.06
P(s4) = P(19) = 0.31
● 赌轮选择法
s3’’=11011(27), s4’’=10000(16)
变异
设变异率pm=0.001。
这样,群体S1中共有
5×4×0.001=0.02
位基因可以变异。 0.02位显然不足 1位,所以本轮遗传操作不 做变异。
于是,得到第二代种群S2:
s1=11001(25), s2=01100(12)
s3=11011(27), s4=10000(16)
组合图像处理和模式识别
目前已在图像恢复、图像边缘持征提取、几何形状 识别等方面得到了应用; 人工生命 基于遗传算法的进化模型是研究人工生命现象的重 要理论基础,遗传算法已在其进化模型、学习模型、行 为模型等方面显示了初步的应用能力; 遗传程序设计 Koza发展了遗传程序设计的慨念,他使用了以LISP 语言所表示的编码方法,基于对一种树型结构所进行的 遗传操作自动生成计算机程序;