遗传算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 针对本优化问题中自变量的定义域,可以考虑采用二进制 数来对其编码,遗传算法是从一个种群(由若干个串组成, 每个串对应一个自变量值)开始,不断的产生和测试新一 代的种群。初始种群的生长往往是随机产生的。对于本优 化问题,若设种群大小为4,即含有4个个体,则需要按位 随机生成4个5位二进制串。例如,通过掷硬币20次,随机 的生成如下4个位串(正面=“1”,背面=“0”)

• (5)遗传算法具有隐含并行性。遗传算法在搜索过程中 使用相对较少的串,就可以检验表示数量级极大的区域。 这种特性称为隐含并行性(implicit parallelism)。这一特 性再次提高搜索效率,且易于采用并行机制做并行高速运 算,发展潜力很大。 • (6)遗传算法最善于搜索复杂区域,从中找出期望值高 的区域,但搜索效率不高。正如遗传算创始人John H.Holland所指出的“如果只对几个变量做微小的改动就能 进一步改进解,则最好使用一些更普通的方法,来为遗传 算法助一臂之力”。 • 上述特点使得遗传算法使用简单、鲁棒性强、易于并行化, 从而应用范围很广。

• 7.2.2 交叉
简单的交叉操作分两步实现。在由等待配对的位串构成的 匹配池中,第一步是将新复制产生位串个体随机两两配对; 第二步是随机的选择交叉点,将匹配的位串进行交叉繁殖, 产生一对新的位串,具体过程如下:

设位串的字符长度为l,随机的从[l,l-1]中选取一个整数位置值k, 则从两个配对位串中从位置k到串末尾的子串相互交换,从而生 成两个新的位串。例如,本优化问题中初始种群的两个个体

• 表7-3列出了交叉操作之后的结果数据。从中可以看出交 叉操作的具体过程。首先随机的将匹配池中的个体配对, 位串1和位串2配对,位串3和位串4配对;然后,随机的选 取交叉点,设位串1(0110∣1)和位串2(1100 ∣ 0)的 交叉点为k=4,二者只交换最后一位,从而生成两个新的 位串,即(01100)和(11001);位串3(11 ∣ 000)和 位串4(10 ∣ 011)的交换点为k=2,二者交换后三位。结 果生成两个新的位串,即(11011)和(10000)。

7.1.1 遗传算法的发展概况

7.1.2 遗传算法的生物学基础
生命的基本特征包括生长、繁殖、新陈代谢和遗传与变异。 达尔文用自然选择(natural selection)来解释物种的起源 和生物的进化,其自然选择学说包括以下三个方面: (1)遗传(heredity)、(2)变异(variation)、 (3)生存斗争和适者生存。 遗传算法是一种模拟生物进化过程的随机优化方法,以下先 给出几个生物学的基本概念和术语。 染色体(chormosome),生物细胞中含有的一种微小的丝状 化合物。它是遗传物质的主要载体,由多个遗传因子—— 基因组成。 遗传因子(gene),DNA或RNA长链结构中占有一定位 置的基本遗传单位,也称为基因。

遗传子型(genotype),遗传因子组合的模型叫遗传子型。它是 性状染色体的内部表现,又称基因型。一个细胞核中所有染色体 所携带的遗传信息的全体称为一个基因组(genome)。 表现型(phenotype),由染色体决定性状的外部表现,或者说, 根据遗传子型形成的个体。 基因座(locus),遗传基因在染色体中所占据的位置。同一基因 座可能有的全部基因称为等位基因(allele)。

7.3.2 积木块假说
定义7.3 具有低阶、短定义距以及高适应度的模式称为“积 木块”。
Leabharlann Baidu
正如搭积木一样,这些“好”的模式在遗传操作下相互拼搭、 结合,产生适应度更高的串,从而找到更优的可行解,这 正是积木块假设所揭示烦人内容。 假设7.1 低阶、短定义距以及高适应度的模式(积木块)在 遗传算子的作用下,相互结合,能生成高阶、长定义距、 高平均适应度的模式,可最终生成全局最优解。

这样位串的适配值越高,在其下一代产生的后代就越多。

