1引言
遗传算法(Genetic Algorithm,GA)是模拟生物在自然环境中的遗传和进化的过程而形成的自适应全局优化搜索算法。其本质是一种并行、高效、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。
2遗传算法理论
2.1遗传算法的生物学基础
达尔文的自然选择学说表明,遗传和变异是决定生物进化的内在因素。遗传能使生物的性状不断地传送给后代,因此保持物种的特性;变异能够使生物的性状发生改变,从而适应新的环境而不断地向前发展。生物体自身通过基因的复制和交叉,使其性状的遗传得到选择和控制。同时,通过基因重组、基因变异和染色体在结构和数目上的变异产生丰富多彩的变异现象。
生物遗传和进化的规律有:
(1)生物的所有遗传信息都包含在其染色体中,染色体决定了生物的性状。染色体是由基因及其有规律的排列所构成的。
(2)生物的繁殖过程是由其基因的复制过程来完成的。同源染色体的交叉和变异会产生新的物种,使生物呈现新的性状。
(3)对环境适应能力强的基因或染色体,比适应能力差的基因或染色体有更多的机会遗传到下一代。
2.2遗传算法的理论基础
模式定理
模式定义:模式是描述种群中在位串的某些确定位置上具有相似性的位串子集的相似模板。
如二值字符集{0,1},由此可以产生通常的0、1字符串。增加一个符号*,称为“通配符”,既可以当做0也可以当做1。这样,二值字符串{0,1}就拓展为三数值字符集{0,1,*},由此可以产生诸如0110,0*11**,**01*10之类的字符串。基于三值字符集{0,1,*}所产生的能描述具有某些结构相似性的0、1字符串集的字符串,称作模式。这里需要强调的是,*只是一个描述符,而非遗传算法中实际的运算符号,它仅仅是为了描述上的方便而引入的符号而已。
模式的概念可以简明地描述具有相似结构特点的个体编码字符串。在引入了模式概念之后,遗传算法的本质是对模式所进行的一系列运算,即通过选择操作数将当前群体中的优良模式遗传到下一代群体中,通过交叉操作数进行模式的重组,通过变异操作数进行模式的突变。通过这些遗传运算,一些较差的模式逐步被淘汰,而一些较好的模式逐步被遗传和进化,最终就可以得到问题的最优解。
多个串中隐含着多个不同的模式。确切地说,长度为L的串,隐含着个不同的模式,而不同的模式所匹配的串的个数是不同的。为了反映这种确定性的差异,引入模式阶概念。
模式阶定义:模式H中确定位置的个数称作该模式的模式阶,记O(H)。例如,模式011*1*的阶数为4,模式0*****的阶数为1。显然一个模式的阶数越高,其样本数就越少,因为确定性就越高。但是,模式阶并不能反映模式的所有性质;即使具有同阶的模式,在遗传操作下,也会有不同的性质。为此,引入定义距概念。
定义距定义:在模式H中第一个确定位置和最后一个确定位置之间的距离称作该模式的定义距,记作D(H)。
模式定理:在遗传算法选择、交叉和变异算子的作用下,具有低阶、短定义距,并且其平均适应性高于群体平均适应度的模式在子代中将呈指数级增长。模式定理又称为遗传算法的基本定理。模式定理阐述了遗传算法的理论基础,说明了模式的增加规律。模式定理说明了具有某种结构特征的模式在遗传进化过程中其样本数目将呈现指数级增长。
积木块假设
积木块定义:具有低阶、短定义距以及高平均适应度的模式称作积木块。
模式定理说明积木块的样本呈现指数级增长,亦即说明了用遗传算法寻求最优样本的可能性,但它并未指明遗传算法一定能寻求到最优样本;而积木块假设却说明了遗传算法的这种能力。
积木块假设:个体的积木块通过选择、交叉、