论文部分内容阅读
该文提出了一个基于组件的演化计算软件设计框架CBFEC(Component-Based Framework for Evolutionary Computation)来指导设计可重用、可扩展的演化计算软件.演化计算是人工智能领域中的基于生物进化理论的一个分支.它模拟自然界生物演化过程,采用某种编码技术表示问题的可能解,并通过对编码表示进行遗传操作和自然选择来解决问题.由于演化计算具有自组织、自适应、自学习等智能特征,且描述简单、使用灵活、易于操作和对问题要求的限制条件少、以及适合于大规模并行计算等特点,它已在复杂优化问题求解、机器学习和众多工程领域中取昨了很大成功,成为许多学科关注的一个热点.对演化计算的研究分为理论研究和应用研究两个方面.理论方面主要研究演化算法的计算模型,分析其收敛性和收敛速度以及控制参数对算法性能的影响等等.应用方面一般是针对一类问题,分析其性质并设计一个演化算法来求解它.和其理论研究方面相比,演化计算在应用方面开辟了相当广阔的领域,取得了很大的成功,但是这种应用水平和深度还只能说是初等和基本的.尤其是对演化计算的软件设计模型的研究显得十分不够.针对这些情况,该文把组件软件设计方法应用于演化计算的软件设计,提出CBFEC来解决上面的问题.CBFEC力求:在结构上直接反映演化计算的本质思想和关键概念使之容易理解和使用:最大程度降低和问题的相关性使之可以重用于求解广泛的不同种类的问题;强调以接口为中心的设计使之易于扩展.具体的做法是把演化计算看作是基于组件的软件工程的一个应用领域:首先分析了演化计算求解问题的一般思路和方法,把演化计算问题求解过程分为:"设计基于群体的随机搜索机制"、"研究问题的性质并以此隐含地定义算法的搜索方向"和"求解过程的观察与控制"三个部分;然后分别找出各个部分中的关键概念,总结这些概念现有的一般实现方法,抽取其本质,以引结合设计模式来定义组件软件的接口;通过分析演化计算各个概念之间的相互联系来设计组件软件间通过接口的进行交互的方式;最后还在目前一种主流组件软件开发平台COM/DCOM(微软提出的组件对象模型)的基础上实现了常用的演化计算组件,如简单演化算法组件、稳态演化算法组件、(μ+λ)演化算法组件、(μ、λ)演化算法组件、种群组件、锦标赛选择策略组件、线性排名选择策略组件、非线性排名选择策略组件、随机数发生器组件等等.所有这些接口,接口间的通信方式,以及实现这些接口的常用组件就构成了CBFEC.该文使用UML(统一建模语言)描述CBFEC的组成元素及其关系使之便于理解.