7.4.3 人工免疫系统
在群智能算法的研究中,很多时候为了提升算法的性能,会将群智能算法进行优化,其中提升算法种群的多样性是一种常见的优化方向,一种普遍的方法是将人工免疫系统中的免疫操作引入群智能算法,本节主要介绍人工免疫系统的概念及原理。
人工免疫系统(Artificial Immune System,AIS)是一种在群智能算法和进化算法之后诞生的智能算法,与群智能算法的共同点是它们都是通过对生命科学的观察迁移到计算机科学之中的算法,与群智能算法不同的是,AIS是建立在医学发展中对细胞免疫等行为的启发上的,而不是基于宏观个体的行为。它旨在通过深入研究生物体在发生生物免疫时体内免疫系统的信息处理机制,并通过对该机制的观察,使用数学知识进行相应的建模,建立相应的算法以及工程模型。目前,人工免疫算法在智能信息处理领域有着良好的表现。
1.人工免疫系统的基本概念
定义7-8(免疫) 免疫生物体发生特异性的免疫应答,在面临感染时具有相应的抵抗力,对抗原性异物进行排斥,防止自身传染病被感染,保证机体的正常运转。
定义7-9(抗原) 在算法中抗原代表的是需要求解的问题,除了求解函数外还包括多种规定,一般为变量的取值范围、编码的方法、求解的精度和停止条件等属性。
定义7-10(抗体) 抗体代表的是需要求解问题的候选解。
定义7-11(染色体) 染色体是一种数据结构,表示需要求解问题的解的编码形式。
定义7-12(基因) 基因是染色体编码中的编码片段,可以遗传给子代,使得后代与亲代具有相同的遗传信息。
2.人工免疫算法的基本框架
人工免疫系统的基本组成包括多种算子,下面逐一进行介绍。
(1)亲和度计算算子
算子形式为aff(x):S→R,其中S代表可行解区间,R代表实数域。亲和度用来描述两个抗体之间的相似程度,常用的计算方法有4种,假设ab i为抗体i,ab i,k为抗体i的第k位,L为抗体编码总维数,则4种方法的实现分别如下。
①抗体-抗原计算方法
该计算方法的表达式为

②欧氏距离计算方法
该计算方法的表达式为
![]()
③海明距离计算方法
当抗体采用二进制方式编码时,等价为

④信息熵计算方法
群体G的平均信息熵为

若M为二进制字符集,则抗体ab i,k和ab j,k的亲和度为
![]()
(2)抗体浓度评价算子
算子形式为den(x):S→[0,1],假设种群规模为N,其具体的计算方法通常定义为(https://www.daowen.com)

(3)激励度计算算子
抗体激励度是指抗体群中抗体应答抗原和被其他抗体激活的综合能力,主要受亲和度和浓度影响,与亲和度成正比,与浓度成反比。根据条件不同,有两种常见的计算方式,分别为

其中:act(ab i)为抗体ab i的激励度;a和b是常量,一般根据实际应用场景进行设置;β是调节因子,β≥1。
(4)免疫选择算子
算子形式为T s:S→S,其作用是根据激励度对抗体是否进入克隆选择操作进行筛选。设激励度阈值为T,免疫选择算子通常为

(5)变异算子
算子形式为T m:S→S,其作用是引入基因突变,增强局部的搜索能力,提升染色体多样性。高斯变异是常用的变异算子,该方法为

其中,G和G′分别表示父抗体和子抗体的基因,M是种群的规模,N(0,1)是均值μ=1、方差σ=1的高斯变量,f代表亲和度函数,η代表控制参数。
(6)克隆抑制算子
算子形式为T r:S→S,其作用是根据亲和度保留部分抗体到下一代种群,通常定义为
![]()
其中,X ij是经过克隆操作、选择操作和变异操作后产生的临时抗体群,ab′i为集合X ij中亲和度最高的抗体,aff(ab′i)=max(aff(ab k),ab k∈X ij)。
(7)种群更新算子
算子形式为T d:S→S,其作用是淘汰激励度低抗体,随机生成新抗体加入种群,以提升种群的多样性。
3.人工免疫算法的流程
步骤1:对抗原进行识别,定义亲和度评价函数和抗体浓度函数,t=0。
步骤2:初始化生成抗体种群A(t)={ab1,ab2,…,ab N}。
步骤3:计算A(t)中个体抗体的亲和度。
步骤4:判断t是否达到最大迭代次数,如果达到则结束算法;否则执行步骤5。
步骤5:对A(t)中的个体抗体的浓度进行计算。
步骤6:根据亲和度和浓度生成激励度,并根据激励度对抗体进行增生和抑制操作。
步骤7:令t=t+1,对种群进行更新,跳到步骤3。
该算法的流程如图7-6所示。