当前位置:首页 » 遗传因素 » 遗传配对算法

遗传配对算法

发布时间: 2021-03-29 22:50:53

遗传算法的运算过程

遗传操作是模拟生物基因遗传的做法。在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解,一代又一代地优化,并逼近最优解。
遗传操作包括以下三个基本遗传算子(genetic operator):选择(selection);交叉(crossover);变异(mutation)。这三个遗传算子有如下特点:
个体遗传算子的操作都是在随机扰动情况下进行的。因此,群体中个体向最优解迁移的规则是随机的。需要强调的是,这种随机化操作和传统的随机搜索方法是有区别的。遗传操作进行的高效有向的搜索而不是如一般随机搜索方法所进行的无向搜索。
遗传操作的效果和上述三个遗传算子所取的操作概率,编码方法,群体大小,初始群体以及适应度函数的设定密切相关。 从群体中选择优胜的个体,淘汰劣质个体的操作叫选择。选择算子有时又称为再生算子(reproction operator)。选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有以下几种:适应度比例方法、随机遍历抽样法、局部选择法。
其中轮盘赌选择法 (roulette wheel selection)是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为,则i 被选择的概率,为遗传算法
显然,概率反映了个体i的适应度在整个群体的个体适应度总和中所占的比例。个体适应度越大。其被选择的概率就越高、反之亦然。计算出群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。每一轮产生一个[0,1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。个体被选后,可随机地组成交配对,以供后面的交叉操作。 在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。
交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法:
a)实值重组(real valued recombination)
1)离散重组(discrete recombination)
2)中间重组(intermediate recombination)
3)线性重组(linear recombination)
4)扩展线性重组(extended linear recombination)。
b)二进制交叉(binary valued crossover)
1)单点交叉(single-point crossover)
2)多点交叉(multiple-point crossover)
3)均匀交叉(uniform crossover)
4)洗牌交叉(shuffle crossover)
5)缩小代理交叉(crossover with reced surrogate)。
最常用的交叉算子为单点交叉(one-point crossover)。具体操作是:在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。下面给出了单点交叉的一个例子:
个体A:1 0 0 1 ↑1 1 1 → 1 0 0 1 0 0 0 新个体
个体B:0 0 1 1 ↑0 0 0 → 0 0 1 1 1 1 1 新个体 变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法:
a)实值变异
b)二进制变异。
一般来说,变异算子操作的基本步骤如下:
a)对群中所有个体以事先设定的变异概率判断是否进行变异
b)对进行变异的个体随机选择变异位进行变异。
遗传算法引入变异的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。此时收敛概率应取较大值。
遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具备兼顾全局和局部的均衡搜索能力。所谓相互配合.是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。
基本变异算子是指对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的基因值做变动(以变异概率P.做变动),(0,1)二值码串中的基本变异操作如下:
基因位下方标有*号的基因发生变异。
变异率的选取一般受种群大小、染色体长度等因素的影响,通常选取很小的值,一般取0.001-0.1。 当最优个体的适应度达到给定的阈值,或者最优个体的适应度和群体适应度不再上升时,或者迭代次数达到预设的代数时,算法终止。预设的代数一般设置为100-500代。

⑵ 关于遗传算法OR匹配算法的应用

过分的过分的过分的过分的

⑶ DNA 碱基配对怎么配 算法

在高中生物中有关核酸中碱基含量的计算题是学生容易出现错误的,各类资料介绍的解题方法也很多,一题多解也屡见不鲜。要解决有关碱基含量计算的问题,关键在于对碱基互补配对原则的理解及运用。碱基互补配对原则对双链DNA分子中四种碱基的关系作了明确的阐述:嘌呤与嘧啶配对,且A=T,G=C,由此人们归纳出三条规律。 规律一:在双链DNA分子中,不互补的两碱基含量之和是相等的,占整个分子碱基总量的50%。即:A+G=T+C或A+C=T+G。 规律二:在双链DNA分子中,一条链中的嘌呤之和与嘧啶之和的比值(A+G/T+C或T+C/A+G)与其互补链中相应的比值互为倒数。 规律三:在双链DNA分子中,一条链中的互补的碱基对和(如A+T或C+G)占全部碱基的比等于其任何一条单链中该种碱基比例的比值(也等于其转录形成的信使RNA中该种碱基比例的比值);一条链中的互补的碱基对的比值(A+T/G+C或G+C/A+T)与其在互补链中的比值和在整个分子中的比值相等。 我认为,遵循碱基互补配对原则及其引申的规律,特别是对于第三条规律,在解题中运用示意图分析法解答有关碱基含量计算的问题,直观明了,可以避免烦琐的推理和运算,迅速得到答案,得到事半功倍的效果。

