文章目录
- 1 基本概念
- 2 基本步骤
- 3 流程图
- 4 遗传编码
- 5 适应度函数
- 6 基本遗传操作
- 7 示例
1 基本概念
2 基本步骤
3 流程图
4 遗传编码
常用的遗传编码算法有二进制编码、实数编码和字符编码等。
示例:在八皇后问题中,个体可由一个【长度为8,各个位置是从1到8】的串表示,每个数字代表了在8列棋盘中皇后的摆放的【行】位置。如下:
5 适应度函数
一般要求适应度函数非负。
示例:八皇后问题
在适应度函数中,更好状态值的适应度函数值更大。在八皇后问题中,可以规定适应度函数为不攻击的皇后的对数。所以问题的最优解的适应度值为28。
可以这么算:
7 + 6 + 5 + 4 + 3 + 2 + 1 = 28
或
[ 8 * (8 - 1)] / 2 = 28
6 基本遗传操作
示例:八皇后问题中,假设当前四个状态值为24、23、20、11。在遗传算法中,被选到的用来生成后代的个体的概率直接与适应度函数值大小挂钩,在原始数据之后的数字是每个个体的适应度值占总适应度和的百分比。如下:
7 示例
END