,位串的含义依赖于具体应用。搜索合适的假设从若干初始假设的群体集合开始。当前种群成员通过模仿生物进化的方式来产生下一代群体,如随机变异和交叉。每一步,根据给定的适应度评估当前群体的假设,而后使用概率方法选出适应度最高的假设作为产生下一代的种子。
f下面介绍几个遗传算法的几个基本概念:(1)染色体(Chromosome):在使用遗传算法时,需要把问题的解编成一个适合的码子。这种具有固定结构的符号串既是染色体,符号串的每一位代表一个基因。符号串的总位数成为染色体的长度,一个染色体就代表问题的一个解,每个染色体也被称为一个个体。(2)群体(Populatio
):每代所产生的染色体总数成为群体,一个群体包含了该问题在这一代的一些解的集合。(3)适应度(Fit
ess):对群体中每个染色体进行编码后,每个个体对应一个具体问题的解,而每个解对应于一个函数值。该函数值即适应函数,就是衡量染色体对环境适应度的指标,也是反映实际问题的目标函数在前一代群体的基础上产生新一代群体的工作成为遗传操作,基本的遗传操作有:(1)选择(Select):按一定的概率从上代群体中选择M对个体作为双亲,直接拷贝到下一代,染色体不发生变化。(2)交叉(Crossover):对于选中进行繁殖的两个染色体X,Y,以X,Y为双亲作交叉操作,从而产生两个后代X1,Y1(3)变异(Mutatio
):对于选中的群体中的个体(染色体),随机选取某一位进行取反运算,即将该染色体码翻转。用遗传算法求解的过程是根据待解决问题的参数集进行编码,随机产生一个种群,计算适应函数和选择率,进行选择、交叉、变异操作。如果满足收敛条件,此种群为最好个体,否则,对产生的新一代群体重新进行选择、交叉、变异操作,循环往复直到满足条件。遗传算法原型:
fGAFit
essFit
ess_thresholdprmFit
ess适应度评分函数为给定假设赋予一个评估分数Fit
ess_threshold指定终止判据的阈值p群体中包含的假设数量r每一步中通过交叉取代群体成员的比例m变异率初始化群体P←随机产生的p个假设评估对于P中的每一个h计算Fit
essh当maxFit
esshFit
ess_threshold做产生新的一代Ps1选择用概率方法选择P的1rp个成员加入Ps从P中选择假设hi的概率用下面公式计算
2交叉根据上面给出的
从P中按概率选择rp2对假设对
于每对假设h1,h2应用交叉算子产生两个后代把所有的后代加入Ps3变异使用均匀的概率从Ps中选择m的成员对于选出的每个成员在它表示中随机选择一个为取r