⑷ 基因遗传算法的主流是什么

基因遗传算法是一种灵感源于达尔文自然进化理论的启发式搜索算法 该算法反映了自然选择的过程 即最适者被选定繁殖 并产生下一代
自然选择的过程从选择群体中最适应环境的个体开始 后代继承了父母的特性 并且这些特性将添加到下一代中 如果父母具有更好的适应性 那么它们的后代将更易于存活 迭代地进行该自然选择的过程 最终 我们将得到由最适应环境的个体组成的一代
这一概念可以被应用于搜索问题中 我们考滤一个问题的诸多解决方案 并从中搜寻出最佳方案
遗传算法含以下五步
1.初始化
2.个体评价(计算适应度函数)
3.选择运算
4.交叉运算
5.变异运算
初始化
该过程从种群的一组个体开始 且每一个体都是待解决问题的一个候选解
个体以一组参数(变量)为特征 这些特征被称为基因 串联这些基因就可以组成染色体(问题的解)
在遗传算法中 单个个体的基因组以字符串的方式呈现 通常我们可以使用二进制(1和0的字符串)编码 即一个二进制串代表一条染色体串 因此可以说我们将基因串或候选解的特征编码在染色体中
个体评价利用适应度函数评估了该个体对环境的适应度(与其它个体径争的能力)每一个体都有适应评分 个体被选中进行繁殖的可能性取决于其适应度评分 适应度函数是遗传算法进化的驱动力 也是进行自然选择的唯一标准 它的设计应结合求解问题本身的要求而定
选择运算的目的是选出适应性最好的个体 并使它们将基因传到下一代中 基于其适应度评分 我们选择多对较优个体(父母)适应度高的个体更易被选中繁殖 即将较优父母的基因传递到下一代
交叉运算是遗传算法中最重要的阶段 对每一对配对的父母 基因都存在随机选中的交叉点
变异运算
在某些形成的新后代中 它们的某些基因可能受到低概率变异因子的作用 这意味着二进制位串中的某些位可能会翻转
变异运算前后
变异运算可用于保持群内的多样性 并防止过早收敛
终止
在群体收敛的情况下(群体内不产生与前一代差异较大的后代)该算法终止 也就是说遗传算法提供了一组问题的解

⑸ 遗传算法中的交叉配对的个体是随机配对的还是按顺序从上到下配对的

这就要看你采取哪种方法了,你可以把所有要交叉的个体按适应度好坏进行排列,然后第一和第二配对,第三和第四配对,以此类推。也可以第一和倒数第一配对,第二和倒数第二配对,以此类推。
也可以不进行排列,随机选择其中两个进行配对。

⑹ 遗传算法的基本原理

遗传算法通常的实现方式,就是用程序来模拟生物种群进化的过程。对于一个求专最优解的问题,我属们可以把一定数量的候选解(称为个体)抽象地表示为染色体,使种群向更好的解来进化。大家知道,使用算法解决问题的时候,解通常都是用数据或者字符串等表示的,而这个数据或字符串对应到生物中就是某个个体的“染色体”。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中评价其在整个种群的适应度,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的种群,该种群在算法的下一次迭代中成为当前种群。其具体的计算步骤如下:

  • 编码:将问题空间转换为遗传空间;

  • 生成初始种群:随机生成P个染色体;

  • 种群适应度计算:按照确定的适应度函数,计算各个染色体的适应度;

  • 选择:根据染色体适应度,按照选择算子进行染色体的选择;

  • 交叉:按照交叉概率对被选择的染色体进行交叉操作,形成下一代种群;

  • 突变:按照突变概率对下一代种群中的个体进行突变操作;

  • 返回第3步继续迭代,直到满足终止条件。

⑺ 基因遗传算法主流

