进化设计模式 (2)精选PPT.ppt





《进化设计模式 (2)精选PPT.ppt》由会员分享,可在线阅读,更多相关《进化设计模式 (2)精选PPT.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进化设计模式第1页,此课件共30页哦兰州大学总结和展望总结和展望生命进化的程序性解释及计算机程序模拟生命进化的程序性解释及计算机程序模拟 传统进化算法介绍传统进化算法介绍生命进化理论生命进化理论研究背景与现状研究背景与现状基于反射的进化程序设计模式基于反射的进化程序设计模式 主主要要内内容容第2页,此课件共30页哦兰州大学2022/9/183 论文主要工作论文主要工作创新一创新一创新二创新二使用进化程使用进化程序设计模式序设计模式对进化理论对进化理论进行了模拟进行了模拟提出了一提出了一种进化程种进化程序设计模序设计模式式(EPM)(EPM)第3页,此课件共30页哦兰州大学 进化进化生物从低级简
2、单的状态向高级复杂状生物从低级简单的状态向高级复杂状 态演变的过程。态演变的过程。新的科技突破往往是多种技术甚至是不同学科的知识新的科技突破往往是多种技术甚至是不同学科的知识交叉、集成与融合的产物。交叉、集成与融合的产物。计算机科学与生物科学交叉渗透现象十分普遍新计算机科学与生物科学交叉渗透现象十分普遍新技术、新突破不断涌现。技术、新突破不断涌现。在计算领域我们对生物进化的现象进行模仿,已经发在计算领域我们对生物进化的现象进行模仿,已经发展出许多的算法和策略。展出许多的算法和策略。目前在计算机程序设计领域,对软件的动态自适应能目前在计算机程序设计领域,对软件的动态自适应能力的需求越来越强烈。力
3、的需求越来越强烈。一、研究背景与现状一、研究背景与现状第4页,此课件共30页哦兰州大学进化算法进化算法基于生物进化理论中的遗传变异和自然选择等生物进化机制产生的一类全局随机搜索算法。遗传算法遗传算法(GA)主要模拟了自然选择和自然遗传过程中所发生的一系列繁殖、交叉和基因突变等现象,从问题域可能存在解的初代种群产生开始,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。二、传统进化算法介绍二、传统进化算法介绍第5页,此课件共30页哦兰州大学遗遗 传传 算算 法法 流流 程程 图图编编码码、群群体体初初始始化化、选选择择、遗遗传传操操作作、评评价价、终终止止判判定定 1.传统进化算法介
4、绍传统进化算法介绍第6页,此课件共30页哦兰州大学与本文模拟算法的比较与本文模拟算法的比较 进化算法进化算法本文算法本文算法 特点特点将问题域抽象成一组将问题域抽象成一组编码迭代求出最优解编码迭代求出最优解是一种求解复杂系统是一种求解复杂系统优化问题的通用框架。优化问题的通用框架。将生物体的基因组编码解释将生物体的基因组编码解释成程序编码,通过反射计算成程序编码,通过反射计算进行修改进行修改 目的目的应用生物学领域的灵应用生物学领域的灵感来解决计算领域的感来解决计算领域的问题问题从程序的角度解释生物进化从程序的角度解释生物进化的原理的原理 编码规则编码规则将问题域抽象成一种将问题域抽象成一种染
5、色体编码串,然后染色体编码串,然后通过计算机程序进行通过计算机程序进行循环迭代处理。需要循环迭代处理。需要编码和解码编码和解码将基因抽象为类,基因组染将基因抽象为类,基因组染色体抽象为许多基因类的一色体抽象为许多基因类的一个线性序列个线性序列 第7页,此课件共30页哦兰州大学三、基于反射的进化程序设计模式三、基于反射的进化程序设计模式反射反射能够访问、检测和修改它本身状态或行为的一种能力。能够访问、检测和修改它本身状态或行为的一种能力。JAVAJAVA反射机制反射机制(动态动态)程序进入运行状态后,可以得到自己的内在结 构,包括数据的存储和相应的指令码段。通过Java.reflect包中的AP
6、I方法实现。功能(在运行时):判断任意一个对象所属的类;构造任 意一个类的对象;判断任意一个类所具有的成 员变量和方法;调用任意一个对象的方法;修 改任意一个对象的成员变量;可以生成动态代 理,甚至可以自动编程等。第8页,此课件共30页哦兰州大学1.JAVA1.JAVA反射原理反射原理第9页,此课件共30页哦兰州大学2.JAVA字节码工程技术字节码工程技术JAVAJAVA字节码工程技术字节码工程技术(静态静态)将编译好的类程序代码装入并扫描分析,建 立该类的映射数据结构图,从而可以取得该 类的内在结构,包括状态变量和行为方法,并且根据需要可以修改这些状态变量和行为 代码,使程序的功能发生改变。
7、在Javassist工具中定义CtClass。第10页,此课件共30页哦兰州大学3.3.字节码工程技术原理字节码工程技术原理第11页,此课件共30页哦兰州大学4.基于基于反射的进化程序设计模式反射的进化程序设计模式进化程序设计模式进化程序设计模式 1、对某基本问题域分析、编写解决问题的程序并将 其编译,得到字节码形式的类文件(.class)2、将字节码程序装入JVM中,使其进入进程状态,用 java.lang.reflect包中的Class引用指向运行状 态下的字节码对象。然后由该运行进程创建 CtClass类的对象并装入该字节码程序,注意 CtClass对象存储的字节码程序并未进入JVM的运
8、 行状态,只是将该字节码程序采用面向对象的方 式存储在内存中。第12页,此课件共30页哦兰州大学4.基于反射的进化程序设计模式基于反射的进化程序设计模式进化程序设计模式进化程序设计模式 3、在程序运行过程中,采用反射技术得到程序的“元 级”抽象即程序自身的结构描述,然后根据具体的 环境进行感知处理得到相应的感知结果并调整自 身组织结构和逻辑算法。4、最后最关键的一步是根据前面的感知结果,在 CtClass对象指向的非运行字节码程序代码中定位 和修改相应的代码段,并将修改后的程序码段以 字节码文件(NewProgram.class)的形式保存,从而实现了程序的一次进化。根据需要可以重复 这一过程
9、,类似于大自然中的物种进化过程。第13页,此课件共30页哦兰州大学ClassObjectinstanceOfmetalevelbaselevelEditProgram.classNewProgram.classCtClassLoadedreflection程序进化原理图程序进化原理图问题域字节码进程分析及编码分析及编码生成生成反射反射5.进化进化模式程序设计原理模式程序设计原理第14页,此课件共30页哦兰州大学15过去运行过去运行现在运行现在运行未来运行未来运行运运行行阶阶段段存存储储阶阶段段011011011100011001101101001101101101001101101101001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进化设计模式 2精选PPT 进化 设计 模式 精选 PPT

限制150内