遗传算法的通俗解释之
1
——来自网络,
感谢一切为之付出的人们
为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各
个主要执行步骤。
例:求下述二元函数的最大值:
(1)
个体编码
遗传算法的运算对象是表示个体的符号串,所以必须把变量
x1, x2
编码为一种
符号串。本题中,用无符号二进制整数来表示。
因
x1, x2
为
0 ~ 7
之间的整数,所以分别用
3
位无符号二进制整数来表示,将
它
们连接在一起所组成的
6
位无符号二进制数就形成了个体的基因型,表示一个可
行解。
例如,基因型
X
=
101110
所对应的表现型是:
x
=
[ 5
,
6 ]
。
个体的表现型
x
和基因型
X
之间可通过编码和解码程序相互转换。
(2)
初始群体的产生
遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始
群体数据。
本例中,群体规模的大小取为
4
,即群体由
4
个个体组成,每个个体可通过随机
方法产生。
如:
011101
,
101011
,
011100
,
111001
(3)
适应度汁算
遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传
机会的大小。
本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,故可直接
利用目标函数值作为个体的适应度。