人工免疫算法 MATLAB代码.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在生命科学领域中,人们已经对遗传(Heredity)与免疫(Immunity)等自然现象进行了广泛深入 的研究。六十年代Bagley 和Rosenberg 等先驱在对这些研究成果进行分析与理解的基础上, 借鉴其相关内容和知识,特别是遗传学方面的理论与概念,并将其成功应用于工程科学的某 些领域,收到了良好的效果。时至八十年代中期,美国Michigan 大学的Hollan 教授不仅对 以前的学者们提出的遗传概念进行了总结与推广,而且给出了简明清晰的算法描述,并由此 形成目前一般意义上的遗传算法(GeneticAlgorithm)GA。由于遗传算法较以往传统的搜索算法 具有使用方便、鲁棒性强、便于并行处理等特点,因而广泛应用于组合优化、结构设计、人 工智能等领域。另一方面,Farmer 和Bersini 等人也先后在不同时期、不同程度地涉及到了 有关免疫的概念。遗传算法是一种具有生成+检测 (generate and test)的迭代过程的搜索算法。 从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。然 而,在对算法的实施过程中不难发现两个主要遗传算子都是在一定发生概率的条件下,随机 地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免 地产生了退化的可能。在某些情况下,这种退化现象还相当明显。另外,每一个待求的实际 问题都会有自身一些基本的、显而易见的特征信息或知识。然而遗传算法的交叉和变异算子 却相对固定,在求解问题时,可变的灵活程度较小。这无疑对算法的通用性是有益的,但却 忽视了问题的特征信息对求解问题时的辅助作用,特别是在求解一些复杂问题时,这种忽视 所带来的损失往往就比较明显了。实践也表明,仅仅使用遗传算法或者以其为代表的进化算 法,在模仿人类智能处理事物的能力方面还远远不足,还必须更加深层次地挖掘与利用人类 的智能资源。从这一点讲,学习生物智能、开发、进而利用生物智能是进化算法乃至智能计 算的一个永恒的话题。所以,研究者力图将生命科学中的免疫概念引入到工程实践领域,借 助其中的有关知识与理论并将其与已有的一些智能算法有机地结合起来,以建立新的进化理 论与算法,来提高算法的整体性能。基于这一思想,将免疫概念及其理论应用于遗传算法, 在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或 知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(ImmuneAlgorithm)IA。下 面将会给出算法的具体步骤,证明其全局收敛性,提出免疫疫苗的选择策略和免疫算子的构 造方法,理论分析和对TSP 问题的仿真结果表明免疫算法不仅是有效的而且也是可行的,并 较好地解决了遗传算法中的退化问题。 immune.m %这是免疫算法。这个算法几乎与遗传算法一样,只是多用了一个免疫函数 %免疫算法是遗传算法的变体,它不用杂交,而是采用注入疫苗的方法。 %疫苗是优秀染色体中的一段基因,把疫苗接种到其它染色体中 %注意:标准遗传算法的一个重要概念是,染色体是可能解的2 进制顺序号,由这个序号在 可能解的集合(解空间)中找到可能解 %这是免疫算法的主程序,它需要调用的函数如下。 %接种疫苗函数: %function inoculateChromosome=immunity(chromosomeGroup,bacterinChromosome,parameter) %parameter:1,随机制取染色体接种。2,每个染色体都接种。3,每个染色体都接种,但接种 的位置是随机的 %这个函数实现对染色体的疫苗接种 %由染色体(可能解的2 进制)顺序号找到可能解: %x=chromosome_x(fatherChromosomeGroup,oneDimensionSet,solutionSum); %把解代入非线性方程组计算误差函数:functionError=nonLinearSumError1(x); %判定程是否得解函数:[solution,isTrue]=isSolution(x,funtionError,solutionSumError); %选择最优染色体函数: %[bestChromosome,leastFunctionError]=best_worstChromosome(fatherChromosomeGroup,fun ctionError); %误差比较函数:从两个染色体中,选出误差较小的染色体 %[holdBestChromosome,holdLeastFunctionError]... % =compareBestChromosome(holdBe

文档评论(0)

ma982890 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档