当前位置:文档之家› 遗传算法及其在图像分割中的应用

遗传算法及其在图像分割中的应用


基本位变异因子的具体执行过程是:
Ⅰ. 对个体的每一个基因座,依变异概率pm指定其为变异点。 Ⅱ. 对每一个指定的变异点,对其基因值做取反运算或用其它等位基因值来代替,
从而产生出一个新的个体。
2016/4/27
18 / 16
18
开始 Gen=0 编码 随机产生M个初始个体 满足终止条件?
Y
输出结果
终止
• pc:交叉概率,一般取为0.4 ~ 0.99
• pm:变异概率,一般取为 0.0001 ~ 0.1
2016/4/27
6 / 16
6
基本遗传算法的形式化定义
基本遗传算法可定义为一个7元组: GA= (M, F, s, c, m, pc, pm )
M——群体大小; F——个体适应度评价函数; s——选择操作算于; c——交叉操作算子: m——变异操作算于; pc——交叉概率; pm——变异概率;
Ⅱ. 每一对相互配对的个体,随机设置某一基因座之后的位置为交叉点。 若染色体的长度为l ,则共有(l-1)个可能的交叉点位置。 Ⅲ. 对每一对相互配对的个体,依设定的交叉概率pc在其交叉点处相互交换两个 个体的部分染色体,从而产生出两个新的个体。
2016/4/27
15 / 16
15
交叉算子
单点交叉
2016/4/27
13 / 16
13
轮盘选择示例
上述轮盘选择过程,可描述如下: Ⅰ. 顺序累计群体内各个体的适应度,得相应的累计值Si,最后一个累计值 为Sn; Ⅱ. 在[0, Sn]区间内产生均匀分布的随机数r; Ⅲ. 依次用Si与r比较,第一个出现Si大于或等于r的个体j被选为复制对象;
Ⅳ. 重复 Ⅲ、Ⅳ 项,直至新群体的个体数目等于父代群体的规模。
下一代群体中的机会多少。
2016/4/27
5 / 16
5
(3)
遗传算子 基本遗传算法使用下述三种遗传算子: • • • 选择运算:使用比例选择算子; 交叉运算:使用单点交叉算子; 变异运算:使用基本位变异算子。
(4)
基本遗传算法的运行参数
基本遗传算法有下述4个运行参数需要提前设定:
• M:群体大小,即群体中所含个体的数量,一般取为20 ~ 100。 • T:遗传运算的终止进化代数,一般取为100 ~ 500
N
计算群体中各个体适应度 从左至右依次执行遗传算子
pm
j=0
pc
j=0 根据适应度选择复制个体 执行复制 将复制的个体添入 新群体中 j = j+1
j=0 选择两个交叉个体 执行交叉 将交叉后的两个新个体 添入新群体中 j = j+2
选择个体变异点
执行变异 将变异后的个体添入 新群体中 j = j+1
漫长而绝妙的进化过程。借鉴 Darwin 的物竞天择、优胜劣汰、适者生存的自然选
择和自然遗传的机理。 其本质是一种求解问题的高效并行全局搜索方法,它能在搜索过程中自动获取 和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。
2016/4/27
3 / 16
3
遗传算法基本思想
从初始化的群体出发, 通过随机选择(复制)(使群体中优秀的个体有更多 的机会传给下一代),交叉(体现了自然界中群体内个体之间的信息交换), 和变异(在群体中引入新的变种确保群体中信息的多样性)等遗传操作,使最 具有生存能力的染色体以最大可能生存, 群体一代一代地进化到搜索空间中越
A : 101100 1110 101100 0101
B : 001010 0101 001010 1110
2016/4/27
16 / 16
16
变异算子
变异运算用来模拟生物在自然的遗传环境中由于各种偶然因素引起的基因突 变,它以很小的概率随机地改变遗传基因(表示染色体的符号串的某一位)的值。 在染色体以二进制编码的系统中,它随机地将染色体的某一个基因由 1变为0,或 由0变为1。
N
j = M? Y
N
j = pc· M? Y
Gen=Gen+1
N
j = pm · L· M? Y
实例:遗传算法求函数极值
利用遗传算法求函数的极大值
f ( x) x sin( 10x) 2 1 x 2
2016/4/27
20 / 16
20
实例:遗传算法求函数极值
(1)编码方案
来越好的区域.
2016/4/27
4 / 16
4
基本遗传算法的构成要素
(1)染色体编码方法
基本遗传算法使用固定长度的二进制符号串来表示群体中的个体,其等位基因 由二值符号集{0,1}组成。 初始群体中各个个体的基因值用均匀分布的随机数来生成。如:x; 100111001000101101就可表示一个个体,该个体的染色体长度是 l=18。 (2)个体适应度评价 基本遗传算法按与个体适应度成正比的概率来决定当前群体中每个个体遗传到
x : 0000110111 1101110001
yi xi 3 1 1048575
x -0.8363
2016/4/27
22 / 16
22
实例:遗传算法求函数极值
(3)确定个体评价方法:由于优化目标是求函数的最大值,故可将个体的适应度 直接取为对应的目标函数值,即
F ( x) f ( x)
遗传算法及其在图像分割中的应用
目录
遗传算法简介 图像分割简介 一维最大熵阈值分割 二维最大熵阈值分割
2016/4/27
2 / 16
2
遗传算法
遗传算法简称 GA ( Genetic Algorithms )遗传算法是 20 世纪 60~70 年代主要由
美国John Holland 教授提出。 其内涵哲理启迪于自然界生物从低级、简单到高级、复杂,乃至人类这样一个
采用上述方法进行仿真,经过迭代,最佳样本为
Best S [ 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1111 0 1]
即当
x 1.8505
时,函数具有
极大值,极大值为3.8503。
2016/4/27
24 / 16
24
实例:遗传算法求函数极值
最后一代个体分布 每代最优个体分布
2016/4/27
14 / 16
14
交叉算子
(1) 交叉算子作用
通过交叉,子代的基因值不同于父代。交换是遗传算法产生新个体的主要手 段。正是有了交换操作,群体的性态才多种多样。
(2) 最常用和最基本——单点交叉算子。 (3) 单点交叉算子的具体计算过程如下:
Ⅰ. 对群体中的个体进行两两随机配对。
若群体大小为M,则共有 [ M/2 ]对相互配对的个体组。
2016/4/27
26 / 16
26
图像分割简介
=
(2) 解码
假设某一个体的编码是:
U max U min 2 1
x b b 1b 2
则对应的解码公式为:
b2b1
i 1
x U min
2016/4/27
10 / 16
U max U min ( bi 2 ) 2 1 i 1