基因遗传算法是一种灵感源于达尔文自然进化理论的启发式搜索算法 该算法反映了自然选择的过程 即最适者被选定繁殖 并产生下一代
自然选择的过程从选择群体中最适应环境的个体开始 后代继承了父母的特性 并且这些特性将添加到下一代中 如果父母具有更好的适应性 那么它们的后代将更易于存活 迭代地进行该自然选择的过程 最终 我们将得到由最适应环境的个体组成的一代
这一概念可以被应用于搜索问题中 我们考滤一个问题的诸多解决方案 并从中搜寻出最佳方案
遗传算法含以下五步
1.初始化
2.个体评价(计算适应度函数)
3.选择运算
4.交叉运算
5.变异运算
初始化
该过程从种群的一组个体开始 且每一个体都是待解决问题的一个候选解
个体以一组参数(变量)为特征 这些特征被称为基因 串联这些基因就可以组成染色体(问题的解)
在遗传算法中 单个个体的基因组以字符串的方式呈现 通常我们可以使用二进制(1和0的字符串)编码 即一个二进制串代表一条染色体串 因此可以说我们将基因串或候选解的特征编码在染色体中
个体评价利用适应度函数评估了该个体对环境的适应度(与其它个体径争的能力)每一个体都有适应评分 个体被选中进行繁殖的可能性取决于其适应度评分 适应度函数是遗传算法进化的驱动力 也是进行自然选择的唯一标准 它的设计应结合求解问题本身的要求而定
选择运算的目的是选出适应性最好的个体 并使它们将基因传到下一代中 基于其适应度评分 我们选择多对较优个体(父母)适应度高的个体更易被选中繁殖 即将较优父母的基因传递到下一代
交叉运算是遗传算法中最重要的阶段 对每一对配对的父母 基因都存在随机选中的交叉点
变异运算
在某些形成的新后代中 它们的某些基因可能受到低概率变异因子的作用 这意味着二进制位串中的某些位可能会翻转
变异运算前后
变异运算可用于保持群内的多样性 并防止过早收敛
终止
在群体收敛的情况下(群体内不产生与前一代差异较大的后代)该算法终止 也就是说遗传算法提供了一组问题的解

⑻ 遗传算法的基本原理是什么

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

一、编码

编码:把一个问题的可行解从其解空间转换到遗传算法的搜索空间的转换方法。

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

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

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

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

二进制编码比十进制编码搜索能力强,但不能保持群体稳定性。

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

编码方法:

1、 二进制编码方法

缺点:存在着连续函数离散化时的映射误差。不能直接反映出所求问题的本身结构特征,不便于开发针对问题的专门知识的遗传运算算子,很难满足积木块编码原则

2、 格雷码编码:连续的两个整数所对应的编码之间仅仅只有一个码位是不同的,其余码位都相同。

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

4、 各参数级联编码:对含有多个变量的个体进行编码的方法。通常将各个参数分别以某种编码方法进行编码,然后再将他们的编码按照一定顺序连接在一起就组成了表示全部参数的个体编码。

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

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

二、选择

遗传算法中的选择操作就是用来确定如何从父代群体中按某种方法选取那些个体遗传到下一代群体中的一种遗传运算,用来确定重组或交叉个体,以及被选个体将产生多少个子代个体。

常用的选择算子:

1、 轮盘赌选择(Roulette Wheel Selection):是一种回放式随机采样方法。每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值和的比例。选择误差较大。

2、 随机竞争选择(Stochastic Tournament):每次按轮盘赌选择一对个体,然后让这两个个体进行竞争,适应度高的被选中,如此反复,直到选满为止。

3、 最佳保留选择:首先按轮盘赌选择方法执行遗传算法的选择操作,然后将当前群体中适应度最高的个体结构完整地复制到下一代群体中。

4、 无回放随机选择(也叫期望值选择Excepted Value Selection):根据每个个体在下一代群体中的生存期望来进行随机选择运算。方法如下

(1) 计算群体中每个个体在下一代群体中的生存期望数目N。

(2) 若某一个体被选中参与交叉运算,则它在下一代中的生存期望数目减去0.5,若某一个体未被选中参与交叉运算,则它在下一代中的生存期望数目减去1.0。

