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

如题所述

  常用的编码介绍
  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、其它编码方式
  多参数级联编码等
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-10
我知道的有四种,分别是二进制编码、格雷码编码、浮点编码和符号编码,各有优缺点,针对不同的问题采取不同的编码方式
第2个回答  推荐于2017-11-24
一般可以分成两种:一个染色体表示一个解,一个染色体表示多个解。本回答被提问者采纳
第3个回答  2011-07-09
常见的有二进制编码和浮点数编码
相似回答