人工免疫算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 免疫算法的基本原理
2.1 多样性和亲和性
免疫系统能够产生很多种抗体, 但实际系统会根据抗原的种类和数目产生适量的相关抗 体。这里涉及了生物的多样性和亲和性。
2.1.1 多样性
算法中为了表明全体中的抗体的多样性,引入信息熵的概念。如图 1 所示 N 个抗体, 每个抗体有 M 个基因,等位基因 k1,k2,...,kL。
3. 免疫算法与其他算法的比较
3.1 性能和特点比较
1)相似点 都是搜索解空间的一系列点(种群)出发;
处理的对象是表示待求解参数的染色体串,而不是参数本身; 不需要其导数或其它附加信息。 2)区别 免疫算法在记忆单元基础上运行,确保了快速收敛于全局最优解; 可以计算亲和性,反映了真实的免疫系统的多样性; 采用基于浓度的选择机制,既鼓励适应度高的抗体,又可抑制浓度高的抗体,体现了免 疫系统的自我调节功能。
2.2 免疫算法的基本步骤
免疫算法由以下 7 个主要的步骤组成。 1)抗原识别 输入目标函数和各种约束作为免疫算法的抗原。 2)产生初始抗体 在解空间中用随机方法产生抗体。 3)计算亲和性
分别计算抗原和抗体 V 之间的亲和性及抗体 V 和抗体 W 之间的亲和性。 4)记忆单元更新 将与抗原亲和性高的抗体加入到记忆单元, 并用新加入的抗体取代与其亲和性最高的原 有抗体。 5)促进和抑制抗体的产生 计算抗体 i 的期望值 Ex i ,期望值低的抗体将受到抑制。
j 1 M
H j (N ) M
(2)
免疫系统的多样性可用式(2)描述。
2.1.2 亲和性
抗原和抗体之间、抗体和抗体之间的匹配程度可以用亲和性描述。 抗原和抗体之间的亲和性:用于表明抗体对抗原的识别程度。 亲和性 A v 定义如下:
Av
1 1 Optv
(3)
式中, Optv 表示抗原和抗体 V 的匹配程度。
问题识别
产生初始抗体群并编码
计算每个染色体的适应度,并以 欧氏距离计算抗体浓度
Y 满足终止条件? N 根据适应度和浓度进行抗体选择 (抑制、促进) 输出结果
抗体演变(交叉、变异)操作
产生新抗体
图 2 基于欧式距离的人工免疫算法的流程图
两种算法性能比较结果如表 3 所示。
表 2 两种人工免疫算法的比较
信息熵, 算法的速度大大减缓, 比改进了的基于欧式距离的人工免疫算法在该实例中慢了几 乎 6.8 倍。同时,当问题中的自变量增加时,信息熵的计算将呈爆炸式增长,这样效率极大 降低。
4.2 其他改进型的人工免疫算法
现在常用的基于人工免疫算法的改进型算法还有免疫规划、 免疫遗传算法和否定选择算 法等。 免疫遗传算法主要是利用免疫系统的多样性产生和维持机制, 来保持解的多样性, 克服 “早熟”问题,最终求得全局最优解。 免疫规划除利用免疫多样性特性之外, 还引入疫苗接种机制, 即利用先验知识来引导寻 优过程,进一步提高算法的快速性和有效性。但是通过实例来看, “疫苗”获取是一个比较 复杂的过程,并且问题的针对性很强,缺乏一般性的方法,影响这一方法的推广应用。 否定选择算法是一种针对计算机安全保护问题的一种算法, 应用范围基本局限于这个领 域,但应用效果不错。
Ex i Ai / Ci
式中, C i 是抗体 i 的密度(即数目) 。
(5)
由式(5)可知,与抗原亲和性高的抗体或低密度的抗体生存机率较大。由于高亲和性 的抗体得到促进,而高密度的抗体受到抑制,所以式(5)体现了免疫控制的多样性。 6)产生抗体 通过变异和交叉,产生进入下一代的抗体。 重复执行步骤 3 和步骤 6,直到收敛判据满足为止。 7)终止条件 终止条件满足后,优化过程结束。 应用免疫算法求解实际问题时,常将抗原、抗体、抗原和抗体之间的亲和性分别对应于 优化问题的目标函数、优化解、解与目标函数的匹配程度。
3.2 TSP 问题示例
为了比较免疫算法与其他随机优化算法的性能,采用 N 个城市的 TSP 问题检测。 染色体按如下方式编码:每个基因表示一个城市,每个基因的元素取[1,N]中的整数, 染色体中前后两个基因表示两个城市之间有通路关系。 应用深度遍历算法形成初始群体。 在 交叉过程中, 沿两个父代环游的顺序, 选择与当前访问城市距离最近但在后代环游中没有被 访问的城市。在变异操作中选择两点变异,将两个变异点的整数编号进行对换,这样可以保 证每个阶段所有解的可行性。将文中的方法应用于 31 城市的 TSP 问题,几种方法的计算结 果见表 1.
算法运 行次数 基于信息熵的人工免疫算法 基于欧式距离的人工免疫算法
每次搜 索代数
所耗 时间
收敛于全局 最优次数
40 400 20.5 35 40 400 3.2 36 其中,群体规模 N 为 30。算法运行一次是指算法从最初的随机产生群体到最后得出问 题的解为止,称作算法运行了一次,在此规定算法重复执行的次数为 40 次,而搜索代数是 指在一次算法运行过程中产生新群体的代数为 400 代。所耗时间是算法运行 40 次所花费的 总时间。在基于信息熵的人工免疫算法中,解抗体采用 34 位的二进制编码来表示,即每个 自变量由 17 位基因组成。 在基于欧氏距离的人工免疫算法中, 解抗体采用 10 位十进制数编 码来表示,即每个自变量由 5 位基因组成,这一方面能保证解的精度,同时也能减少算法运 行时间。 由表 2 可以看出, 基于信息熵的人工免疫算法中, 由于要计算每代抗体群中每个个体的
表 1 随机优化搜索方法求解 TSP 问题的对比研究
方法 模拟退火 进化规划 遗传算法 免疫算法
最优化结果/km 15882 15904 15882
10 次平均结果 15900.7 15915.2 15901.4
10 次中出现最 优解次数 3 2 2
平均计算时间/s 44 50 48
15882 15882.3 4 31 从上表可以看出,在求解 TSP 和函数优化问题时,免疫算法比遗传算法有更强收敛到 全局最优的能力以及更快的收敛速度。
4.3 关于算法改进的想法
下面谈谈对人工免疫算法进一步研究的设想。 1)个体的表达:可尝试采用抗体的表现型和基因型分离的方法,通过表现型的选择来 进化基因型; 2)适当鼓励与最优抗体接近的抗体; 3)合理设计记忆库,如记忆库中包含的问题特征和参数,以便在遇到类似问题时也可 利用同一记忆库; 4)重视个体评价指标的设计, 充分体现抑制浓度与鼓励优良的个体相结合的算法特点, 以获取更好的多峰值寻优的性能。 参考文献: [1] 王磊,潘进,焦李成. 免疫算法[J]. 电子学报,2000,28(7) :74-78. [2] 王磊,潘进,焦李成. 免疫算法[J]. 计算机学报,2000,23(8) :806-812. [3] 刘克胜,曹先彬,郑浩然. 基于免疫进化规划的多层前馈网络设计 [J]. 软件学报, 1999,10(11) :1180-1184. [4] 葛红. 免疫算法综述[J]. 华南师范大学学报(自然科学版),2002,3(8):120-126. [5] 施建刚,陈罡,高喆. 人工免疫算法综述[J]. 软件导刊,2008,7(11) :68-69. [6] 谢开贵,曾晓辉,李春燕,刘柏私,周家启. 免疫算法与其他随机优化算法的比较分析 [J]. 重庆大学学报,2003,26(11) :43-46.
人工免疫算法
摘要: 对免疫算法的研究现状作了介绍, 并将人工免疫算法特性和应用情况进行了比较和总 结,最后对算法的进一步研究方向提出了看法。 关键词:免疫算法;多峰值函数
1 引言
免疫系统是哺乳动物抵御外来病毒侵害的防御系统, 动物的生命过程中会遇到各种伤害 可能, 免疫系统为其正常的活动起着重要的作用。 免疫系统的一大特点就是用有限的资源有 效地应对了数量庞大且种类多变的病毒入侵。 受此特性的启发, 人们设计了一种具有对多峰 值函数进行多峰值搜索和全局寻优的新型算法。 这种算法称为免疫算法(Immune Algorithm---IA) ,本文给出了算法的基本原理,算法 的特性、算法的应用和展望。
2.3 免疫算法的优点
2.3.1 多样性
免疫算法的步骤 5 实现了对抗体的促进和抑制, 自我调节能力。 步骤 6 通过变异和交叉 产生新的抗体,体现了生物的多样性。所以免疫算法能够获得许多优化问题的最优解。
Biblioteka Baidu
2.3.2 记忆训练
对于以往出现过的抗原, 免疫算法产生相应抗体的速度比以前更快, 也就是说能非常快 地收敛到最优解。这个优点使得免疫算法在求解 TSP 问题、函数优化、机器学习方面有较 大的优势。
A v 的值介于 0 和 1 之间,当 Optv =0 时, A v =1,这说明抗体和抗原非常匹配,也就
是抗体为最优的解。 抗体间的亲和性:用于表明两抗体之间的相似度。
A v,w
1 , 1 H (2)
(4)
H(2)是抗体 V 和抗体 W 的信息熵。 H(2)=0 表明抗体 V 和抗体 W 的所有基因都 相同。 A v , w 的值介于 0 和 1 之间。
4. 人工免疫算法的改进
4.1 基于欧式距离的人工免疫算法
标准人工免疫算法是采用信息熵的概念来描述抗体的多样性, 在优化计算中, 这种 利用信息熵的概念计算抗体亲和性和抗体浓度的方法存在一定的问题。 例如, 对于由抗 体 u={0111111111}和抗体 v={1000000000} 构成的抗体群, 其平均信息熵 H (2 ) =0.6931, 表明抗体 u 和抗体 v 是两个很不相同的抗体。 但是在优化计算中, 它们其实是两个很相 近的解(通过解码后) 。由此,可以看出标准的人工免疫算法具有一定的缺陷。为了防 止这种缺陷的发生,提出了一种改进的基于欧氏距离求解抗体多样性的人工免疫算法。 基于欧式距离的人工免疫算法的流程如图 2 所示。
1 抗体 1 抗体 i 抗体 N
2
...
j k1 ... ks ... kL
...
M-2
M-1
M
图1
基因的信息熵
第 j 个基因的信息熵为:
H j ( N ) ( Pij log Pij )
i 1 N
(1)
式中, Pij 为第 i 个抗体的等位基因源于第 j 个基因的概率。 如果在位置 j 上所有的抗体的等位基因都相同,那么 H j ( N ) 0 。 系统的平均信息熵为 H(N)