当前位置:文档之家› 一种基于元胞自动机的改进遗传算法

一种基于元胞自动机的改进遗传算法

长江大学学报(自然科学版) 2009年6月第6卷第2期:理工 
Journal of Yangtze University(Nat Sci Edit) Jun.2009。V01.6 No.2:Sci&Eng 


种基于元胞自动机的改进遗传算法 
李 凯,田双亮 (西北民族大学计算机与信息工程学院,甘肃兰州730030) 
耿丽君 (山西财经大学会计学院,山西太原0300i 2) 
张 喜 (淄博技术学院,山东淄博255000) 

[摘要]针对遗传算法中存在搜索效率和解精度低的问题,结合元胞自动机模型,提出了一种改进的遗传算 
法——竞争杂交算法。在适应度函数中运用元胞自动机模型进行竞争复制,在确定交叉算子时进行杂交, 
依此来对遗传算法进行改进。仿真结果表明,竞争杂交算法在搜索速度和概率上比简单遗传算法要高一些。 
[关键词]竞争杂交算法;元胞自动机;遗传算法;适应度;交叉算子 
[中图分类号]TP391 [文献标识码]A [文章编号]1673—1409(2009)02一N237一O2 

遗传算法L1 ]是一种模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模 
拟自然进化过程搜索最优解的方法,具有隐含的并行性、非线性求解及易于和其他模型结合等特点。 
遗传算法首先进行基因编码,产生初始种群,接着按照适者生存的原理根据适应度大小来挑选个 
体,产生较好的近似解。再借助遗传算子进行交叉和变异,产生代表新的解集的种群。这样一代代的进 
化,最后就会收敛到最适应环境的染色体上,它就是问题的最优解。但遗传算法存在搜索效率低和解精 
度低等问题,为此,笔者结合自动机模型,提出了一种改进的遗传算法。 

1元胞自动机模型 
元胞自动机模型 最基本的组成是元胞、元胞空间、 
邻居和规则4部分。简言之,元胞自动机可以视为由一个元 
胞空间和定义于该空间的变换函数所组成。 
如图1所示,构造二维元胞自动机的4方网格,每个网 
格代表一个元胞,所有的元胞构成元胞空间,一个元胞周围 
的8个元胞称为该元胞的邻居。笔者采用周期型。对二维空 
间,上下相接,左右相接,形成一个拓扑的圆环面。对于摩 
尔型邻居模型,每个元胞都有与之对应的8个邻居。定义元 
胞的状态为待优化问题的任意某一合法解和其所对应的目标 
函数值。元胞自动机模型的规则就是根据元胞当前状态及邻 
居状况确定下一时刻该元胞状态的动力学函数。 

2基于元胞自动机模型的竞争杂交算法的实现 

图1二维元胞自动机的邻居模型(摩尔型) 

利用遗传算法中的各种竞争、杂交算法进行个体的繁殖、杂交、异变的处理。采用一种简单的竞争和 
杂交算法l_7 ],该算法将竞争和杂交只限于局部范围内进行。首先将所有个体按顺序排放在一张二维表格 
上,使每个个体的上、下、左、右都与其他个体相邻接。然后,按照以下算法进行个体的遗传进行处理。 
1)竞争复制 分别计算基因种群中所有个体的环境适应度函数。适应度函数表明个体或解的优劣 
性,不同的问题,适应度函数的定义方式也不同。 
运用二维元胞自动机的邻居模型,每个个体与它左边邻居比较环境的适应度,如果左边邻居的环境 

