文档详情

遗传算法09291

野鹰
实名认证
店铺
DOCX
104.43KB
约7页
文档ID:11563680
遗传算法09291_第1页
1/7

1. 基本概念:1. 个体与种群:个体就是模拟生物个体而对问题中的对象(一般就是问题的解) 的一种称呼;一个个体:搜索空间中的一个点;种群(population)就是模拟生物种群而由若干个体组成的群体;它一般是整个搜索空间的一个很小的子集;2. 适应度与适应度函数适应度(fitness)就是借鉴生物个体对环境的适应程度,而对问题中的个体对象所设计的表征其优劣的一种测度适应度函数(fitness function)就是问题中的全体个体与其适应度之间的一个对应关系它一般是一个实值函数该函数就是遗传算法中指导搜索的评价函数 3.染色体与基因染色体(chromosome)就是问题中个体的某种 字符串形式的编码 表示字符串中的字符也就称为基因(gene )2.遗传操作:亦称遗传算子(genetic operator),就是关于染色体的运算遗传算法中有三种遗传操作: ● 选择-复制(selection-reproduction)● 交叉(crossover ,亦称交换、交配或杂交)● 变异(mutation ,亦称突 变)3.遗传算法基本流程框图:1.基本遗传算法:步 1 在搜索空间 U 上定义一个适应度函数 f(x),给定种群规模 N,交叉率 Pc 和变异率Pm,代数 T;步 2 随机产生 U 中的 N 个个体 s1, s2, …, sN,组成初始种群 S={s1, s2, …, sN},置代数计数器 t=1;步 3 计算 S 中每个个体的适应度 f() ;步 4 若终止条件满足,则取 S 中适应度最大的个体作为所求结果,算法结束。

步 5 按选择概率 P(xi)所决定的选中机会,每次从 S 中随机选定 1 个个体并将其染色体复制,共做 N 次,然后将复制 所得的 N 个染色体组成群体 S1;步 6 按交叉率 Pc 所决定的参加交叉的染色体数 c,从 S1 中随机确定 c 个染色体,配对进行交叉操作,并用产生的新染色体代替原染色体,得群体 S2;步 7 按变异率 Pm 所决定的变异次数 m,从 S2 中随机确定 m 个染色体,分别进行变异操作,并用产生的新染色体代替原染色体,得群体 S3;步 8 将群体 S3 作为新一代种群,即用 S3 代替 S,t = t+1,转步 3选择下一个种群:以比例原则(分数高的挑中机率也较高)选择产生下一个种群(轮盘法en:roulette wheel selection、竞争法 en:tournament selection 及等级轮盘法 Rank Based Wheel Selection) 不仅仅挑分数最高的的原因是这么做可能收敛到局部的最佳点,而非整体的2. 终止条件:一般终止条件有以下几种: 进化次数限制; 计算耗费的资源限制(例如计算时间、计算占用的内存等); 一个个体已经满足最优值的条件,即最优值已经找到; 适应度已经达到饱和,继续进化不会产生适应度更好的个体; 人为干预; 以及以上两种或更多种的组合。

