导航:首页 > 源码编译 > 遗传算法两点交叉

遗传算法两点交叉

发布时间:2022-04-16 19:48:13

㈠ 请问遗传算法中,什么是标准的交叉算子和变异算子

标准的交叉算子和变异算子应该指的是最基本最简单的交叉和变异,比如交叉有单点交叉和两点交叉,变异一般也是单点变异

㈡ 遗传算法的收敛性问题

是算子有问题,交叉的方法都是比较简单的,但对于某些情况可能并不好用,也就是说算法本身无法体现出优胜劣汰的规则,可能因此导致无法收敛。

收敛数列令为一个数列,且A为一个固定的实数,如果对于任意给出的b>0,存在一个正整数N,使得对于任意n>N,有|an-A|<b,则数列存在极限A,数列被称为收敛。非收敛的数列被称作“发散”(divergence)数列。

可见收敛不是指数值越来越小,而是指与极限值的距离(即差的绝对值)越来越小,只要你的目标函数是压缩映射,那么使用遗传算法就一定可以计算出全局收敛的近似值。

(2)遗传算法两点交叉扩展阅读:

由于遗传算法不能直接处理问题空间的参数,因此必须通过编码将要求解的问题表示成遗传空间的染色体或者个体。这一转换操作就叫做编码,也可以称作(问题的)表示(representation)。

遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,所以适应度函数的值要取正值。由此可见,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。

㈢ 遗传算法减少代理的两点交叉什么意思

把减去代理的两个交叉检是只减去两个子弹,自带交叉,

㈣ 遗传算法中,怎么确定变异点和交叉点的位置

由于遗传算法是随机算法,所以变异点和交叉点可以随机产生,当然也可以加入一些判断经验。

㈤ 遗传算法交叉操作

for i = 1 : 2 : Size-1%个体两两交叉,不重复
temp = rand;%随机交叉概率值
if Pc > temp%%若随机交叉概率值满足交叉概率,则进行交叉
alfa = rand;%交叉算子
TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);%无条件交叉
TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);%无条件交叉
end
end

从程序可以看出,当两个个体满足交叉概率后每个基因即进行无条件交叉,应属于多点交叉的范畴。

㈥ 基于遗传算法,解决TSP问题中双点交叉C语言程序怎么编写

解决TSP问题的交叉方法不像其他的那么简单,跟它的编码方法有关系。如果是顺序编码,那么交叉时要考虑到子代个体是否是合法的。一般用顺序交叉方法的比较多。参考资料中为单点交叉方法的代码,两点交叉与之类似,不过是多了一点交叉点而已。

㈦ 遗传算法交叉点怎么定

比较简单的一个办法是随机生成一个整数(范围在1到编码长度之间),之后交换这个随机数对应的染色体和它后面的部分。
如何你的染色体编码是个矩阵的话,可以同时交叉 随机数 对应列和之后的所有部分。
(其实交叉的规则完全可以自己定,我说这个是比较常见操作比较简单的。)

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

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

一、编码

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

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

二进制编码的缺点是汉明悬崖(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, 3&4, 5&6, 7&8, 9&10
蓝色也是一种选择方式:1&6, 2&7, 3&8, 4&9, 5&10

当然,也要尽量避免相同个体交叉。

是否可以解决您的问题?

阅读全文

与遗传算法两点交叉相关的资料

热点内容
滴滴加密录像投诉 浏览:975
word兼容pdf 浏览:641
阿里云轻量应用服务器怎么买 浏览:567
斗鱼程序员工资待遇 浏览:345
不能应用去色调整命令 浏览:893
开启设备加密 浏览:79
起亚压缩机保修 浏览:975
单片机国内发展趋势 浏览:771
警戒指标公式源码 浏览:130
python标准库之网络相关 浏览:38
adbjava 浏览:408
php工资太低 浏览:737
手动建造命令方块教程 浏览:7
英语三个命令 浏览:352
axure入门到精通pdf 浏览:39
应用软件怎么隐藏和加密 浏览:383
带有显卡的云服务器 浏览:795
slice切片python 浏览:485
建设工程比例折算法 浏览:745
蓝线是哪个app上的 浏览:550