(完整)遗传算法基本原理

合集下载

遗传算法的基本原理与流程

遗传算法的基本原理与流程

遗传算法的基本原理与流程遗传算法是一种模拟生物进化过程的优化算法,它通过模拟自然选择、交叉和变异等过程,逐步搜索最优解。

本文将介绍遗传算法的基本原理与流程。

一、基本原理遗传算法的基本原理是基于达尔文的进化论和孟德尔的遗传学理论。

它将问题的解表示为一个个体的染色体,染色体由基因组成。

每个基因代表问题的一个变量或决策。

通过改变基因的组合,可以得到不同的解。

而适应度函数则用来评估每个个体的适应程度,即解的优劣程度。

遗传算法的核心思想是通过模拟自然选择、交叉和变异等过程,逐步优化解的质量。

在自然选择中,适应度高的个体有更大的概率被选择为父代,而适应度低的个体则有较小的概率被选择。

交叉操作模拟了生物的基因交换过程,将两个父代个体的染色体片段进行交叉,生成新的个体。

变异操作则模拟了基因突变的过程,通过改变染色体中的基因值,引入新的解。

二、流程遗传算法的流程一般包括初始化、选择、交叉、变异和更新等步骤。

1. 初始化:首先,需要确定问题的解空间和染色体编码方式。

然后,随机生成一组初始个体作为种群。

2. 选择:根据适应度函数,选择适应度较高的个体作为父代。

常见的选择方法有轮盘赌选择、锦标赛选择等。

3. 交叉:从父代中选取两个个体进行交叉操作,生成新的个体。

交叉操作可以是单点交叉、多点交叉或均匀交叉等。

4. 变异:对新生成的个体进行变异操作,引入新的解。

变异操作可以是位变异、插入变异或交换变异等。

5. 更新:根据适应度函数,选择新生成的个体和原始个体中适应度较高的个体,更新种群。

以上步骤可以迭代执行,直到满足终止条件,例如达到最大迭代次数或找到满意的解。

三、应用与优势遗传算法广泛应用于组合优化、函数优化、机器学习等领域。

它具有以下优势:1. 全局搜索能力:遗传算法能够在解空间中进行全局搜索,避免陷入局部最优解。

2. 并行性:由于遗传算法的并行性,可以同时处理多个个体,加快搜索速度。

3. 适应性:遗传算法能够自适应地调整搜索策略,根据不同问题的特点进行优化。

遗传算法原理

遗传算法原理

遗传算法原理
遗传算法是一种基于生物进化原理的优化算法,其原理可以简要描述如下:
1. 初始化种群:随机生成一组个体(解决方案),称为种群。

2. 评估适应度:对种群中的每个个体,根据问题的具体情况计算其适应度,即解决方案的优劣程度。

3. 选择操作:根据个体的适应度,按照一定的策略选择一些个体作为父代,这些个体具有较高的适应度。

4. 杂交操作:通过交叉互换父代个体的某些部分,产生子代个体,并加入到新一代种群中。

5. 变异操作:对新一代种群中的个体,以一定的概率进行基因的突变,即改变个体某些部分的值。

6. 替换操作:根据某种规则,将新一代种群中的个体替换掉原来的个体,形成下一代种群。

7. 终止判断:判断算法是否需要终止,可以是达到一定的迭代次数、达到特定的适应度阈值等。

8. 返回结果:返回适应度最高的个体作为求解问题的解。

通过不断迭代上述步骤,遗传算法能够逐渐找到适应度更高的
解决方案,并在搜索空间中寻找全局最优解或近似最优解。

这是因为遗传算法充分利用了种群中较优个体的遗传信息,并通过选择、交叉和变异操作进行优胜劣汰,从而使种群中的解逐渐趋向于更好的解决方案。

遗传算法的基本原理

遗传算法的基本原理

遗传算法的基本原理遗传算法类似于自然进化,通过作用于染色体上的基因寻找好的染色体来求解问题。

与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应值来选择染色体,使适应性好的染色体有更多的繁殖机会。

在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始群体;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群。

对这个新种群进行下一轮进化。

这就是遗传算法的基本原理。