[收稿日期]2009一O3—12 
[作者简介]李凯(1986一),男,2008年大学毕业,硕士生,现主要从事数据挖掘方面的研究工作。 
长江大学学报(自然科学版) 2009年6月 
适应度大,就用左边邻居的遗传信息替代自己的遗传特性,否则不做改变。这样就将导致适应度小的个 
体死亡,而适应度大的个体得以复制。 
2)杂交繁殖 选择适应度大的个体复制完成后,从任意个体某个随机位置开始,将其与上方的邻 
居进行杂交繁殖,相互交换部分遗传信息,完成所有个体的交叉繁殖。 
3)异变处理对新生代个体进行随机异变处理,即以1 至2%的概率随机选择新生代个体,并且 
随机改变被选中个体位串上某个位置的值。将原来是1的改变为0,原来是0的改变为1。 
随即改变竞争和杂交方向,重复1)至3)的过程,即下一代的竞争、杂交方向可与右边邻居进行, 
而不是以前的与左边邻居的杂交处理。完成上述操作后,这样持续地迭代下去,使群体的平均适应度和 
最优个体的适应度不断上升,直至得到满意解或样本的适应度不再提高为止。 

3仿真分析及结果 
为了验证笔者提出的改进算法的性能,将对函数-厂(z)一X一5sin(2x)+10cos(x)的最大值寻优进 
行试验 ]。设置种群大小为1o,每个个体只包括一个变量,用实数编码。首先随机的生成初始种群: 
X1—0.0281 X2—4.6002 X3—5.6797 X4=:=4.3897 X5—4.3312 
X6—2.1434 X7—6.5349 X8—4.6000 X9—2.8974 Xl0—6.7060 
根据评价函数,计算个体的适应度,利用遗传算子和交叉算子得到新种群。经过25次迭代后得到最优解: 
X一7.9236 -厂(z)一18.2323 
试验中种群的初始大小设置为100,采取二进制编码,个体随机初始化。最大迭代次数为500次。 
为了避免算法对交叉概率P 和变异概率P 初始值过度依赖,试验中对这些概率参数运用自适应策略,即: 

::: 
厂≥ 
Pm:=: 
厂≥ 

【忌z 厂 < l .厂< 
式中,,m 为群体中最大的适应度值;fa 为每代群体的平均适应度值;f 为要交叉的2个个体中较大的 
适应度值;,为要变异个体的适应度值。设 表l 简单遗传算法与竞争杂交算法性能比较 
定点 ,kz,ks,忌 取(0,1)之间的值,就可以自—————— 西 广 
适应调整了。在初始化状态下,P。一o.6,P 墼 竖 笙墨 

o.1。 警 j孝 。 ・眈。 ・ 。∞ 

算法性能比较如表1。从表1中可以看 
出,在求的相同变量最优解的情况下,竞争杂交算法在搜索速度和概率上比简单遗传算法要高一些。 

4结 语 
在简单遗传算法的基础上,通过元胞自动机模型的竞争方法,将竞争分别作用于个体的适应度,同 
时引入杂交思想,利用各个子种群不同阶段的最优个体的相互杂交来对算法作进一步改进。试验证明, 
竞争杂交算法加快了进化速度,不但保持了遗传算法的随机搜索、优胜劣汰等优点,同时提高了算法的 
整体性能。 

[参考文献] 
[1]Holland J H.Adaptation in Natural and Artificial Systems[M].MIT Press,1975. 
[2]Winter G(ed).Genetic Algorithms in Engineering and Computer Science[M].Wiley,1995. 
[3]王小平,曹立明.遗传算法理论应用与软件实现[M].西安:西安交通大学出版社,2002. 
[4]Pires A,Landau D P,Herrmann editors H.Computational Physics and Cellular Automata[M].World Scientific,1 990. 
[5](英国)肖帕德.物理系统的元胞自动机模拟[M].祝玉学译.北京:清华大学出版社,2003. 
[6]程健,金菊良,周玉良,等.基于正交试验和元胞自动机模型的加速并行遗传算法[J].系统工程理论方法应用,2006,(8):364 ̄369 
[7]周根贵.数据仓库与数据挖掘[M].杭州:浙江大学出版社,2004. 
[8]张晶,黄沛.一种基于种群划分及杂交的免疫遗传算法[J].计算机工程,2008,(2):220 222. 
[9]李雄飞,李军.数据挖掘与知识发现[M].北京:高等教育出版社,2003. 
[编辑] 洪云飞

相关主题