第8章 分布估计算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
再计算种群S1中各个体的选择概率。
选择概率的计算公式为
由此可求得
P(xi )
f (xi )
N
f (xj)
j 1
P(s1) = P(13) = 0.14 P(s2) = P(24) = 0.49 P(s3) = P(8) = 0.06 P(s4) = P(19) = 0.31
23
● 赌轮选择法

表征其优劣的一种测度。
● 适应度函数(fitness function)就是问题中的

全体个体与其适应度之间的一个对应关系。

它一般是一个实值函数。该函数就是遗传算

法中指导搜索的评价函数
4
综述
主要步骤(虽然有很多具体的实现方法,但是分布 估计算法可以归纳为以下两步)
1:构建描述解空间的概率模型.通过对种群的评估, 选择优秀的个体集合,然后采用统计学习等手段构造 一个描述当前解集的概率模型.
s630.0
s4 0.31
s1 0.14
s2 0.49
24
选择-复制
设从区间[0, 1]中产生4个随机数如下:
r1 =X, r2 =X
染色体 s1=01101 s2=11000 s3=01000 s4=10011
r3 =X , r4 = X
适应度 选择概率
169
0.14
576
0.49
64
0.06
361
第8章分布估计算法
目录
1 思想起源 2 主要步骤 3 例题 4 应用领域
2
分布估计算法的思想起源
基本思想‐‐遗传算法和统计学习相结合 基本方法‐‐通过统计学习的手段建立解空间内个体分布的概
率模型,然后对概率模型随机采样产生新的群体,如此反复, 实现群体的进化
算法的思想起源
改进遗传算法的交叉操作和变异操作. 采用概率模型和抽样的隐式形式产生新个体.
P1''(X=3)=0.16124 P1''(X=4)=0.117459
P1''(X=5)=0.201247
P2''(X=6)=0.27714 P2''(X=7)=0.27955
36
一个简单的分布估计算法例子
37
一个简单的分布估计算法例子
38
例子 1
39
40
41
42
43
44
例子 2 Z=X1+X2,其中X1的取值域为1,2,3,4,5, x2的取值域为6,7,8,9,10,
求Z的最小值
建立模型 建立一个概率模型。在这里我们只需要建立一个离 散的概率模型(设X1,X2相互独立),初始化如下 (只列出边缘概率)。
从S1中随机确定c个染色体,配对进行交叉操作,并用
产生的新染色体代替原染色体,得群体S2;
16
步7 按变异率Pm所决定的变异次数m,从 S2中随机确定m个染色体,分别进行变异操作, 并用产生的新染色体代替原染色体,得群体S3;
步8 将群体S3作为新一代种群,即用S3代 替S,t = t+1,转步3;
10
选择-复制 通常做法是:对于一个规模为N 的种群S,按每个染色体xi∈S的选择概率P(xi)所决 定的选中机会, 分N次从S中随机选定N个染色体, 并进行复制。
这里的选择概率P(xi)的计算公式为
P(xi )
f (xi )
N
f (xj)
j 1
11
交叉 就是互换两个染色体某些位上的基因。 例如, 设染色体 s1=01001011, s2=10010101, 交换其后4位基因, 即

适应程度,而对问题中的个体对象所设计的

表征其优劣的一种测度。
● 适应度函数(fitness function)就是问题中的

全体个体与其适应度之间的一个对应关系。

它一般是一个实值函数。该函数就是遗传算

法中指导搜索的评价函数。
8
3. 染色体与基因 染色体(chromosome)就是问题中个体的
31
2、分布式估计算法与传统遗传算法的区别
分布式估计算法是一种全新的进化模式,没有传 统遗传算法的交叉和变异操作,取而代之的是概 率模型的学习和采样。
分布式估计算法通过一个概率模型描述候选解在 空间的分布,采用统计学习的手段从宏观上建立 一个描述解分布的概率模型,然后对概率模型进 行随机采样产生新的种群,如此反复进行,实现 种群的进化,直到终止条件。
步3 计算S中每个个体的适应度f() ; 步4 若终止条件满足,则取S中适应度 最大的个体作为所求结果,算法结束。
15

步5 按选择概率P(xi)所决定的选中机会,每次从
S中随机选定1个个体并将其染色体复制,共做N次,然
后将复制所得的N个染色体组成群体S1;

步6 按交叉率Pc所决定的参加交叉的染色体数c,
0.31
积累概率 0.14 0.63 0.69 1.00
选中次数 1 2 0 1
25
于是,经复制得群体: s1’ =11000(24), s2’ =01101(13) s3’ =11000(24), s4’ =10011(19)
26
交叉 设交叉率pc=100%,即S1中的全体染色体都
参加交叉运算。 设s1’与s2’配对,s3’与s4’配对。分别交换
后两位基因,得新染色体: s1’’=11001(25), s2’’=01100(12) s3’’=11011(27), s4’’=10000(16)
27
变异 设变异率pm=0.001。 这样,群体S1中共有 5×4×0.001=0.02
位基因可以变异。 0.02位显然不足1位,所以本轮遗传操作
不做变异。
13
1.2 基本遗传算法
生成初始种群 计算适应度
终止 ?
结束
遗传算法基本流程框图
14
选择-复制 交叉 变异
生成新一代种群
基本遗传算法
步1 在搜索空间U上定义一个适应度函数 f(x) , 给 定 种 群 规 模 N , 交 叉 率 Pc 和 变 异 率 Pm,代数T;
步2 随机产生U中的N个个体s1, s2, …, sN, 组成初始种群S={s1, s2, …, sN},置代数计数 器t=1;
20
(3) 计算各代种群中的各个体的适应度, 并 对其染色体进行遗传操作,直到适应度最高的个 体(即31(11111))出现为止。
21
首先计算种群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
19
解 (1) 设定种群规模,编码染色体,产生初始
种群。
将种群规模设定为4;用5位二进制数编码 染色体;取下列个体组成初始种群S1:
s1= 13 (01101), s2= 24 (11000) s3= 8 (01000), s4= 19 (10011) (2) 定义适应度函数, 取适应度函数:f (x)=x2
33
综述

