1、山东师范大学硕士学位论文1a 单 位 代 码 10445学 号 20032631分 类 号 TP391.72硕 士 学 位 论 文论文题目 基于群体智能的关联规则挖掘及应用学科专业名称:计算机软件与理论 申 请人姓 名: 王伟伟指 导 教 师: 刘 希 玉 教授论文提交时间:2007 年 04 月 19 日山东师范大学硕士学位论文2第一章 绪论本章首先介绍了群体智能的研究背景及前沿,其次阐述微粒群算法的发展现状,最后介绍了本文的主要工作和组织结构。1.1 研究现状1.1.1 群体智能的研究背景及现状人们在很早的时候就对自然界中存在的群集行为感兴趣,如大雁在飞行时自动排成人字形,蝙蝠在洞穴中快速
2、飞行却可以互不碰撞等。同时受蚂蚁、飞鸟等社会性昆虫行为的启发, 单个的个体智能并不高, 但依靠群体的能力, 却发挥出超出个体的智能。这种现象揭示了简单智能的主体通过合作可以表现出复杂智能行为的特性。通过对其行为的模拟,产生了一系列解决复杂优化问题的新思路和方法, 用于解决组合优化问题和其它一些实际应用问题的新方法相继产生。 一些启发于群居性生物的寻食、打扫巢穴等行为而设计的算法成功地解决了组合优化、通信网络和机器人等领域的实际问题,这些研究被称为对群体智能(SwarmIntelligence) 的研究。对于这些现象的一种解释是,群体中的每个个体都遵守一定的行为准则,当它们按照这些准则相互作用时
3、就会表现出上述的复杂行为。作为一个新兴领域,自从20世纪80年代出现以来,引起了多个学科领域研究人员的关注,已经成为人工智能以及经济、社会、生物等交叉学科的热点和前沿领域。基于这一思想,Craig Reynolds在1986年提出一个仿真生物群体行为的模型BOID。这是一个人工鸟系统,其中每只人工鸟被称为一个BOID,它有三种行为:分离、列队及聚集,并且能够感知周围一定范围内其它BOID的飞行信息。BOID 根据该信息,结合其自身当前的飞行状态,并在那三条简单行为规则的指导下做出下一步的飞行决策。Reynolds 用计算机动画的形式展现了该系统的行为,每个BOID能够在快相撞时自动分开,遇到障
4、碍物分开后又重新合拢。这实际上就是一种群体智能模型。尽管这一模型出现在1986 年,但是群体智能(Swarm Intelligence) 概念被正式提出的时间并不长。一个显著的标志是1999 年由牛津大学出版社出版的E Bonabeau 和M Dorigo 等人编写的一本专著群体智能: 从自然到人工系统(“SwarmIntelligence : From Natural to Artificial System”),群体智能由单个复杂个体完成的任务可由大量简单的个体组成的群体合作山东师范大学硕士学位论文3完成,而后者往往更具有健壮性、灵活性和经济上的优势。Bonabeau, Do rigo 等
5、人于1999 年给出群体智能的定义: 群体智能是指任何受到社会昆虫群体和其它动物群体的集体行为的启发而设计的算法和分布式问题解决装置,对这些新方法的研究可将其称之为群体智能( Swarm Intelligence ) 的研究。目前,对群体智能的研究尚处于初级阶段,但是它越来越受到国际智能计算研究领域学者的关注,逐渐成为一个新的重要的研究方向,并且已初见成果。2003 年,在印第安那州召开的 IEEE 国际会议上,首次发起了对群体智能的系列研究。2005 年,进行了第二次关于群体智能的 IEEE 国际会议,物理学家、工程师、计算机科学家、生物学家、经济学家、生态学者等在广义群体智能的定义下,展示
6、和讨论了他们在各自领域中使用群体智能得到的成果,以及群体智能在这个新兴领域中的发展潜力和趋势。群体智能的特点是最小智能但自治的个体利用个体与个体和个体与环境的交互作用实现完全分布式控制,并具有自组织、可扩展性、健壮性等特性。利用群体优势,在没有集中控制,不提供全局模型的前提下,为寻找复杂问题解决方案提供了新的思路。对群体智能的定义进行扩展,普遍意义上有以下几种理解。一是由一组简单智能体(agent)涌现出来的集体的智能(collective intelligence),以蚁群优化算法(AntColony Optimization,ACO)和蚂蚁聚类算法等为代表;二是把群体中的成员看作粒子,而不
7、是智能体,以粒子群优化算法(Particle Swarm Optimization,PSO)为代表。群体智能是对生物群体的一种软仿生,即有别于传统的对生物个体结构的仿生。可以将个体看成是非常简单和单一的,也可以让它们拥有学习的能力,来解决具体的问题。现有的对群体智能的研究,大都是从某一种由大量个体表现出来的群体行为出发,从它们的群体行为中提取模型,为这些行为建立一些规则,从而提出算法,应用于解决实际中的问题。目前,群体智能主要有两种算法,分别是微粒群优化算法(Particle Swarm Optimization,简称 PSO)和蚁群算法 (Ant Colony System,简称 ACS)。
8、微粒群优化算法最早是由 Kennedy 和 Eberhart 于 1995 年提出的,是一种基于种群寻优的启发式搜索算法。它的基本概念源于对鸟群群体行为的研究。在自然界中,尽管每只鸟的行为看起来似乎是简单和随机的,但是它们之间却有着惊人的同步性,使得整个鸟群在空中的形态非常流畅优美。鸟群具有这样复杂的行为特征,可能是因为每只鸟在飞行时都遵循一定的行为准则,并且能够了解其相邻区域内其它鸟的飞行信息,从而调节自身的飞行位置和速度,实现鸟群的整体的和谐。微粒群优化算法的提出就是借鉴了这山东师范大学硕士学位论文4样的思想。在微粒群优化算法中,每个微粒代表待求解问题的一个潜在解。每个微粒都可获得其邻域内
9、其它微粒个体的信息,并可根据该信息以及简单的位置和速度更新规则,改变自身的状态量,以便更好地适应环境。随着这一过程的反复进行,微粒群最终能够找到问题的近似最优解。由于微粒群优化算法概念简单, 易于实现,并且具有较好的寻优特性,因此它在短期内得到迅速发展,目前已在许多领域中得到应用,如电力系统优化、TSP问题求解、神经网络训练、交通事故探测、参数辨识、模型优化等。蚁群算法是由 M Dorigo 等人于 1991 年首先提出的,是受到自然界中蚂蚁群的社会性行为启发产生的,模拟了实际蚁群寻找食物的过程。在自然界中,蚂蚁群总是能够找到从巢穴到食物源之间的一条最短路径。因为蚂蚁在运食过程中,能在其经过的
10、道路上留下一种被称之为“外激素(pheromone)”的化学气味。该气味能够被后来的蚂蚁感知到,并且会随时间逐渐挥发。每个蚂蚁根据道路上信息素的强弱来指导自己的运动方向。随着时间的推移,在某一道路上走过的蚂蚁越多,因为重复注入信息素,积累的信息素就越多,该道路在下一时间内被其它蚂蚁选中的概率就越大。根据这样的简单逻辑规则,蚂蚁最终会找到通往食物源的最短路径。蚁群算法正是利用了蚁群的这一特性来对问题进行求解。目前,蚁群算法已在组合优化问题求解,以及电力、通信、化工、交通、机器人、冶金等多个领域中得到应用,都表现出了令人满意的性能。例如多代理程序系统,通过增加“外激素”强化好路由,使数字信息素“蒸
11、发”抑制差路由,从而解决路由选择问题。1.1.2 关联规则挖掘的研究背景及现状随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多,面对海量的存储数据,如何从中发现有价值的信息或知识是一项非常艰巨的任务。数据挖掘就是为了满足这种要求而迅速发展起来的。数据挖掘是指从大型数据库或数据仓库中提取隐含的、先前未知的、对决策有潜在价值的知识和规则。数据挖掘是人工智能和数据库发展相结合的产物,是数据库和信息决策系统目前最前沿的研究方向之一,已引起了学术界和工业界的广泛关注。关联规则的发现是数据挖掘中最成功和最重要的一项任务,它的目标是发现数据集中所有的频繁模式。数据挖掘(Data
12、Mining)又称数据库中的知识发现(Knowledge Discovery in Database , KDD),是一个从大量数据中挖掘出隐含的、未知的、可理解的、对决策有潜在价值的知识发现过程.数据挖掘出现于20 世纪 80 年代末,最早是在数据库领域发展起来的,称为数据库中的知识发现山东师范大学硕士学位论文5(KDD,Knowledge Discovery in Database),KDD 一词首先出现在 1989 年人工智能国际会议上,以后这一研究逐渐成为热点,KDD 研究的内容是,能自动处理数据库中大量的原始数据,从中挖掘出潜在的可能关系模式以发现新的知识为目标,随着研究对象的扩展,
13、人们开始称之为数据挖掘, 1995 年,在加拿大蒙特利尔召开了第一届国际知识发现和数据挖掘学术会议,之后每年召开一次,至 2003 年已经召开了 9 次。当今,知识发现和数据库挖掘已经成为一个活跃的 IT 领域。我国从事数据挖掘的研究起步较晚,大约在90 年代中期开始,国内许多高校和科研院所在这一领域内开展研究,并取得了许多成就。目前数据挖掘技术已能够立即投入使用,这是因为作为支撑的三个基础技术已日趋完善。具体表现为:(1)数据库现在正在以一个空前的速度增长,并且数据库正在广泛地应用于各行各业,解决了海量数据收集。(2)现在已经成熟的并行多处理机的技术形成了强大的多处理器计算机。对数据能做到快
14、速访问。(3)数据挖掘算法经过了最近 10 多年发展逐渐形成了一种成熟、稳定且易于理解和操作的应用技术。在事物数据库中挖掘关联规则,关联规则(Association Rules)的挖掘是研究的一个重要方向也是数据挖掘领域中的一个非常重要的研究课题,它是由 R.Agrawal 等人首先提出的。目前已有许多研究成果,最经典的挖掘关联规则的算法是 Apriori。在数据挖掘的研究领域, ,它由美国 IBMAlmaden Research Center 的 R.akeshAgrawal 等人于1993 年首先提出,是描述数据库中数据项之间存在的一些潜在关系的规则.典型的关联规则算法有 R.Agrawa
15、l 等人提出的 Apriori 算法和 DHP 算法,它们属于数据库遍历类算法. R.Agrawal 提出的 Apriori-Hybrid 算法,Park 等人提出的 DHP 算法(Direct Hashing and Pruning)使用的是 Hashing 技术,这种算法有效地改进了候选集的产生过程.R,Srikant 和 R.Agrawal 基于分类结构(IS-A 层次关系),提出了挖掘广义关联规则的问题,它用在高层抽象概念层上挖掘关联规则不仅有助于获得大的支持度、表达普遍的数据关系,而且能减少无兴趣或冗余的规则.H.Toiconen 提出的抽样(Samping)方法,用较小的代价从大型
16、数据库中找出关联规则.上述种种算法的提出,均不同程度地改进了关联规则发现的过程. 先前的研究表明随着数据库项目的增多,尤其是当降低支持度和可信度时, Apriori 算法所生成的关联规则的数目会以最大频繁项集长度的指数增长,其中包含了大量的冗余规则,不利于企业进行决策,同时也影响了算法的效率。关联规则挖掘中有关 Apriori 算法的讨论山东师范大学硕士学位论文6R.Agrawal 等在 1993 年设计了一种基于宽度优先算法,通过对数据库 D 的多趟扫描来发现所有的频繁项目集。在每一趟扫描中只考虑具有同一长度 K(即项目集中所含项目的个数)的所有 K 项集。Apriori 算法提出了挖掘关联
17、规则的一个重要方法,是一个基于两阶段频集思想的方法,将关联规则挖掘的设计分解为两个子问题:(1)找到所有支持度大于最小支持度的项集。这些项集称为频集。(2)使用第 1 步找到的频集产生期望的规则。在关联规则挖掘频繁项集的诸多算法中,Apriori 算法是一个最基本的,近年来,研究人员不断努力对这一算法进行改进,提出了基于哈希表、划分数据、采样、动态数据等技术的改进算法,还有人利用树、堆栈和图等数据结构来提高数据挖掘得效率。很多文献针对算法在运行中存在的上述搜索空间问题提出了改进,例如在每一次生成Lk的同时按照一定的规则缩减数据集的规模,从而大大减少了数据集的个数,有效地提高了算法效率。或者利用
18、 Hash 表来存放事务数据。:对给定数据库的事务和项数据用若干 Hash 表来记录,每个项构造一个 Hash 表,而 Hash 表中的元素为各事务在该项中出现的事务编号,然后通过扫描各 Hash 表,实现挖掘频繁项集的目的。如果对于长度大于 k的候选项目集,可以采用散列技术,使得提高数据项集频度统计速度和减少不可能成为频繁项目集的候选项目集这两个操作可以在同一个数据结构中实现。借助于邻接矩阵研究频繁集的计数,在减少数据库的扫描次数方面也有很大改进。1.2 研究意义 1. 关联规则挖掘算法自提出以来已经取得了一定的研究成果,但由于其研究才刚刚开始,研究领域也不全面,因此从群体智能理论出发,多层
19、次多角度研究关联规则挖掘算法尤为必要。2. 由频繁 k-1 项集进行自连接生成候选频繁 k 项集数量巨大,特别是在初期的候选集非常庞大,而在后期候选集将会急剧缩小,尤其在生成二维候选集时问题比较突出,因此需要缩小二维候选集的规模很具有研究意义;3. 在每一次循环中事务集的个数也将影响整个算法的性能,在数据量比较大时数据仓库问题尤其明显,如何缩减每一次循环中的事务集也是一个很值得考虑的问题。4. 减少扫描数据库的次数,特别是在验证候选频繁 k-2 项集的时候需要对整个数据库山东师范大学硕士学位论文7进行扫描,非常耗时。所以数据库扫描技术的改进还是一个值得考虑的问题。5. Sampling 算法,
20、该算法的基本思想是选取给定数据库 D 的随机样本 S, 然后,在 S而不是 D 中搜索频繁项集该方法以算法的准确性换取了算法的有效性。由于我们搜索 S中而不是 D 中的频繁项集,我们可能丢失一些全局频繁项集,促进搜索的智能性,还是一个新的很有吸引力的研究课题。1.3 本文的主要内容及组织结构1.3.1 主要内容本文在系统地归纳数据挖掘的一般原理、一般方法以及相关技术的基础上,对群体智能中关键技术之一的微粒群算法进行了探索性的研究,主要内容包括如下几个方面:(1)在简要总结介绍课题的研究背景、国内外研究现状及选题意义的基础上,研究了群体智能和微粒群技术的基本原理、一般方法及其在各个领域的应用。(
21、2)系统地介绍了关联规则挖掘的基本原理、一般步骤、相关技术以及主要应用,分析了关联规则分析的常用工具,并结合实际应用对其性能进行了比较评价,研究了关联规则中常用的挖掘算法,分析了这些算法各自的优缺点及适用情形,为人们快速准确地找到适合特定领域的挖掘算法提供了技术支撑;。(3)在认真研究Apriori算法的基础上,针对算法中存在的产生大量的候选项集以及筛选时所造成的浪费运行时间和空间的缺陷,提出了“基于微粒群算法的抽样方法,通过理论分析和实验验证表明新的算法克服了原算法的缺点,提高了关联规则挖掘的质量和效率,具有很强的实用性。1.3.2 本文的结构本文共分五章,各章的主要内容如下:第一章绪论,简
22、要介绍了课题的研究背景、当前国内外的研究现状和论文的主要内容及组织结构。第二章群体智能,内容包括:群体智能的概念、群体智能的总体模式、群体智能的功能、群体智能的模式分类第三章关联规则挖掘算法分析,内容包括:关联规则挖掘的基本原理、关联规则挖山东师范大学硕士学位论文8掘算法的一般步骤,着重研究了关联规则挖掘中常用的 Apriori 算法以及各方面的改进,分析了各自的优缺点及适用条件,介绍分析了进行关联规则挖掘的常用工具,且结合实际应用对其性能进行了比较评价。第四章基于群体智能的微粒群算法,在认真研究“改进的 Apriori 算法”的基础上,提出了“基于微粒群优化算法的关联规则挖掘算法” ,通过理
23、论分析和实验验证表明新的算法克服了原算法的缺陷。第五章结束语,对本文的研究成果进行概括并指明今后的研究方向。山东师范大学硕士学位论文9第二章 群体智能2.1 群体智能的概念2.1.1 群体智能的定义由群居生物的群体行为涌现的群体智能正越来越得到人们的重视。所谓群体智能指的是“无智能的主体通过合作表现出智能行为的特性”。一些受群居生物筑巢、觅食、迁徙、清扫蚁穴等行为启发而设计的算法成功地解决了组合优化、通信网络和机器人等领域的实际问题。Bonabeau等人认为群体智能是任何启发于群居性昆虫群体和其它动物群体的集体行为而设计的算法和分布式问题解决装置。群体智能的特点如下:(1)个体与个体和个体与环
24、境的交互作用的实现是完全分布式控制,具有良好的自组织性,更能适应当前网络环境下的工作状态;(2)没有中心的控制与数据,系统更具有鲁棒性,不会由于某一个或者某几个个体的故障而影响整个问题的求解,具有良好的健壮性;(3)可以通过个体之间的非直接通信进行合作,这样的系统具有更好的可扩展性;(4)每个自治个体的能力十分简单,只需要最小智能,具有简单性。2.1.2 群体智能的概念及特点群体智能这个概念来自对自然界中一些昆虫,如蚂蚁、蜜蜂等的观察。单只蚂蚁的智能并不高,它看起来不过是一段长着腿的神经节而已。几只蚂蚁凑到一起,就可以一起往蚁穴搬运路上遇到的食物。如果是一群蚂蚁,它们就能协同工作,建起坚固、漂
25、亮的巢穴,一起抵御危险,抚养后代。这种群居性生物表现出来的智能行为被称为群体智能。Millonas M M 在1994 年提出群体智能应该遵循五条基本原则2 ,分别为:(1) 邻近原则( Proximity Principle) ,群体能够进行简单的空间和时间计算;(2) 品质原则(Quality Principle) ,群体能够响应环境中的品质因子;山东师范大学硕士学位论文10(3) 多样性反应原则( Principle of Diverse Response) ,群体的行动范围不应该太窄;(4) 稳定性原则(Stability Principle) ,群体不应在每次环境变化时都改变自身的行
26、为;(5) 适应性原则(Adaptability Principle) ,在所需代价不太高的情况下,群体能够在适当的时候改变自身的行为。这些原则说明实现群体智能的智能主体必须能够在环境中表现出自主性、反应性、学习性和自适应性等智能特性。但是,这并不代表群体中的每个个体都相当复杂,事实恰恰与此相反。就像单只蚂蚁智能不高一样,组成群体的每个个体都只具有简单的智能,它们通过相互之间的合作表现出复杂的智能行为。可以这样说,群体智能的核心是由众多简单个体组成的群体能够通过相互之间的简单合作来实现某一功能,完成某一任务。其中“, 简单个体”是指单个个体只具有简单的能力或智能,而“简单合作”是指个体和与其邻
27、近的个体进行某种简单的直接通信或通过改变环境间接与其它个体通信,从而可以相互影响、协同动作。群体智能具有如下特点:(1) 控制是分布式的,不存在中心控制。因而它更能够适应当前网络环境下的工作状态,并且具有较强的鲁棒性,即不会由于某一个或几个个体出现故障而影响群体对整个问题的求解。(2) 群体中的每个个体都能够改变环境,这是个体之间间接通信的一种方式,这种方式被称为“激发工作”(Stigmergy) 。由于群体智能可以通过非直接通信的方式进行信息的传输与合作,因而随着个体数目的增加,通信开销的增幅较小,因此,它具有较好的可扩充性。(3) 群体中每个个体的能力或遵循的行为规则非常简单,因而群体智能
28、的实现比较方便,具有简单性的特点。(4) 群体表现出来的复杂行为是通过简单个体的交互过程突现出来的智能( Emergent Intelligence) ,因此,群体具有自组织性。2.1.3 从人工智能角度人工智能学科正式诞生于1956 年,它是研究如何使机器(计算机) 具有智能,特别是自然智能如何在计算机上实现或再现的学科。要进行人工智能的研究,就必然涉及什么山东师范大学硕士学位论文11是智能以及什么产生智能的问题。关于什么是智能,麦卡锡(J McCarthy) 给出如下定义:在现实世界中智能是指能够实现目标的计算能力。但实际上,关于智能,至今还没有一个确切的公认的定义。因为人们还不能完全了解
29、智能的所有产生机制。至于什么产生智能,目前有三种不同的答案,分别为物质(蛋白质) 、符号和亚符号处理(信号) 。由于人们对智能本质有不同的理解,所以在人工智能长期的研究过程中形成了多种不同的研究途径和方法。其中主要包括符号主义( Symbolism) 、连接主义(Connectionism) 和行为主义(Behaviorism)。符号主义是人工智能最早的研究方法,它是以符号知识为基础,通过符号推理进行问题求解而实现的智能。符号主义认为,人类智能的基本单元是符号,智能来自于谓词逻辑与符号推理。其代表性成果是机器定理证明和各种专家系统。连接主义认为,智能产生于大脑神经元之间的相互作用及信息往来的过
30、程中,因此它通过模拟大脑神经系统结构来实现智能行为,典型代表为神经网络。行为主义模拟了人在控制过程中的智能活动和行为特性,如自寻优、自适应、自学习、自组织等,强调智能主体与环境的交互作用。行为主义与符号主义、连接主义的最大区别在于它把对智能的研究建立在可观测的具体行为活动的基础上。在行为主义人工智能系统中,每个智能体都是在逻辑上或物理上分离的个体,它们都是某一任务的执行者,而且都具有“开放的”接口,可以与其它智能体进行信息的交换。这些智能体能够自主适应客观环境,而不依赖于设计者制定的规则或数学模型,这种适应的实质就是该复杂系统的各要素(智能体和周围环境) 之间存在精确的联系。也就是说,在行为主
31、义人工智能系统中必然存在一些协调机制,这些协调机制可以使智能主体与外界环境相适应,使智能主体的内部状态(即智能主体所具有的几个行为,如避障、探索等) 相互配合,并在多个智能主体之间产生协作。显然,协调机制的好坏直接影响智能系统的性能,因而寻找合理的协调机制成为行为主义人工智能的主要研究方向。群体智能是行为主义人工智能的一种代表性方法,上面所提特性也适用于群体智能。设计行为主义人工智能系统的三个基本原则同样适用于群体智能系统的设计。这三个原则是简单性原则、无状态原则和高冗余性原则。这里,简单性原则是指群体中每个个体的行为应尽量简单,以使系统便于实现,而且更加可靠;无状态原则是指设计时应该使系统的
32、内部状态与外在环境保持同步,要求所保留的状态不能在系统中长时间起作用,这就使得系统对于环境的变化和其它失误有更强的适应能力;高冗余性原则是指设计时应该使系统能够与不确定因素共存,而不是消除不确定因素,这样可使智能系统的学习和进化过程保持多样性。山东师范大学硕士学位论文122.1.4 从复杂性科学角度复杂性科学是研究复杂系统行为与性质的科学,其目标是解答一切常规科学范畴无法解答的问题,如人类社会组织和制度的突变、物种的起源和灭亡等,它试图找到一种对自然和人类都适用的新科学,即复杂性理论。至于什么是复杂性,圣塔菲研究所的George A Cowan 认为6 ,它往往是指一些特殊系统所具有的一些现象
33、,这些系统都由很多子系统组成,子系统之间相互作用,通过某种目前尚不清楚的自组织过程使得整个系统变得更加有序。Cowan 对复杂性的认识有如下两个关键点:一是复杂性属于某个系统的内禀性质或特征;二是这个性质是突现的,即它是不能通过子系统的性质来预测的,是自组织过程的结果。具有此类性质的系统被称为复杂适应系统(Complex Adaptive Systems ,简称CAS) 。在CAS 中,复杂的事物是由小而简单的事物发展而来,这种现象被称为复杂系统的涌现现象,涌现的本质就是由小生大,由简入繁。我国学者用“开放的复杂巨系统”的概念来描述具有同样一些性质的系统7 ,这类系统包括错综复杂的社会系统、人
34、体系统、生态环境系统等,对这些系统关键信息特征或功能特征的研究就是复杂性研究的内容,其中包括进化和共同进化特性、适应性、自组织过程、自催化过程、临界性、多层次特性、相变及混沌的边缘等,最重要的就是宏观整体的涌现性质。与笛卡尔哲学不同,复杂系统的涌现特性代表着另一种看待世界的哲学观念。以笛卡尔哲学为基础的近现代科学以及文化传统强调从上到下的还原与分析方法,强调有一个中心控制单元的结构,是一种机械的观点。而复杂性研究则强调从下到上的集成方法,强调突现,这是非笛卡尔的观点。群体智能是对自然界中简单生物群体涌现现象的具体研究,因而它从属于复杂性研究,并且遵从非笛卡尔的哲学观念。在研究群体智能时应该采取
35、自下而上的研究策略。2.2 群体智能算法总体模式为得到算法模式,首先给出以下定义:定义 1:在群体智能寻优模式下, 代表具有一定数量智能个体的非空集合, 即PNL表示由 N 个智能个体 P1,P 2,P N 所组成的智能个体集合。PNL定义 2:DETECT 表示智能群体中智能个体检测信息的非空集合。在具体的算法L山东师范大学硕士学位论文13模式下,如果求解的问题建立在 D 维坐标体系下,各智能个体的坐标检测信息总和可表示为 DETECT ,其中每个智能个体 Pi的 D 维坐标信息检测集合可表示为 。PNL D1-JETC(Pj)如果问题求解是在三维空间下,j 可以取 1,2,3,相应的坐标可
36、表示为 X、Y 和 Z。若将上述定义模式进行推广,则可用 INFORM 表示群体中各智能个体的广义信息PNL集合。在坐标寻优问题中,其主要信息包括位置、速度、时间等,也可包括相应的外界环境信息,如约束信息、指令序列信息等。定义 3:AIM 表示智能群体中各智能个体所要实现的总体任务目标,任务目标可PNL以涉及寻优、控制、规划等,并针对不同的应用领域有不同的具体表达,例如:对于函数寻优问题,主要指最大值或者最小值的求解。定义 4:CHARACTER 表示特定的群体智能算法的一些其它特征参数的集合。在具体的寻优算法中, 要根据具体问题考虑特征参数的影响,确定该集合中特征参数的数目。定义 5:INS
37、TRUCTION 为针对群体中各智能个体的输出指令集合,该指令集合对PNL每个智能个体进行有序的指令输出,体现了群体智能算法的总体优化特征。指令的性质和特征根据对象的不同而不同,也与所要实现的任务目标的性质有关。比如在图像处理领域,它可以是对图像颜色信息、灰度信息以及图像边缘信息等的操作。指令的结果,即寻优算法的效果与各研究者所定义的算法模式相关。定义 6:ALGORITHM 为所采用的具体群体智能算法。该算法可以是微粒群优化算法、蚁群算法和遗传算法等。根据上面的定义,可以将群体智能算法的模式表述为下面的伪方程: (1)INSRUCTION( P)=ALGORITHM(INFORM( P) ,
38、AIM( P) ,DETECT( P) ,CHARACTER)这里的“ = ”表示指令集合,并不简单等同于通常意义下的赋值关系。算法总体模式图如下:山东师范大学硕士学位论文14ALGORITHM PDETECT( P)AIM INSRUCTION INFORMINFORMCHARACTER图 1 群体智能算法总体模式图由上面的定义和伪方程,可以得到如 图 1 所示的群体智能算法总体模式图。根据求解问题的特征参数和总任务目标,使用群体智能的某一算法,得到需要的指令序列。然后将得到的指令序列应用到每个智能个体上,使它们做各自相应的调整。采集新得到的智能群体的信息集合,检测是否得到满足规则需要的目标
39、。不满足就再使用群体智能算法,进行下一次的循环;否则可以结束任务。2.3 群体智能的功能作为群体智能的典型实现模式,模拟生物蚁群智能寻优的蚁群算法和模拟鸟群运动模式的微粒群算法正在受到学术界的广泛关注。由于其概念简明、实现方便,在短期内迅速得到了国际演化计算研究领域的认可,并在优化问题求解36 、电力系统1213 、计算机14 、冶金自动化15 等领域得到了有效的应用在实际中遇到的优化问题可分为2 类: 一类是连续优化问题; 另一类是离散优化问题。用于解决优化问题的方法很多, 传统的方法有线性规划、整数规划和动态规划方法, 现在常用的方法有各种进化计算方法, 如遗传算法(GA )、进化规划(E
40、P) 等。蚁群优化和粒子群优化方法作为最近发展起来的群体智能方法, 对这类问题的解决提供了全新的山东师范大学硕士学位论文15途径。借鉴蚂蚁觅食的思想,形成了群体智能的研究分支蚁群优化,已经成功应用于许多困难的,其已成功运用于旅行推销员问题、作业调度、离散优化问题、二次分配问题、路由选择等优化系统中。群体智能算法在电力系统优化中有着广泛的应用,例如在配电网扩展规划、检修计划、机组组合、负荷经济分配、最优潮流计算与无功优化控制、谐波分析与电容器配置、配电网状态估计、参数辨识、优化设计等方面 。电力系统优化问题存在着维数灾、局部最优和约束条件及目标函数不易处理等特点,随着系统规模的增大,待选方案将显
41、著增多,发生“组合爆炸”现象,有的还属于典型的非凸多峰问题,除了全局最优解外,一般还存在若干局部最优解,因此用传统的优化方法解决这类问题,往往得不到满意的结果,特别在系统规模较大时更是如此。群体智能算法可以有效地进行此类问题的求解。蚂蚁优化算法在电信网络的路由问题(ACR)上的应用已经比较成熟,HP 公司、英国电信公司都在20世纪90年代后期就展开了这方面的研究1。该算法也越来越多地应用于企业,如工厂生产计划的制定和运输部门的后勤管理。美国太平洋西南航空公司采用了一种直接源于蚂蚁行为研究成果的运输管理软件,每年至少节约上千万美元开支。英国联合利华公司已率先利用这种技术改善其一家牙膏厂的运转状况
42、。美国通用汽车公司、法国液气公司、荷兰公路交通部和美国一些移民事务机构也都采用相应技术以改善其运转的机能。近年来群体智能的应用有构建网站、优化搜索引擎、创建知识管理系统甚至进行音乐创作等。而粒子群优化主要用来解决连续优化问题。并已成功的应用于人工神经网络的训练方法16、分类XOR 问题的神经网络训练17、极大极小问题18 、多目标优化19 等方面.2.4 群体智能的两种模式目前,群体智能主要有两种算法模式,分别是蚁群算法(Ant Colony System ,简称ACS) 和微粒群优化算法(Particle Swarm Optimization ,简称PSO) 。2.4.1 蚁群算法蚁群算法是
43、由M Dorigo 等人于1991年首先提出的89 ,是受到自然界中蚂蚁群的社会性行为启发而产生的,它模拟了实际蚁群寻找食物的过程。在自然界中,蚂蚁群总是能够找到从巢穴到食物源之间的一条最短路径。这是因为蚂蚁在运动过程中,能够在山东师范大学硕士学位论文16其所经过的路径上留下一种被称之为“外激素(pheromone) ”的物质。该物质能够被后来的蚂蚁感知到,并且会随时间逐渐挥发。每个蚂蚁根据路径上外激素的强度来指导自己的运动方向,并且倾向于朝该物质强度高的方向移动。因此,如果在某一路径上走过的蚂蚁越多,则积累的外激素就越多,强度就越大,该路径在下一时间内被其它蚂蚁选中的概率就越大。由于在一定时
44、间内,越短的路径会被越多的蚂蚁访问,所以随着上述过程的进行,整个蚁群最终会找到从蚁穴到食物之间的最短路径。蚁群算法正是利用了生物蚁群的这一特性来对问题进行求解。由于蚂蚁寻食的过程与旅行商问题( TravelingSalesman Problem ,简称TSP) 的求解非常相似,所以蚁群算法最早的应用就是TSP 问题的求解。目前,蚁群算法已在组合优化问题求解,以及电力、通信、化工、交通、机器人、冶金等多个领域中得到应用,都表现出了令人满意的性能。2.4.1.1 基本原理生物学家发现,每只蚂蚁在走过的路径上会留下一种称为信息素(pheromone) 的化学物质,蚂蚁之间就是靠感知这种物质的浓度进行
45、信息传递的。蚂蚁倾向于朝浓度高的方向移动,这样就形成了一种正反馈机制。蚁群算法就是模拟了这个过程,该算法的思想是:用蚂蚁的行走路线表示待求解问题的可行解,每只蚂蚁在解空间中独立地搜索可行解,解的质量越高,在“行走路线”上留下的信息素也就越多,随着算法的推进,代表较好解的路线上的信息素逐渐增多,选择它的蚂蚁也逐渐增多,最终整个蚁群在正反馈的作用下集中到代表最优解的路线上,也就找到了最优解。图1 是一个基于蚁群算法的人工蚁群系统寻找最短路径的例子。D DD B B B (a)人工蚁群搜索环境 (b)时刻人工蚁群搜索情况 (c)时刻人工蚁群搜索情况H CHCH Cd=1 d=0.5d=1 d=0.5
46、蚁数 15蚁数 30蚁数 15蚁数 15蚁数 15蚁数 30EEE蚁数 30蚁数 10 蚁数 20蚁数 10 蚁数 20蚁数 30A A A山东师范大学硕士学位论文17图1 人工蚁群路径搜索实例Fig 1 The example of artificial ant colony searching path如图1 (a) 所示,路径DH, BH 和BCD 的路程长度 d 为1; C 是路径BCD 的中点。假设在每个单位时间内,有30 只蚂蚁从A 来到B, 30只蚂蚁从E来到D,每只蚂蚁单位时间内行进路程为1,蚂蚁在行进过程中在单位时间内留下1个浓度单位的信息素,1个浓度单位的信息素在一个时间段
47、( t , t + 1) 结束后瞬间完全挥发。如图1(b) 所示,t = 0 时,在B 和D 点各有30只蚂蚁,由于此前路径上没有信息素 ,它们随机地选择路径, 在DH、DC、BH 和BC上各有15只蚂蚁。如图1(c) 所示, t = 1 时,又有30 只蚂蚁到达B 。它们发现在BH上的信息素浓度为15,BC上信息素浓度为30(是由15只BC走向和15只CB走向的蚂蚁共同留下的), 因此选择BC路径的蚂蚁数的期望值是选择BH蚂蚁数的2倍。所以,20只蚂蚁选择BC,10只蚂蚁选择BH。同样的情况发生在D点。这个过程一直持续下去直到所有人工蚂蚁最终选择最短路径BCD(或DCB ) 。具体过程见表1
48、。表1 人工蚁群路径搜索实例过程表Tab 1 The table of artificial ant colony searching path蚁数(取整)/只步号 BC BH DC DH1 15 15 15 152 20 10 20 103 24 6 24 64 27 3 27 35 29 1 29 16 30 0 30 0蚁群算法中的人工蚂蚁和自然界中的真实蚂蚁相比主要有以下几点区别20 。(1) 人工蚂蚁具有记忆能力,而真实蚂蚁没有。人工蚂蚁可以记住曾经走过的路径或访问过的山东师范大学硕士学位论文18节点,这样对提高算法效率是有益的。(2) 人工蚂蚁选择路径的时候并不是完全盲目的,而是按一定算法规律有意识地寻找最短路径(如在旅行商问题中,可以预先知道下一个目标的距离) 。(3) 人工蚂蚁生活在离散时间的环境中,即问题的求解规划空间是离散的,而真实蚂蚁生活在连续时间的环境中。人工蚁群系统正是有了这些不同于真实蚂蚁的特性,才使得该系统具有更高的智能性,在寻优过程中具有更高的效率,适合于解决更多类型的问题。2.4.1.2 具体描述由于蚂蚁寻食的过程与旅行商问题(Traveling Salesman Problem ,简称TSP) 的求解非常相似,所以蚁群算法最早的应用就是TSP的求解。下面以求解n 个城市的TSP为例说明蚁群算法。TSP属于一种典型的组合优化问题。其定义是