一、概念
遗传算法(Genetic Algorithm, GA) 是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
- 基因型:性状染色体的内部表现
- 表现型:染色体决定的性状的外部表现
- 编码:表现型到基因型的映射
- 解码:基因型到表现型的映射
- 适应度:度量某个物种对于生存环境的适应程度。
遗传算法并不保证你能获得问题的最优解,但是使用遗传算法的最大优点在于你不必去了解和操心如何去“找”最优解。
二、进化环节
1、编码
编码方法影响到交叉算子、变异算子等遗传算子的运算方法,很大程度上决定了遗传进化的效率。
常用的编码方法:二进制编码法、浮点编码法、符号编码法。
二进制编码法:
它由二进制符号0和1所组成的二值符号集,例如:11011100001
长度的设置对最终的结果有较大的影响
优点:简单
缺点:由于其随机性使得其局部搜索能力较差,存在着连续函数离散化时的映射误差。
浮点编码法
个体的每个基因值用某一范围内的一个浮点数来表示。例如0.2-1.9-5.2.-0.9-2.0-5.3
必须保证基因值在给定的区间限制范围内。
优点:适用于精度要求较高,范围较大
符号编码法
个体染色体编码串中的基因值取自一个无数