34
一个简单的分布估计算法例子
Current Population
11011 10101 01011 11000
11011 10101 01011 11000
Probabilistic Model
1.0 0.5 0.5 0.5 1.0
11111 11011 11001 10101
35
一个简单的分布估计算法例子
32
根据概率模型的复杂程度以及不同的采样方法,分 布式估计算法发展了很多不同的具体实现方法,但 是都可以归纳为下面两个主要步骤:
1)、构建描述解空间的概率模型。通过对种群的评 估,选择优秀的个体集合,然后采样统计学习等手 段构造一个描述当前解集的概率模型
2)、由概率模型随机采样产生新的种群。一般的, 采用蒙特卡罗方法,对概率模型采样得到新的种群。
28
于是,得到第二代种群S2: s1=11001(25), s2=01100(12) s3=11011(27), s4=10000(16)
29
第二代种群S2中各染色体的情况
染色体
适应度 选择概率
积累概率
估计的 选中次数
s1=11001
625
0.36
0.36
1
s2=01100
144
0.08
17
1.3 遗传算法应用举例
例1 利用遗传算法求解区间[0,31]上的二 次函数y=x2的最大值,x为整数。
Y
y=x2
31 X
18
分析 原问题可转化为在区间[0, 31]中搜索能使y取最大
值的点a的问题。那么,[0, 31] 中的点x就是个体, 函 数值f(x)恰好就可以作为x的适应度,区间[0, 31]就是 一个(解)空间 。这样, 只要能给出个体x的适当染色体编 码, 该问题就可以用遗传算法来解决。
0.44
0
s3=11011
729
0.41
Fra Baidu bibliotek
0.85
2
s4=10000
256
0.15
1.00
1
30
如此不断进化,直到种群中出现适应度最高的 染色体s1=11111。于是,遗传操作终止,将染 色体“11111”作为最终结果输出。
然后,将染色体“11111”解码为表现型, 即得所求的最优解:31。
将31代入函数y=x2中,即得原问题的解, 即函数y=x2的最大值为961。
s1′=01000101, s2′=10011011 可以看做是原染色体s1和12 s2的子代染色体。
变异 就是改变染色体某个(些)位 上的基因。
例如, 设染色体 s=11001101
将其第三位上的0变为1, 即

s=11001101 →11101101= s′。
s′也可以看做是原染色体s的子 代染色体。
X2
X3
Y2
Y3
X4 ...
*X, 2X3*****
Y4 ...
3
综述
基本概念
概率模型
‐‐用于描述取值域中优秀个体分布情况的一系列函数或其他数学 工具(包括概率密度函数、条件概率、边缘概率等等)
适应度与适应度函数
● 适应度(fitness)就是借鉴生物个体对环境的

适应程度,而对问题中的个体对象所设计的
某种字符串形式的编码表示。字符串中的字符 也就称为基因(gene)。
例如:
个体
染色体
9 ---- 1001
(2,5,6)---- 010 101 110
9
4. 遗传操作 亦称遗传算子(genetic operator),就是关
于染色体的运算。遗传算法中有三种遗传操作: ● 选择-复制(selection-reproduction) ● 交叉(crossover,亦称交换、交配或杂交) ● 变异(mutation,亦称突变)
1. 个体与种群
● 个体就是模拟生物个体而对问题中的对象
(一般就是问题的解)的一种称呼,一个个

体也就是搜索空间中的一个点。
● 种群(population)就是模拟生物种群而由若
干个体组成的群体, 它一般是整个搜索空间
的一个很小的子集。
7
2. 适应度与适应度函数
● 适应度(fitness)就是借鉴生物个体对环境的
46
更新概率模型(根据(2,7);(2,9)和 (5,6)三个点)
更新X1的分布总共有3个个体,三个个体对 应的X1为2,2,5
P1'(x1=1)=0;P1'(x1=2)=2/3;P1'(x1=5) =1/3;P1'(x1=3)=0;P1'(x1=4)=0
同理得到
P2'(x2=6)=1/3;P2'(x1=7)=1/3;P2'(x1=9) =1/3;P2'(x1=8)=0;P2'(x1=10)=0
47
更新概率模型
对分布函数进行平滑处理(防止有一些点的概率为零,自变量的值 相差较近则概率应该相差不大)
以X1为例
5
P1''(X1=i)= exp( | i j |)P1'(x j)
并归一化
j 1
同理求P2’
得到
P1''(X=1)=0.139861
P1''(X=2)=0.380183
2:由概率模型随机采样产生新的种群。
5
综述
分布估计算法的与遗传算法的不同
生物进化的数学模型
遗传算法是对于个体进行遗传操作(交叉、变异等),"微 观"层面模拟生物的进化。
分布估计算法是对于整个群体的分布建立一个概率模型, 通过这个概率模型来描述进化的方向,是“宏观”层面的 模拟。
6
1、传统遗传算法
45
采样与择优
根据概率模型,采样若干个点(6个)。假 设采到的点为(2,7);(3,9);(3,10); (4,8);(2,9);(5,6)
评估这六个点,带入函数(适应度函数), 分别得到9,12,13,12,11,11。因此我 们选择(2,7);(2,9)和(5,6)来更新概 率模型。
相关文档
最新文档