5.4.1 人工鱼遗传操作设计
遗传算法是生物进化的计算模型,尽管与自然进化相比遗传算法极为简单,但是它抓住了进化的本质。在自然界中,物种通过进化不断地适应复杂变化的环境。一般认为:进化过程发生在染色体结构上,而不是生物体上。物种以群体遗传的方式实现进化适应,自然选择使适应环境的个体生存,不适应环境的个体淘汰,这隐含着对生物体所携带的遗传物质的挑选,有性生殖使两个亲代染色体上的基因在于代中混合、重组,以快速形成更好的基因组合,而偶然发生的变异有时也能改进染色体的结构。
作为生物进化的计算模型,遗传算法将自然选择、遗传和变异均看作是遗传信息传递和处理的方式。这种高度理想化的模型可能会揭示出自然进化系统的本质属性,因此,遗传算法是研究人工生命的基础理论之一。
生物体通过各种生殖方式繁衍种族,单细胞生物通过细胞分裂来繁衍自己,多细胞生物通过无性繁殖和有性生殖来繁衍后代。无论哪种生殖方式,都是为了生命在世代间的延续,并使子代跟亲代相似。
同一个品种的人工鱼,其外部形态特征基本相似。第一组基因中的“种类”决定了人工鱼的鱼种,同一品种的人工鱼这个基因值是相同的。当两条同种的人工鱼交配后,子代小鱼中决定“种类”的这个基因值直接从父辈中复制,其他基因,随机地取自雄鱼或雌鱼,因此小鱼的表现型可能某些方面像雌鱼,某些方面像雄鱼。当同种人工鱼进行交配时,应产生同种的小鱼,主要考虑遗传的作用。下面是我们设计的几种遗传操作。
1.单点交叉遗传操作
在人工鱼的染色体结构中,决定人工鱼各种性状的基因是由长度不同的二进制编码组成的,我们将每一个基因看成是一个不可分割的单元,每个单元的不同取值,决定了人工鱼某个性状的不同表现,如红色的鱼或灰色的鱼等。因此,在遗传操作中,我们也将基因看成是最小的单元。在单点交叉遗传操作中,在人工鱼所组成的染色体上,随机地选择一个基因点(不像遗传算法中那样,随机地选择一个二进制点),互换该基因点前后雌鱼和雄鱼的各个基因值,生成西个新的小鱼的染色体。如图5.3 所示。
人工鱼染色体上有21个基因。则可能有20个不同的交叉点,即每两条人工鱼通过单点交叉遗传操作能够产生20种特征不同的子代。
2.两点交叉遗传操作
在单点交叉遗传操作中,在人工鱼所组成的染色体上。随机地选择两个基因点(不像遗传算法中那样,.随机地选择两个二进制点),互换雌鱼和雄鱼在这两个基因点之间的基因值,生成两个新的小鱼的染色体,如图5.4所示。
展开