演化计算技术研究现状与发展趋势

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

May,2007

第20卷第3期重庆教育学院学报

Vol.20No.32007年5月

JournalofChongqingCollegeofEducation

收稿日期:2006-11-18

作者简介:吴立春(1980-),女,重庆奉节人,重庆教育学院物业管理系,助教,主要从事计算机方面教学和科研工作。

1引言

演化计算采用简单的编码技术来表示各种复杂

的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。由于它采用种群(即一组表示)的方式组织搜索,这使得它可以同时搜索解空间内的多个区域。而且用种群组织搜索的方式使得演化算法持别适合大规模并行。在赋予演化计算自组织、自适应、自学习等特征的同时,优胜劣汰的自然选择和简单的遗传操作使演化计算具有不受其搜索空间限制性条件(如可微、连续、单峰等)的约束及不需要其它辅助信息(如导数)的特点。这些崭新的特点使得演化算法不仅能获得较高的效率而且具有简单、易于操作和通用的特性,而这些特性正是演化计算越来越受到人们青睐的主要原因之一。

2演化计算的分支

演化计算最初具有三大分支:遗传算法

(GeneticA1gorithms,

简称GA)、演化规划

(evolutionaryprogramming,简称EP)和演化策略(evolutionstrategy,简称ES)。20世纪90年代初,在遗传算法的基础上又发展了一个分支:遗传程序设计(geneticProgramming,简称GP)。虽然这几个分支在算法实现方面具有一些细微的差别,但它们具有一个共同的特点,即都是借助生物演化的思想和原理来解决实际问题。

2.1遗传算法

把计算机科学与进化论结合起来的尝试开始于

20世纪50年代末,但由于缺乏一种通用的编码方

案,使得人们只能依赖变异而不是交配来产生新的基因结构,故而收效甚微。到20世纪60年代中期,美国Michigan大学的JohnHol-land在A.S.Fraser和H.J.Bremermann等人工作的基础上提出了位串编码技术,这种编码既适合于变异又适合交配操作,并且他强调将交配作为主要的遗传操作。随后,J.

Holland将该算法用于自然和人工系统的自适应行

为的研究之中,并于1975年出版其开创性的著作《AdaptationinNaturalandArtificialSystems》

。后来J.Holland与他的学生们将该算法加以推广并应用到

优化及机器学习等问题之中,而且正式定名为遗传算法。遗传算法的通用编码技术及简单有效的遗传操作为其广泛的应用和成功奠定了基础。

2.2演化策略

在20世纪60年代初,当时在柏林工业大学的

I.Rechenberg和H.P.Schwfel等在进行风洞实验时,

由于在设计中描述物体形状的参数难以用传统的方法进行优化,从而他们利用生物变异的思想来随机地改变参数值并获得了较好的结果。随后,他们便对这种方法进行了深入的研究和发展,形成了演化计算的另一个分支———演化策略。

2.3演化规划

演化规划(evolutionaryprogramming)的方法最

初是由LJ.Fogel等在20世纪60年代提出的。他们在人工智能的研究中发现,智能行为即是要具有能预测其所处环境的状态,并按照给定的目标作出适

演化计算技术研究现状与发展趋势

吴立春

(重庆教育学院物业管理系,重庆400067)

摘要:演化计算是近年发展起来的一种重要的非线性算法,以其自组织、自适应、自学习的特征而受到广泛的关注和应用。本文从演化计算技术的主要分支、特点、发展现状等方面对这种技术进行了综述,并对其发展趋势进行了展望。

关键词:演化计算;非线型算法;人工智能中图分类号:TP301.6

文献标识码:A

文章编号:1008-6390(2007)03-0061-03

61・・

当响应的能力。在研究中,他们将模拟环境描述成是由有限字符集中的符号组成的序列。于是问题便转化为:怎样根据当前观察到的符号序列作出响应以获得最大的收益,这里收益的计算是按照环境中将要出现的下一个符号及预先定义好的效益目标来确定的。演化规划中常用有限态自动机(finitestatemachine,简称FSM)来表示这样的策略。这样,问题便成为:如何设计出一个有效的FSM?LJ.Fogel等借用演化的思想对一群FSM进行演化以获得较好的FSM。他们将此方法应用到数据诊断、模式识别和分类以及控制系统的设计等问题之中,并取得了较好的结果。后来,D.B.Fogel借助于演化策略方法对演化规划进行了发展,并用到数值优化及神经网络的训练等问题之中。

