遗传算法代码详解

遗传算法代码详解 遗传算法的编码方法有几种?

遗传算法的编码方式有几种?

遗传算法的编码方法有几种?

常见的编码详细介绍

1、二进制编码:

(1)界定:二进制编码方法是什么应用二值标记集{0,1},它所构成的个人基因型是一个二进制编码符号串。二进制编码符号串的长度与难题所要求的求得精度相关。

(2)举例说明:0≤x≤1023,精度为1,m表示二进制编码的长度。则有建议性观点:使 2m-1≤1000(跟精度相关)≤2m-1。取m=10

则X:0010101111就能表明一个个人,它所对应的问题空间的值是x=175。

(3)优点和缺点

优势:合乎最少字符集标准,有利于用方式定律剖析;

缺陷:连续函数离散化后的投射偏差。

2、格雷码编码

(1)界定:格雷码编码则是连续的2个整数金额所对应的编码中间只有一个码位是不同的,其他码位完全一致。这是二进制编码方式的一种形变。

十进制数0—15间的二进制码和对应的格雷码各自编码如下所示。

二进制编码为:0000,0001,0010,001 1,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]中2个邻近的整数金额X1=175和X2=176,若用长短为10位的二进制编码,可表达为X11:0010101111和X12 0010110000,而使用一样长度的格雷码,他们可分别表明为X21:0010101111和X22:0010101000。

(3)优势:提升了遗传算法的部分搜索能力,有利于连续函数的部分控制检索。

3、浮点数(实数)编码

(1)界定:浮点数编码就是指个体的每一个遗传基因值用某一范围内的一个浮点数来表示,而个体的编码长短相当于其决策变量的数量。因为这种编码方式所使用的决策变量的真实值,也称之为真值编码方式。

(2)举例说明:

(3)优势:实数编码是遗传算法中在解决持续参数优化问题时普遍使用的一种编码方法,具有很高的精度,在表明持续渐变色难题方面具有优点。

4、排序编码

排序编码又叫编码序列编码,是针对一些特殊问题的特殊编码方法。排列编码使难题简约,便于了解。该编码方式将比较有限结合内的元素开展排序。若结合内包括m个原素,则存有m!种排序方式,当m并不大时,m!也不会太大,穷举法就可以解决难题。当m非常大时,m!就会变得特别大,穷举法无效,遗传算法在解决这类问题上具有优点。如处理TSP问题时,用排序编码当然、有效。

5、其他编码方法

多参数联级编码等