遗传算法的一些实例

遗传算法的一些实例

ID:40842046

大小:957.60 KB

页数:44页

时间:2019-08-08

遗传算法的一些实例_第1页
遗传算法的一些实例_第2页
遗传算法的一些实例_第3页
遗传算法的一些实例_第4页
遗传算法的一些实例_第5页
资源描述:

《遗传算法的一些实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、遗传算法(GA)的肇始“活的有机体是解决问题的专家。它们所表现出来的各种才能足以使最好的计算机程序自惭形秽。这种现象尤其令计算机科学家们感到痛楚。计算机科学家们为了某种算法可能花费数月乃至数年的脑力劳动,而有机体则能通过进化和自然选择这样一种显然并非定向进行的机制获得这种能力。”---JohnHolland遗传算法的思想Darwin的进化论----“自然选择、适者生存”特定环境的考验种群中个体的选择种群中的交叉繁殖种群中个体的变异上述操作反复执行,个体逐渐优化遗传算法的手工模拟计算示例为更好地理解遗

2、传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。例:求下述二元函数的最大值:maxf(x1,x2)=x12+x22s.t.x1{1,2,3,4,5,6,7}x2{1,2,3,4,5,6,7}(1)个体编码遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种符号串。本题中,用无符号二进制整数来表示。因x1,x2为0~7之间的整数,所以分别用3位无符号二进制整数来表示,将它们连接在一起所组成的6位无符号二进制数就形成了个体的基因型,表示一个可行解。例如,基

3、因型X=101110所对应的表现型是:x=[5,6]。个体的表现型x和基因型X之间可通过编码和解码程序相互转换。(2)初始群体的产生遗传算法是对群体进行的进化操作,需要给其淮备一些表示起始搜索点的初始群体数据。本例中,群体规模的大小取为4,即群体由4个个体组成,每个个体可通过随机方法产生。如:011101,101011,011100,111001(3)适应度汁算遗传算法中以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。本例中,目标函数总取非负值,并且是以求函数最大值为优化目标,

4、故可直接利用目标函数值作为个体的适应度。(4)选择运算选择运算(或称为复制运算)把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代群体中。本例中,我们采用与适应度成正比的概率来确定各个个体复制到下一代群体中的数量。其具体操作过程是:•先计算出群体中所有个体的适应度的总和fi(i=1.2,…,M);•其次计算出每个个体的相对适应度的大小fi/fi,它即为每个个体被遗传到下一代群体中的概率,•每个概率值组成一个区域,全部概率值之和为1;

5、•最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定各个个体被选中的次数。0124%24%17%35%1#2#3#4#个体编号初始群体p(0)适值占总数的百分比总和1234011101101011011100111001343425500.240.240.170.351431选择次数选择结果1102011101111001101011111001x1x235533471(5)交叉运算交叉运算是遗传算法中产生新个体的主要操作过程,它以某一概率相互交换某两个个体之间的部分染色

6、体。本例采用单点交叉的方法,其具体操作过程是:•先对群体进行随机配对;•其次随机设置交叉点位置;•最后再相互交换配对染色体之间的部分基因。选择结果011101111001101011111001配对情况交叉点位置个体编号12341-23-41-2:23-4:4交叉结果011001111101101001111011可以看出,其中新产生的个体“111101”、“111011”的适应度较原来两个个体的适应度都要高。(6)变异运算变异运算是对个体的某一个或某一些基因座上的基因值按某一较小的概率进行改变,它

7、也是产生新个体的一种操作方法。本例中,我们采用基本位变异的方法来进行变异运算,其具体操作过程是:•首先确定出各个个体的基因变异位置,下表所示为随机产生的变异点位置,其中的数字表示变异点设置在该基因座处;•然后依照某一概率将变异点的原有基因值取反。对群体P(t)进行一轮选择、交叉、变异运算之后可得到新一代的群体p(t+1)。个体编号1234交叉结果011001111101101001111011变异结果变异点4526011101111111111001111010子代群体p(1)01110111111

8、1111001111010从上表中可以看出,群体经过一代进化之后,其适应度的最大值、平均值都得到了明显的改进。事实上,这里已经找到了最佳个体“111111”。[注意]需要说明的是,表中有些栏的数据是随机产生的。这里为了更好地说明问题,我们特意选择了一些较好的数值以便能够得到较好的结果,而在实际运算过程中有可能需要一定的循环次数才能达到这个最优结果。个体编号子群体p(1)适值占总数的百分比总和1234011101111111111001111010349850530.1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。