• 当一个位串被选中时,此位串将被完整的复制,然后将复 制位串送入匹配池中。旋转4次转轮即产生4个位串。这4 个位串是上一代种群的复制,有的位串可能被复制一次或 多次,有的可能被淘汰。在本优化问题中,位串3被淘汰, 位串4被复制1次。如表7-2所示,适配值最好的有较多的 副本,平均的折中,而最差的被淘汰。

• 位串1~4可分别解码为如下十进制的数:

• 遗传算法的每一代都是从复制开始的。复制操作可以以轮 盘选择法、择优选择法、确定性选择法、两两竞争法、线 性标准化方法等多种算法的形式实现,这里采用轮盘赌选 择法,群体中的每个当前串按照其适配值的比例占据盘面 上成比例的一块区域。对应于本优化问题,依表7-1可绘 制出如图7-1所示的轮盘赌转盘。

• 7.2.3 变异
尽管复制和交叉操作很重要,在遗传算法中是第一位的,但 不能保证不会遗漏一些重要的遗传信息。在人工遗传系统 中,变异用来防止这种不可弥补的遗漏。在简单遗传算法 中,变异就是某个字符串某一位的值偶然的(概率很小的) 随机的改变,即在某些特定位置上简单的把0变成1或反之。 变异是沿着位串字符空间的随机移动。当它有节制的和交 叉一起使用时,它就是一种防止过度成熟而丢失重要概念 的保险策略。例如,随机产生的一个种群,如表7-4所示。

7.1.3 遗传算法的特点
同常规优化算法相比,遗传算法有以下特点: (1)遗传算法的处理对象不是参变量本身,而是参变量编码后的 称为人工染色体的位串,使得遗传算法可直接对集合、队列、 矩阵、图表等结构对象进行操作。 (2)遗传算法是多点搜索,而不是单点,从而避免陷入局部最优, 逐步逼近全局最优解。 (3)与自然界类似,遗传算法对求解问题的本身可以一无所知, 如对搜索空间没有特殊要求(如连续、凸性等),对目标函数 也不要求诸如连续性、导数存在和单峰等假设,它所需要的仅 是对算法所产生的每个染色体进行评价,并基于适应值排列等 级来选择染色体,使适应值好的染色体比适应值差的染色体有 更多的繁殖机会。遗传算法利用简单的编码技术和 繁殖机制来 表现复杂的现象,从而解决非常困难的问题。 (4)遗传算法是一种自适应随机搜索算法。遗传算法是以概率原 则指导搜索,适应值高的个体,在进化过程中将被赋予更高的 选择概率,在下一代中有更大的繁殖机会。遗传算法可以有效 的利用已有的信息来搜寻那些有希望改善解质量的串,比一般 的随机搜索有更高的搜索效率。

个体(individual),指染色体带有特征的实体。 种群(population),染色体带有特征的个体的集合。该集 合内个体数称为群体的大小。有时个体的集合也称为个体群。 进化(evolution),生物在其延续生存的过程中,逐渐适应 其生存环境,使得其品质不断得到改良,这种生命现象称为 进化。生物的进化是以种群的形式进行的。 适应度(fitness),在研究自然界中生物的遗传和进化现象 时,生物学家使用适应度这个术语来度量某个物种对于生存 环境的适应程度。
第7章 遗传算法
• 7.1 遗传算法概述
遗传算法(Genetic Algorithm,GA)是一类借鉴生物界的 进化规律(适者生存,优胜劣太遗传机制)演化而来的全 局优化自适应概率搜索方法,具有全局收敛性和并行性, 适用性广,并仅需要较少的先验知识。遗传算法已被人们 广泛的应用于解决组合优化、机器学习、图像处理、模式 识别、信号处理、自适应控制和人工生命等领域的实际问 题。遗传算法具有可扩展性,便于与模糊逻辑、神经网络 和专家系统结合,从而为智能控制的研究注入新的活力。

• 这样就完成了遗传算法的准备工作。以下来介绍遗传算法 的三个基本操作步骤。

• 7.2.1 复制
• 复制是从一个旧种群中选择生命力强的个体位串(或称字 符串)产生新种群的过程。或者说,复制时个体串根据其 目标函数f(即适配值函数)复制自己的过程。在自然群 体中,适配值是由一个生物为继续生存而捕食、预防时疫、 在生长和繁殖后代过程中克服障碍的能力决定的。在复制 操作过程中,目标函数(适配值)是该串被复制或被淘汰 的决定因素。 • 将上述通过抛一个均匀的硬币20次得到的初始种群,将其 编号成四个位串:

