基于云模型的进化算法
- 格式:pdf
- 大小:1011.82 KB
- 文档页数:10
基于Seq2Seq模型的工作流动态调度多目标进化算法
严佳豪;张明珠;杨中国;高晶;王桂玲;赵卓峰
【期刊名称】《郑州大学学报:理学版》
【年(卷),期】2023(55)1
【摘要】将数据处理类工作流在云计算环境下的调度问题建模为动态多目标优化问题,同时为了解决静态多目标优化算法在环境参数动态变化下可能出现的种群多样性缺失问题,在NSGA-II算法的基础上结合Seq2Seq深度学习模型,提出了DNSGA-II-Seq2Seq算法,算法通过Seq2Seq模型学习连续历史环境下局部最优解的变化规律,在环境变化时预测新的解并将其加入NSGA-II算法的种群中,以解决多样性缺失问题,同时加速算法收敛。
在改进的WorkflowSim上进行的实验表明,与其他经典的算法相比,DNSGA-II-Seq2Seq算法预测的解和最终结果在多项指标上均优于其他算法,验证了算法的有效性。
【总页数】7页(P35-41)
【作者】严佳豪;张明珠;杨中国;高晶;王桂玲;赵卓峰
【作者单位】北方工业大学信息学院;北方工业大学大规模流数据集成与分析实验室
【正文语种】中文
【中图分类】TP18
【相关文献】
1.基于动态种群多策略差分进化模型的多目标进化算法
2.多目标最优化云工作流调度进化遗传算法
3.改进多目标进化算法的云工作流调度
4.基于场路耦合模型与改进差分进化算法的电容隔直
装置多目标优化配置5.基于集成分类器代理模型的昂贵多目标进化算法
因版权原因,仅展示原文概要,查看原文内容请购买。
基于云理论的实践教学环节成绩评定方法作者:***来源:《科技资讯》2024年第01期关键词:实践教学云模型评价体系数据挖掘中图分类号: TP302 文献标识码: A 文章编号: 1672-3791(2024)01-0178-04实践教学是学校教学工作的重要组成部分,是深化课堂教学的重要环节,是学生获取、掌握知识的重要途径[1]。
通过设定具体目标,可以激发学生学习的主动性,使学生在实践过程中将所学习的理论知识运用到对实际装置或技术的研究中,并实现对技术理论更深层次的理解[2]。
随着“新工科”教育的不断推进,以“解决复杂工程问题”为导向回归实践教学,培养和提高学生工程实践能力、创新思维,以适应新形势下的人才培养需求[3]。
本文以课程设计为例介绍一种基于云模型的成绩评定方法,弥补了之前评价方法的不足,发现了教学过程中存在的问题,成绩评价更加准确客观,教学质量得到了提升。
1 实践教学环节成绩评定体系在工科专业课教学中,实践教学环节一般包括专业课内实验、独立设课实验、课程设计、生产实习与毕业设计等。
以课程设计为例,根据《西安邮电大学实践教学成绩评分标准》中自动化专业相关要求,考核项目分为三部分。
第一部分为学习態度和纪律,占比20%,考核内容包括预习报告质量、考勤签到情况,考查学生学习积极性与前期理论知识功底。
第二部分为实践能力考核,包括软件原理仿真、硬件实物焊接与调试。
该部分为实践环节考核核心内容,考查学生解决实际工程问题的能力,占比50%。
第三部分为实验报告与答辩,占比30%,考核内容包括答辩过程中问题回答情况,实验报告的完整性、规范性与准确性,学生整理资料与书面表达能力。
评分标准内容与分级如图1 所示。
该标准贯穿实践教学每个环节,考查内容全面具体,体现了教学过程的系统性和科学性,符合专业认证背景下的工科人才培养需求。
因为实践环节教学考查具有复杂性、创造性、主观性和模糊性的特点,所以采用等级评定制度判定成绩。
平行点云: 虚实互动的点云生成与三维模型进化方法田永林 1, 2沈 宇 2, 3李 强 2, 3王飞跃2, 4摘 要 三维信息的提取在自动驾驶等智能交通场景中正发挥着越来越重要的作用, 为了解决以激光雷达为主的深度传感器在数据采集方面面临的成本高、样本覆盖不全面等问题, 本文提出了平行点云的框架. 利用人工定义场景获取虚拟点云数据, 通过计算实验训练三维模型, 借助平行执行对模型性能进行测试, 并将结果反馈至数据生成和模型训练过程. 通过不断地迭代, 使三维模型得到充分评估并不断进化. 在平行点云的框架下, 我们以三维目标检测为例, 通过闭环迭代, 构建了虚实结合的点云数据集, 在无需人工标注的情况下, 可达到标注数据训练模型精度的72%.关键词 平行点云, 虚实互动, 三维视觉模型, 三维目标检测引用格式 田永林, 沈宇, 李强, 王飞跃. 平行点云: 虚实互动的点云生成与三维模型进化方法. 自动化学报, 2020, 46(12):2572−2582DOI 10.16383/j.aas.c200800Parallel Point Clouds: Point Clouds Generation and 3DModel Evolution via Virtual-real InteractionTIAN Yong-Lin 1, 2 SHEN Yu 2, 3 LI Qiang 2, 3 WANG Fei-Yue 2, 4Abstract The extraction of 3D information is playing an increasingly important role in intelligent traffic scenes such as autonomous driving. In order to solve the problems faced by LiDAR sensor such as the high cost and in-complete coverage of possible scenarios, this paper proposes parallel point clouds and its framework. For parallel point clouds, virtual point clouds are obtained by building artiflcial scenes. Then 3D models are trained through computational experiments and tested by parallel execution. The evaluation results are fed back to the data genera-tion and the training process of 3D models. Through continuous iteration, 3D models can be fully evaluated and up-dated. Under the framework of Parallel Point Clouds, we take the 3D object detection as an example and build a point clouds dataset in a closed-loop manner. Without human annotation, it can be used to effectively train the de-tection model which can achieve the 72% of the performance of model trained with annotated data.Key words Parallel point clouds, virtual-real interaction, 3D vision models, 3D object detectionCitation Tian Yong-Lin, Shen Yu, Li Qiang, Wang Fei-Yue. Parallel point clouds: point clouds generation and 3D model evolution via virtual-real interaction. Acta Automatica Sinica , 2020, 46(12): 2572−2582近年来, 随着计算机视觉技术的快速发展, 诸如图形分类[1−2]、目标检测[3]、目标跟踪[4]、智慧医疗[5−6]等二维视觉任务, 正在得到妥善解决和广泛应用. 然而, 在诸多对安全性要求较高的领域如无人驾驶[7]、智能机器人[8]等, 三维信息的提取和感知则发挥着不可或缺的作用. 以激光雷达和深度相机为代表的深度传感器, 利用其测距功能能够实现对场景深度信息的提取, 其中激光雷达更是凭借其精确的深度测量能力成为室外等较大场景下深度信息获取的首选传感器, 也成为无人驾驶解决方案中的关键组成部分[9−11]. 在数据组织方面, 虽然RGB-D 的数据在数据处理方面存在优势, 但是近期的研究[12−13]表明, 相比于RGB-D 数据类型, 点云数据能够实现更为有效和精确的三维信息感知.目前, 利用激光雷达获取场景点云信息存在着成本高、标注困难、场景覆盖不全等一系列问题[14−15].收稿日期 2020-09-26 录用日期 2020-12-11Manuscript received September 26, 2020; accepted December 11, 2020国家自然科学基金重点项目(61533019), 英特尔智能网联汽车大学合作研究中心项目(ICRI – IACV), 国家自然科学基金项目联合基金(U1811463), 广州市智能网联汽车重大科技专项(202007050002)资助Supported by the State Key Program of National Natural Sci-ence Foundation of China (61533019), the Intel Collaborative Re-search Institute for Intelligent and Automated Connected Vehicles (ICRI–IACV), the Joint Funds of the National Natural Science Foundation of China (U1811463), and the Key Research and Development Program of Guangzhou (202007050002)本文责任编委 袁勇Recommended by Associate Editor YUAN Yong1. 中国科学技术大学自动化系 合肥 2300272. 中国科学院自动化研究所复杂系统管理与控制国家重点实验室 北京 1001903. 中国科学院大学人工智能学院 北京 1000494. 青岛智能产业技术研究院 青岛 2660001. Department of Automation, University of Science and Tech-nology of China, Hefei 2300272. State Key Laboratory of Man-agement and Control for Complex Systems, Institute of Automa-tion, Chinese Academy of Sciences, Beijing 1001903. School of Artiflcial Intelligence, University of Chinese Academy of Sciences,Beijing 1000494. Qingdao Academy of Intelligent Industries,Qingdao 266000第 46 卷 第 12 期自 动 化 学 报Vol. 46, No. 122020 年 12 月ACTA AUTOMATICA SINICADecember, 2020在成本方面, 单枚多线激光雷达的价格往往高达数万人民币. 在标注方面, 由于需要对场景的三维信息进行标注, 但同时点云又存在着稀疏的特点, 导致对感兴趣的目标难以获取其完整的点云信息. 所以, 在标注时需要结合图像等其他信息, 才能对目标的三维信息给出准确标注. 这一过程往往比图像标注更为困难. 此外, 受限于激光雷达设备的昂贵价格, 普通民众无法拥有这样的设备来进行数据采集与分享, 因此点云数据的获取严重依赖于专业团队,无法做到群策群力, 导致现有的大多数数据集存在数据量小, 样本难以覆盖真实世界的可能情景等问题.为了解决点云数据生成和标注中存在的困难,同时对三维模型进行迭代优化, 本文基于ACP理论[16−18], 即人工社会(Artificial societies)、计算实验(Computational experiments)、平行执行(Parallel execution), 提出了虚实互动的平行点云计算方法.首先通过在虚拟环境构建与真实环境平行的人工场景, 对现实世界进行描述、预测和引导, 借助虚拟激光雷达, 获取人工场景的点云表示. 在此基础上, 利用虚实结合的训练方式对三维检测模型进行训练,完成3D检测和跟踪等相关的任务. 之后借助平行执行对模型效果进一步评估, 最后根据反馈结果,对人工场景的建立、数据采集以及模型训练等过程进行调整优化, 实现整个ACP系统的闭环. 在平行点云的框架下, 本文以交通场景下的车辆三维检测任务为例, 以虚实结合的方式构建了无需标注的车辆点云数据集, 缓解了三维检测任务中点云目标标注的困难. 本文的贡献总结如下:1) 针对点云应用场景, 提出了平行点云计算框架. 通过虚实结合、闭环迭代的方式, 对点云生成以及三维模型优化提供了新的思路.2) 针对交通场景下的车辆三维检测任务, 构建了平行点云数据集ShapeKITTI, 显著降低了数据集构建的成本.3) 基于平行点云数据集, 训练了目标检测模,在真实数据上取得了良好的效果.4) 构建了数据生成与模型评估的闭环, 利用反馈信息进行迭代, 优化了数据生成效果并提升了模型性能.本文剩余部分安排如下: 第1节对相关工作进行了总结回顾; 第2节阐述了平行点云的理论框架; 第3节介绍了三种虚拟点云生成方法并展示了生成效果;第4节以三维检测为例, 基于ACP进行了实验; 第5节对平行点云进行了思考与展望; 第6节对本文进行了总结.1 相关工作综述基于点云的三维算法近几年受到了来自学术界和工业界的广泛关注[19], 研究方向包括了点云分类[20−22]、点云分割[23−25]以及基于点云的目标检测[7, 26−27]和跟踪[28−29]等. 这些三维算法和模型的发展与进步离不开开源点云数据集[9−11, 30]的支撑. 真实数据集的采集和标定是一项耗时耗力的工作[31], 不仅需要昂贵的数据采集设备, 同时数据集的设计和标注同样需要专业的团队来实施. 随着计算机图形学和虚拟现实技术的发展, 软件定义的场景生成和数据采集等技术逐渐获得应用. Prendinger等[32]通过构建虚拟城市实验室来进行驾驶和出行行为的研究. 他们利用开源地图OpenStreetMap和大规模城市生成软件CityEngine, 根据实际地图搭建了仿真城市环境, 之后利用游戏引擎Unity添加车辆以及交通设施等, 并模拟了车辆行为以及车辆与道路的交互.为了提高数据集的多样性同时降低数据采集和标注的成本, Ros等[33]利用Unity引擎和CAD (Com-puter aided design)模型构建了逼真的虚拟交通场景, 并自动生成了语义、深度等标注信息. 为了增加数据的多样性, 他们借助游戏引擎的渲染技术对同一场景设置了不同的天气效果, 为后续研究天气对模型的影响提供了基础. 他们将收集到的虚拟数据同真实数据一起用于训练语义分割模型, 相比于单纯使用真实数据集训练的模型, 混合数据的使用取得了更好的效果, 从而证实了虚拟数据集在视觉模型训练中的有效性. Gaidon 等[34] 则通过模拟真实KITTI数据集[9], 构建了虚拟KITTI视频序列. 虚拟KITTI数据集在场景结构、物体位置以及物体运动和外观等特征上均和真实KITTI数据具有类似的视觉效果, 并自动产生了丰富的视觉信息标注,包括目标检测、语义分割、目标跟踪、深度、光流等. Li等[35]利用游戏引擎对真实世界中的街道进行了重建并产生了大量多样化的数据, 通过虚实结合的训练方式提高了视觉模型的性能[36]. 不同于首先构建虚拟场景进而再收集数据的方法, Johnson-Roberson等[37]直接利用游戏GTA V (Grand theft auto V) 进行数据的生成, 这种方式大大节省了场景构建所需的时间, 同时生成的数据也更为逼真.与虚拟图像关注二维信息的采集不同, 虚拟点云还需要捕获像素的深度信息. 虚拟点云不仅可以基于虚拟场景来进行生成, 还可以利用虚实结合的方式,将真实点云场景和虚拟点云目标进行结合产生, 从而减少工作量, 同时提升逼真效果. Yue 等[38]利用软件定义的虚拟雷达, 对GTA V游戏中的场景进行了雷达扫描, 从而生成了大量虚拟点云数据. 通过在训练过程中加入虚拟点云, 语义分割模型性能得到了明显提升. Li等[39]利用真实激光雷达扫描得12 期田永林等: 平行点云: 虚实互动的点云生成与三维模型进化方法2573到背景信息, 在此基础上, 通过虚拟激光雷达对三维模型进行扫描, 将得到的虚拟点云同真实背景融合, 构成了混合数据.上述方法主要关注虚拟数据集的构建以及其在模型训练测试等方面的有效性, 而未能将数据生成,模型训练以及系统级评估构成闭环. Wang [16−18]提出了ACP 理论来解决复杂环境的建模与调控问题.近年来该理论在计算机视觉[40]、图像生成[41]、机器学习[42]、自动驾驶[43]、艺术创作[44]及智能交通[45]等领域获得了广泛应用. 本文将ACP 思想引入点云生成和三维模型的性能进化中, 旨在通过数据、模型交互的闭环, 提升基于点云的三维模型解决复杂实际问题的能力.2 平行点云的基本框架平行点云是ACP 思想在点云生成和三维模型训练及评估中的应用. 图1展示了平行点云的基本框架, 主要包括三部分: 人工场景构建、计算实验和平行执行. 其中人工系统旨在建立与真实环境平行的软件定义的人工场景以及平行传感系统, 在真实世界和虚拟环境进行点云数据的收集和标注. 计算实验旨在以虚实互动的方式, 利用人工场景和真实场景数据集对三维模型进行训练和评估, 充分发挥虚拟数据集灵活可控的特性. 平行执行则通过虚实系统间的联动, 利用人工系统对真实系统进行预测和引导, 同时根据真实系统的反馈对人工系统进行调整和优化. 该框架旨在借助ACP 理论在复杂系统的建模方面的优势, 解决点云数据收集和标注,以及模型评估和进化等方面存在的问题. 将数据生成以及模型训练和评估有机结合并形成闭环, 最终实现三维模型性能的持续进化.2.1 人工场景构建与平行传感人工场景的构建旨在克服现实世界的不可控、不可重复等缺点, 通过对现实世界构建多个孪生系统, 实现对现实世界的模拟、预测和引导.在本环节, 人工场景利用现实世界的 “小数据”生成人工世界的 “大数据”, 为三维模型提供充足的训练样本. 此外, 软件定义的人工场景能够轻松实现对模型执行结果的反馈进行响应, 是系统闭环的重要环节也是区别于简单仿真系统的关键特性. 人工场景的构建可以借助计算机图形学以及虚拟现实等领域的方法和手段, 以软件定义的形式实现对现实世界的建模. 现有的自动驾驶仿真器、游戏引擎以及游戏等都可以用来实现对现实世界的建模.平行传感[46]利用分布在虚拟和现实两个平行世界的传感器, 实现对人工场景和真实场景的数据采集. 在平行点云框架中, 借助人工场景的虚拟激光雷达传感器和现实世界的真实激光雷达传感器,我们便可以生成包含大量虚拟数据和少量真实数据的混合点云数据. 真实激光雷达传感器通过发射和接收激光束来对一定范围内的物体进行测距. 垂直方向上, 通过发射多束激光束实现对垂直视场的扫描; 在水平方向上, 通过旋转或光学相控阵等技术实现对水平视场的扫描. 图2展示了激光雷达的工作示意图. 根据实际激光雷达的特性, 可以在人工场景中通过软件定义虚拟激光雷达. 虚拟激光雷达利用发射的一系列射线与场景中物体进行碰撞来模拟实际场景中激光碰到物体发生反射的过程, 可以实现同真实激光雷达类似的效果. 此外, 软件定义虚拟激光雷达具有多个可调节参数, 能够灵活地控制数据采集过程. 表1展示了虚拟激光雷达的主要参数.评估与分析反馈参数空间反馈优化虚拟雷达采集与标定人工系统混合数据真实系统采集与标定集成与应用决策与规划学习与训练计算实验三维模型调整与优化预测与引导集成与应用搜索与模拟评估与分析真实雷达图 1 平行点云框架Fig. 1 The framework of parallel point clouds2574自 动 化 学 报46 卷通过软件定义的人工点云场景以及平行传感系统, 我们便能够在真实世界和虚拟世界中进行点云数据的收集和标注. 从真实世界采集的激光雷达数据能反映目标应用场景的特性, 但是受限于真实激光雷达昂贵的成本以及点云标注过程存在的困难,从真实世界获取点云数据, 其规模难以扩展. 相比之下, 虚拟场景能够灵活地实现对各类元素的调整,如天气、场景类型、激光雷达参数等. 借助软件定义的虚拟激光雷达传感器, 便能够灵活地进行点云数据采集, 同时由于点云数据生成由软件定义, 因此其标注几乎无需人工参与, 从而大大降低了数据集构建所需的成本.2.2 基于平行点云的计算实验在人工场景和真实场景的基础上, 利用平行传感建立起各种三维任务所需要的数据集, 之后便能够开展各类计算实验, 包括三维重建、三维检测、SLAM (Simultaneous localization and mapping)、点云分割等. 本文中, 计算实验的目的在于利用人工场景和真实场景生成的大数据, 来训练各种三维模型,使其能够在实际场景中得到应用. 模型训练过程可以采用虚实互动的训练方式, 利用大规模带标注的虚拟样本和少量真实样本作为输入, 最小化算法损失, 使模型参数不断更新. 之后利用测试数据对模型进行评估, 调整优化模型结构和训练策略, 使模型达到最佳水平.基于平行点云的计算实验的关键在于虚实点云数据的有效利用、三维模型的设计以及模型的评估.三维模型设计超出本文的范围, 这里不予过多讨论.在数据方面, 相比于图像数据, 激光雷达采集的点云更关注场景的空间结构和物体的形状, 不存在图像中的纹理、风格等方面的问题, 但是来自不同设备和场景的点云, 在点的稀疏程度以及空间布局上仍存在着一定差异. 由于现在的大多数机器学习模型严重依赖于数据的分布状况, 因此一个需要解决的问题是如何克服虚拟数据和真实数据之间的差异. 对此, 目前主要有两种思路, 一种是利用混合数据对模型进行训练, 借助模型自身的学习能力, 同时对虚拟和真实样本进行拟合. 另外一种解决思路是利用领域适应技术[47], 通过实例迁移、特征迁移、参数迁移等方式, 缓解虚拟样本和真实样本的分布差异问题. 近些年随着生成式对抗网络 (Generative adversarial networks, GAN)[48]的发展, 利用生成对抗技术进行领域适应也取得了不错的效果. 该方法主要利用对抗训练的方式调整特征学习和判别过程, 使得真实样本的特征和虚拟样本的特征不可区分, 从而实现不同输入到同一特征空间的转换.三维模型评估的目的在于利用采集到的虚拟和真实点云数据集对模型进行全面分析. 在这一环节,人工场景构建的虚拟点云数据集可以充分发挥其灵活可重复的特点, 针对感兴趣的评测指标来构建人工场景并收集数据, 以对模型进行充分全面的评估.例如为了衡量无人驾驶车三维感知算法在恶劣天气水平分辨率测量距离垂直分辨率垂直视场360°(a) 激光雷达垂直平面扫描示意图(a) The illustration of LiDAR scanning on vertical plane(b) 激光雷达水平面扫描示意图(b) The illustration of LiDAR scanning on horizontial plane图 2 激光雷达扫描示意图Fig. 2 The illustration of LiDAR scanning表 1 激光雷达属性描述Table 1 The description of LiDAR attributes属性描述默认值Channels 激光器数量32Range 测量/射线广播的最大距离(米)10.0Points per second 每秒所有激光器产生的点56 000Rotation frequency 激光雷达旋转频率10.0Upper field of view 最高激光的角度(度)10.0Lower field of view 最低激光的角度(度)−30Atmosphere attenuation rate 测量每米LiDAR 强度损失的系数0.004Dropoff general rate随机掉落的总点数比例0.45Dropoff intensity limit对于基于强度的下降,阈值强度值不超过任何点0.812 期田永林等: 平行点云: 虚实互动的点云生成与三维模型进化方法2575下的表现能力, 我们可以调节场景生成的效果, 创建阴雨、沙尘等恶劣天气状况, 在此情况下, 虚拟点云数据受环境影响, 将出现更多的噪声点, 同时数据的分布范围也会发生改变, 这将给三维算法的适应能力提出更大挑战. 此外, 还能够对现实世界中出现较少的情况进行模拟, 收集对应的点云数据来训练和评估三维模型. 相比之下, 真实数据往往受限于其规模和多样性, 而难以对三维模型进行全面评价. 在平行点云的框架中, 真实点云数将主要用于提取其所表征的场景的领域特征, 来指导模型进行跨域的适应训练, 评估模型在虚拟数据和真实数据间的迁移能力. 而虚拟点云数据将更多地用于模型性能的提升和模型泛化能力的评估.2.3 基于平行点云的平行执行平行执行的目的主要有两个, 一是通过将模型部署到整个系统中, 根据系统在人工和真实场景中运转情况来进一步检验模型的综合性能; 二是通过虚实系统之间的联动, 利用人工系统对真实系统进行预测和引导, 同时根据真实系统的反馈对人工系统进行调整和优化.在模型整体性能评估方面, 基于平行点云的平行执行可以缓解三维模型对数据集的依赖, 避免基于固定数据集的评估方法带来的对模型的片面认识. 现有的大多数机器学习模型的训练和评估建立在训练和测试数据同分布的假设之上, 这导致了虽然三维模型在测试集上的评估指标可能很理想, 但是在实际应用中其性能却不尽如人意. 模型部署在实际场景之后, 面对复杂多变的环境, 其适应能力和实际表现往往会大打折扣, 尤其是面临训练和测试集中出现频率较少的场景时, 性能的退化将更为严重. 平行执行则将三维模型的评估和训练全面化、长期化, 将模型在实际和人工场景中进行平行部署, 根据其表现产生反馈, 调整点云场景以及激光雷达参数等环节, 形成数据采集、模型训练和模型评估的闭环, 使三维检测模型不断进化. 针对实际应用三维模型的过程中出现的问题, 人工系统可以将其记录在案, 并利用人工场景可控可重复的特点, 对失败案例进行复现, 通过控制变量的形式, 调整可能导致失败的主要因素, 从而定位问题所在.之后, 根据反馈信息, 调整点云数据采集、场景生成以及三维模型训练等环节对应的参数空间, 通过重构场景、调整训练数据分布以及修改模型结构或参数等手段, 弥补当前模型存在的不足.在虚实系统联动方面, 平行执行既可以发挥人工系统在模拟计算方面的优势, 对实际系统的决策规划进行预测和引导, 同时又可以利用真实系统的反馈对人工系统的决策和规划进行调整与优化, 使人工系统更准确地对真实系统进行建模. 人工场景建立在已有的知识之上, 而实际系统往往是未知和不可控的, 在复杂环境中, 三维模型在实际系统中的运转往往并不按照人们的意愿进行, 因此需要借助人工系统对实际系统的决策进行建模和监督, 通过对比真实系统的实际输出和人工系统的理想输出, 及时发现真实系统潜在的问题, 避免意外事故发生. 同时基于对当前实际系统的模拟, 人工系统可以对未来时刻可能的状况进行预测, 实际系统运行一步, 人工系统可以运行多步, 对可能的状态进行搜索, 从而选择最佳方案, 作为对真实系统决策和规划的引导, 使真实系统尽可能按照理想方案运行.3 虚拟点云的生成途径虚拟点云可以通过多种方式进行生成, 既可以直接利用三维建模软件模仿真实世界进行生成, 也可以通过虚实结合的方式将虚拟点云同真实点云进行融合, 还可以借助图像深度估计生成伪点云.3.1 基于三维建模的虚拟点云生成方法基于三维建模的虚拟点云生成借助了仿真软件的强大功能, 通过对真实环境进行高精度的建模,并使用内置的虚拟传感器对仿真环境进行扫描, 来生成虚拟场景的点云数据. 现如今市场上众多的自动驾驶仿真软件, 例如CARLA[49]、LGSVL[50]、VTD[51]等, 均支持多种传感模式和环境条件的灵活配置.这些自动驾驶仿真软件可以完成对真实场景的建模, 以及复杂交通场景的实时生成, 包括道路建模、天气环境模拟、交通信号灯仿真控制等, 并且可以通过自主添加雷达、摄像头等传感器来得到仿真环境的点云数据.图3展示了我们基于CARLA仿真环境生成的虚拟点云数据. 我们首先创建客户对象连接CARLA 模拟器的服务器, 在生成的地图场景的同时创建主体汽车. 在模拟器中主体车辆可以以自动驾驶模式或人工控制模式进行运动. 在运动过程中, 车辆顶部绑定的虚拟激光雷达对周围环境进行扫描得到虚拟点云数据. 通过虚拟场景生成虚拟点云极大地提高了数据生成的灵活性, 能够实现按需定制, 因此十分适合用来对现实场景中较少出现的情况进行个性化生成, 提高无人驾驶算法的性能.3.2 基于伪雷达的点云生成方法伪雷达是一种利用图像生成点云的方法. 传统激光雷达通过激光发射器以一定频率向外发生激光脉冲, 通过计算到达接收器的反射光得到周围环境2576自 动 化 学 报46 卷。
人工智能中的进化算法及其应用人工智能(Artificial Intelligence,简称AI)是一种模拟人类智能的技术,已成为当前科技领域的热门话题。
其中一种比较重要的技术就是进化算法(Evolutionary Algorithm,简称EA),它是一种基于进化论思想的优化算法,可以用来解决很多实际问题。
本文将介绍进化算法的基本原理、算法流程及其应用,并探讨未来的发展方向。
一、进化算法的基本原理进化算法是一种仿生的优化算法,它是通过模拟自然界进化的过程来求解问题的最优解。
进化算法的基本原理是基于进化论,即客观事物的演化是通过自然选择和环境适应实现的。
进化算法的本质是在解空间中对个体进行搜索和优化,以逼近或求解最优解。
二、进化算法的算法流程进化算法是一种类似于搜索过程的算法,分为以下几个步骤:1.初始化种群:随机生成一组解。
2.选择操作:根据适应度函数,从当前种群中选择优秀的解。
3.交叉操作:选择两个优秀的解,对其进行交叉操作产生新的种群。
4.变异操作:对新种群进行变异操作,产生更多的解。
5.评价操作:对新种群进行评价,更新适应度函数。
6.判断终止条件:判断是否达到终止条件,如满足即结束算法,输出最优解。
在算法流程中,交叉操作和变异操作是进化算法的两个重要部分。
交叉操作是将两个优秀的解进行配对并交换特定的基因,以产生新的种群。
变异操作是对新种群中的个体进行随机变异,以产生更多的解,增加搜索空间。
这些步骤的组合和判断终止条件对算法的性能有很大的影响。
三、进化算法的应用进化算法具有强大的搜索和优化能力,在许多领域都有广泛的应用,以下列举一些常见的应用。
1.优化问题:进化算法用于求解优化问题,如函数优化、组合优化问题等。
2.神经网络:进化算法与神经网络相结合可以用于优化神经网络的参数和拓扑结构,提高神经网络的性能。
3.机器学习:进化算法可以用于优化机器学习算法中的参数和特征选择,提高机器学习算法的分类精度。
2 云模型理论2.1.1 云的基本概念云是使用语言值来表示某个定性概念与其定量之间不确定性的转换模型,以达到反应自然世界中事物或者人类知识概念的不确定性: 模糊性与随机性,不仅从随机理论和模糊集合理论中给出解释,而且也反映了模糊性与随机性之间的关联性,构成了定量与定性之间的映射 .设U 是一个包含精确数值的定量论域,C 表示U 的定性概念,如果定量值x U ∈,并且x 是通过定性概念C 的一次随机实现,x 对于定性概念C 的确定度()[]0,1x μ∈具有稳定的倾向随机性.如果[]:0,1U μ→ x U ∀∈ ()x x μ→(2-1)那么,称x 在定量论域U 上的分布为云,其中每一个x 就称为一个云滴[3,4].2.1.2 云的数字特征所谓云的数字特征,就是在正态分布函数与正态隶属函数的基础上,反应云的概念的整体性,主要使用期望 (expected value )、熵 (entropy )、超熵 (hyper entropy )这三个数字特征来整体的表征云的概念:(1) 期望 : 在论域空间中,云滴是最能代表定性概念的点,其期望是论域空间中的中心值;(2) 熵 : 熵是由定性概念的随机性和模糊性所共同决定的,代表着一个定性概念的可度量粒度, 是定性概念随机性的度量,反映了这个云滴的离散程度;也体现了定性概念的裕度,反映了论域空间中的可被定性概念接受的云滴的取值范围,是定性概念模糊性的度量,通常情况下,熵越大,定性概念可接受的云滴取值范围就越大,定性概念越模糊,这也反映了随机性与模糊性之间的关联性.(3) 超熵: 超熵是对熵的不确定度的度量,也就是熵的熵,揭示了在论域空间中语言值所有点的不确定度的凝聚性以及模糊性和随机性的关联,间接反映了云的厚度.2.2 云发生器由定性到定量的转化过程称为正向云发生器;由定量到定性的转化称为逆向云发生器.一维正态云发生器是由云的三个数字特征: 期望、熵、超熵通过产生合适的云滴,于是, 个云滴就构成了云,这样就把定性的概念通过云模型的不确定性转化为定量的表示;逆向云发生器是通过已知一定数量的云滴来描述定性知识的云的数字特征的过程,具体过程如图所示:2.2.1 正向云发生器一维正态云发生器进行API指数的预测时,要遵循正态分布的规则,其产生的相应的云对象中位于之外的云滴属于小概率事件,通常情况下可以忽略不计,在具体的正向云发生器的计算中,主要由以下两步:输入: 表示定性概念云的3个数字特征值以及云滴的个数N;输出: N个云滴的定量值以及每一个云滴所代表的确定值.其具体算法为:(1)根据云的数字特征(),,x n e E E H 生成以期望为n E ,标准差为e H 的正态随机数n E *;(2)生成一个以期望为x E ,标准差为n E 的绝对值的正态随机数x ,x 就称为论域空间U 上的一个云滴;(3)根据(1)和(2)计算 属于定性概念 的确定度 :()()22exp[/2]x n x E E μ*=--; (4)重复(1)(3)步,直到产生N 个云滴为止 .2.2.2 逆向云发生器利用统计学的方法将以往平顶山市房价指数映射成云模型,再利用一维逆向云发生器进行数学建模,用 表示每月平顶山市房价指数统计均值,n 表示统计的月份,为了使模型更加精准,n 的数值不能太小,李德毅院士于2005年证明出: 若云滴数量n> 10时,则可以得到误差小于0.01的期望;当n> 100时,则可以得到相对误差小于0.01的熵 ;当n> 200时,则可以得到相对误差小于0.1的超熵 .目前,现有的云发生器有两种计算方法: 利用确定度信息的逆向云发生器及无需确定度信息的逆向云发生器.在本文中采用确定度信息的逆向云发生器进行计算.输入: 云滴 及其确定度 , .输出: 定性概念的数字特征 .具体的算法步骤如下:(1)将m 个云滴的平均值作为期望x E ;(2)将0.9999i μ>的点剔除,剩下m 个云滴;(3)i w = ;(4)1m ii n w E m==∑ ;(5)He = .在以上计算的基础上,又通过搜集有关的云模型资料,发现了改进的计算方法,即罗自强,张光卫在《一种新的逆向云算法》提出的新逆向云发生器算法.具体的逆向云发生器的计算主要有以下两步:输入: 云滴 及其确定度 , .输出: 定性概念的数字特征 .其具体算法为:(1)选取一段时间内平顶山市房价指数值,根据一段时间内的统计数据确定出房价最高的几天,并选择其平均值X 作为参考值, 表示某一天中隶属于房价最大时的程度,其取值如下:/1i x X μ⎧=⎨⎩ i i x X x X <≥当时当时 在计算过程中,将0.9999i μ>的点剔除,剩下m 个云滴;(2)将m 个云滴的平均值作为期望x E ;(3)计算()22ln i x i ix E z μ--= i=1,…,m; (4)求i z 的算术平均值1m z z z m -++=以及方差2211m i i z z S m -=⎛⎫- ⎪⎝⎭=-∑; (5)计算云的其中一个数字特征熵 的估计值: ;(6)计算云的其中一个数字特征超熵e H 的估计值:1122^222e S H z z --⎛⎫⎛⎫ ⎪=-- ⎪ ⎪⎝⎭ ⎪⎝⎭ [2,6] .。
人工智能中的进化算法
一、什么是进化算法
进化算法是一种被广泛用于人工智能的算法,也被称为遗传算法(Genetic Algorithm),它是一种基于生物进化原理的优化算法,它的
灵感源于自然界中的“演化”,用于找到解决复杂问题的最优解。
进化算法可以实现最优化,即在给定的约束环境中寻找出最优解来解
决问题,它可以分析数据中的模式,把数据归类到不同的群中,甚至可以
用来优化深度学习模型。
进化算法有两个主要组成部分:种群和选择算法,以及繁殖和变异算法。
种群(population)指一组被保存的、可行的解决方案,每个解决方
案对应一个“个体(individual)”。
选择算法(selection)用于从种
群中选择更优解。
繁殖算法(reproduction)从种群中选出的个体中创建
出新的解决方案,以保证每个解决方案的高质量。
变异算法(mutation)
是为了让不断进化的种群中保持新颖性的算法,它会根据一些给定的概率
随机产生一些变异,以让种群能够朝着更优解进化。
二、进化算法在人工智能中的应用
1、排序问题:对于类特定问题,进化算法可以被用于有效的排序,
这种算法可以为问题提供最好的解决方案,并且效率优于传统的排序算法。
2、优化机器学习模型:对于一些复杂的问题。
第31卷 第7期2008年7月计 算 机 学 报CH INESE JOURNA L OF COMPU TERSVol.31No.7July 2008收稿日期:2006204224;最终修改稿收到日期:2007207212.本课题得到国家自然科学基金(60496323,60375016)及国家/九七三0重点基础研究发展规划项目/现代设计大型应用软件的共性基础0(2004CB 719401)资助.张光卫,男,1970年生,博士研究生,研究方向为人工智能.E 2mail:ezhan g@263.n et.何 锐,男,1976年生,博士,讲师,研究方向为进化计算、移动计算.刘 禹,男,1980年生,博士研究生,研究方向为人工智能.李德毅,男,1944年生,博士生导师,中国工程院院士,主要研究领域为人工智能、指挥自动化.陈桂生,男,1965年生,博士,讲师,研究方向人工智能、复杂网络、指挥自动化.基于云模型的进化算法张光卫1) 何 锐1) 刘 禹1) 李德毅2) 陈桂生2)1)(北京航空航天大学计算机学院 北京 100083)2)(中国电子系统工程研究所 北京 100840)摘 要 基于云模型在非规范知识的定性、定量表示及其相互转换过程中的优良特征,结合进化计算的基本思想,提出一种基于云模型的进化算法.该算法利用云模型对物种的遗传变异进化统一建模,能够自适应控制遗传变异的程度和搜索空间的范围,从而可以快速收敛到最优解,较好地避免了传统遗传算法易陷入局部最优解和选择压力过大造成的早熟收敛等问题.仿真结果表明:该算法具有精度高、收敛速度快等优点.云模型和进化计算思想的有效结合一方面拓宽了云模型的应用领域,也为进化计算的研究进行了新的探索和尝试.关键词 云模型;进化计算;遗传算法;数值优化;人工智能中图法分类号TP 18An Evolutionary Algorithm Based on Cloud ModelZH ANG Guang 2Wei 1) H E Rui 1) LIU Yu 1) LI De 2Yi 2) CH EN Gui 2Sheng 2)1)(School of Comp uter Science and Eng ineering ,Beihang Univer sity ,Beijing 100083)2)(I nstituteof Electronic System Eng ineering of China,Beij ing 100840)Abstr act Based on the outstanding characteristics of the cloud model on the process of transfor 2ming a qualitative concept to a set of quantitative numerical values,and integr ating with the basic principle of evolutionary computation,the authors propose a novel rapid evolutionar y algorithm,namely Cloud Model Based Evolutionary A lgorithm or CBEA for short.With the cloud model,inher itance and mutation of species can be modeled naturally and uniformly,which make it easy and nature to control the scale of mutation and inheritance,and the scope of searching space.This enables CBEA to be able to find accurate numer ical solutions within a short time.Numer ical optimization experiments are carried out to ver ify the algorithm.With some of the typical test functions,the per for mance of CBEA is studies and also be compared with other algorithms.The results prove the high quality of the algorithm on pr ecision,stability and conver gence r ate.In ad 2dition,the successful integrating of the cloud model and evolution principle expands the resear ch fields of Cloud Theory and also indicates a new way for the research of evolutionary computation.Keywor ds cloud model;evolutionary computation;genetic algorithm;numerical optimization;ar tificial intelligence1引言遗传算法(GA)[125]¹是智能计算的重要分支.问题解按照一定编码方案被表示成遗传空间的串结构个体,用适应度函数进行评价以选择出优秀个体,通过交换和变异操作产生新一代更适应环境的种群.系统初始化为一组随机解,经过逐代演化,收敛到一个最适应环境的串上,求得问题的最优解.云模型是李德毅院士提出的一种定性知识描述和定性概念与其定量数值表示之间的不确定性转换模型[629],已经在智能控制、模糊评测等多个领域得到应用.正态云模型是最重要的一种云模型,由于其具有良好的数学性质,可以表示自然科学、社会科学中大量的不确定现象[7].云模型在知识表达时具有不确定中带有确定性、稳定之中又有变化的特点,体现了自然界物种进化的基本原理.对于云模型C(E x,En,H e),Ex可以代表父代个体遗传的优良特征,是子代对父代的继承,En和H e可以表示继承过程的不确定性和模糊性,表现了物种进化过程中的变异特征.用正向云算子可以完成概念空间到数值空间的转换,在3个参数的控制下产生子代种群,完成遗传操作.一方面这种转换是确定的和精确的,因为数值空间的每一个云滴都是定性概念的一次量化实现,都在一定程度上是该定性概念的代表;另一方面,这种转换又是随机的和模糊的,每一次变换得到不同的云滴集合,而且同一定性概念可用云滴集合中的任何一个代表,不同的云滴代表该概念的确定程度不同.基于云模型的优良特性,结合进化计算的基本原理,本文提出一种基于云模型的进化算法,该算法不但比传统遗传算法精度高,而且能够很好地避免遗传算法易陷入局部最优解和选择压力过大造成的早熟收敛等问题.本文首先对云模型进行简单介绍;然后重点给出了CBEA的思想和详细算法流程;仿真实验部分对本文提出的算法进行测试和对比分析;最后总结全文并给出下一步的研究方向.2云模型简介定义1.云和云滴.设U是一个用数值表示的定量论域,C是U上的定性概念,若定量值x I U 是定性概念C的一次随机实现,x对C的确定度L(x)I[0,1]是有稳定倾向的随机数:L:U y[0,1], P x I U,x y L(x),则x在论域U上的分布称为云(Cloud),记为云C(X).每一个x称为一个云滴[6].如果概念对应的论域是n维空间,那么可以拓广至n维云.云模型所表达概念的整体特性可以用云的数字特征来反映,云用期望Ex(Expected value)、熵En (Entropy)、超熵H e(H yper entr opy)这3个数字特征来整体表征一个概念,多维云模型的整体特征可由多组数字特征表示.期望E x是云滴在论域空间分布的期望,是最能够代表定性概念的点,或者说是这个概念量化的最典型样本;熵En代表定性概念的可度量粒度,通常熵越大概念越宏观,它也是定性概念不确定性的度量,由概念的随机性和模糊性共同决定.一方面En是定性概念随机性的度量,反映了能够代表这个定性概念的云滴的离散程度;另一方面又是定性概念亦此亦彼性的度量,反映了在论域空间可被概念接受的云滴的取值范围;超熵H e(H yper entropy)是熵的不确定性度量,即熵的熵,由熵的随机性和模糊性共同决定.用3个数字特征表示的定性概念的整体特征记作C(Ex,E n,H e).定义2.一维正态云算子Ar Forward(C(Ex,En, H e))是一个把定性概念的整体特征变换为定量表示的映射P:C y0,满足以下条件:(1)(={t i|N orm(En,H e)的一次实现,i=1..N};(2)X={x i|x i为N orm(Ex,t i)的一次实现,t i I(,i=1..N};(3)0={(x i,y i)|x i I X,t i I(,y i=e-(x i-Ex)2/(2t2i)}.其中N or m(L,D)为期望为L方差为D的正态随机变量,N为云滴的个数.利用正态云算子,就可以把定性概念C(Ex, En,H e)变换为数值表示的云滴集合,实现了概念空间到数值空间的转换.一维正态云算子可以拓广至n维正态云算子.3基于云模型的进化算法(CBEA)通过正向云算子根据3个数字特征产生云滴的过程能够刻画遗传和变异的思想,以一维正态云模10837期张光卫等:基于云模型的进化算法¹H eirk otter J,Beasley D.Th e hitch2hik er c s guide to evolu2tion ary compu tation.FAQ in Comp Ai Genetic,1995.h t2tp://www.cs /~rij/gafaq/top.h tm型C(0,En,H e)为例,它表达的概念为/坐标轴原点附近0,以不同的熵和超熵可以把这个定性概念转化为定量表示,如图1所示分别做出通过正向云算子得到的500个云滴的图形.图形上的每个云滴可以理解为以0(期望)为种子个体,以不同的熵和超熵得到的后代个体.云滴形成的每个云相当于一个种群,可以看到4个种群在覆盖范围和离散程度上的明显差异,即熵越大,个体的覆盖范围越大,超熵越大,种群中的个体越离散.图1 用云表达概念/坐标轴原点附近0可见期望体现了遗传的稳定性,熵体现了变异的范围,可以表示搜索的广度,超熵体现了进化的稳定程度,可以表示求精的粒度.根据人类搜索的经验,/当前优秀个体周围往往存在更加优秀的个体0,制定下面的搜索过程:首先,求出优秀个体,对一个进化代所有的个体(云滴)根据被优化的函数进行适应度计算(fitness value ),根据适应度选择得到前m 个最适应的优秀个体,称为优秀个体向量;其次,以优秀个体为母体繁殖下一代个体,即分别以m 个个体为种子产生一定数量的云滴作为下一代个体,给定规则使得越优秀的种子产生的下一代个体数量越多,这样得到新一代的个体中存在更加优秀的个体的可能性较大,反复叠代便可逐步寻优;另外,根据历史进化代的情况可以对下一个进化代熵和超熵的值进行自适应控制(放大或缩小),以控制搜索的范围和求精的粒度.这个控制过程一方面要防止算法陷入局部最优和早熟收敛,另一方面还要满足在可能存在最优解的范围内迅速求精,当然这两个方面是矛盾的,需要制定合适的控制策略.在这个过程中,遗传和变异是统一在一起的,都融合在新个体的产生过程中,因为由正向云算子产生的子代个体(云滴)都会聚集在母体(云期望)周围,充分体现了/龙生龙,凤生凤0的遗传特征,同时这也是一个充满不确定性的过程,是随机的和模糊的,每一次变换得到不同的云滴集合,体现了/一母生九子九子各不同0的变异特征.当算法在若干进化代都不能产生新的优于历史个体的最优个体时,就要考虑突变操作,生物学认为突变是能够影响生物遗传性状的变异,但它并不经常发生,本算法中最深度的突变操作是系统重新进行初始化.以上面的思想为基础,本文提出一种新颖的演化算法)))CBEA (Cloud Based Eevolutionary A l 2gorithm).类似大多数演化计算技术遵循的过程,CBEA 的计算过程为1.系统初始化为一组随机解,即随机初始化群落中个体的值.2.计算所有个体的适应度,并选择出适应度最好的前m 个最优秀个体,形成优秀个体向量.3.前m 个个体分别繁殖一个种群.4.如果达到演化代数则算法停止,最优秀的个体即为最优解,否则转步2.CBEA 与粒子群算法[10211](Par ticle Swar m Op 2timization,PSO )和遗传算法有很多共同之处,都是基于叠代的优化过程,都随机初始化种群,而且都使用适应值来评价系统,进而根据适应值来进行一定的随机搜索,它们都不能保证一定能找到最优解.CBEA 与遗传算法的不同之处在于,虽然也是通过叠代搜寻最优值,但没有遗传算法的二进制编码工作,也没有相应的交叉(cr ossover)、变异(mu 2tation)等操作,而是通过正向云算子完成新一代种群的产生,通过熵、超熵控制产生子代种群的位置、范围(搜索的范围)以及子代种群集聚程度(求精的粒度),算法的实现也较遗传算法简单.CBEA 和PSO 都采用实数编码,都没有相应的交叉、变异操作,PSO 根据粒子的速度来决定搜索,粒子们追随当前的最优粒子在当前解空间中搜索,而CBEA 在各个进化代是个体不断产生和被淘汰的过程,既体现了进化论的思想,也体现了人类搜索的特点.假设参加叠代寻优的个体总数为n,称为一个群落C,群落中的个体被分成m 个种群,m 也称为群落的丰富度.群落和种群的关系为C =G mi =1P i ,其中P i 表示第i 个种群,各个种群包括的个体的数目可以不同,个体被编码为一个k 元组,x k ij 表示第i 个种群的第j 个个体的第k 个分量,由于个体能且只能属于一个种群,所以n =j 1+j 2+,+j m ,种群是个1084计 算 机 学 报2008年体的集合,表示为P 1={(x 111,x 211,,,x k 11),(x 112,x 212,,,x k12),,,(x 11j 1,x 21j 1,,,x k1j 1)},P 2={(x 121,x 221,,,x k21),(x 122,x 222,,,x k22),,,(x 12j 2,x 22j 2,,,x k 2j 2)}, ,P m ={(x 1m 1,x 2m 1,,,x k m 1),(x 1m 2,x 2m 2,,,x km 2),,,(x 1mj m ,x 2mj m ,,,x kmj m)}.按照群落中种群的规模对种群的地位进行划分,分为建群种、优势种和劣势种,其中优势种是拥有较多个体的种群,建群种为优势种中的最优者.一个群落中建群种只有一个,是群落中的最具代表性的种群,优势种和劣势种则可以有多个,其中劣势种规模最小但个数最多.根据当前最优个体周围存在更加最优个体的概率较大的原则,越优秀的个体将产生更多的子代个体.在每一个进化代,挑选适应度最好的前m 个最优个体,m 为群落中种群的个数,淘汰群落中所有其余个体,以m 个最优个体为母体产生m 个种群,构成新一代群落,最优秀的个体产生建群种,依次类推使得越优秀的个体产生的种群规模越大.比如假设群落C 的个体总数n =1000,种群数m =10,种群大小依次为[300,200,150,50,50,50,50,50,50,50],在每个进化代的优秀个体向量大小为10,算法在每一个进化代根据个体的适应度挑选出10个优秀个体,下一代的种群由这10个优秀个体产生,其中最优秀的个体将作为母体产生建群种,其它次优秀的个体将依次产生优势种和劣势种群,则种群结构与优秀个体的关系如图2所示.图2 种群结构与优秀个体的关系基于云模型的进化算法不像遗传算法那样注重父代与子代的遗传细节(通过基因表达遗传操作)上的联系,而是通过云模型把进化和遗传作为一种定性知识进行描述,进而通过不确定的定性定量转换,把定性知识转化成若干定量实现(子代个体).在每一个进化代,一方面通过对子代个体的适应性评估得到优秀个体,另一方面根据历史进化情况确定下一步进化的范围,从而形成新的知识,为下一步进化做好了准备.为了便于表述算法思想首先定义以下基本概念.定义3.进化模型(evolving pattern ).EP (Ex,En,H e)是用云模型表达的进化模型.其中E x 称为种子个体,表达祖先遗传的优良特性;En 称为进化熵,代表变异的大概范围;H e 称为进化超熵表示进化的稳定性,H e 越大则不确定性越强.进化模型包括一维模型和多维模型,多维模型用E P (E x 1,En 1,H e 1,,,Ex n ,En n ,H e n )表示,其中维数n 为大于等于1的整数.给定父代个体(Ex)作为母体,指定熵和超熵(En,H e),利用正向云算子便可以产生任意数量的云滴,所有云滴均是该母体的后代个体,形成一个种群,因而进化模型可以看成是种群的产生模型.定义4.进化(evolvement ).它是指以父代种群中适应度较好的优秀个体为母体,按照进化模型产生新种群的操作.进化操作包含有一定的变异成分,因为个体既继承了母体的优良特征,又与母体有一定程度的不同,由于这种变异为稳中求变,故称为进化式变异.进化式变异的变化程度主要受进化模型的参数En 控制,其变化程度可能较小(En 较小时),也可能较大(En 较大时).定义5. 突变(mutation ).它是指进化过程中全部或部分抛弃父代种群的优秀个体,并按照一定策略生成新的个体作为母体产生新种群的操作.经过突变产生的群落相对于父代群落差异较大.定义6. 进化代(evolving gener ation ).进化过程中新群落的一次产生称为一个进化代.定义7. 适应度(fitness ).它是指群落中各个个体对环境的适应程度,用于衡量个体优劣的程度.根据适应度的大小,可以决定某个个体是被保留还是被淘汰.适应度通常是费用、盈利、方差等目标的表达式,适应度函数的构造可以参考遗传算法中适应度评估函数的构造方法.定义8. 精英个体(elite individual ).它是指进化过程中得到的适应能力最强的个体,分为当代精英和跨代精英.当代精英指一个进化代的所有个体中适应性最强的个体,跨代精英指多个进化代中适应性最强的个体,进化过程(算法)的最终结果即为所有进化代中的最优跨代精英个体.出现跨代精英的进化代称为非平凡进化代,没有出现跨代精英的10857期张光卫等:基于云模型的进化算法进化代称为平凡进化代,两个跨代精英个体之间相隔的进化代数称为连续平凡代数,是连续没有出现跨代精英个体的进化代数.连续出现跨代精英的进化代数称为连续非平凡代数.连续平凡代数和连续非平凡代数是进化过程中进行自适应调节的重要数据.较大的连续平凡代数说明目前搜索的邻域中难以发现更加优秀的个体,那么此时算法可以自适应地采取突变操作.连续非平凡代的出现则表明当前进化代是有效的,算法可以自适应地控制进化过程中的变异程度(求精操作).定义9.进化策略(evolving str ategy).它是指进化过程中进化操作的控制策略,亦即通过调整进化模型的参数E n和H e来优化子代种群产生的策略.通过制定进化策略可以解决两方面问题:(1)局部求精.当出现了跨代精英个体时,算法可能找到了新的极值邻域,或更加逼近了老的极值邻域,此时需要求精操作,方法是降低进化范围(减小En)和增加稳定性(减小H e),从而加大搜索的精度和稳定度以达到快速局部求精的目的,比如可以简单地把En和H e减小为原来的1/K,其中K为大于1的实数,称为进化系数.(2)局部求变(进化式变异).当若干进化代没有发现新的跨代精英,即连续平凡代数达到一定的阈值K local时,算法可能陷入了一个局部最优邻域,此时需要跳出这个小局部,并在该局部附近尝试寻找新的局部最优.方法是提高E n和H e,比如简单地提高为原来的L倍,L称为进化式变异系数,L F K,可取L=K.当函数的局部最优值非常邻近时,进化式变异可以在众多邻近局部最优值中寻找全局最优.定义10.变异策略(mutation strategy).它是指进化过程中对突变操作的控制策略,是算法摆脱局部的保证.当经过若干代进化没有得到适应性更加优异的个体,而且进化式变异没有效果时,算法有可能陷入局部,需要进行一次突变操作.进行局部求变和突变的连续平凡代数阈值之间的关系为K global> K local.突变方法有两种,一种是取历史跨代精英个体的平均值,另一种是取历史当代精英个体的平均值,熵可取为相应历史精英个体的方差.在CBEA中进化和变异是统一的,进化式变异是进化和变异融合,可以用来进行局部求精或跳出小局部,而突变则用来在全局范围内寻找新的极值搜索区域.算法可以判断出当前的进化状况,进而可以自适应地进行调整.相比传统遗传算法,当种群中多数个体的适应值相差不大时交叉操作就显得无能为力,此时算法容易陷入局部解而不能通过交换解决,突然变异能够使之摆脱局部收敛而跃出局部解,但后期的变异可能破坏已产生的对形成最优解有建设性作用的模块.CBEA可以有效避免遗传算法的这个缺点,因为进化式变异和突变均利用了历史搜索结果.进化算法的详细结构如图3所示.图3进化算法结构图4仿真实验及分析为了验证算法的有效性,我们选用如下经典非约束类测试函数进行对比实验.f1=015+sin2x21+x22-015[1+01001(x21+x22)]2,-100F x i F 100,i={1,2},即Schaffer函数,其在(0,0)处取得全局最小值0.f2=4-211x21+13x41x21+x1x2+(-4+4x22)x22, -3F x1F3,-2F x2F2,也称Six2H ump Camel Back函数,有两个全局最小值-1103162845348988.f3=E5i=1i cos[(i+1)x1+i]@E5i=1i cos[(i+1)x2+i],-10F x j F10,j={1,2},也称Shubert1086计算机学报2008年函数,有18个全局最小值-18617309088310239.f 4=-cos (x 1)cos (x 2)#exp (-(x 1-P )2-(x 2-P )2),-100F x i F 100,x ={1,2},也称Eazom 函数,在(x 1,x 2)=(P ,P )时取得全局最小值-1.f 5=E ni=1x2i,-100F x i F 100,i =1,2,,,n,n =10,即Sphere 函数,在(0,0,,,0)处取得全局最小值0.f 6=20+exp (1)-20exp -151n E ni =1x 2i-exp -1n E n n =1cos (2P x i ),-321768<x i <321768,i =1,2,,,n,n =10,即Ackley 函数,在(0,0,,,0)处有全局最小值0.f 7=14000E n i =1x 2i -F ni =1cos x i i+1,-600<x i <600,i =1,2,,,n,n =10,即Griewank 函数,在(0,0,,,0)处有全局最小值0.f 8=10n +Eni=1[x 2i -10cos (2P x i )],-5112<x i <5112,i =1,2,,,n,n =10,即Rastrigin 函数,在(0,0,,,0)处有全局最小值0.实验1.CBEA 算法搜索过程和执行效率分析.以函数f 1为例,实验的初始值设置:群落规模500,群落丰富度10,群落中种群的规模为[150,100,75,25,25,25,25,25,25,25],适应度函数取为目标函数f itness =f 1,进化代数20,阈值Klocal =2,K global =10,进化系数K =10,进化式变异系数L =K ,进化模式初始取值为E P (Ex 1,En 1,H e 1,Ex 2,E n 2,H e 2)=(40,100,0101,20,100,0101).以一次随机运行为例分析结果的收敛情况,最优点f 1(81814651527942963e-005, 11489411529440795e-004)=21998322828906552e-008,分别做出x 1,x 2和函数值的收敛曲线,横坐标为代数,纵坐标为函数值或x 1,x 2的值,如图4所示.分析如下:(1)算法共运行20代,在第15代找到了全局最优点.(2)算法在第1,2,3,11进化代4次寻找到新的变化较大的局部极值点邻域,经过求精后迅速从第1,2个逃出,在第3个局部极值点邻域连续求精8个进化代,其中找到5个跨代精英.由于阈值K local =2,所以当算法在连续两代没有发现跨代精英的时候,就要进行变异,第11代进行变异,并立即找到了新的跨代精英,表明了算法具有良好的变异特性,使得算法能快速跳出局部极值邻域并进入新的求精阶段.(3)第18,19,20代为连续变异,没有找到跨代精英,算法结束.(4)观察连续非平凡代数,大量实验表明连续非平凡代数一般不超过5,表明算法有很好的局部求精能力.图4 进化过程中各项指标的收敛曲线以上分析表明算法不但能够快速定位全局极值点所在邻域,而且具有高效的局部求精能力,能够较好地避免遗传算法易陷入局部最优解和选择压力过大造成的早熟收敛等问题.为了更好地了解算法的执行情况,下面对x 1和x 2的搜索空间的演变进行分析.x 1的变化情况如图5所示,图中给出了第1,3,5,14进化代x 1的搜索空间,算法在第3代,建群种已经接近了最优解邻域,第5代的时候群落中除了有两个种群外其余的种群都回归到最优解附近,数据表明在第5进化代x 1已经很逼近最优值了.x 2的搜索空间的变化情况如图6所示,图中给出了第1,6,12,15进化代x 2的搜索空间,直到第6代时x 2仍局限在局部最优邻域-3114附近,在第11代出现变异,第12代的时候其建群种开始接近了最优解邻域,基本确定了下一步演化的方向,第15代时群落中所有10个种群都回归到最优解附近,正是在15代算法取得了最优解(见图4).为了考查CBEA 的执行时间和计算精度,针对函数f 1,算法根据不同的总代数各运行100次,由于运算结果呈非对称偏态分布,不适合用平均值作为测度,因而做出每次运行结果的频度统计,如表1所示.算法的配置为:群落大小为500,K local =2,K global =10,K =10,L =K .CBEA 的执行时间受运行的总代数、适应度函数的复杂度以及群落10877期张光卫等:基于云模型的进化算法大小的影响,对于函数f 1每次运行的平均时间如表1所示.实验机器为赛扬笔记本115GH z 主频,512MB 内存,仿真软件为Matlab 711.在上面的初始配置下,对于函数f 1当运行总代数大于50时,成功率基本达到100%,且平均精度优于10-10数量级.当运行总代数大于50时,算法得到精确解的比率大于90%.如果提高群落的大小,1088计 算 机 学 报2008年那么能够进一步提高成功率.当算法运行的总代数小于100时算法能够在011s 内完成寻优,算法的执行效率还是相当高的.表1 结果频度统计表运行次数每次运行代数运行结果频度统计(次)0(精确解)f 1([1E-17,1E-13])f 1([1E-12,1E-10])f 1([1E-09,1E-06])f 1([1E-05,1E-04])f 1(1E-03)(失败)每次运行平均时间/s 1003040457503010226610050952210001041251008095320000106297100100973000001077811001509910111562实验2. CBEA 收敛性实验.为了说明CBEA 的收敛性,我们利用所选取的所有测试函数对算法的演化情况进行了跟踪并绘制各自的演化曲线.CBEA 对每个函数都计算50次,每次演化100代;各个函数的演化曲线在某一代的值是50次实验中算法演化到该代时所有搜索到的最优解的平均值.实验中,CBEA 的群落大小均取1000,群落丰富度为10,群落中种群的规模为[300,200,150,50,50,50,50,50,50,50].算法对所有函数演化曲线如图7所示(由于各个搜索范围和精确解位置不尽不同,故未将所有收敛曲线画在同一坐标系中).由图7可知,无论测试函数是2维还是10维,CBEA 都能够很快地收敛到最优解的水平,除了f 3之外,其它函数都能够在前10代逼近最优解,而f 3也能够在25代左右逼近其最优解.事实上,实验数据表明,所有函数都能够在30代左右到达或非常接近最优解.不过由于显示粒度的原因不能在图中完全表现出来.图7 CBEA 计算函数f 1~f8的收敛曲线实验3. 全局搜索能力对比分析.为了说明CBEA 的全局搜索能力,我们分别与遗传算法和PSO 算法进行了比较.前者是基于函数f 1~f 4,后者是基于f 5~f 8.遗传算法方面,选取了传统GA [1](采用浮点编码、非一致变异算子和算术交叉算子)和直接用局部10897期张光卫等:基于云模型的进化算法。