10
二)个体适应度评价
系如下: 00000000…00000000=0 00000000…00000001=1 00000000…00000010=2 …… 11111111…11111111=2l–1+ umin + 2 umax
9
其中, 为二进制编码的编码精度,其公式为:
0000000000 (0)到11111111111111111111 (1048575)之间的二进 制编码。
2016/4/27
21 / 16
21
实例:遗传算法求函数极值
(2)确定解码方法:解码时需要将 20位长的二进制编码转换为对应的十进制整数, 分别记为y。 依据个体编码方法和对定义域的离散化方法可知,将代码y转换为变量x的解码 公式为例如,对个体
一般情况下,根据目标函数值来进行种群中个体适应度值的计算。
(1) 当优化目标是求函数最大值,并且目标函数总取正值时,可以直接设定 个体的适应度F(X)就等于相应的目标函数值f(X),即: F(X)=f(X) (2) 对于求目标函数最小值的优化问题,理论上只需简单地对其增加一个负 号就 可将其转化为求目标函数最大值的优化问题,即: min f(X)=max ( - f(X))
2016/4/27
7 / 16
7
基本遗传算法描述
Procedure GA Begin initialize P(0); t=0; while (t<=T) do for i=1 to M do Evaluate fitness of P(t); end for for i=1 to M do Select operation to P(t); end for for i=1 to M/2 do Crossover operation to P(t); end for for i=1 to M do Mutation operation to P(t); end for for i=1 to M do P(t+1) = P(t); end for t=t+1 end while end
假如用长度为 20 位的二进制编码串来表示决策变量 x 。 20 位
二进制编码串可以表示从 0 到 1048575 之间的 1048576 个不同的数,
故将x的定义域离散化为1048576个均等的区域,包括两个端点在 内共有1048576个不同的离散点。
从 离 散 点 -1 到 离 散 点 2 , 分 别 对 应 于 从 0000000000
(4)设计遗传算子:选择运算使用比例选择算子,交叉运算使用单点交 叉算子,变异运算使用基本位变异算子。 (5)确定遗传算法的运行参数:群体大小 M=40,终止进化代数 G=25,选 择概率真Ps=0.90,交叉概率Pc=0.70,变异概率Pm=0.01。
相关主题