将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(Immune Algorithm) IA。人工免疫算法是一种具有生成+检测 (generate and test)的迭代过程的群智能
搜索算法。从理论上分析,
迭代过程中,在保留上一代最佳个体的前提下,免疫算法是全局
收敛的。
在
生命科学领域中,人们已经对遗传(Heredity)与免疫(Immunity)等自然现象进行了广泛深入的研究。六十年代Bagley和Rosenberg等先驱在对这些研究成果进行分析与理解的基础上,借鉴其相关内容和知识,特别是遗传学方面的理论与概念,并将其成功应用于工程科学的某些领域,收到了良好的效果。时至八十年代中期,美国Michigan大学的Hollan教授不仅对以前的学者们提出的遗传概念进行了总结与推广,而且给出了简明清晰的算法描述,并由此形成一般意义上的遗传算法(GeneticAlgorithm)GA。由于遗传算法较以往传统的搜索算法具有使用方便、
鲁棒性强、便于并行处理等特点,因而广泛应用于组合优化、结构设计、人工智能等领域。另一方面,Farmer和Bersini等人也先后在不同时期、不同程度地涉及到了有关免疫的概念。遗传算法是一种具有生成+检测 (generate and test)的迭代过程的搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。然而,在对算法的实施过程中不难发现两个主要遗传
算子都是在一定发生概率的条件下,随机地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免地产生了退化的可能。在某些情况下,这种退化现象还相当明显。另外,每一个待求的实际问题都会有自身一些基本的、显而易见的特征信息或知识。然而遗传算法的交叉和变异算子却相对固定,在求解问题时,可变的灵活程度较小。这无疑对算法的通用性是有益的,但却忽视了问题的特征信息对求解问题时的辅助作用,特别是在求解一些复杂问题时,这种忽视所带来的损失往往就比较明显了。实践也表明,仅仅使用遗传算法或者以其为代表的
进化算法,在模仿人类智能处理事物的能力方面还远远不足,还必须更加深层次地挖掘与利用人类的智能资源。从这一点讲,学习生物智能、开发、进而利用生物智能是进化算法乃至智能计算的一个永恒的话题。所以,研究者力图将生命科学中的免疫概念引入到工程实践领域,借助其中的有关知识与理论并将其与已有的一些智能算法有机地结合起来,以建立新的进化理论与算法,来提高算法的整体性能。基于这一思想,将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(ImmuneAlgorithm)IA。下面将会给出算法的具体步骤,证明其全局收敛性,提出免疫疫苗的选择策略和免疫算子的构造方法,理论分析和对TSP问题的仿真结果表明免疫算法不仅是有效的而且也是可行的,并较好地解决了遗传算法中的退化问题。
抗原:在生命科学中,是指能够刺激和诱导机体的
免疫系统使其产生免疫应答,并能与相应的免疫应答产物在体内或体外发生特异性反应的物质。在我们的算法中,是指所有可能错误的基因,即非最佳个体的基因。
抗体:在
生命科学中,是指
免疫系统受抗原刺激后,
免疫细胞转化为浆细胞并产生能与抗原发生特异性结合的
免疫球蛋白,该免疫球蛋白即为抗体。在本文中是指根据疫苗修正某个个体的基因所得到的新个体。其中,根据疫苗修正某个个体基因的过程即为接种
疫苗,其目的是消除抗原在新个体产生时所带来的负面影响。
免疫算子:同生命科学中的免疫理论类似,免疫算子也分两种类型:全免疫和目标免疫,二者分别对应于生命科学中的非
特异性免疫和特异性免疫。其中,全免疫是指群体中每个个体在变异操作后,对其每一环节都进行一次免疫操作的免疫类型;目标免疫则指个体在进行变异操作后,经过一定判断,个体仅在作用点处发生免疫反应的一种类型。前者主要应用于个体进化的初始阶段,而在进化过程中基本上不发生作用,否则将很有可能产生通常意义上所说的“同化现象”;后者一般而言将伴随群体进化的全部过程,也是免疫操作的一个常用算子。
免疫调节:在免疫反应过程中,大量的抗体的产生降低了抗原对
免疫细胞的刺激,从而抑制抗体的分化和增殖,同时产生的抗体之间也存在着相互刺激和抑制的关系,这种抗原与抗体、抗体与抗体之间的相互制约关系使抗体免疫反应维持一定的强度,保证机体的免疫平衡。
免疫记忆:指
免疫系统将能与抗原发生反应的抗体作为记忆细胞保存记忆下来,当同类抗原再次侵入时,相应的记忆细胞被激活而产生大量的抗体,缩短免疫反应时间。
抗原识别:通过表达在抗原表面的表位和抗体分子表面的对位的化学基进行相互匹配选择完成识别,这种匹配过程也是一个不断对抗原学习的过程,最终能选择产生最适当的抗体与抗原结合而排除抗原。
1. 随机产生初始父代种群A1,根据先验知识抽取疫苗;
2. 若当前群体中包含最佳个体,则算法停止运行并输出结果;否则,继续;
4. 对Bk进行变异操作,得到种群Ck;
5. 对Ck进行接种疫苗操作,得到种群Dk;
6. 对Dk进行免疫选择操作,得到新一代父本Ak+1,转至第二步。