下面就是遗传算法思想:(1) 初始化群体;(2) 计算群体上每个个体的适应度值;(3) 按由个体适应度值所决定的某个规则选择将进入下一代的个体;(4) 按概率PX进行交叉操作;(5) 按概率PM进行突变操作;(6) 没有满足某种停止条件,则转第(2)步,否则进入(7)。

(7) 输出种群中适应度值最优的染色体作为问题的满意解或最优解。

程序的停止条件最简单的有如下二种:完成了预先给定的进化代数则停止;种群中的最优个体在连续若干代没有改进或平均适应度在连续若干代基本没有改进时停止。

根据遗传算法思想可以画出如右图所示的简单遗传算法框图:图 3.22 简单遗传算法框图遗传算法的选择算子选择即从当前群体中选择适应值高的个体以生成交配池的过程. 遗传算法中最常用的选择方式是轮盘赌(Roulette Wheel)选择方式, 也称比例选择或复制. 在该方法中, 各个个体被选择的概率和其适应度值成比例. 设群体规模大小为N, 个体i 的适应度值为Fi , 则这个个体被选择的概率为:显然, 个体适应度越大, 其被选择的概率越高, 反之亦然.遗传算法另一种常用的选择方式是锦标赛选择方式, 其基本思想是将上一代群体中的个体和本次遗传操作产生的所有新个体放到一起按适值从大到小的顺序排队, 然后取排在前面的N 个(N 为群体规模)个体组成新一代群体.遗传算法的交叉算子作用于某 2 个父代个体时, 会产生2 个子代个体, 父子2 代共4 个个体平等竞争, 淘汰2 个低适值个体, 保留 2 个高适值个体. 遗传算法的变异算子作用于某一父代个体时,会产生一个子代个体, 如果子代个体的适值比父代个体的高, 则用子代个体取代父代个体; 否则保留父代个体淘汰子代个体, 这就是父子竞争选择.遗传算法初始群体中的个体一般是随机产生的, 初始群体中的个体均匀地分布于整个串空间.在遗传迭代的早期, 群体中个体适值差别很大, 按上述3 种选择方式容易出现的问题是: 在选择下一代群体时, 适值低的个体被选中的机会很小, 最佳个体在下一代的生存机会将显著增加, 而最差个体的生存机会将被剥夺,低适值个体淘汰太快容易使算法收敛于局部最优解. 群体中的最佳个体快速充满整个群体, 导致群体多样性降低, GA 也过早地丧失了进化能力. 而到了遗传迭代的晚期,群体中个体适值差别不大, 算法收敛速度慢. 此外,遗传算法只有在引入了最优保持操作后才是全局收敛的. 因此, 我们提出改进的选择策略, 先对群体中个体的适值进行变换, 再按个体适值大小的比例进行选择. 具体方法是: 先将参与选择的X 个个体按适值从小到大顺序编号(相同适值的个体可随意排列), 然后以个体的序号作为其变换后的适值, 即X 个个体的适值分别变换为1, 2, 3,⋯, X. 编号为m 的个体被选中的概率为p=m /X , 1≤m≤X. 显然, 这种改进的选择与个体的适应值无直接关系, 仅仅与个体之间的适应值相对大小有关. 这种策略一方面通过对群体中个体适值的变换, 使群体中的个体在遗传迭代的整个过程中都能保持良好的多样性, 既保证了算法具有较快的收敛速度, 又能防止算法收敛于局部最优解; 另一方面能使上一代的最优个体一定会被选择到下一代, 即这种选择策略隐含了最优保持操作, 保证了算法的全局收敛性. 由于选择概率比较容易控制, 所以适用于动态调整选择概率, 根据进化效果适时改变群体选择压力.即轮盘赌选择方式、联赛选择方式和父子竞争选择方式, 前一种选择方式在引入了最优保持操作后能保证算法的全局收敛性, 但收敛速度较慢; 后2种选择方式不能保证算法的全局收敛性, 很可能收敛于局部最优解, 但有较快的收敛速度. 因此,适当选择遗传算法的选择方式对提高算法的计算。

遗传算法 算法原理

