遗传算法的基本运算过程是用循环语句控制不同的五个步骤。
一、编码、随机产生初始群体
- 编码的好坏关系到求解的速度。
- 遗传算法的工作对象是字符串,对字符串的编码要求是:字符串要反映所研究问题的特性;字符串的表达式要便于计算机处理。
二、个体评价、选择、确定是否输出
- 设计一个适应度函数,进行个体评价。
- 把优秀的留下使其比例增大,把差的筛选掉。
- 在遗传算法中,衡量个体优劣的尺度是适应度,根据适应度的大小决定个体繁殖的数量、或决定其是否消亡。适应度是驱动遗传算法的动力。
- 复制算子将优良个体在下一代予以繁殖,个体被复制的数量是按照适应度的大小决定的,群体中个体总数是不变的。
- 采用等差、等比或者轮盘赌的复制方式,防止过早的收敛。
三、随机交叉运算
- 对已经存在下的个体进行随机交换交叉运算。
- 交换是遗传算法中产生新个体的主要手段,将两个个体的部分字符互相交换。
- 执行交换的个体是随机选择的。
- 交换的概率一般为50~80%(可以根据实际情况灵活选择)。
四、随机变异运算
- 对已经存在下的个体进行随机、变异叉运算。
- 变异是遗传算法中产生新个体的方法(不是最主要的方法),将被选择的个体的部分字符进行补运算。
- 变异个体是随机选择的。
- 个体的第几位开始变异是随机的
- 个体变异几位也是随机的。
五、转向个体评价,开始新循环
- 最常用的终止条件是迭代的代数。
- 当目标 函数有最优目标值时,可采用控制偏差的方式实现。
- 检查适应度的变化。
模式理论
- 编码是左边(高位)数字越小,其适应度将越大。这种字符串的形式特征叫做编码模式。
- 模式中确定的字符的个数就叫做模数的阶数。模数阶数越低,代表的字符串的个数就越多。
- 模式中最前面和最后面两个确定字符的距离称为模式的长度。
遗传过程中的模式数目与模式定理
- 复制时的模式数目
H模式编码在每一代复制的过程中以指数的方式增加。 - 经过复制、交换、突变在下一代拥有的个数公式。t+1代的数目和t代数目、平均适应度成正比。
- 模式定理表明:长度短、阶次低、平均适应度大的模式在遗传算法循环中呈指数增长。(从理论上保证了遗传算法是智能的搜素)。