![b1ad8bf0a0c65c7c3be8c6a314cb0c9d.png](https://i-blog.csdnimg.cn/blog_migrate/d0b9d6210fbcb5efded6e4d2f448ada8.jpeg)
遗传算法
此节介绍最著名的遗传算法(GA)。遗传算法属于进化算法,基本思想是取自“物竞天泽、适者生存”的进化法则。简单来说,遗传算法就是将问题编码成为染色体,然后经过不断选择、交叉、变异等操作来更新染色体的编码并进行迭代,每次迭代保留上一代好的染色体,丢弃差的染色体,最终达到满足目标的最终染色体。整个流程由下图构成(手写,见谅 -_-!!)
![f635d26a10fe7bf70dd3982c8cdc770f.png](https://i-blog.csdnimg.cn/blog_migrate/4314c2c94c87afdc19e0269bda542398.jpeg)
流程图
步骤由以下几步构成:
编码(coding)——首先初始化及编码。在此步,根据问题或者目标函数(objective function)构成解数据(solutions),在遗传算法中,该解数据就被称为染色体(chromosome)。值得一提的是,遗传算法为多解(population based)算法,所以会有多条染色体。初始化中会随机生成N条染色体,, 这里表示染色体包含了n条。其中 ,这里表示第i条染色体由d维数值构成。GA会以这个N个数据作为初始点开始进行进化。
<