导图社区 遗传算法基础及其部分常用函数
遗传算法基础及其部分常用函数
基于遗传算法的BP神经网络优化算法理论基础
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
民法分论
日语高考動詞の活用
遗传算法
基本遗传算法
染色体编码
二进制(常用)
整数
实值
适应度函数
根据进化目标编写的计算个体适应度值的函数,通过适应度函数计算每个个体的适应度值,提供给选择算子进行选择
适应度评估
解码
评价目标函数
转为适应度
极大值问题:适应度就是目标函数
极小值问题:转为极大值问题
遗传操作
选择
适应度大,被选择概率大
使用比例选择算子
交叉
使用单点交叉算子
两个个体
随机产生一个交叉点位置
互换部分基因码
交叉概率:0.4~0.99
变异
基本位变异算子
均匀变异算子
避免问题过早收敛
二进制的基因
0变1,1变0
变异概率Pm:0.0001~0.1
遗传算法常用函数
创建种群函数——crtbp
[Chrom,Lind,BaseV]=crtbp(Nind,Lind)
创建一个大小为Nind*Lind的随机二进制矩阵
Nind:种群个体数
Lind:个体长度
返回:
Chrom:种群编码
个体长度:Lind
BaveV:染色体基因位的基本字符向量
[Chrom,Lind,BaseV]=crtbp(Nind,Base)
个体的每位编码的进制数由Base决定
Base的列数即为个体长度
[Chrom,Lind,BaseV]=crtbp(Nind,Lind,Base)
Lind可省略
eg:
[Chrom,Lind,BaseV]=crtbp(5,10)
[Chrom,Lind,BaseV]=crtbp(5,[2,2,2,2,2,2,2,2,2,2])
[Chrom,Lind,BaseV]=crtbp(5,10,[2,2,2,,2,2,2,2,2,2,2])
适应度计算函数——ranking
FitnV=ranking(objv)
按照个体的目标值ObjV(列向量)由小到大的顺序对个体进行排序的,并返回个体适应度值FitV的列向量?
FitnV=ranking(objV,RFun)
此格式中的RFun有三种情况:
是一个在[1,2]区间内的标量,则采用线性排序,这个标量指定选择的压差
是一个具有两个参数的向量
RFun(2):指定排序方法
0:线性排序
1:非线性排序
RFun(1):
线性排序:
标量指定的选择压差RFun(1)必须在[1,2]区间
非线性排序:RFun(1)必须在[1,length(ObjV)-2]区间
NAN:RFun(1)假设为2
RFun是长度为length(ObjV)的向量,则它包含对每一行的适应度值的计算
FitnV=ranking(ObjV,RFun,SUBPOP)
ObjV:同上
RFun:同上
SUBPOP:指明在ObjV中子种群的数量
省略或为NAN,SUBPOP=1
注:ObjV中所有子种群的大小必须相同
使用线性排序和压差为2