优化问题的智能算法及其哲学内涵,本文主要内容关键词为:算法论文,内涵论文,哲学论文,智能论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:N02 文献标识码:A 文章编号:1003-5680(2007)06-0031-04
引言
优化现象在客观世界中普遍存在,诚如学者所言,“优化是系统乃至整个客观世界发展的趋势和方向”。无论是在科学技术研究中还是在工程技术应用中,也无论是在自然科学的不懈探索中还是在经济、管理、生活的具体实践中,我们都要经常遇到各种各样的优化问题。这些问题或大或小,大到整个国家乃至全社会的资源优化配置,小到日常生活中某件事情的具体安排都可以称之为优化问题。
优化是个体和系统固有的发展规律,无论是简单问题还是复杂事物,也无论是生物系统还是非生物系统,为了生存和发展,就需要不断地进行优化。发展是硬道理,优化则是发展的前提。
为了求得生存和发展,就需要对优化问题进行求解,获得最优的生存状态,否则就会被淘汰。如在生物系统,“一切现有生物的习性都是和环境条件相适应的最优状态,一切被淘汰的生物物种都是失去最优状态的结果”。
一 问题优化的基本方法
一般而言,优化问题求解的基本方法大致有如下三种:
一是建立在经验积累上的主观判断。在人类漫长的发展历史中,积累了无数的实践经验,这些经验作为思想的财富有助于人类对未知或者不确定问题做出正确的判断。例如,一些经验丰富的工程技术专家常常可以对以前没有遇见的问题做出及时合理的判断并制定对策。
二是借助对比实验,优选方案。在科学研究中,尤其是技术应用研究中,我们有时候很难或者根本不能对影响问题的因素或问题的不同对策做出选择,这个时候我们通常借助对比实验进行分析。
三是建立数学模型,求解最优策略。线性规划等运筹学精确方法曾是优化问题求解的基本方法。目前,随着科学技术的不断进步和经济的持续发展,研究问题的复杂程度越来越高,问题的不确定性因素也越来越多,通过建立精确的数学模型求解优化问题显得越发困难。
自20世纪60年代以来,人们开始试图在计算机上模仿生物进化过程而发展出随机优化技术以解决传统的优化算法难以解决的复杂问题。如通过模拟生物界优胜劣汰的进化规律,形成了遗传算法;借用生物学中神经网络的基本原理建立了人工神经网络;基于生物遗传规律的DNA智能算法则是求解优化问题的新兴方法。我们把通过学习自然界各类生物的进化特点,创造和构建的求解优化问题的各种方法,如遗传算法、人工神经网络、DNA计算、分子计算等,合称为智能算法方法(简称智能算法),它是目前求解优化问题的主流方法。
智能算法学习和吸收了生物进化和发展的客观规律和各类智能策略,并通过模拟和仿真,在计算机上进行了实现,在理论研究、工程调度、机械学习等各方面获得了广泛的应用,是目前人工智能的主要发展方向。为了更好地理解现代优化问题求解的一般思路和基本原理,我们可以首先回顾一下模仿基于生物种群进化的一种智能算法——遗传算法。
二 基于生物进化的智能算法——遗传算法
自然界的物种进化过程是一种基于种群的进化过程,表现出很强的鲁棒性和适应能力。20世纪60年代以来,密切根大学Holland教授开始研究自然和人工系统的自适应行为,并逐步创立和发展一种用于创造通用程序和机器的理论,即遗传算法。遗传算法基于自然选择和进化,把适者生存与随机的信息交换组合起来形成的一种新的搜索方法。
图1 生物进化循环圈
遗传算法在实现有效的优化方面取得了极大的成功,获得了广泛的应用,而且在人工智能领域独树一帜,被成功地应用于机器学习,形成了独特的基于遗传的机器学习方法,克服了传统机器学习方法在非常复杂困难的环境中所面临的难题,在实施机器人控制、机器视觉和自适应学习等领域得到了广泛的应用。
遗传算法主要借用生物进化中“适者生存”的规律:最适合自然环境的群体往往产生了更大的后代群体。生物进化的基本过程如图1所示。以这个循环圈的群体为起点,经过竞争后,有部分群体被淘汰而无法进入这个循环圈,而另一部分则成为种群,优胜劣汰在这个过程中起着非常重要的作用。种群通过婚配的作用产生子代种群。在进化的过程中,可能会因为变异而产生新的个体。综合进化和变异,子群成长为新的群体而取代旧的群体。在新一代的循环过程中,新的群体将替代旧的群体而成为新一轮循环的开始。
遗传算法主要借鉴了生物进化的特征。最优化问题的求解过程是从众多解中选出最适合问题的解,这同在生物进化中,最优生存能力的染色体以最大的可能性生存的基本原理完全一致。这种共同点使得遗传算法可以在优化问题中得以应用。
遗传算法中包含三个基本算子:繁殖、交叉和变异。繁殖就是从一个种群中选择适应值高的个体放入交配池,以此产生新的种群。这个过程就对应着“物竞天择,适者生存”的原理。选择采用随机的机制,适应值高的个体被选择的概率大,适应值低的个体被选择的概率小。交叉是分别将两个个体的基因重新组合成新的一代的操作,使上一代的优良特性能够传递到下一代,并产生新的特性。繁殖和交叉是保证种群进化的主要操作,尤其是交叉,在遗传算法中起着核心的作用。但是,只有繁殖和交叉还不能保证完全避免丢失一些重要的遗传物质。变异就是随机地改变一个个体的某一位,从而产生新一代的个体。尽管变异操作使用的概率相当小,但它在种群进化中却起着重要的作用。变异操作不仅可以保证实现搜索的目标,而且可以提高搜索的效率。
具体的遗传算法流程示意如图2所示。
图2 遗传算法流程示意图
三 智能算法的哲学思考
智能算法的理论研究十分重视跨学科之间的横向联系与交叉综合,并具有相当大的难度与挑战性。它所涉及的知识面更是极为广泛,包括计算机科学、生物科学乃至哲学、经济学、社会学、系统论、博弈论等众多的学科领域。尤其值得指出的是,智能算法作为当前人工智能的主流方向之一,背后都蕴涵着深厚的哲学道理。
(一)智能算法与人类智能的辩证关系
在对遗传算法的分析中,我们可以清楚地看出:各类智能算法,如协同进化、人工生命、智能Agent、DNA计算等理论,都在人工智能的发展史上首次直接而深入地涉及人类智能活动的社会性。应该说,智能算法等人工智能同人类智能是既相互区别又相互联系的。
一方面,智能算法等人工智能与人类智能又相互规定、相互作用、相互促进。一是离开了人类智能,人们就很难说明或理解智能算法,甚至无法给智能算法下一个比较完整的定义。而智能算法的产生,也进一步规定了人类智能,所以在当今如果要理解人类智能,也必然要去分析智能算法等人工智能,否则,人们就很难把握人类智能的现代要义。二是当代人工智能的产生和发展,也正促进着人们对自身智能的深入研究。在智能算法研究兴起之前,人们一直以为,人类的智能主要就是一系列较为严格的逻辑运算过程或者就是逻辑思维,一些非逻辑的思维要素往往被排斥在智能范畴之外。然而,按照这种看法所进行的智能算法研究,很快就面临着这样的问题,即三个月婴儿就能清楚地认识自己的母亲,可运算速度极快的计算机却难于分辨不同的人。也正是在不断反思智能算法研究中所面临的这类新问题,人们才认识到人类智能并不仅仅就是以前所理解的逻辑思维,一些被传统观点排斥在智能范围之外的非逻辑思维要素,在人类智能中同样具有相当重要的意义。三是人们对人类自身智能的反思和深入研究,又有助于更先进的智能算法的开发。如著名心理学家阿兰·纽厄尔(Allen Newell)等就参与了人工智能算法的研究工作,他甚至还是人工智能的四大创始人之一。
然而,建立在对各种人类智能学习上的智能计算优化方法,是无法也不可能取代人类智能的。这可以从三个方面来看,一是智能算法解决任何问题,首先都必须将问题形式化,但是在现实世界中,绝大部分问题是极其复杂的,是不能被简单形式化的。二是智能算法形式化的问题是可计算的,即构造成一定的算法,但是不是所有的问题都是有算法的?三是计算复杂度的问题。智能算法计算任何一个问题都是有一定的复杂度,随着问题约束变量的增加,计算的复杂度呈指数级增长。当求解问题的规模达到一定程度之后,智能方法也无能为力,例如典型的NP难题—旅行商问题(TSP),当城市的个数为50时,大约可以构成10[64]个回路,如采用动态规划递归方程,需要计算的回路数可减少至约10[17]个回路,缩小了约10[47]倍,但仍然是一个天文数。
(二)智能算法是认识论和方法论的进步
智能算法是人类在认识论和方法论上的进步,具体而言,主要体现在如下几个方面:
一是在主观能动性方面。遗传算法、进化规则、人工生命、智能Agent、DNA计算等智能算法模拟了人类的信念、期望、意图等各种心智活动品质,具有传统优化方法无法具备的人类智能中至关重要的能动性。
二是智能算法本身就是对生物智能的一种复杂性认知与思维。智能算法以其移动性、适应性、交互性及协作性直面现实中的动态性及复杂性,将主观意向的认知、表达及转换与客观世界的变化紧密结合在一起,认识到主客观世界的互动过程中各因素之间深层次的联系、作用及变化。并力求在对这些互动作用的动态性及复杂性的认识和把握中获得智能并增长智能,是一种复杂性的认知与思维。
三是强调多元整合求解机制。智能算法从整体出发,在对问题层次化、模块化分割解析的基础上,对子问题进行从局域到全域、从同层次到跨层次进行不断的分解、重构与整合,形成一种既有分析又有综合的多元整合求解机制,从而突破了旧有模式中只注重分析的局限性。
四是基于生物进化的动态优化。在智能算法中,其每个个体都具有各自不同的知识背景(知识库)、心智品质、能力及个性,甚至具备诸如友善性、真诚性等人类特征,而且它的这些能力与特征都不是被设定为一成不变的,它可以随着情况的变化而不断地进行能动的自我更新。它是在一系列过程性的、动态连续的进程中发展智能。它用能动的多样性超越被动的一般性,并在多样性的能动中,通过不断学习、逐步深化认识的方式突破传统方法所执著的一般性。因而更贴近于客观世界的真实情况及人类解决问题的实际方法,是优化方法研究上认识论与方法论上的进步。
(三)智能算法方法和理论对系统论和社会学范式的意义
人类社会不仅是一个开放的社会更是一个互动的社会,许多问题正是甚至只能靠社会互动所产生的整体智能来解决。因而当这类问题出现时,即便是再高明的个体也会力不从心。
传统优化方法却始终只是守望着个体的修修补补,一味地追求着个体能力的卓越,而排斥考虑人类智能中不可忽视的社会性因素,排斥从社会互动的角度来提升智能。同时竭力追逐个体智能高度的一致性与完备性,而十分缺乏人类智能中至关重要的容错能力。更缺乏从自己和他人的错误中学习,从来自多方面信息的反馈与重估中提高,从彼此的商讨、辩论、借鉴特别是从知识的共享与才能的协调中获得集体智慧的能力。因此,不管这些单个个体的能力如何出色,因为其缺乏必要的社会交流与联系,而始终无法凝聚成一个协同的整体。这样,当系统行动时,由于某个或某些成员由于某种原因在能力上无法胜任或某个行动方案出错时,就可能导致整个任务的全面失败。
智能算法在解决上述同样的问题时,一般通过多群体重新规划自己的意图,寻找另外的伙伴及方案或以更为积极的沟通与交流通过整体协作,即首先从微观到宏观上对任务按照各自不同的能力分配与协调(社会分工),然后通过彼此之间不断地进行交互协商、协同行动(社会合作),并通过多种协调与协同方法的集成来“互通有无”进而“取长补短”,突破个体智能的片面性及局部性,从而发挥出集思广益的社会智能,将问题解决,并由此来“容忍”与克服行动中所不可避免的错误。这样,群体社会通过对个体智能的扬弃和对社会智能的追求,通过合理的保持个体智能与社会智能的两极张力,在开放中学习、交流,在竞争中合作,在合作中进化,能逐步演化出更为全面的整体智能状态。
四 结束语
人类为了解决复杂的实际问题,在学习各类生物进化的规律基础上,创造和构建了各类智能计算方法,这些方法突破了传统方法论和认识论上的单一模式,突破了单个个体解决问题时的诸多盲点,而且体现了在开放社会中,个体通过同个体外的外部环境进行信息交换等外部合作,从而突破其自身知识与能力的限制,同时产生新的整体智能。但是无论智能计算怎样进化,它毕竟是建立在生物进化基础上的,是对生物尤其是人的智能的简单模拟,它有可能对人的部分局限性进行突破,但是不可能从整体上超越人类智能,更不能取代人类。
【收稿日期】2006-11-08