遗传算法 算法原理

遗传算法算法原理(原创实用版)目录1.遗传算法的概述2.遗传算法的原理3.遗传算法的应用正文一、遗传算法的概述遗传算法(Genetic Algorithm,简称 GA)是一种模拟自然界生物进化过程的优化算法。

其核心思想是基于自然选择、遗传和突变等生物学原理,通过群体中的个体在不断迭代中进行优胜劣汰,达到解决问题和优化目标的效果。

遗传算法在解决复杂问题、非线性问题和全局最优解问题等方面具有较强的优势,广泛应用于各个领域。

二、遗传算法的原理1.遗传操作遗传算法的基本操作包括选择、交叉和变异。

选择操作是根据适应度函数对当前群体中的个体进行评估,选择优秀个体进行繁殖。

交叉操作是将选中的优秀个体进行染色体互换,产生新的后代。

变异操作是在后代中随机选择某个位点进行变异,以一定的概率产生新的特性。

2.适应度函数适应度函数是遗传算法中的重要概念,用于评估每个个体的优劣程度。

适应度函数的取值范围为 [0, 1],其中 1 表示最优解,0 表示最劣解。

在遗传算法中,适应度函数的取值会直接影响到个体的选择和淘汰。

3.遗传算法的基本流程遗传算法的基本流程如下:(1)初始化种群:创建一个初始种群,包括多个随机生成的个体,每个个体表示一个解。

(2)评估适应度:计算种群中每个个体的适应度值。

(3)选择操作:根据适应度值对种群进行选择,选择一定数量的优秀个体进行繁殖。

(4)交叉操作:对选中的优秀个体进行染色体互换,生成新的后代。

(5)变异操作:在后代中随机选择某个位点进行变异,以一定的概率产生新的特性。

(6)更新种群:将新产生的后代替换掉原种群中一些适应度较低的个体,形成新的种群。

(7)重复步骤 2-6,直至满足停止条件。

三、遗传算法的应用遗传算法在许多领域都取得了显著的应用成果,如机器学习、控制系统、信号处理、图像处理、运筹学等。

遗传算法的基本原理和方法

遗传算法的基本原理和方法

遗传算法的基本原理和⽅法遗传算法的基本原理和⽅法⼀、编码编码:把⼀个问题的可⾏解从其解空间转换到遗传算法的搜索空间的转换⽅法。

解码(译码):遗传算法解空间向问题空间的转换。

⼆进制编码的缺点是汉明悬崖(Hamming Cliff),就是在某些相邻整数的⼆进制代码之间有很⼤的汉明距离,使得遗传算法的交叉和突变都难以跨越。

格雷码(Gray Code):在相邻整数之间汉明距离都为1。

(较好)有意义的积⽊块编码规则:所定编码应当易于⽣成与所求问题相关的短距和低阶的积⽊块;最⼩字符集编码规则,所定编码应采⽤最⼩字符集以使问题得到⾃然的表⽰或描述。

⼆进制编码⽐⼗进制编码搜索能⼒强,但不能保持群体稳定性。

动态参数编码(Dynamic Paremeter Coding):为了得到很⾼的精度,让遗传算法从很粗糙的精度开始收敛,当遗传算法找到⼀个区域后,就将搜索现在在这个区域,重新编码,重新启动,重复这⼀过程,直到达到要求的精度为⽌。

编码⽅法:1、⼆进制编码⽅法缺点:存在着连续函数离散化时的映射误差。

不能直接反映出所求问题的本⾝结构特征,不便于开发针对问题的专门知识的遗传运算算⼦,很难满⾜积⽊块编码原则2、格雷码编码:连续的两个整数所对应的编码之间仅仅只有⼀个码位是不同的,其余码位都相同。

3、浮点数编码⽅法:个体的每个基因值⽤某⼀范围内的某个浮点数来表⽰,个体的编码长度等于其决策变量的位数。

4、各参数级联编码:对含有多个变量的个体进⾏编码的⽅法。

通常将各个参数分别以某种编码⽅法进⾏编码,然后再将他们的编码按照⼀定顺序连接在⼀起就组成了表⽰全部参数的个体编码。

