进化算法和遗传算法
㈠ Evolutionary Algorithms,Genetic Algorithm 进化算法和遗传算法二者有啥区别
Evolutionary Algorithms:进化算法;
Genetic Algorithm:遗传算法;
进化算法包括遗传算法、进化程内序设计、进化规划和进化策略。容
基于对生物进化机制的模仿,共产生进化算法的四种典型模型:
①遗传算法 Genetic Algorithm,GA
②进化规划 Evolutionary Programming,EP
③遗传规划 Genetic Programming,GP
④进化策略 Evolution Strategy, ES
虽然这些概念的内涵有一定的差别,它们有各自不同的侧重点,各自有不同的生物进化背景,各自强调了生物进化过程中的不同特性,但本质上都基于进化思想的,都能产生鲁棒性较强的计算机算法,适应面较广,因此又称它们为进化算法或进化计算。
㈡ 量子遗传算法与遗传算法有什么区别
遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(indivial)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。
量子遗传算法是量子计算与遗传算法相结合的产物。目前,这一领域的研究主要集中在两类模型上:一类是基于量子多宇宙特征的多宇宙量子衍生遗传算法(Quantum Inspired Genetic Algorithm),另一类是基于量子比特和量子态登加特性的遗传量子算法(Genetic Quantum Algorithm,GQA)。
量 子遗传算法(Quantum GeneticA lgorithm,QGA)。QGA采用多状态基因量子比特编码方式和通用的量子旋转门操作。引入动态调整旋转角机制和量子交叉,比文献[2]的方法更具有通用性,且效率更高。但该方法仍是一个群体独自演化没有利用盈子信息的多宇宙和宇宙间的纠缠特性效率有待进一步提高。文献[3]提出一种多宇宙并行量子遗传算法(Multiuniverse Parallel Quantum Genetic Algorithm,MPQGA),算法中将所有的个体按照一定的拓扑结构分成一个个独立的子群体,称为宇宙;采用多状态基因量子比特编码方式来表达宇宙中的个体;采用通用的量子旋转门策略和动态调整旋转角机制对个体进行演化;各宇宙独立演化,这样可扩大搜索空间,宇宙之间采用最佳移民、量子交叉和量子变异操作来交换信息使算法的适应性更强,效率更高。
㈢ 蚁群算法、遗传算法、蜂群算法、粒子群算法和差分进化算法,这五种群智能对比分析
粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解。
PSO和GA的相同点:
(1)都属于仿生算法。PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律。
(2)都属于全局优化方法。两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。
(3)都属于随机搜索算法。都是通过随机优化方法更新种群和搜索最优点。PSO中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作。
(4)都隐含并行性。搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性。并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率。
(5)根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。
(6)对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。
PSO和GA不同点
(1)PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏。
(2)在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动。PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程。在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解。
(3)GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。
(4)在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱。尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。
(5)在应用方面,PSO算法主要应用于连续问题,包括神经网络训练和函数优化等,而GA除了连续问题之外,还可应用于离散问题,比如TSP问题、货郎担问题、工作车间调度等。
㈣ 网上经常所说的遗传算法与基因算法是一回事吗有什么不同各自的用途用在什么地方
遗传算法
GA是一种基于自然群体遗传演化机制的高效探索算法,它是美国学者Holland于1975年首先提出来的。
它摒弃了传统的搜索方式,模拟自然界生物进化过程,采用人工进化的方式对目标空间进行随机化搜索。它将问题域中的可能解看作是群体的一个个体或染色体,并将每一个体编码成符号串形式,模拟达尔文的遗传选择和自然淘汰的生物进化过程,对群体反复进行基于遗传学的操作(遗传,交叉和变异),根据预定的目标适应度函数对每个个体进行评价,依据适者生存,优胜劣汰的进化规则,不断得到更优的群体,同时以全局并行搜索方式来搜索优化群体中的最优个体,求得满足要求的最优解。
Holland创建的遗传算法是一种概率搜索算法,它是利用某种编码技术作用于称为染色体的数串,其基本思想是模拟由这些组成的进化过程。跗算法通过有组织地然而是随机地信息交换重新组合那些适应性好的串,在每一代中,利用上一代串结构中适应好的位和段来生成一个新的串的群体;作为额外增添,偶尔也要在串结构中尝试用新的位和段来替代原来的部分。
遗传算法是一类随机化算法,但是它不是简单的随机走动,它可以有效地利用已经有的信息处理来搜索那些有希望改善解质量的串,类似于自然进化,遗传算法通过作用于染色体上的基因,寻找好的染色体来求解问题。与自然界相似,遗传算法对待求解问题本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应度值来造反染色体,使适用性好的染色体比适应性差的染色体有更多的繁殖机会。
基因:组成染色体的单元,可以表示为一个二进制位,一个整数或一个字符等。
染色体或个体:表示待求解问题的一个可能解,由若干基因组成,是GA操作的基本对象。
群体:一定数量的个体组成了群体,表示GA的遗传搜索空间。
适应度或适度:代表一个个体所对应解的优劣,通常由某一适应度函数表示。
选择:GA的基本操作之一,即根据个体的适应度,在群体中按照一定的概论选择可以作为父本的个体,选择依据是适应度大的个体被选中的概率高。选择操作体现了适者生存,优胜劣汰的进化规则。
交叉:GA的基本操作之一,即将父本个体按照一定的概率随机地交换基因形成新的个体。
变异:GA的基本操作之一,即即按一定概率随机改变某个体的基因值。
基因算法是一种生物进化的算法,实际上是一种多目标的探索法.能够用于计划与排程.它是非常新的技术,目前,还没有在商业中实际运用.
采用生物基因技术高级算法,处理日益复杂的现实世界,也是人工智能上,高级约束算法上的挑战. 基因算法是一种搜索技术,它的目标是寻找最好的解决方案。这种搜索技术是一种优化组合,它以模仿生物进化过程为基础。基因算法的基本思想是,进化就是选择了最优种类。基因算法将应用APS上,以获得“最优”的解决方案。
㈤ 遗传算法的优缺点
遗传算法与传统的优化方法(枚举,启发式等)相比较,以生物进化为原版型,具有很好权的收敛性,在计算精度要求时,计算时间少,鲁棒性高等都是它的优点。
在现在的工作中,遗传算法(1972年提出)已经不能很好的解决大规模计算量问题,它很容易陷入“早熟”。常用混合遗传算法,合作型协同进化算法等来替代,这些算法都是GA的衍生算法。
㈥ 各种进化算法有什么异同
(差异进化算复法DE)是一种用于优化问题制的启发式算法。本质上说,它是一种基于实数编码的具有保优思想的贪婪遗传算法[1] 。同遗传算法一样,差异进化算法包含变异和交叉操作,但同时相较于遗传算法的选择操作,差异进化算法采用一对一的淘汰机制来更新种群。由于差异进化算法在连续域优化问题的优势已获得广泛应用,并引发进化算法研究领域的热潮。 差异进化算法由Storn 以及Price [2]提出,算法的原理采用对个体进行方向扰动,以达到对个体的函数值进行下降的目的,同其他进化算法一样,差异进化算法不利用函数的梯度信息,因此对函数的可导性甚至连续性没有要求,适用性很强。
㈦ 遗传算法的优缺点
优点:
1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。
另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。
2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。
3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。
另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。
4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。
5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。
缺点:
1、遗传算法在进行编码时容易出现不规范不准确的问题。
2、由于单一的遗传算法编码不能全面将优化问题的约束表示出来,因此需要考虑对不可行解采用阈值,进而增加了工作量和求解时间。
3、遗传算法效率通常低于其他传统的优化方法。
4、遗传算法容易出现过早收敛的问题。
(7)进化算法和遗传算法扩展阅读
遗传算法的机理相对复杂,在Matlab中已经由封装好的工具箱命令,通过调用就能够十分方便的使用遗传算法。
函数ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最优解,fval是最优值,@fitnessness是目标函数,nvars是自变量个数,options是其他属性设置。系统默认求最小值,所以在求最大值时应在写函数文档时加负号。
为了设置options,需要用到下面这个函数:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通过这个函数就能够实现对部分遗传算法的参数的设置。
㈧ 差分进化算法和遗传算法有甚么区分
遗传:生物亲代与子代之间、子代体之间类似现象.
父母基因特点传给子女进化:专指生物由简单复杂、由低级高级发展变化又称作演变作算法而言也与之类似根据限制条件使部份特性满足者继续遗传特性便成进化因此遗传进化基础遗传包括于进化遗传进化必要条件