一个典型的遗传算法要求: 一个基因表示的求解域 , 一个适应度函数来评价解决方案3. 遗传算法几个要点:1. 编码表示;2. 适应度函数;3. 选择策略;4. 控制参数4.算法中的一些控制参数:■ 种群规模■ 最大换代数■ 交叉率(crossover rate)就是参加交叉运算的染色体个数占全体染色体总数的比例,记为 Pc,取值范围一般为 0.4~ 0.99■ 变异率(mutation rate)是指发生变异的基因位数所占全体染色体的基因总位数的比例,记为 Pm,取值范围一般为 0.0001~0.1GA 参数 种群规模(P,population size):即种群中染色体个体的数目 字串长度(l, string length) 交叉概率(pc, probability of performing crossover):控制着交叉算子的使用频率交叉操作可以加快收敛,使解达到最有希望的最优解区域,因此一般取较大的交叉概率,但交叉概率太高也可能导致过早收敛决定了遗传算法的全局搜索能力 变异概率(pm, probability of mutation):控制着变异算子的使用频率,决定了遗传算法的局部搜索能力。

 中止条件(termination criteria)5.遗传算法的主要特点:1.遗传算法一般是直接在解空间搜索, 而不像图搜索那样一般是在问题空间搜索, 最后才找到解 2.遗传算法的搜索随机地始于搜索空间的一个点集, 而不像图搜索那样固定地始于搜索空间的初始节点或终止节点, 所以遗传算法是一种随机搜索算法3.遗传算法总是在寻找优解, 而不像图搜索那样并非总是要求优解, 而一般是设法尽快找到解, 所以遗传算法又是一种优化搜索算法4.遗传算法的搜索过程是从空间的一个点集(种群) 到另一个点集(种群) 的搜索,而不像图搜索那样一般是从空间的一个点到另一个点地搜索 因而它实际是一种并行搜索, 适合大规模并行计算,而且这种种群到种群的搜索有能力跳出局部最优解5.遗传算法的适应性强, 除需知适应度函数 外, 几乎不需要其他的先验知识 6.遗传算法长于全局搜索, 它不受搜索空间的限制性假设的约束,不要求连续性, 能以很大的概率从离散的、多极值的、 含有噪声的高维问题中找到全局最优解6.遗传算法核心:不同的编码(Coding)方法和不同的遗传算子;7.非常好的理解遗传算法的例子遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。

例:求下述二元函数的最大值:(1) 个体编码遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种符号串本题中,用无符号二进制整数来表示因 x1, x2 为 0 ~ 7 之间的整数,所以分别用 3 位无符号二进制整数来表示,将它们连接在一起所组成的 6 位无符号二进制数就形成了个体的基因型,表示一个可 行解例如,基因型 X=101110 所对应的表现型是:x=[ 5,6 ]个体的表现型 x 和基因型 X 之间可通过编码和解码程序相互转换2) 初始群体的产生遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据本例中,群体规模的大小取为 4,即群体由 4 个个体组成,每个个体可通过随机方法产生如:011101,101011 ,011100 ,111001(3) 适应度汁算遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接利用目标函数值作为个体的适应度4) 选择运算选择运算(或称为复制运算 )把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。

一般要求适应度较高的个体将有更多的机会遗传到下一代群体中本例中,我们采用与适应度成正比的概率来确定各个个体复制到下一代群体中的数量其具体操作过程是:• 先计算出群体中所有个体的适应度的总和 fi ( i=1.2,…,M );• 其次计算出每个个体的相对适应度的大小 fi / fi ,它即为每个个体被遗传到下一代群体中的概率,• 每个概率值组成一个区域,全部概率值之和为 1;• 最后再产生一个 0 到 1 之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定各个个体被选中的次数5) 交叉运算交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某两个个体之间的部分染色体本例采用单点交叉的方法,其具体操作过程是:• 先对群体进行随机配对;• 其次随机设置交叉点位置;• 最后再相互交换配对染色体之间的部分基因6) 变异运算变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进行改变,它也是产生新个体的一种操作方法本例中,我们采用基本位变异的方法来进行变异运算,其具体操作过程是:• 首先确定出各个个体的基因变异位置,下表所示为随机产生的变异点位置,其中的数字表示变异点设置在该基因座处;• 然后依照某一概率将变异点的原有基因值取反。

对群体 P(t)进行一轮选择、交叉、变异运算之后可得到新一代的群体 p(t+1)从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都得到了明显的改进事实上,这里已经找到了最佳个体“111111” [注意] 需要说明的是,表中有些栏的数据是随机产生的这里为了更好地说明问题,我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中有可能需要一定的循环次数才能达到这个最优结果8.遗传算法作用:1.在图像分割领域,遗传算法常用来确定分割阀值9.遗传算法的基本定理-模式定理10.遗传算法问题:1.保持种群多样性,避免局部早熟:引入了一个特殊操作数:《基于遗传算法的血液细胞图像的分割方法研究_陈立英》。

下载提示
相似文档
正为您匹配相似的精品文档