5、多参数交叉编码:将各个参数中起主要作⽤的码位集中在⼀起,这样它们就不易于被遗传算⼦破坏掉。

评估编码的三个规范:完备性、健全性、⾮冗余性。

⼆、选择遗传算法中的选择操作就是⽤来确定如何从⽗代群体中按某种⽅法选取那些个体遗传到下⼀代群体中的⼀种遗传运算,⽤来确定重组或交叉个体,以及被选个体将产⽣多少个⼦代个体。

遗传算法的的原理及应用

遗传算法的的原理及应用

遗传算法的的原理及应用遗传算法是一种模拟自然界中生物进化过程的优化算法。

它通过模拟生物的遗传机制和进化规律,利用群体中个体之间的基因交叉、变异和选择等操作来搜索最优解。

遗传算法在解决复杂问题、寻找最优解和优化参数等方面具有很好的应用前景。

遗传算法的原理是基于自然选择和遗传遗传的思想,其主要流程包括初始化种群、选择操作、交叉操作和变异操作等。

1. 初始化种群:将问题抽象成染色体表示形式,并通过随机生成初始个体形成初始种群。

每个个体对应一个解。

2. 选择操作:根据个体的适应度函数值(目标函数值),选择适应度较高的个体作为下一代的父代。

选择操作有多种方法,如轮盘赌选择、竞争选择等。

3. 交叉操作:从父代中选择一对个体作为交叉对象,通过染色体交叉产生下一代的子代。

交叉操作可以随机选择交叉点或按照染色体的结构进行交叉。

4. 变异操作:对子代染色体的基因进行变异操作,改变染色体编码的值,引入新的基因,增加种群的多样性。

变异操作可以增加搜索空间的广度。

5. 重复执行选择、交叉和变异等操作,生成下一代,并计算适应度值。

直到满足终止条件,如达到最大迭代次数或找到最优解等。

遗传算法在很多领域都有广泛的应用,如优化问题、机器学习、图形分析、自动化设计等。

1. 优化问题:遗传算法可以帮助寻找最优解,如组合优化、旅行商问题、背包问题等。

通过定义适应度函数,遗传算法可以在解的空间中搜索最优解。

2. 机器学习:遗传算法可以用于优化模型的超参数选择,如神经网络的隐层节点数、迭代次数等。

通过遗传算法,可以快速地搜索到最优的超参数组合,提高模型的性能。

3. 图形分析:遗传算法可以用于图像分析和图像处理。

通过遗传算法可以提取图像的特征,如边缘检测、目标识别等。

同时,也可以通过遗传算法优化图像处理算法的参数,如滤波器的大小、阈值等。

4. 自动化设计:遗传算法可以用于自动设计和优化复杂系统,如电子电路设计、机械结构设计等。

通过定义适应度函数和限制条件,遗传算法可以搜索到最优设计方案。

遗传算法的详解及应用

遗传算法的详解及应用

遗传算法的详解及应用遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传过程的算法。

在人工智能和优化问题中得到了广泛的应用。

本文将详细介绍遗传算法的基本原理和优化过程,并探讨它在实际应用中的价值和局限性。

一、遗传算法的基本原理遗传算法的基本原理是通过模拟生物进化的过程来寻找一个问题的最优解。

在遗传算法中,优秀的解决方案(也称为个体,Individual)在进化中拥有更高的生存几率,而劣质的解决方案则很快被淘汰。

在遗传算法的过程中,每个个体由若干个基因组成,每个基因代表某种特定的问题参数或者状态。

通过遗传算法,我们可以找到问题最优的解或者其中一个较优解。

遗传算法的基本流程如下:1. 初始化群体(Population):首先,我们需要随机生成一组初始解作为群体的个体。

这些个体被称为染色体(chromosome),每一个染色体都由一些基因(gene)组成。

所以我们可以认为群体是由很多染色体组成的。

2. 选择操作(Selection):选择运算是指从群体中选出一些个体,用来繁殖后代。

其目的是让优秀的个体留下更多的后代,提高下一代的平均适应度。

