遗传算法代码的分类
遗传算法伪代码是什么?
遗传算法伪代码是什么?
下面是遗传算法的伪代码。\t B:\t I = 0 //进化种群代数\t初始化P(I) //初始化种群\t适应度P(I)// "适者生存遗传选择\ t while(not termin ate-condition)//当终止条件不满足时,Loop \ T I//Loop \ T GA-Op遗传算法的编码方法有几种?
通用代码介绍
1、二进制编码:
(1)定义:二进制编码方法使用二进制符号集{0,1},其形成的个体基因型是二进制编码符号串。二进制编码符号串的长度与问题所需的求解精度有关。
(2)例如:0≤x≤1023,精度为1,m代表二进制码的长度。有建议2m-1≤1000(与精度有关)≤2m-1。取m=10
那么X:0010101111可以代表一个个体,其对应的问题空间的值为x=175。
(3)优缺点
优点:符合最小字符集原则,易于用模式定理分析;
缺点:连续函数离散化时的映射误差。
2.格雷码编码
(1)定义:格雷码编码是指两个连续整数对应的码之间只有一个码位不同,其他码位完全相同。它是二进制编码方法的变体。
十进制数0-15之间的二进制码和相应的格雷码编码如下。
二进制代码是:0000,0001,0010,001,0100。0101,0110,0111,
1000,1001,1010,1011,1100,1101,1110,1111;
格雷码是0000,0001,0011,0010,0110,0111,0101,0100,
1100,1101,1111,1110,1010,1011,1001,1000。
(2)举例:对于区间[0。1023],两个相邻的整数X1=175和X2=176,如果用长度为10位的二进制码编码,可以表示为X11:0010101111和X12 0010110000,而它们可以分别表示为X21:0010101111和X22: 001010000。
(3)优点:遗传算法的局部搜索能力增强,便于连续函数。零件控制搜索。
3、浮点数(实数)编码
(1)定义:浮点编码是指个体的每个基因值用一定范围内的浮点数表示,个体的编码长度等于其决策变量的个数。因为这种编码方法使用的是决策变量的真值,所以也叫真值编码法。
(2)例如:
(3)优点:实数编码是遗传算法中求解连续参数优化问题常用的编码,精度高,在表达连续梯度问题方面具有优势。
4、排列编码
置换编码也称序列编码,是针对某些特殊问题的一种特定编码方法。排序编码使问题简洁易懂。这种编码方法将元素排列在一个有限的集合中。如果集合包含m个元素,则有m!这种排列方法,m不大的时候,m!它赢了 不要太大,穷举法就能解决问题。当m很大时,m!它会变得非常大,穷举法就会失效。遗传算法在解决这类问题上具有优势。比如在解决TSP问题时,使用排列编码是自然合理的。
5.其他编码方法
多参数级联编码等