选择(election),指决定以一定的概率从种群中选择若干个体的 操作。一般而言,选择的过程是一种基于适应度的优胜劣汰的过 程。 复制(reproduction),细胞在分裂时,遗传物种DNA通过复制而 转移到新产生的细胞中,新的细胞就继承了旧细胞的基因。 交叉(crossover),有性生殖生物在繁殖下一代时两个同源染色 体之间通过交叉而重组,亦即在两个染色体的某一相同位置处 DNA被切断,其前、后两串分别交叉组合形成两个新的染色体。 这个过程又称基因重组,俗称“杂交”。 变异(mutation),在细胞进行复制时可能以很小的概率产生某些 复制变异,从而使DNA发生某种变异,产生新的染色体,这些新 的染色体表现出新的性状。 编码(coding),DNA中遗传信息在一个长链上按一定的模式排列, 也即进行了遗传编码。遗传编程可以看做从表现型到遗传子型的 映射。 解码(decoding),从遗传子型到表现型的映射。

7.2 遗传算法的基本操作
• 根据达尔文的进化理论,群体中的个体之间进行生存斗争, 对环境适应度高的个体更容易生存下来,同时父染色体和 母染色体进行交叉配对和突然变异而繁殖后代;而对环境 适应度低的个体则从群体中淘汰。这样,子代保留了来自 父本和母本的大部分遗传信息,又有一定的变异性,从而 体现了子女和父母有一些相似但又有明显的差别。如此一 代代的进化,最后整个群体都能适应所给定的环境,从而 求出优化问题的最优解。由此可知,遗传算法的基本操作 包括复制、交叉和变异。复制、交叉和变异操作体现了适 者生存,优胜劣汰的进化规则。 • 假设需要求解的优化问题为寻找 ,当自变量x在 0~31之间取整数值时函数的最大值。遗传算法的第一步是 将x编码为有限长度的串。

图7-2 积木块混合

7.3.3 内在并行性
定理7.2(内在并行性定理) 设ε ∈(0,1)是一个很小的数, ,群体规模为N= ,则GA在一次迭代中所 -1 处理的“存活率”大于 1,ε的模式数约为O(N^3).其中,int (x)函数表示上取整。内在并行性表现出GA对空间的搜索效 率是非常高的,它每对种群进行一次处理就处理了O(N^3)个 模式。

7.3 遗传算法的理论基础
• 7.3.1 模式定理
1、模式 模式表示基因串中某些特征为相同的结构,也可解释为相同 的构型。 2、模式阶和定义距 定义7.1 模式H中确定位置的个数称为模式H的模式阶,记做 o(H). 定义7.2 模式H中第一确定位置和最后一个确定位置之间的 距离称为模式的定义距。 3、模式定理 定理7.1 在复制、交叉和变异操作的作用下,具有低阶、短 定义距以及平均适应度高于群体平均适应度的模式在子代 中得以指数级的增长。

• 复制时,只是简单的转动这个按权重 划分的转盘4次,从而产生4个下一代的种 群。例如,对于表7-1中的位串4,其适 配值为361,为总适配值的30.9%。因此, 每次转动一次轮盘,只想位串的概率为 0.309。每当需要另一个后代时,就简单的 转动一次转轮,产生一个复制的候选者。
图7-1 按适配值所占比例划分的赌轮

7.3.4 Walsh模式变换
1、walsh函数 walsh函数的基函数只有两个值+1和-1.

定理7.3 walsh函数的基函数为正交函数 ,满足

定理7.4 任意函数f(x) 可以展开表示成walsh多项式:

2、用walsh 函数表示模式平均适应度 考虑模式H的平均适应度

位串的字符长度l=5,假定在1和4之间随机的选取一个值k(k=4, 如分隔符“∣”所示),经交叉操作后将得到如下两个新串,即

遗传算法的有效性主要来自复制和交叉操作,尤其是交叉在遗传 算法中起着核心的作用。人们在社会生活中的思想交流、学术 交流、多学科交汇形成的交叉学科等,本质上都是观念和思想 上的交叉,而这种交叉是富有成果的。位串交叉就相应于不同 观念的重新组合,而新思想就是在这种组合中产生的,遗传搜 索的威力也在于此。
相关文档
最新文档