在选择操作中,我们通常采用轮盘赌选择(Roulette Wheel Selection)法、锦标赛(Tournament)法、排名选择(Ranking Selection)法等方法。

3. 交叉操作(Crossover):交叉运算是指随机地从两个个体中选出一些基因交换,生成新的染色体。

例如,我们可以将染色体A和B中的第三个基因以后的基因交换,从而产生两个新的染色体。

4. 变异操作(Mutation):变异运算是指随机改变染色体中的个别基因,以增加多样性。

例如,我们随机将染色体A的第三个基因改变,从而产生一个新的染色体A'。

5. 适应度评估(Fitness Evaluation):适应度评估是指给每一个个体一个适应度分数,该分数是问题的目标函数或者优化函数。

遗传算法的基本遗传操作及操作原理

遗传算法的基本遗传操作及操作原理

遗传算法的基本遗传操作及操作原理
遗传算法是一种模拟自然界进化的优化算法,利用遗传学中的基本遗传操作模拟自然界的进化过程,通过模拟种群的遗传变异、选择和交叉等操作,在优化问题的搜索空间中寻找最优解。

遗传算法包含四个基本遗传操作:选择、交叉、变异和复制。

1. 选择(Selection):选择是从种群中选出具有适应性较高的个体,将其遗传给下一代的过程。

选择过程的目标是从种群中选择最优解,即适应度最高的个体。

2. 交叉(Crossover):交叉是将两个个体的染色体部分互相交换,产生新的个体。

交叉的目的是产生新的个体,在新个体中保留原有个体的优点,避免遗传过程中的收敛现象。

3. 变异(Mutation):变异是对某一个个体的染色体进行随机改变,以增加种群的多样性。

变异的目的是为了使种群不断进化,避免陷入局部最优解。

4. 复制(Elitism):复制是指将适应度最高的个体直接复制到下一代,确保种群中的优良基因不被遗传变异所破坏。

遗传算法的基本原理是利用自然进化规律进行搜索,通过不断的遗传操作,逐步优化种群中的染色体,直到找到最优解。

在遗传算法的优化过程中,种群的初始
状态、适应度函数的选择以及遗传操作的选择都对算法的性能有着重要影响。

遗传算法具有适应于不同问题的优点,并且可以在大规模问题中有效地进行搜索。

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

遗传算法生物的进化是一个奇妙的优化过程,它通过选择淘汰,突然变异,基因遗传等规律产生适应环境变化的优良物种。

遗传算法是根据生物进化思想而启发得出的一种全局优化算法。

遗传算法的概念最早是由Bagley J。

D在1967年提出的;而开始遗传算法的理论和方法的系统性研究的是1975年,这一开创性工作是由Michigan大学的J.H。

Holland所实行。

当时,其主要目的是说明自然和人工系统的自适应过程。

遗传算法简称GA(Genetic Algorithm),在本质上是一种不依赖具体问题的直接搜索方法。

遗传算法在模式识别、神经网络、图像处理、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。

在人工智能研究中,现在人们认为“遗传算法、自适应系统、细胞自动机、混沌理论与人工智能一样,都是对今后十年的计算技术有重大影响的关键技术”。

3.2.1 遗传算法的基本概念遗传算法的基本思想是基于Darwin进化论和Mendel的遗传学说的。

Darwin进化论最重要的是适者生存原理.它认为每一物种在发展中越来越适应环境。

物种每个个体的基本特征由后代所继承,但后代又会产生一些异于父代的新变化.在环境变化时,只有那些熊适应环境的个体特征方能保留下来。

Mendel遗传学说最重要的是基因遗传原理。

它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。

每个基因有特殊的位置并控制某种特殊性质;所以,每个基因产生的个体对环境具有某种适应性.基因突变和基因杂交可产生更适应于环境的后代。

经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来.由于遗传算法是由进化论和遗传学机理而产生的直接搜索优化方法;故而在这个算法中要用到各种进化和遗传学的概念。

这些概念如下:一、串(String)它是个体(Individual)的形式,在算法中为二进制串,并且对应于遗传学中的染色体(Chromosome).二、群体(Population)个体的集合称为群体,串是群体的元素三、群体大小(Population Size)在群体中个体的数量称为群体的大小。

