概念
人工免疫算法(Immune Algorithm)是一种具有生成+检测 (generate and test)的迭代过程的群智能搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。
对于遗传算法:在对算法的实施过程中不难发现两个主要遗传算子都是在一定发生概率的条件下,随机地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免地产生了退化的可能。为此,将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(ImmuneAlgorithm)IA。
相关概念
抗原:在生命科学中,是指能够刺激和诱导机体的免疫系统使其产生免疫应答,并能与相应的免疫应答产物在体内或体外发生特异性反应的物质。在我们的算法中,是指所有可能错误的基因,即非最佳个体的基因。
抗体:在生命科学中,是指免疫系统受抗原刺激后,免疫细胞转化为浆细胞并产生能与抗原发生特异性结合的免疫球蛋白,该免疫球蛋白即为抗体。在本文中是指根据疫苗修正某个个体的基因所得到的新个体。其中,根据疫苗修正某个个体基因的过程即为接种疫苗,其目的是消除抗原在新个体产生时所带来的负面影响。
免疫疫苗:根据进化环境或待求问题,所得到的对最佳个体基因的估计。
免疫算子:同生命科学中的免疫理论类似,免疫算子也分两种类型:全免疫和目标免疫,二者分别对应于生命科学中的非特异性免疫和特异性免疫。其中,全免疫是指群体中每个个体在变异操作后,对其每一环节都进行一次免疫操作的免疫类型;目标免疫则指个体在进行变异操作后,经过一定判断,个体仅在作用点处发生免疫反应的一种类型。前者主要应用于个体进化的初始阶段,而在进化过程中基本上不发生作用,否则将很有可能产生通常意义上所说的“同化现象”;后者一般而言将伴随群体进化的全部过程,也是免疫操作的一个常用算子。
免疫调节:在免疫反应过程中,大量的抗体的产生降低了抗原对免疫细胞的刺激,从而抑制抗体的分化和增殖,同时产生的抗体之间也存在着相互刺激和抑制的关系,这种抗原与抗体、抗体与抗体之间的相互制约关系使抗体免疫反应维持一定的强度,保证机体的免疫平衡。
免疫记忆:指免疫系统将能与抗原发生反应的抗体作为记忆细胞保存记忆下来,当同类抗原再次侵入时,相应的记忆细胞被激活而产生大量的抗体,缩短免疫反应时间。
抗原识别:通过表达在抗原表面的表位和抗体分子表面的对位的化学基进行相互匹配选择完成识别,这种匹配过程也是一个不断对抗原学习的过程,最终能选择产生最适当的抗体与抗原结合而排除抗原。
免疫算法的基本模型:
基本模型:
https://wenku.baidu.com/view/39eb47ec551810a6f52486ee.html?sxts=1523143415445
算法流程描述
方案1:
- 随机产生初始父代种群A1,根据先验知识抽取疫苗;
- 若当前群体中包含最佳个体,则算法停止运行并输出结果;否则,继续;
- 对当前第k代父本种群Ak进行交叉操作,得到种群Bk;
- 对Bk进行变异操作,得到种群Ck;
- 对Ck进行接种疫苗操作,得到种群Dk;
- 对Dk进行免疫选择操作,得到新一代父本Ak+1,转至第二步。
方案2:
1、首先进行抗原识别,即理解待优化问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件;
2、产生初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。
3、对种群中的每一个可行解进行亲和度评价。
4、判断是否满足算法终止条件,满足,则终止寻优过程,输出最优结果,否则,继续寻优。
5、计算抗体浓度和激励度。
6、进行免疫处理,包括免疫处理、克隆、变异和克隆抑制。
免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化;
克隆:对活化的抗体进行克隆复制,得到若干副本;
变异:对克隆得到的副本进行变异操作,使其发生亲和度变异;
克隆抑制:对变异结果进行在选择,抑制亲和度低的抗体,保留高的变异结果。
7、种群刷新:以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代的抗体,转步骤3。