2.4遗传程序设计

自计算机出现以来,计算机科学的一个重要目标即是让计算机自动进行程序设计,即只要明确地告诉计算机要解决的问题,而不需要告诉它如何去做,遗传程序设计(Geneticprogramming)便是在该领域的一种尝试。它采用遗传算法的基本思想,但使用一种更为灵活的表示方式——

—分层结构来表示解空间。这些分层结构的叶结点是问题的原始变量,个间结点则是组合这些原始变量的函数。它们很类似于LISP语言中的S—表达式。这样的每一个分层结构对应问题的一个解,也可以理解为求解该问题的一个计算机程序。遗传程序设计即是使用一些遗传操作动态地改变这些结构以获得解决该问题的可行的计算机程序。遗传程序设计的思想是stanford大学的J.R.Koza在20世纪90年代初提出的。

3演化计算的特点

演化算法与传统的算法具有很多不同之处,但其最主要的特点体现在下述两个方面。

3.1智能性

演化计算的智能性包括自组织、自适应和自学习性等。采用演化计算求解问题时,在确定了编码方案、适应值函数及遗传算子以后,算法将利用演化过程中获得的信息自行组织搜索。由于基于自然的选择策略为:适者生存、不适应者淘汰,故而适应值大的个体具有较高生存概率。通常适应值大的个体具有与环境更适应的基因结构,再通过杂交和基因突变等遗传操作就可能产生与环境更适应的后代。演化算法的这种自组织、自适应特征同时也赋予了它具有能根据环境的变化自动发现环境的特性和规律的能力。

自然选择消除了算法设计过程中的一个最大障碍:即需要事先描述问题的全部特点,并说明针对问题的不同特点算法应采取的措施。于是,利用演化计算的方法我们可以解决那些结构尚无人能理解的复杂问题。

3.2本质并行性

演化计算的本质并行性表现在两个方面:一是演化计算是内在并行的(inherentparallelism),即演化算法本身非常适合大规模并行。最简单的并行方式是让几百甚至数千台计算机各自进行独立种群的演化计算,运行过程中甚至不进行任何通信(独立的种群之间若有少量的通信一般会带来更好的结果),等到运算结束时才通信比较,选取最佳个体,这种并行处理方式对并行系统结构也没有什么限制和要求。可以说,演化计算适合在目前所有的并行机或分布式系统上进行并行处理,而且对其并行效率没有太大的影响。二是演化计算的内合并行性(implicitparallelism)。由于演化计算采用种群的方式组织搜索,从而它可以同时搜索解空间内的多个区域,并相互交流信息,这种搜索方式使得它虽然每次只执行与种群规模成比例的计算,而实质上已进行了大约o(N3)次有效搜索。这使得演化计算能以较少的计算获得较大的收益。

4展望

随着演化计算研究热潮的兴起,人工智能再次成为人们关注的一个焦点。有些学者甚至提出演化计算是人工智能的未来。目前,演化计算与神经网络、模糊系统一起已形成一个新的研究方向——

—计算智能(computationalintelligence)。人工智能已从传统的基于符号处理的符号主义向以神经网络为代表的连接主义和以演化计算为代表的演化主义方向发展。

由于演化计算在机器学习、过程控制、经济预测、工程优化等领域取得的成功,已引起了包括数学、物理学、化学、生物学、计算机科学、社会科学、经济学及工程应用等领域科学家们的极大兴趣。自80年代中期以来,世界上许多国家都掀起了演化计算的研究热潮。目前,有数种以演化计算为主题的国际会议在世界各地定期召开。国际互联网上也有多种相关的mailing1ist,USENET上还有专门的新闻组。而由于演化计算应用范围之广泛,从一些杂志及国际会议论文集中都比较容易看到有关演化计算应用方面的文章。现在已出版两种专门关于演化计算的新杂志:“EvolutionaryComputation”(由MITPress出

62・・

相关文档
最新文档