四、基因(Gene)基因是串中的元素,基因用于表示个体的特征。

例如有一个串S=1011,则其中的1,0,1,1这4个元素分别称为基因.它们的值称为等位基因(Alletes)。

五、基因位置(Gene Position)一个基因在串中的位置称为基因位置,有时也简称基因位。

基因位置由串的左向右计算,例如在串S=1101中,0的基因位置是3。

基因位置对应于遗传学中的地点(Locus).六、基因特征值(Gene Feature)在用串表示整数时,基因的特征值与二进制数的权一致;例如在串S=1011中,基因位置3中的1,它的基因特征值为2;基因位置1中的1,它的基因特征值为8。

七、串结构空间SS在串中,基因任意组合所构成的串的集合。

基因操作是在结构空间中进行的。

串结构空间对应于遗传学中的基因型(Genotype)的集合。

八、参数空间SP这是串空间在物理系统中的映射,它对应于遗传学中的表现型(Phenotype)的集合.九、非线性它对应遗传学中的异位显性(Epistasis)十、适应度(Fitness)表示某一个体对于环境的适应程度.遗传算法还有一些其它的概念,这些概念在介绍遗传算法的原理和执行过程时,再进行说明。

3.2.2遗传算法的原理遗传算法GA把问题的解表示成“染色体",在算法中也即是以二进制编码的串.并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。

然后,把这些假设解置于问题的“环境"中,并按适者生存的原则,从中选择出较适应环境的“染色体”进行复制,再通过交叉,变异过程产生更适应环境的新一代“染色体”群。

这样,一代一代地进化,最后就会收敛到最适应环境的一个“染色体”上,它就是问题的最优解。

一、遗传算法的目的典型的遗传算法CGA(Canonical Genetic Algorithm)通常用于解决下面这一类的静态最优化问题:考虑对于一群长度为L的二进制编码bi,i=1,2,…,n;有bi{0,1}L (3-84)给定目标函数f,有f(bi),并且同时f(bi)≠f(bi+1)求满足下式max{f(bi)|bi{0,1}L}的bi.很明显,遗传算法是一种最优化方法,它通过进化和遗传机理,从给出的原始解群中,不断进化产生新的解,最后收敛到一个特定的串bi处,即求出最优解。

二、遗传算法的基本原理长度为L的n个二进制串bi(i=1,2,…,n)组成了遗传算法的初解群,也称为初始群体。

在每个串中,每个二进制位就是个体染色体的基因。

根据进化术语,对群体执行的操作有三种:1.选择(Selection)这是从群体中选择出较适应环境的个体。

这些选中的个体用于繁殖下一代.故有时也称这一操作为再生(Reproduction)。

由于在选择用于繁殖下一代的个体时,是根据个体对环境的适应度而决定其繁殖量的,故而有时也称为非均匀再生(differential reproduction)。

2.交叉(Crossover)这是在选中用于繁殖下一代的个体中,对两个不同的个体的相同位置的基因进行交换,从而产生新的个体。

3.变异(Mutation)这是在选中的个体中,对个体中的某些基因执行异向转化。

在串bi中,如果某位基因为1,产生变异时就是把它变成0;反亦反之.遗传算法的原理可以简要给出如下:choose an intial populationdetermine the fitness of each individualperform selectionrepeatperform crossoverperform mutationdetermine the fitness of each individualperform selectionuntil some stopping criterion applies这里所指的某种结束准则一般是指个体的适应度达到给定的阀值;或者个体的适应度的变化率为零。

三、遗传算法的步骤和意义1.初始化选择一个群体,即选择一个串或个体的集合bi,i=1,2,.。

.n。

这个初始的群体也就是问题假设解的集合。

一般取n=30-160。

通常以随机方法产生串或个体的集合bi,i=1,2,...n。

问题的最优解将通过这些初始假设解进化而求出.2.选择根据适者生存原则选择下一代的个体。

在选择时,以适应度为选择原则。

适应度准则体现了适者生存,不适应者淘汰的自然法则。