(3) 随着选择过程的进行,若某一个体的生存期望数目小于0时,则该个体就不再有机会被选中。

5、 确定式选择:按照一种确定的方式来进行选择操作。具体操作过程如下:

(1) 计算群体中各个个体在下一代群体中的期望生存数目N。

(2) 用N的整数部分确定各个对应个体在下一代群体中的生存数目。

(3) 用N的小数部分对个体进行降序排列,顺序取前M个个体加入到下一代群体中。至此可完全确定出下一代群体中M个个体。

6、无回放余数随机选择:可确保适应度比平均适应度大的一些个体能够被遗传到下一代群体中,因而选择误差比较小。

7、均匀排序:对群体中的所有个体按期适应度大小进行排序,基于这个排序来分配各个个体被选中的概率。

8、最佳保存策略:当前群体中适应度最高的个体不参与交叉运算和变异运算,而是用它来代替掉本代群体中经过交叉、变异等操作后所产生的适应度最低的个体。

9、随机联赛选择:每次选取几个个体中适应度最高的一个个体遗传到下一代群体中。

10、排挤选择:新生成的子代将代替或排挤相似的旧父代个体,提高群体的多样性。

三、交叉

遗传算法的交叉操作,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。

适用于二进制编码个体或浮点数编码个体的交叉算子:

1、单点交叉(One-pointCrossover):指在个体编码串中只随机设置一个交叉点,然后再该点相互交换两个配对个体的部分染色体。

2、两点交叉与多点交叉:

(1) 两点交叉(Two-pointCrossover):在个体编码串中随机设置了两个交叉点,然后再进行部分基因交换。

(2) 多点交叉(Multi-pointCrossover)

3、均匀交叉(也称一致交叉,UniformCrossover):两个配对个体的每个基因座上的基因都以相同的交叉概率进行交换,从而形成两个新个体。

4、算术交叉(ArithmeticCrossover):由两个个体的线性组合而产生出两个新的个体。该操作对象一般是由浮点数编码表示的个体。

四、变异

遗传算法中的变异运算,是指将个体染色体编码串中的某些基因座上的基因值用该基因座上的其它等位基因来替换,从而形成以给新的个体。

以下变异算子适用于二进制编码和浮点数编码的个体:

1、基本位变异(SimpleMutation):对个体编码串中以变异概率、随机指定的某一位或某几位仅因座上的值做变异运算。

2、均匀变异(UniformMutation):分别用符合某一范围内均匀分布的随机数,以某一较小的概率来替换个体编码串中各个基因座上的原有基因值。(特别适用于在算法的初级运行阶段)

3、边界变异(BoundaryMutation):随机的取基因座上的两个对应边界基因值之一去替代原有基因值。特别适用于最优点位于或接近于可行解的边界时的一类问题。

4、非均匀变异:对原有的基因值做一随机扰动,以扰动后的结果作为变异后的新基因值。对每个基因座都以相同的概率进行变异运算之后,相当于整个解向量在解空间中作了一次轻微的变动。

5、高斯近似变异:进行变异操作时用符号均值为P的平均值,方差为P2的正态分布的一个随机数来替换原有的基因值。

⑼ 遗传算法一般和什么算法匹配使用

1.2 遗传算法的原理 遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置于问题的“环境”中,并按适者生存的原则,从中选择出较适应环境的“

热点内容
法国电影小男孩在农场遇到一只白狗 发布:2024-08-19 08:36:47 浏览:594
微光上有什么恐怖片 发布:2024-08-19 05:25:40 浏览:915
穿越香港鬼片灭鬼的小说 发布:2024-08-19 03:36:10 浏览:833
恶之花都敏秀姐姐扮演者 发布:2024-08-19 02:22:07 浏览:321
thai好看电影 发布:2024-08-18 11:34:37 浏览:795
电影内容女的是傻子容易尿裤子,男的很穷单身汉 发布:2024-08-18 10:31:36 浏览:129
双机巨幕厅和4k厅哪个好 发布:2024-08-18 10:18:41 浏览:818
日本僵尸片上世纪 发布:2024-08-18 07:32:00 浏览:537
怪物 韩国电影在线 发布:2024-08-18 03:49:17 浏览:491
第九区一样的 发布:2024-08-17 23:16:05 浏览:528