第1章群体智能算法概述
- 格式:pdf
- 大小:438.71 KB
- 文档页数:17
基于群体智能的优化算法随着信息时代的不断发展,计算机算法的应用越来越广泛。
在各种问题中,优化算法是一种很重要的算法,它被广泛应用在生物学、制造、工程学、社会学、经济学等众多领域中。
其中一种基于群体智能的优化算法,成为了当前研究的热点之一。
本文将介绍什么是基于群体智能的优化算法,以及它的应用和未来的发展趋势。
一、基于群体智能的优化算法的定义基于群体智能的优化算法主要是指在计算机程序中模拟人类社会生物的行为规律,通过不断地演化寻找最优解的算法。
这种优化算法主要包括粒子群优化(PSO)、蚁群算法(ACO)、火蚁算法(FAS)、遗传算法(GA)等几种。
不同于传统的优化算法,基于群体智能的优化算法不仅在单体搜索优化中起到重要作用,而且在多体、多样性搜索、协同优化问题或者多任务优化等领域都有广泛的应用。
二、基于群体智能的优化算法的应用1. 工程领域基于群体智能的优化算法被广泛应用于机电工程、航空航天、汽车工程等工程领域。
例如,在某个汽车工厂,生产线由多个自动化机械和机器人构成。
这些自动化机械和机器人在生产线上运作时制造出来的汽车的质量很重要。
此时,基于群体智能的优化算法可以通过优化工艺参数,来提高汽车零部件生产的质量。
2.图像处理领域在图像处理领域,基于群体智能的优化算法也得到了广泛的应用。
例如,在图像拼接或者图像分析时,我们常常需要寻找到一组参数,使得图像质量达到最优。
这时候,我们可以使用基于群体智能的优化算法,来快速找到一个最优的参数组合。
3.交通运输领域基于群体智能的优化算法也可以应用于交通运输领域。
例如,在城市的交通规划中,我们可以使用基于群体智能的优化算法来优化道路的繁忙程度、规划最佳路线等。
这种方法可以大幅提高交通的效率。
三、未来的发展趋势1. 组合式优化问题目前,基于群体智能的优化算法正在逐渐发展为一种组合式优化问题。
这类问题特点是在大规模的搜索空间中寻找最优解。
例如,在生物信息学领域中,通过基因序列数据来研究生物体特定性状,这时候就需要使用组合优化问题。
● 1.1.3 脑智能和群智能●脑(主要指人脑)的宏观心理层次的智能表现称为脑智能(Brain Intelligence, BI)。
●由群体行为所表现出的智能称为群智能(Swarm Intelligence, SI)。
●脑智能和群智能是属于不同层次的智能:●脑智能是一种个体智能(Individual Intelligence, II);群智能是一种社会智能(Social Intelligence, SI),或者说系统智能(System Intelligence, SI)。
1.1.4 符号智能和计算智能1. 符号智能符号智能就是符号人工智能,它是模拟脑智能的人工智能,也就是所说的传统人工智能或经典人工智能。
符号智能以符号形式的知识和信息为基础,主要通过逻辑推理,运用知识进行问题求解。
符号智能的主要内容包括知识获取(knowledge acquisition)、知识表示(knowledge representation)、知识组织与管理和知识运用等技术(这些构成了所谓的知识工程(Knowledge Engineering, KE))以及基于知识的智能系统等。
幻灯片52. 计算智能计算智能就是计算人工智能,它是模拟群智能的人工智能。
计算智能以数值数据为基础,主要通过数值计算,运用算法进行问题求解。
计算智能的主要内容包括:神经计算(Neural Computation, NC)、进化计算(亦称演化计算,Evolutionary Computation,EC,包括遗传算法(Genetic Algorithm,GA)、进化规划(Evolutionary Planning,EP)、进化策略(Evolutionary Strategies,ES)等)、免疫计算(immune computation)、粒群计算(Particle Swarm Algorithm,PSA)、蚁群算法(Ant Colony Algorithm,ACA)、自然计算(Natural Computation,NC)以及人工生命(Artificial Life,AL)等。
基于群体智能算法的图像分割技术研究随着计算机技术的发展,图像处理技术也有了很大的发展。
其中,图像分割技术是图像处理的重要部分,它可以将一幅图像分成不同的区域,以便进行分析、识别和处理。
目前,基于群体智能算法的图像分割技术是比较热门的研究方向之一。
一、群体智能算法的介绍群体智能算法是一种模拟自然界中群体行为的算法。
它的思路是将单个的个体组合成一个群体,通过个体之间的协同合作和相互影响来实现问题的求解。
常见的群体智能算法包括遗传算法、粒子群算法、蚁群算法等。
这些算法都具有自适应性、可搜索性和全局优化性等,因此在图像分割问题中得到了广泛的应用。
二、群体智能算法在图像分割问题中的应用群体智能算法在图像分割问题中的应用是将一幅图像分成不同的区域。
常用的群体智能算法包括遗传算法、粒子群算法、蚁群算法等。
这些算法都具有自适应性、可搜索性和全局优化性等,因此在图像分割问题中得到了广泛的应用。
以遗传算法为例,它的实现过程通常包括种群初始化、选择、交叉、变异等步骤。
在图像分割问题中,遗传算法可以通过适应度函数来评估不同分割结果的好坏,并根据适应度值进行选择、交叉和变异,从而得到最优的分割结果。
同时,遗传算法可以解决多峰函数问题,能够搜索到全局最优解。
粒子群算法也是一种常见的群体智能算法。
在图像分割问题中,粒子群算法可以通过速度和位移的更新来搜索最优解。
在每一次迭代中,粒子的位置和速度都会不断变化,同时通过适应度函数来评估每个粒子的质量,从而找到最优解。
蚁群算法是模拟蚂蚁寻找食物的过程来搜索最优解的一种算法。
在图像分割问题中,蚁群算法可以使用蚂蚁在图像上的移动路径来表示分割结果,并利用信息素的概念来引导蚂蚁搜索最优解。
最后通过反馈机制来不断更新信息素,从而得到最优解。
三、群体智能算法在图像分割中的优势和不足群体智能算法在图像分割中的优势主要体现在以下几个方面:1.全局搜索能力强:群体智能算法具有全局优化能力,可以搜索到全局最优解。
群体智能Swarm Intelligence一、概况:群体智能的定义:众多简单个体组成的群体通过相互之间的简单合作来实现来实现某一功能, 完成某一任务。
下面是不同的表述:1.群体智能这个概念来自对自然界中昆虫群体的观察,群居性生物通过协作表现出的宏观智能行为特征被称为群体智能。
(百度百科)2. 群体智能源于对以蚂蚁、蜜蜂等为代表的社会性昆虫的群体行为的研究。
最早被用在细胞机器人系统的描述中。
它的控制是分布式的,不存在中心控制。
群体具有自组织性。
(维基百科)3. 群集智能(SwaⅡn Intelligence)指的是众多无智能的简单个体组成群体,通过相互间的简单合作表现出智能行为的特性。
(论文《群体智能优化算法的研究进展与展望》)群体智能的发展历史和基本概念:群体智能(swarm intelligence)源于对自然界中存在的群集行为。
如大雁在飞行时自动排成人字形, 蝙蝠在洞穴中快速飞行却可以互不碰撞等,这是人类在很早以前就发现的。
群体中的每个个体都遵守一定的行为准则, 当它们按照这些准则相互作用时就会表现出上述的复杂行为。
Craig Reynolds 在1986 年提出一个仿真生物群体行为的模型BOID。
(这是一个人工鸟系统, 其中每只人工鸟被称为一个BOID, 它有三种行为: 分离、列队及聚集, 并且能够感知周围一定范围内其它BOID 的飞行信息。
BOID 根据该信息, 结合其自身当前的飞行状态, 并在那三条简单行为规则的指导下做出下一步的飞行决策。
)尽管这一模型出现在1986 年, 但是群体智能( Sw arm Intellig ence) 概念被正式提出的时间并不长。
一个显著的标志是1999 年由E Bonabeau 和M Dorigo 等人编写的一本专著群体智能: 《从自然到人工系统》( “Sw armIntelligence: From Natural to Art ificial System”) 。
第一章 绪 论1.1 最优化问题所谓最优化问题,就是在满足一定的约束条件下,寻找一组参数值,以使某些最优性度量得到满足,即使系统的某些性能指标达到最大或最小。
最优化问题的应用可以说遍布工业、社会、经济、管理等各个领域,其重要性是不言而喻的。
最优化问题根据其目标函数、约束函数的性质以及优化变量的取值等可以分成许多类型,每一种类型的最优化问题根据其性质的不同都有其特定的求解方法。
不失一般性,设所考虑的最优化问题为:},,10)(|{..)(min m j X g X S X t s X f i …=≤=∈=σ (1.1)其中,)(X f =σ为目标函数,为约束函数,S 为约束域,)(X g i X 为n 维优化变量。
通常最大化问题很容易转换为最小化问题()(X f −=σ),对于的约束和等式约束也可转换为的约束,所以(1.1)式所描述的最优化问题不失一般性。
0)(≥X g i 0)(≤−X g i 当、为线性函数,且时,上述最优化问题即为线性规划问题,其求解方法有成熟的单纯形法和Karmarc 方法。
)(X f )(X g i 0≥X 当、中至少有一个函数为非线性函数时,上述问题即为非线性规划问题。
非线性规划问题相当复杂,其求解方法多种多样,但到目前仍然没有一种有效的适应所有问题的方法。
)(X f )(X g i 当优化变量X 仅取整数值时,上述问题即为整数规划问题,特别是当X 仅能取0或1时,上述问题即为0-1整数规划问题。
由于整数规划问题属于组合优化范畴,其计算量随变量维数的增长而指数增长,所以存在着“维数灾难”问题。
当),,1(0)(m j X g i …=≤所限制的约束空间为整个n 维欧氏空间,即R n 时,上述最优化问题为无约束优化问题,即n R S X t s X f ⊂∈=..)(min σ (1.2)非线性规划问题(包括无约束优化问题和约束优化问题),由于函数的非线性,使得问题的求解变得十分困难,特别是当目标函数在约束域内存在多峰值时。
第一章群体智能和进化计算优化问题存在于科学、工程和工业的各个领域。
在许多情况下,此类优化问题,特别是在当前场景中,涉及各种决策变量、复杂的结构化目标和约束。
通常,经典或传统的优化技术在以其原始形式求解此类现实优化问题时都会遇到困难。
由于经典优化算法在求解大规模、高度非线性、通常不可微的问题时存在不足,因此需要开发高效、鲁棒的计算算法,无论问题大小,都可以对其进行求解。
从自然中获得灵感,开发计算效率高的算法是处理现实世界优化问题的一种方法。
从广义上讲,我们可以将这些算法应用于计算科学领域,尤其是计算智能领域。
计算智能(CI)是一组受自然启发的计算方法和途径,用于解决复杂的现实世界问题。
CI主要包括模糊系统(Fuzzy Systems,FS)、神经网络(Neural Networks,NN)、群体智能(Swarm Intelligence,SI)和进化计算(Evolutionary Computation,EC)。
计算智能技术具有强大、高效、灵活、可靠等诸多优点,其中群体智能和进化计算是计算智能的两个非常有用的组成部分,主要用于解决优化问题。
本部分内容主要关注各种群体和进化优化算法。
1.1群体智能单词“Swarm”指的是一群无序移动的个体或对象,如昆虫,鸟,鱼。
更正式地讲,群体可以看作是相互作用的同类代理或个体的集合。
通过建模和模拟这些个体的觅食行为,研究人员已经开发了许多有用的算法。
“群体智能”一词是由Beni和Wang[1]在研究移动机器人系统时提出的。
他们开发了一套控制机器人群的算法,然而,早期的研究或多或少地都利用了鸟类的群居行为。
例如,1987年Reynolds[2]开发了一套程序,使用个体行为来模拟鸟类或其他动物的觅食行为。
群体智能是一门研究自然和人工系统的学科,由许多个体组成,这些个体基于社会实体间分散的、集体的和自组织的的合作行为进行协调,如鸟群、鱼群、蚁群、动物放牧、细菌生长和微生物智能。
第十三章猫群算法13.1介绍猫群优化算法(Cat Swarm Optimization)是基于猫科动物的捕食策略提出的一种新型的群优化算法,由Shu-An Chu等人[1]在2006年首次提出。
一般来说,猫大部分时间都处于休息状态,很少去搜寻和捕捉猎物。
但是猫的警觉性非常高,即使在休息的时候也处于一种高度的警惕状态,时刻保持对周围环境的警戒搜寻;它们对于活动的目标具有强烈的好奇心,一旦发现目标便进行跟踪,并且能够迅速地捕获到猎物。
猫群算法正是关注了猫的搜寻和跟踪两种行为。
首先,将猫随机分布在整个搜索空间中,然后将猫细分为两种模式。
第一种模式称为“搜寻模式”,该模式下的猫处于休息状态,密切注视着周围的环境;第二种模式称为“追踪模式”,是猫跟踪、追逐动态猎物时的状态。
通过结合这两种模式往往能实现全局优化。
猫群算法中,一部分猫执行搜寻模式,剩下的则执行跟踪模式,两种模式通过结合率MR(Mixture Ratio)进行交互,MR表示执行跟踪模式下的猫的数量在整个猫群中所占的比例,在程序中MR应为一个较小的值,因为猫只会花一小部分时间跟踪它们的食物。
13.2搜寻模式(Seeking Mode)搜寻模式用来模拟猫的当前状态,分别为休息、四处查看、搜寻下一个移动位置。
在搜寻模式中,定义了4个基本要素:维度变化数(counts of dimension to change,CDC)、维度变化域(seeking range of selected dimension,SRD)、搜寻记忆池(seeking memory pool,SMP)和自身位置判断(self-position consideration,SPC)。
CDC指用于变异的维度个数,其值是一个从0到总维数之间的随机值;SRD声明了所选维度的变化量,对于需要进行变异的维度,新旧值之间的变化不能超出范围定义,而这个范围正是由SRD定义的;SMP定义了每一只猫的搜寻记忆大小,表示猫所搜寻到的位置点,猫将根据适应度大小从记忆池中选择一个最好的位置点;SPC是一个布尔值,表示猫是否将已经过的位置作为将要移动到的候选位置之一,其值不影响SMP的取值。
第一章绪论1。
1选题的背景和意义受社会性昆虫行为的启发,计算机工作者通过对社会性昆虫的模拟产生了一系列对于传统问题的新的解决方法,这些研究就是群体智能的研究。
群体智能作为一个新兴领域自从20世纪80年代出现以来引起了多个学科领域研究人员的关注,已经成为人工智能以及经济社会生物等交叉学科的热点和前沿领域。
群体智能(Swarm Intelligence)中的群体(Swarm)指的是“一组相互之间可以进行直接通信或者间接通信(通过改变局部环境)的主体,这组主体能够合作进行分布问题求解,群体智能指的是无智能或者仅具有相对简单智能的主体通过合作表现出更高智能行为的特性;其中的个体并非绝对的无智能或只具有简单智能,而是与群体表现出来的智能相对而言的。
当一群个体相互合作或竞争时,一些以前不存在于任何单独个体的智慧和行为会很快出现。
群体智能的提出由来已久,人们很早以前就发现,在自然界中,有的生物依靠其个体的智慧得以生存,有的生物却能依靠群体的力量获得优势。
在这些群体生物中,单个个体没有很高的智能,但个体之间可以分工合作、相互协调,完成复杂的任务,表现出比较高的智能。
它们具有高度的自组织、自适应性,并表现出非线性、涌现的系统特征。
群体中相互合作的个体是分布式的,这样更能够适应当前网络环境下的工作状态;没有中心的控制与数据,这样的系统更具有鲁棒性,不会由于某一个或者某几个个体的故障而影响整个问题的求解。
可以不通过个体之间直接通信而是通过非直接通信进行合作,这样的系统具有更好的可扩充性。
由于系统中个体的增加而增加的系统的通信开销在这里十分小.系统中每个个体的能力十分简单,这样每个个体的执行时间比较短,并且实现也比较简单,具有简单性。
因为具有这些优点,虽说群集智能的研究还处于初级阶段,并且存在许多困难,但是可以预言群集智能的研究代表了以后计算机研究发展的一个重要方向。
随着计算机技术的飞速发展,智能计算方法的应用领域也越来越广泛,当前存在的一些群体智能算法有人工神经网络,遗传算法,模拟退火算法,群集智能,蚁群算法,粒子群算等等。
基于群体智能的优化算法研究随着计算技术的不断发展和深入,各种算法及其优化方法不断涌现,其中基于群体智能的优化算法被广泛应用于各个领域,并且得到了很好的研究成果。
本文主要探讨基于群体智能的优化算法的研究现状和发展趋势,以及其在实际应用中的优势和不足。
一、概述群体智能算法是一种模拟群体行为和生物进化机理的智能算法。
它主要通过建立多个个体之间的协作、竞争、适应等关系,实现对优化问题的求解,常见的算法包括粒子群算法、蚁群算法、鱼群算法等。
这些算法通过模仿群体生物的行为和进化规律,从而发挥出强大的全局优化能力,并且逐渐成为了人工智能领域的研究热点。
二、研究现状基于群体智能的优化算法的研究起源于上世纪90年代,最早的算法是蚁群算法。
自2006年开始,这一领域开始迅速发展,涌现出了很多融合了人工智能、模拟进化等技术的优化算法。
在实际应用领域,这些算法已广泛应用于各个领域,如模式识别、数据挖掘、大数据分析、图像处理、网络管理等。
同时,也有越来越多的学者开始进行深入的研究,提出了很多新型算法,并且发布了相关的开源工具和算法库,不断推动了该领域的进展。
三、算法优势与传统优化算法相比,基于群体智能的优化算法具有以下优点:1. 全局性:这些算法可以从全局的角度去考虑问题,并且很少出现局部收敛的情况,从而得到更优的解。
2. 非局部性:这些算法可以避免陷入局部最优解,从而能够得到适应度更高的解。
3. 可并行性:群体智能算法可以方便地进行并行处理,从而能够更快地求解大规模的问题。
4. 可扩展性:这些算法可以对问题进行自适应调整,从而能够更好地应对各种不同的问题。
四、算法不足基于群体智能的优化算法虽然具有很多优势,但是在实际应用中也存在一些不足:1. 收敛速度慢:这些算法的收敛速度通常较慢,尤其是在处理高维度问题时。
2. 参数设置困难:这些算法通常需要大量的参数设置,并且不同的参数设置可能会导致不同的优化结果。
3. 难以解释:基于群体智能的优化算法都是黑盒算法,在求解过程中很难进行可视化和解释。
第七章萤火虫群优化算法7.1介绍萤火虫(Glowworms)是一群能发光的昆虫,也被称为闪电虫,它们使用一种叫做生物发光(bioluminescence)的过程来发光。
然而,已经发现了许多具有类似发光行为的生物,如水母、某些细菌、原生动物、水生动物等,事实上,大约80%到90%的海洋生物是由发光生物组成的。
萤火虫流行的原因是它们很容易被发现且数量巨大。
看到萤火虫在夏夜忽明忽暗地眨眼,要比看到它们的群体行为容易得多,大量的萤火虫聚集在一起形成一个群体,同时发出闪光,在目睹了这些美丽的景象之后,人们不禁想知道萤火虫这种发光和聚集行为的“原理”和“原因”。
这种发光行为的原因是为了吸引它们不知情的猎物进入陷阱,并吸引配偶进行繁殖。
在繁殖过程中,既可以观察到个体的求偶也可以观察到群体的交配。
萤火虫的生命周期从卵开始,然后从卵变成蛹,蛹变成幼虫,幼虫变成成虫,萤火虫只需要几周的时间就可以成年,因此,以保留物种为目标,寻找交配对象进行繁殖是当务之急。
7.1.1闪光模式随着进化,萤火虫已经进化到可以通过多种方式控制光的发射,从而产生不同的交配信号。
它们通过改变如下参数来产生不同的信号:•发光的颜色;•发光的亮度;•雄性闪光和雌性闪光-相位差;•每次闪光持续时间;•每周期闪光次数;•闪光时间;•连续发光或闪光脉冲序列。
Kaipa和Ghose (2017)用不同的例子来描述这些闪光模式,例如使用Lampyrus萤火虫,一种在欧洲常见的萤火虫,只有雌性才有发光的能力。
她在草地上扭动着身体,把光线从一个方向扫到另一个方向,以吸引四处游荡的雄性萤火虫的注意。
对于Lamprophorustenebrosus萤火虫,雄性和雌性都具有发光能力,但雌性没有翅膀,其类似于Lampyrus,利用光线吸引配偶。
在一些物种中,雌性使用不同的模式,如长闪光发光,在间隔时间内并不完全熄灭。
当雄性在10英尺远的地方能感觉到这种模式时,它们就会飞向雌性。
第十二章 蟑螂算法12.1 介绍蟑螂群优化算法(Cockroach Swarm Optimization ,CSO)是受蟑螂群体捕食行为的启发而提出的,该算法是通过模仿蟑螂个体寻找整体最优值的追逐行为而建立的。
蟑螂是一种昆虫,通常出现在黑暗和潮湿的地方。
它们表现出追逐、聚集和分散等觅食行为(Kwiecien & Pasieka, 2017)。
CSO 算法是通过模仿蟑螂的生物学行为来实现的:聚集、分散和残忍行为,下面分别对各个过程进行建模。
12.2 聚集行为(Chase-Swarming behavior )()()*rand*,*rand*,r r r r r r r g r r r y a y y y y a y y ρρρρ+-≠⎧⎪=⎨+-=⎪⎩(1)其中y r 为蟑螂的位置,a 代表步长,为固定值,rand 为(0,1)之间的任意值,ρr 和ρg 分别是个体最优和全局最优蟑螂的位置点,个体最优可以通过下式进行计算: {},visual r s s r s opt y y y ρ=-≤ (2)其中visual 为常数,表示蟑螂的视野范围,r=1,2,3,...N ,s=1,2,3,...N 。
全局最优位置可以通过下式确定:{}opt g r r y ρ= (3) 12.3 分散行为(Dispersing behavior )在一定的时间间隔内,每个个体被随机分散,以保持当前个体的多样性,模型如下: rand(1,),1,2,,r r y y E r N =+=⋯ (4)其中rand(1,E)为可以在一定范围内设置的E 维(问题空间维度)随机向量。
12.4 残忍行为(Ruthless behavior )在一定的时间间隔内,当前的最佳个体取代随机选择的个体,即弱肉强食。
模型如下:l g y ρ= (5)l 为[1,N]之间的任意整数。
12.5 蟑螂算法Step1:参数设置和种群初始化。
群体智能——蚂蚁系统摘要群体智能源于对以蚂蚁、蜜蜂等为代表的社会性昆虫的群体行为的研究。
最早被用在细胞机器人系统的描述中。
它的控制是分布式的,不存在中心控制。
群体具有自组织性。
群体智能的提出由来已久,人们很早以前就发现,在自然界中,有的生物依靠其个体的智慧得以生存,有的生物却能依靠群体的力量获得优势。
在这些群体生物中,单个个体没有很高的智能,但个体之间可以分工合作、相互协调,完成复杂的任务,表现出比较高的智能。
它们具有高度的自组织、自适应性,并表现出非线性、涌现的系统特征。
蚁群算法是一种基于群体智能的算法,蚂蚁群体智能有广泛的实际应用,该智能有其本身的优点,但同时也存在群体迷失的问题。
因此,我将在文章中简单介绍蚂蚁群体智能、复杂适应系统和涌现,然后利用复杂适应系统和涌现对蚂蚁群体智能的特点和运行机制进行分析,最后用这些特点来分析蚂蚁群体智能中的群体迷失现象产生的条件和原因,并提出相应对策。
关键词:蚁群算法群体迷失蚂蚁群体智能复杂适应系统运行机制Abstract:Swarm intelligence stems from to ants, bees and other social insects , represented by groups of behavior. The first to be used in the cell description of the robot system . Its control is distributed, there is no central control . Groups with self-organization .Swarm intelligence made a long time ago, people discovered that in nature , some organisms rely on their individual wisdom to survive , some organisms able to rely on the power of groups to gain an advantage . Organisms in these groups , no single individual highly intelligent , but can be a division of labor between individuals , mutual coordination complex tasks , showing relatively high intelligence. They have a high degree of self-organization, self- adaptability, and exhibit non-linear , the emergence of system characteristics .Ant colony optimization is a heuristic algorithm which is based on the swarm intelligence and is applied extensively in practice.The swarm intelligence of ants has advantages in itself,while it can easily bring about the problems of swarm lost.Firstly,it introduces the swarm intelligence of ants,complex adaptive system and emergence,then use the complex adaptive system to analyse the characteristics andmechanism of ants' swarm intelligence.Finally,it uses these characteristics and mechanism to analyse the conditions and causes of the swarm lost in the ants' swarm intelligence,and several countermeasures are procided for the swarm lost .Key words:ant colony optimization,swarm lost,swarm intelligence of ants,complex adaptive system.引言群居性生物的群体行为涌现出来的群体智能正越来越受到人们的重视,这些生物的个体行为非常简单,其功能也非常有限,但这些非常简单的个体组成的群体却表现出令人叹为观止的群体智能,如蜜蜂筑巢、蚂蚁觅食等,这种群体行为虽然没有一个同意思的指挥中心,但其整体行为却像是一个预先设计并在总指挥监督下协同进行的过程,整个群体像一个具有智慧的“个人”,近年来人工智能界开始对昆虫的群体行为感兴趣并把这些群体行为用于组合优化、通信网络和机器人等领域,取得了不少成就,蚂蚁群体智能(以下简称为蚁群智能)就是其中研究最多、应用最成功也最广泛的一种群体智能[1-5]。
第十四章 细菌觅食优化算法14.1 介绍Passino 等人[1]于2002年通过模拟人体内大肠杆菌的觅食行为,提出了一种新型智能优化算法:细菌觅食优化算法(Bacterial Foraging Optimization Algorithm ,BFOA)。
细菌觅食优化算法通过细菌群体之间的竞争与协作实现优化,是一种基于细菌群体的搜索技术。
在群智能算法中,GA 、ACO 、PSO 、AFSA 都是基于高等生物作为启发对象,而BFOA 算法则是模拟微生物的行为而形成的一种较新的优化方法。
14.2 BFOA 的基本原理与流程BFOA 算法是一种全局随机搜索的算法,其具有简单、收敛速度快,并且在优化过程中无需优化对象的梯度信息的特点。
BFOA 模拟细菌群体的过程包括趋向性(Chemotaxis )、复制(Reproduction )、迁徙(Elimination-dispersal )三个步骤。
14.2.1 趋向性操作细菌向有利于自身环境的区域移动称为趋向运动,其中,一次趋向性操作包括翻转运动和游动运动。
细菌向任意方向移动单位步长称为旋转运动;细菌沿着上一步的运动放向移动单位步长称为游动运动。
通常,细菌在环境差的区域(如:有毒区域)会较频繁地旋转,在环境好的区域(如:食物丰富的区域)会较多地游动。
大肠杆菌的整个生命周期就是在游动和旋转这两种基本运动之间进行变换,游动和旋转的目的是寻找食物并避开有毒物质。
设细菌种群大小为S ,细菌所在的位置标示问题的一个候选解,细菌i 的信息用D维向量标示为12,,,i i i iD θθθθ⎡⎤=⎣⎦L ,i =1,2,...,S ,θi (j ,k ,l )表示细菌i 在第j 次趋向性操作、第k 次复制操作和第l 次迁徙操作后的位置。
细菌i 通过式(1)更新其每一步趋向性操作后的位置。
(1,,)(,,)()()i i j k l j k l C i j θθ+=+Φ(1)其中C(i )>0表示向前游动的步长,Φ(j )表示旋转后随机选择的单位方向向量。
第1章 群体智能算法概述 1975年,美国Michigan大学的John Holland[1]教授发表了其开创性的著作
《Adapatation in Natural and Artificail System》,在该著作中John Holland教授对智能系统及自然界中的自适应变化机制进行了详细阐述,并提出了计算机程序的自适应变化机制,该著作的发表被认为是群体智能(Swarm Intelligence)[2]算法的开山之作。随后,John Holland和他的学生对该算法机制进行了推广,并正式将该算法命名为遗传算法(Gentic Algorithm,GA)[3]~[5]。遗传算法的出现和成功,极大地鼓舞了广大研究工作者向大自然现象学习的热情。经过多年的发展,已经诞生了大量的群体智能算法,包括:遗传算法、蚁群优化(Ant Colony Optimization,ACO)[6]~[7]算法、差异演化(Differential Evolution,DE)[8]~[12]算法、粒子群优化(Particle Swarm Optimization,PSO)[13]~[16]算法等。
随着群体智能算法在诸如机器学习、过程控制、经济预测、工程预测等领域取得了前所未有的成功,它已经引起了包括数学、物理学、计算机科学、社会科学、经济学及工程应用等领域的科学家们的极大兴趣。目前关于群体智能计算的国际会议在全世界各地定期召开,各种关于信息技术或计算机技术的国际会议也都将智能进化技术作为主要研讨课题之一。甚至有专家指出,群体智能计算技术、混沌分析技术、分形几何、神经网络等将会成为研究非线性现象和复杂系统的主要工具,也将会成为人们研究认知过程的主要方法和工具。
1.1 群体智能算法的特点
1.1.1 智能性 群体智能算法通过向大自然界中的某些生命现象或自然现象学习,实现对于问题的求解,这一类算法中包含了自然界生命现象所具有的自组织、自学习和自适应性等特性。在运算过程中,通过获得的计算信息自行组织种群对解空间进行搜索。种群在搜索过程中依据事先设定的适应度函数值,采用适者生存、优胜劣汰的方式进化,所以算法具有一定的智能性。 由于群体智能算法具有的这种优点,应用群体智能算法求解问题时,不需要事群体智能算法及其应用 2
先对待求解问题进行详细的求解思路描述。对于某些复杂性高的问题,高效求解成为可能。
1.1.2 隐含本质并行性 群体智能算法通过设定相应的种群进化机制完成计算,而种群内的个体则具有一定的独立性,个体之间或需要,或不需要进行信息交流,而个体的进化方式则完全取决于自身的状态。所以,对于群体智能算法而言,其个体之间完全是一种本质上的并行机制。如果使用分布式多处理机来完成群体智能算法,可以将算法设置为多个种群并分别放置于不同的处理机实现进化,迭代期间完成一定的信息交流即可(注:信息交流并不是必要的),迭代完成之后,根据适应度值进行优胜劣汰。所以,群体智能算法这种隐含的本质并行性,能够更充分利用多处理器机制,实现并行编程,提高算法的求解能力。更加适合目前云计算等分布式计算技术迅速发展的背景。
1.1.3 解的近似性 群体智能算法通常来自于对大自然中某种生命或其他事物的智能协作进化现象的模拟,利用某种进化机制指导种群对解空间进行搜索。由于该类算法缺乏严格的数学理论支持,对于问题的解空间采用反复迭代的概率性搜索,所以群体智能算法会存在早熟或解精度较低等问题,而这也是所有群体智能算法几乎都存在的弱点。所以,很多时候对求解的问题来说,群体智能算法仅仅得到的是一种最佳解的近似解。
1.2 群体智能算法的计算模式 不失一般性,考虑以最小化(min{()|}fxx∈X)问题进行探讨(本书均以最小化问题考虑,下同)。式中,X称为问题的解空间,即问题的所有可能解。X既可以是连续域nR的一个子集,也可以是离散域内一个有限集合。群体智能算法的
优化求解就是从多个随机初始解开始,通过一定的规则不断迭代和进化产生新解的过程。 在群体智能算法中,将多个解的集合称为种群(Population),记为()Pt,t表示
种群进化的代数,种群的大小称为种群规模,一般记为POP或N。以
12(),(),,()nxtxtxt"表示种群中各个解,即种群的个体(Individual)或称染色体
(Chromosome)。种群中新个体(Offspring)通常由父个体(Parent)以某种交配组第1章 群体智能算法概述 3
合方式产生,这种交配方式称为进化模式(Evolutionary Model)。进化计算的迭代过程可以归纳为社会协作、自我适应和竞争进化等三个基本环节。 在社会协作过程中,个体之间进行彼此的信息交换和互相学习。种群内个体在自我适应过程中通过主动或被动的方式不断调节自身的状态以适应环境。相互竞争则是指种群内具有更优状态的个体将会获得较大的生存机会,进入子种群,即种群的更新策略。群体智能算法框架描述如下: 算法1.1 群体智能算法[13] 输入:解空间内的初始种群。 输出:最佳个体gbest()tX。
步骤1. 初始化种群规模、迭代次数等参数。 步骤2. 在解空间内随机初始化种群12(){(),(),,()},0nPttttt==XXX"。
步骤3. While(终止条件不满足)Do。 步骤4. 计算()Pt中个体的适应值。
步骤5. 挑选部分个体进行社会协作操作。 步骤6. 自我适应。 步骤7. 竞争操作,生成新一代种群。 步骤8. endwhile。 步骤9. 输出最终解。 通过以上计算框架可知,群体智能算法通过对附加于种群内个体的三种操作引导个体向最佳解靠近,从而达到寻优的目的,其形式化模型如公式(1.1)所示。 PIO{POP(),(),(),();}uSACtαβγ= (1.1)
式中,POP()u代表种群,u表示其规模;SAC、、分别代表社会协作、自我适应机制和竞争操作,括号内表示该操作所需的相应信息,t 表示算法迭代代数。
1.2.1 社会协作机制 在本过程中,将通过一定的选择机制挑选部分个体进行信息交换和相互学习。所涉及的信息包括:个体选择的方法(schoi),个体规模(snum),新实验个体的产生机制(sway),种群历史信息的使用方式(shis)等,可以用公式(1.2)进行形式化描述。 (POP(),[schoi,snum,sway,shis])tSt (1.2)
1.2.2 自我适应机制 自我适应机制是指个体通过主动或被动机制不断调整自身的状态,以适应其所群体智能算法及其应用 4
处的生存环境。个体通过两种搜索机制来调整自身的状态,全局搜索和局部搜索。全局搜索机制保证了个体在更加广泛的范围内探索新解的能力,能够更好地保证种群多样性,避免出现早熟收敛现象;局部搜索机制则与之相反,容易使算法提前收敛于局部最佳,但是能够较快地提高个体的质量,加快算法的收敛速度。种群中个体的自我适应通常就是处理好两种搜索机制之间的平衡。 通过上述两种过程,可以生成新的实验个体,新实验个体生成机制的形式化描述如公式(1.3)所示。 new()((POP(),[schoi,snum,sway,shis],)tttAStβ= (1.3)
1.2.3 竞争机制 群体智能算法通过竞争机制从POP个父个体和m个临时子个体中挑选个体进入下一代种群中。在大部分群体智能算法中,种群的规模POP一般选择固定不变,个体替换策略分为整代替换策略(POP,)rm和部分替换策略(POP)rm+;前者指POP个父个体完全被m个子代个体所替换,后者指POP个父个体中只有部分个体被替换。当然,如果为了保存精英个体,可以选择精英保留策略,即父代个体中的优秀个体不被替换而进入下一代个体。 产生子种群的形式化描述如公式(1.4)所示。 POP(1)(POP(),New(),[,,elitist])ttCttpr+= (1.4) 上述公式(1.4)中p代表种群个体,r代表替换模式,elitist代表精英个体。
1.3 遗 传 算 法
遗传算法采用随机机制对解空间进行搜索,并在搜索过程中不断迭代、进化。由于该算法采用了模拟生物界中的生物遗传原理进行随机解空间搜索,所以它具有一定的广泛性和适应性。 在实际的操作中,遗传算法利用自然界中的适者生存机制作为算法进化中的主要进化机制,同时将随机的信息交换机制吸收进来,较好地消除了迭代过程中出现的不适应因素,有力地提高了收敛速度。 自遗传算法被提出以来,已经被广泛应用于各种领域问题的求解,并表现出了非常好的求解效率。比如,求解组合优化问题(TSP问题、背包问题等)、神经网络的结构优化问题、灾害评价与预报、网络路由选择等。 遗传算法的操作对象是被称为种群的一组二进制串,而其中的单个个体称为染第1章 群体智能算法概述 5
色体或者叫个体,每一个染色体对应于问题的一个解。遗传算法的操作流程是:从初始种群出发,采用基于适应值比例的选择策略在当前种群中选择个体,使用杂交和变异不断产生下一代群体。如此迭代,直至满足期望的终止条件。该算法的形式化描述如下: GA((0),,,,,,,)PNlsgpft= 其中,12(0)((0),(0),,(0))
nPXXX
="
表示初始种群;
N表示种群中含有个体的个数;
l表示二进制串的长度;
s表示选择策略;
g表示遗传算子;
p表示遗传算子的操作概率;
f表示适应度函数(fitness function);
t表示终止准则。
1.3.1 标准遗传算法原理 应用遗传算法求解问题时,主要经过种群初始化、计算适应度函数值、父个体交叉、变异等操作,算法流程图如图1-1所示。 算法1.2 标准遗传算法(GA) 输入:种群P。 输出:最优个体gbest()tX。
步骤1. 初始化群体(0)P,迭代次数t = 0。 步骤2. 计算()Pt中个体的适应度。 步骤3. 如果满足终止条件,则终止算法,输出最优个体;否则继续下一步。 步骤4. m= 0。 步骤5. 如果m≥N,即已经将全部的父个体处理完毕,则跳转到步骤2;否则,执行下一步。 步骤6. 根据个体的适应值比例选择两个父个体。 步骤7. 确定随机值β,如果该值随机大于1,则将两父个体进行杂交操作,然
后将个体变异后插入到P(t + 1)中,并且跳转到步骤9。
步骤8. β如果在随机值0和1之间,则将两个父个体直接变异后,插入下一代
个体P(t + 1)中。 步骤9. m = m + 2;并且跳转到步骤5。 设计一个求解实际问题的遗传算法的步骤如下。