轻松解读仿生学最优化算法(一)——遗传算法

遗传算法简单解读

1.仿生学背景

自然界的生物遗传过程可总结为“物竞天择,适者生存”。初代染色体作为万物之始,不断复制、杂交、变异,代代相传,形成庞大的基因池。其中,不能适应生存条件的基因被淘汰,适应能力强的基因则得以延续,并不断壮大,形成“进化”的现象。

对于一些繁杂的最优化问题,由于决策数目庞大,用直接计算的方式很难求解,则考虑模拟生物遗传过程来逼近最优解(这表明遗传算法的最终结果并不一定是真正的最优解,但可以通过设置循环次数得到一个在接受范围内的逼近解)。

2.算法流程

遗传算法是一个多次循环过程。每一次循环模拟了“一代生命”的繁衍、死亡和变异,形成新的基因池。新的基因池将作为下一次循环的初始基因池。

编码:在遗传算法中,将一种决策方式以二进制编码,形成一条“染色体”,并根据决策的数量来确定二进制数的长度,保证每一个决策都有一个独一无二的染色体编码。对于决策数量无穷的问题,则只要使其长度能够满足一定的精度即可。

复制:决策的目标函数值对应该决策的适应能力。决策按照其目标函数值的大小以不同概率被复制到下一代,模拟了“优胜劣汰”的过程。具体使用轮盘选择法,适应能力大,被选中的概率就大。

杂交:杂交用交换两决策的二进制编码的某一位来模拟。两决策发生杂交的概率是常量,并随机交换其中一位二进制数。为了以某概率使两决策杂交,为每一个决策取一个(0,1)间的随机数,所有取值小于杂交概率的决策形成杂交集合,集合内决策两两抱团发生杂交。

变异:变异则用改变某决策的二进制编码的若干位二进制数来模拟。每一个决策的每一位二进制数以确定的概率发生变异。为了以某概率使决策的若干位发生变异,为每一个决策的每一位二进制数取一个(0,1)间的随机数,取值小于变异概率的二进制位发生变异。

流程:

在进入循环之前,我们通过随机方法得到初代基因池(每一次循环后基因池内的基因总量不变,即群体大小固定)。每一次循环都首先用轮盘选择法复制基因到下一代,再在新的基因池中进行杂交和变异操作。经过固定次数的循环后得到“完全进化”的基因池。在此基因池中寻找适应能力最大的基因个体,即对应最优决策。

轻松解读仿生学最优化算法(一)——遗传算法_第1张图片

3.算法关键

遗传算法的关键在于杂交变异。它们确保最终结果不会囿于局部最优解,而是不断突破当前基因组成,寻找更优解。通常,杂交概率较大,变异概率较小,符合自然规律。

你可能感兴趣的:(算法)