遗传算法的哲学思考,本文主要内容关键词为:算法论文,哲学论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:N02 文献标识码:A 文章编号:1003-5680(2007)06-0043-04
制造智能机器一直是人类的梦想,人们为此进行了艰苦卓绝的探索,人工智能技术的发展使这一梦想逐步向现实迈进。传统的人工智能基于符号处理机制,在人工智能史上发挥过重大作用,但是,近年来,随着人工智能应用领域的不断拓展,这条强人工智能的进路在处理模式信息与非线性复杂系统,以及解决组合爆炸等方面的问题遇到了难以克服的困难。之后,神经网络的发展,形成了人工智能的联结主义研究范式。这条进路虽然对于解决非线性复杂问题具有突破性的进展,但仍有许多局限。遗传算法的行为主义工作范式为人工智能研究开辟了新的途径与方法,对于复杂非结构性问题的认知具有很重要的启示和认知意义。国内目前主要集中于对遗传算法理论及应用的研究,对其认知意义的揭示需要进一步加强。文章试图基于对遗传算法的产生背景及其思想特点的考察,从微观层面探讨遗传算法对于复杂科学认知的方法论意义。
一 遗传算法的产生和发展
遗传算法是基于达尔文生物进化论的自然选择学说和群体遗传学原理而开发出的一种随机全局搜索与优化的自适应智能算法。它主要采用信息数学模型来模拟自然生命系统在与环境信息的互动中进行自适应优化的一种遗传进化行为。遗传算法目前已经在模式识别、图像处理、神经网络、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到广泛应用。它是20世纪下半叶学科高度交叉融合的结果,其产生和发展过程可大致分为以下三个阶段。[1]
遗传算法起源于对生物系统所进行的计算机模拟研究。在上世纪40年代和50年代,人工智能研究者在工程实践中发现,传统计算解题方式难以适应复杂性问题研究。于是,他们开始尝试利用计算机进行生物模拟技术的研究,从生物学的角度进行对生物的进化过程和遗传过程的模拟。1962年,弗兰瑟(A.S.Fraser)在《理论生物学杂志》上发表了“遗传系统的模拟”一文,其思想和现在的遗传算法十分相似,但是,他并未意识到将自然遗传算法转化为人工遗传算法。与此同时,美国密执安大学的霍兰(J.H.Holland)认识到了这种转化的重要性,认识到生物的遗传和自然进化现象与人工自适应系统之间的相似关系,提出了一种利用群体进化的方法进行自适应搜索模拟适应性系统的思想,并引进了群体、适应值、选择、交叉、变异等基本概念。他的工作对于遗传算法具有开创性的意义,被尊称为“遗传算法之父”,此后霍兰一直致力于遗传算法和复杂自适应研究。1967年,他的学生巴格里(J.D.Bagely)在其博士论文中首次提出了“遗传算法”一词,并发表了遗传算法应用方面的第一篇论文,提出了复制、交叉、变异、显性、倒位等遗传算子,在个体编码上使用了双倍体的编码方法。这些都与目前遗传算法中所使用的算子方法相类似,他还敏锐地意识到了在遗传算法执行的不同阶段可以使用不同的选择率,这将有利于防止遗传算法的早熟现象,从而形成了自适应遗传算法的概念。
70年代初,霍兰提出遗传算法的基本定理——模式定理,从而奠定了遗传算法的理论基础。1975年,霍兰出版了第一本系统论述遗传算法和人工自适应系统的专著《自然与人工系统中的适应性行为》,该书系统地阐述了遗传算法的基本理论和方法。同年,德·琼(De Jong)在其博士论文中结合模式定理进行了大量纯数值函数优化计算实验,首次把遗传算法应用于函数优化问题,他确定了在大多数优化问题中都较适用的遗传算法的参数,形成了遗传算法的工作框架,得到了一些重要且具有指导意义的结论,并建立了著名的De Jong五函数测试平台。80年代初,霍兰第一个实现了基于遗传算法的机器学习系统——分类器系统,提出了基于遗传算法的机器学习的新概念,从而为分类器系统构造出了一个完整的框架。1989年,哥得博(David Goldberg)出版的《搜索、优化和机器学习中的遗传算法》一书,全面系统地总结了当时关于遗传算法的主要研究成果,结合大量的实例,完整地论述了遗传算法的基本原理及应用,奠定了现代遗传算法的基础。
90年代,遗传算法在广度和深度方面都得到了不断的发展。1991年,戴维斯(L.Davis)编辑出版的《遗传算法手册》一书中包括了遗传算法在科学计算、工程技术和社会经济中的大量应用实例,这本书为遗传算法的应用推广起了重要的推动作用。1992年,寇冉(John R.Koza)在出版《遗传编程》一书中阐述了遗传编程的概念,成功地把遗传编程的方法应用于人工智能、机器学习、符号处理等方面。遗传算法与其他智能计算方法结合、交叉、渗透是现阶段遗传算法研究的焦点。遗传算法与模糊数学、神经网络、混沌等理论相结合,优劣互补,产生了明显的优化效应,对于智能计算方法具有重要意义;遗传算法与组合优化方法相结合,解决了许多组合优化难题;遗传算法与机器学习相结合,解决了专家系统中的分类器设计问题及其他知识工程的知识获取问题;遗传算法与并行处理相结合,发展了并行遗传算法,并促进了智能计算机体系结构的研究进展;遗传算法与人工生命相结合,发展了各种人工生命系统;遗传算法与计算机科学相结合,利用计算机网络和智能体,完善了各种基于多智能体的网络合作系统,有利于解决复杂的工程问题。
二 遗传算法的内在机理及其特点
遗传算法特别适用于处理传统人工智能解题方法难于解决的复杂的非线性问题。它模拟了生物进化过程中发生的繁殖、交配、遗传和变异现象,根据适者生存、优胜劣汰的自然法则,在遗传算子(选择、交叉、变异)的作用下,使种群逐代优化,产生优秀个体,最终搜索到最优解。基本的遗传算法由初始化、选择、交叉、变异四个部分组成,其流程结构如下图所示:
遗传算法基本流程
遗传算法模拟生物的群体生存机制,需要先选择一组初始种群解,它的突出特点是其操作对象不再是问题决策变量的实际值,而是其信息码,因此,要将待寻优的可行解编码成“染色体串”。染色体中的基因是最基本的单位,用一个二进制码或其他信息码表示,每个染色体代表了搜索空间的可行解即染色体的表现型。然后,染色体要译码成实际值计算其适应度。按照适者生存和优胜劣汰的原理,适应度愈大的染色体被选择的几率愈大,遗传到下一代的几率也愈大。染色体群体中的个体两两随机配对交叉互换部分基因形成新一代群体,同时部分基因可能发生突变,这样就得到下一代染色体群体,再进行适应度计算,若收敛于最优解,遗传计算便结束,输出最优解,否则继续重复上述选择、交叉、变异,再进行迭代计算。在这个过程中,像自然进化一样,群体的后代种群比前代种群更适应于环境,尤其是改进的遗传算法可逐步趋于最优化。遗传算法是一类可用于复杂系统优化计算的鲁棒搜索算法,与其他一些优化算法相比,它主要有以下几个显著特点:[2]
其一,遗传算法将决策变量转化成信息码进行操作。传统的优化算法往往直接利用决策变量的实际值来进行优化计算,而遗传算法则以决策变量的某种形式的编码为运算对象。这种信息码的处理方式,使得信息的交换和流动更为灵活与方便。这样,在优化计算过程中便可以借鉴生物学中的染色体和基因等概念,可以模仿自然界中生物的遗传和进化等机理,方便地进行遗传进化行为操作。信息码处理方式对于一些无数值概念或者很难有数值概念而只有代码概念的优化问题,更显示了独特的优越性。
其二,遗传算法直接以目标函数作为搜索信息,不需要其他辅助信息。传统的优化算法不仅需要利用目标函数值,而且往往需要目标函数的导数值等其他一些辅助信息,才能确定搜索方向。遗传算法群体操作的特点使得它仅使用由目标函数值变换来的适应度函数值,就可确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其他一些辅助信息。这个特性对很多目标函数无法或很难求导或导数不存在的复杂问题尤为重要,而且,利用目标函数值,可以直接将搜索范围集中到适应度较高的部分搜索空间,从而提高搜索效率。
其三,遗传算法使用群体性的搜索方式。传统的优化算法往往是单点操作,从解空间中的一个初始点开始最优解的迭代搜索过程,单点搜索所提供的搜索信息有限,所以搜索效率不高,而且常常使搜索过程陷于局部最优解而停滞不前。遗传算法是一种群体行为操作,从由很多个个体所组成的一个初始群体开始最优解的搜索过程,对这个群体进行的选择、交叉、变异等运算所产生的新一代群体中会包括很多信息,这些信息可以避免搜索一些不必搜索的点,所以,实际上相当于搜索了更多的点,这是遗传算法所特有的一种隐含并行性。
其四,遗传算法的操作不是采用确定性的规则,而是使用概率搜索技术。传统的优化算法往往使用的是确定性的搜索方法,一个搜索点到另一个搜索点的转移有确定的转移方法和转移关系,这种确定性往往也有可能使得搜索永远达不到最优点,降低了算法的可操作性。而遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都以一种概率的方式进行,从而增加了其搜索过程的灵活性,当然这种概率特性也会使群体中产生一些适应度不高的个体,但随着进化过程的进行,新的群体中总会更多地产生出许多优良的个体,实践和理论都已证明在一定条件下遗传算法总是以概率1收敛于问题的最优解。
为直观起见,作一图表来比较:
算法操作特点遗传算法 传统优化算法
操作对象 决策值的信息码 决策值本身
搜索信息 目标函数值 目标函数值及其他辅助信息
搜索方式 群体性搜索 单点搜索
操作规则 概率不确定规则 确定性规则
由上述特点可见,遗传算法的工作方式与传统程序式的计算求解工作方式有很大不同,这些特点使其具有更强的自组织、自适应和学习性。在求解问题时,当编码方案、适应度函数及遗传算子确定后,遗传算法将利用进化过程中获得的信息自行组织搜索,它采用“适者生存”的自然选择策略,因为适应度大的个体具有较高的生存概率和更适应环境的基因结构。然后,通过基因重组和基因突变等遗传操作,就可能产生更适应环境的后代。这种自组织、自适应特征,使它同时具有能根据环境变化来自动发现环境的特性和规律的能力。遗传算法利用主体对环境的这种适应与选择的方式消除了算法设计过程中的一个最大障碍:即,需要事先描述问题的全部特点,并要说明针对问题的不同特点算法应采取的措施。[3]遗传算法的这种工作范式被称为行为主义,这种工作范式非常适合于解决复杂的非结构性问题,对于人工智能和认知科学具有重要启示。
三 遗传算法的工作范式及认知意义
历史地看,人工智能主要有符号主义、联结主义、行为主义三大流派。人工智能的符号主义工作范式是把符号看成是人们认识客观世界的认知基元,试图运用计算机的推理程序解决现实世界中的许多问题。符号主义进路沿袭经典科学的认知方式,其基本理念是,以逻辑推理为前提,把知识与世界都看成是确定性的,认为只要找到初始条件,根据推理规则便能推算出世界的未来。所以,其核心问题是研究如何用谓词逻辑来进行知识表达、知识推理和知识运用。其逻辑出发点是面对容易进行结构分解的规则系统,用特定的符号表征特定的意义,让特定的结构发挥特定的功能。然后,根据控制规则进行编程处理。但是,人类认知并非仅靠逻辑推理,非逻辑推理(比如,形象思维)同样占据着非常重要的地位。当面对复杂的非线性系统时,符号主义进路对系统结构的分析是很困难的。这是因为,在非线性系统内部,不仅元素间的关系错综复杂,众多元素相互牵扯,难于简化和抽象,而且,系统的发展变化不是确定性的。因此,用线性解析的方法对不确定性知识控制规则的寻找几乎是不可能的。
人工智能的联结主义工作范式把神经元看成是人类思维的基元,试图基于对大脑神经网络系统的智能活动的研究来解决符号主义的逻辑推理难以应对的非线性问题。因此,这条进路不要求进行知识表达和知识推理,而是关注神经元之间的整体关联,或者说,它关注大脑的结构和工作机理,以牺牲单个神经元的个体性为代价来获得整个神经网络的协调统一,其最明显的优势在于形象化的联想思维。神经网络的发展为认知科学研究提供了重要工具,它从大脑结构和工作模式出发,开启了人工智能学习能力的研究。但是,大脑的学习系统是一个自协调的开放系统,是进化的活的有机体的智能中心。所以,要对大脑的智能进行模拟就不可避免地要模拟大脑的开放与进化能力,模拟大脑因环境而异的应激反应能力和大脑对于行为的协调控制。然而,在这方面,联结主义进路能力有限。
遗传算法立足于过程生成论的哲学立场,运用信息数学模型,通过模拟自然生命系统中“适者生存”的进化机制,使一组群体在与环境信息的不断互动下进行行为调整,实现适应环境和优化结构的进化目标。这是一种典型的行为主义的工作范式。这条进路首先把整个群体系统看作是一个动态的、活的开放系统,不再寻求静态的结构表征,也不需要有知识表达和知识推理。然后,模拟群体在主动适应环境的过程中进行选择、交叉、变异时通过信息的整合而产生向目标进化的行为。它有三个典型的特征:其一,与人工智能的联结主义一样,也不要求进行知识表达与知识推理;其二,认为人工智能与人类智能一样,也是通过进化逐步提高的;其三,认为这种进化的实现取决于主体与其环境之间的交互作用。遗传算法的提出为含有随机因素的不确定的开放系统提供了一种通用的算法框架。
传统的优化算法往往是利用一个个体进行最优解的迭代搜索,在这个过程中只能是个体自身不断学习更新积累信息,所以,效率不高。联结主义也是如此,它是将单点分解成若干神经元,具有并行性,但是,搜索依然依赖于自身信息,它的进化需要在环境中不断地自我反馈自我修正,因此,对环境信息要求很高,例如,BP神经网络虽然具有强大的非线性优化搜索能力,但是,目标函数要求是连续可导的。而遗传算法选择一组群体开始多点搜索,这种进化是群体意义上的进化,是个体与个体之间进行比较、竞争和信息交换,个体间既有竞争,又有协作,不需要自我反馈,这使得系统本身不需要太多地依赖于环境提供的信息,从而具备了更强的自适应能力。遗传算法与神经网络一样都注重群体的整体信息,不需要像传统符号加工方式那样对系统进行线性分解。不同之处在于,神经网络是将个体看作一个由许多神经元组成的整体,单个神经元没有意义,它相当于是个体自身部件的进化而促成自身的适应,这使得它缺少一种灵活性。而遗传算法中的每个个体都有自己的表现型和自身的意义,因此由个体组成的群体信息丰富并且不断涌现新的信息,这样,群体在与环境的相互作用中便可以获得很多适应信息,为下一代在环境中的适应生存储存了丰富的资源。因此,遗传算法不是以一种解构的方式去分析复杂系统,而是以一种适应的方式建构适应性主体自身的复杂性,包括复杂的结构和复杂的应变能力。以遗传算法为基础提出的“复杂自适应系统”(简称CAS)理论的提出,形成了适应性造就复杂性的思想。
遗传算法的理论基础是模式定理和积木块假设。模式定理指出,在遗传算子选择、交换、变异的作用下,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式,在子代中,将得以指数级增长。这里的模式相当于基因片段或适应规则。积木块假设是指,低阶、短距、高平均适应度的模式(积木块)在遗传算子作用下,相互结合能形成高阶、长距、高平均适应度的模式,最终生成全局最优解。这表明,适应性主体最初的内部模型并不复杂。群体由多样的简单个体组成,它对环境的适应性在于把这种多样的简单性整合成了复杂性。每个个体的行为其实只是简单的“如果……则……”的刺激反应行为,但是众多个体简单的行为通过相互作用的迭代运作和历时演化却涌现出了复杂性。[4]对于每一次环境的反馈,作为具有主动性的适应性主体都会通过选择、交叉和变异主动地对其内部结构进行调整,选择使得优秀基因片段大量繁殖,交叉使得高适应度的基因逐渐积累组合,变异维持了群体多样性,防止了早熟。选择、交叉、变异在计算机中虽然是看似简单的机械操作,但是,在这个过程中却处理了大量复杂的非线性信息,在这种黑匣子式的处理过程中,大量的数据和信息在涨落中逐渐趋于有序。我们知道,在通常情况下,复杂系统中的底层次和高层次的一些信息比较容易获得,而中间的转化层次的信息获得比较困难,遗传算法提供了自下而上、由简单涌现复杂的层次转化的模拟机制,从而有助于获得在宏观与微观之间的转化层的信息。
霍兰曾经在用遗传算法实现的机器学习系统中,引入一个类似于认知科学中的“小妖模型”,在这个模型中,他让主体之间通过拍卖竞争的机制进行相互作用,并运用“传递水桶算法”使每个主体的行为得以反馈,形成适应环境的学习行为,从而使系统拥有开采式学习能力和探险式学习能力。[5]在这个学习系统中,不仅适应性主体的内部模型在进化,而且其学习能力也在进化。由此可见,遗传算法的提出极大地推动了人工生命的研究进程,有助于模拟大脑的动态学习能力,具有明显的认知意义,从而为认知科学的发展提供了方法论的启迪,为人们认识复杂系统演化的内在机制提供了一个新的视角,说明了在生物系统的选择进化过程中,最基本的由本能决定的价值判断,会在系统演化的过程中,通过协调进化的自适应性学习能力的提高,逐渐地建构出复杂的价值判断。显然,遗传算法所模拟的这种适应性进化的学习能力,实际上,突出与强调了生物系统生存与演化的语境依赖性。因此,可以认为,人工智能的行为主义的发展,为科学哲学中语境实在论的思想提供了现实的案例支持。
综上所述,遗传算法目前正在应用中不断地趋于完善,它提供了把人类适应行为与机器适应行为联系起来的纽带,其思想对于人工智能和认知科学具有深远的方法论与认识论意义。但是,它也有明显局限性,比如,推理能力较弱。因此,在当前的人工智能研究中,出现了将人工智能的三种流派有机地结合起来,以达到优势互补的趋势。人工智能的符号主义希望呈现一个大脑,联结主义希望构造一个大脑,行为主义则希望进化一个大脑,也许将这三个大脑整合成一个大脑,有可能会展现一个立体的大脑。
【收稿日期】2007-09-23
标签:遗传算法论文; 智能算法论文; 遗传变异论文; 人工智能技术论文; 群体行为论文; 思考方法论文; 工作选择论文; 自适应论文; 进化论论文; 目标函数论文;