给出目标函数f,则f(bi)称为个体bi的适应度。

以为选中bi为下一代个体的次数.显然.从式(3—86)可知:(1)适应度较高的个体,繁殖下一代的数目较多。

(2)适应度较小的个体,繁殖下一代的数目较少;甚至被淘汰。

这样,就产生了对环境适应能力较强的后代.对于问题求解角度来讲,就是选择出和最优解较接近的中间解。

3.交叉对于选中用于繁殖下一代的个体,随机地选择两个个体的相同位置,按交叉概率P.在选中的位置实行交换。

这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。

交叉时,可实行单点交叉或多点交叉。

例如有个体S1=100101S2=010111选择它们的左边3位进行交叉操作,则有S1=010101S2=100111一般而言,交婊显譖。

取值为0。

25—0。

75.4.变异根据生物遗传中基因变异的原理,以变异概率Pm对某些个体的某些位执行变异.在变异时,对执行变异的串的对应位求反,即把1变为0,把0变为1。

变异概率Pm与生物变异极小的情况一致,所以,Pm的取值较小,一般取0。

01—0。

2。

例如有个体S=101011.对其的第1,4位置的基因进行变异,则有S’=001111单靠变异不能在求解中得到好处。

但是,它能保证算法过程不会产生无法进化的单一群体。

因为在所有的个体一样时,交叉是无法产生新的个体的,这时只能靠变异产生新的个体.也就是说,变异增加了全局优化的特质.5.全局最优收敛(Convergence to the global optimum)当最优个体的适应度达到给定的阀值,或者最优个体的适应度和群体适应度不再上升时,则算法的迭代过程收敛、算法结束.否则,用经过选择、交叉、变异所得到的新一代群体取代上一代群体,并返回到第2步即选择操作处继续循环执行。

图3-7中表示了遗传算法的执行过程.图3—7 遗传算法原理3.2.3遗传算法的应用遗传算法在很多领域都得到应用;从神经网络研究的角度上考虑,最关心的是遗传算法在神经网络的应用.在遗传算法应用中,应先明确其特点和关键问题,才能对这种算法深入了解,灵活应用,以及进一步研究开发。

一、遗传算法的特点1.遗传算法从问题解的中集开始嫂索,而不是从单个解开始.这是遗传算法与传统优化算法的极大区别。

传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。

遗传算法从串集开始搜索,复盖面大,利于全局择优。

2.遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。

由于遗传算法使用适应值这一信息进行搜索,并不需要问题导数等与问题直接相关的信息。

遗传算法只需适应值和串编码等通用信息,故几乎可处理任何问题。

3.遗传算法有极强的容错能力遗传算法的初始串集本身就带有大量与最优解甚远的信息;通过选择、交叉、变异操作能迅速排除与最优解相差极大的串;这是一个强烈的滤波过程;并且是一个并行滤波机制。

故而,遗传算法有很高的容错能力。

4.遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。

这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最优解的产生,变异体现了全局最优解的复盖。

5.遗传算法具有隐含的并行性遗传算法的基础理论是图式定理。

它的有关内容如下:(1)图式(Schema)概念一个基因串用符号集{0,1,*}表示,则称为一个因式;其中*可以是0或1.例如:H=1xx 0 x x是一个图式.(2)图式的阶和长度图式中0和1的个数称为图式的阶,并用0(H)表示.图式中第1位数字和最后位数字间的距离称为图式的长度,并用δ(H)表示。

对于图式H=1x x0x x,有0(H)=2,δ(H)=4。

(3)Holland图式定理低阶,短长度的图式在群体遗传过程中将会按指数规律增加.当群体的大小为n时,每代处理的图式数目为0(n3)。

遗传算法这种处理能力称为隐含并行性(Implicit Parallelism)。

它说明遗传算法其内在具有并行处理的特质。

二、遗传算法的应用关键遗传算法在应用中最关键的问题有如下3个1.串的编码方式这本质是问题编码。

一般把问题的各种参数用二进制编码,构成子串;然后把子串拼接构成“染色体"串.串长度及编码形式对算法收敛影响极大。

相关文档
最新文档