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

天界炙年 4个月前 已收到1个回答 举报

致温柔 2星

共回答了265个问题采纳率:92.9% 评论

常用的编码介绍

  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 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]中两个邻近的整数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、其它编码方式

  多参数级联编码等

22小时前

39
可能相似的问题

猜你喜欢的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com