摘 要:本文主要介绍计算智能中的几种算法:模糊计算、遗传算法、蚂蚁算法、微粒群优化算法(PSO),详细描述了这几种算法的发展历史、研究内容及在本研究方向最近几年的应用。
关键字:计算智能 模糊计算 遗传算法 蚂蚁算法 PSO
计算智能是在神经网络、模糊系统、进化计算三大智能算法分支发展相对成熟的基础上,通过各算法之间的有机融合而形成的新的科学算法,是智能理论和技术发展的一个新阶段,广泛应用于工程优化、模式识别、智能控制、网络智能自动化等领域[1]。本文主要介绍模糊逻辑、遗传算法、蚂蚁算法、微粒群优化算法(PSO)。
1 、模糊计算
美国系统工程教授扎德于1965年发表的论文《FUZZY SETS》首次提出模糊逻辑概念,并引入隶属度和隶属函数来刻画元素与模糊集合之间的关系,标志着模糊数学的诞生。模糊计算将自然语言通过模糊计算转变为计算机能理解的数学语言,然后用计算机分析、解决问题。
在古典集合中,对于任意一个集合A,论域中的任何一个x,或者属于A,或者不属于A;而在模糊集合中,论域上的元素可以"部分地属于"集合A,并用隶属函数来表示元素属于集合的程度,它的值越大,表明元素属于集合的程度越高,反之,则表明元素属于集合的程度越低。与经典逻辑中变元"非真即假"不同,模糊逻辑中变元的值可以是[0,1]区间上的任意实数。要实现模糊计算还必须引入模糊语言及其算子,把含有模糊概念的语言称为模糊语言,模糊语言算子有语气算子、模糊化算子和判定化算子三类,语言算子用于对模糊集合进行修饰。模糊逻辑是用If-Then规则进行模糊逻辑推理,将输入的模糊集通过一定运算对应到特定输出模糊集,模糊推理的结论是通过将实施与规则进行合成运算后得到的。
模糊逻辑能够很好地处理生活中的模糊概念,具有很强的推理能力,在很多领域得以广泛应用研究,如工业控制、模式识别、故障诊断等领域。但是大多数模糊系统都是利用已有的专家知识,缺乏学习能力,无法自动提取模糊规则和生成隶属度函数,需要与神经网络算法、遗传算法等学习能力强的算法融合来解决。目前,很多学者正在研究模糊神经网络和神经模糊系统,这是对传统算法研究和应用的创新。[2]
2、遗传算法
遗传算法由美国学者Holland及其学生于1975年首次提出,以达尔文的进化论和孟德尔的遗传学说为基本思想,通过编码将问题的可能解转换为遗传算法可以解决的搜索空间。一般采用二进制编码,若变量连续,采用实数编码精度较高且便于大空间搜索。遗传算法的三个基本算子有选择算子、交叉和变异,用于模仿生物界中的繁殖、杂交和变异。
遗传算法的基本思想为通过随机编码产生一个初始种群,每一个编码即问题的可行解,通过适应度为评价标准来选择个体,适应度高的个体保留下来复制下一代,适应度低的个体被淘汰。保留下来的个体通过交叉、变异来提高个体质量,重组为新的一代。通过这一过程,使得新一代的个体组合优于上一代。个体不断进化,当达到设定的迭代次数或者给定条件时,算法结束,得到的最优编码即为问题的最优解。[3]
遗传算法具有智能性、并行性、通用性等众多优点,使得其应用范围也极广,如函数优化、机器人学、组合优化、***像处理、信号处理、人工生命、生产调度等。遗传算法的广泛应用也促进了自身的发展和完善,各种改进算法相继提出。近几年来,遗传算法的研究已经从理论方面逐渐转向应用领域,***像处理和机器人学也在逐渐成为研究的热点。随着数据挖掘技术的广泛应用,遗传算法在数据挖掘领域的研究会成为新的热点。[4]
3、蚂蚁算法
蚂蚁算法又叫蚁群算法,受蚂蚁寻找食物的启发,由意大利学者Marco Dorigo及其导师于1991年提出。蚂蚁从巢穴出发寻找食物,在其经过的路径上释放一种信息素,信息素浓度会随着时间增加而逐渐降低。其他蚂蚁识别到这种信息素,便会沿着这一路径寻找食物并释放信息素。某一路径信息素浓度越大,选择这一路线的蚂蚁越多,经过的蚂蚁越多,信息素浓度越大,呈现一种正反馈效应。最终,蚂蚁会找到食物源和巢穴之间的最佳路线。
蚂蚁算法的典型应用是旅行商问题(TSP),二次分配问题(QAP)、车间任务调度问题(JSP)、大规模集成电路中的综合布线以及电信网络中的路由等方面。蚂蚁算法因其很强的鲁棒性,把TPS问题中的经典模型稍加改动,就可用于其他问题。它的正反馈性和协同性使之可用于分布式系统;蚂蚁算法比较容易与其他算法工具相结合,可以改善算法的性能。
实际应用中,不同的优化问题有着不同的束缚条件,需要采取对应的措施来处理,因此出现了各种改进的蚂蚁算法,如最大最小蚂蚁算法、多群蚂蚁算法等。但是,不是所有的基本蚂蚁算法都能解决优化问题,改进后的算法也并不是在任何情况下都适用的。目前,蚂蚁算法还没有形成系统的分析方法和坚实的数学基础,绝大多数情况下依据实验和经验来选择参数,且计算时间偏长。[5]
4、PSO
微粒群优化算法(PSO)是一种基于种群的随机优化技术,由Eberhart和Kennedy于1995年提出。是继遗传算法、蚁群算法之后提出的一种新型进化计算技术。
PSO算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为"粒子",算法初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是粒子本身所经历的最优解,这个解被称为个体极值。另一个极值是整个种群目前所经历的最优解,这个极值被称为全局极值。另外也可以只选取整个种群中的一部分作为粒子的邻居,在所有邻居中的极值被称为局部极值。
PSO算法具有收敛快、容易理解及易于实现等优点,发展很快,在***像处理、模式识别及优化等方面得到了广泛应用。同时,PSO算法也存在一些问题,如容易陷入局部最优、进化后期收敛速度慢、精度差等,研究人员从各个方面对该算法进行改进,得到了各种改进的PSO算法,如标准PSO算法,带收缩因子的PSO算法,二阶振荡PSO算法、量子PSO算法等,实际应用中每一种算法并不是对所有问题都普遍使用,因此将PSO和其他算法相结合是一个可行的选择。[6]
经过多年的发展,PSO算法的优化速度、质量以及算法鲁棒性都已经有了很大的提高,但是目前的研究大都集中于算法的实现、改进和应用方面,相关的基础理论研究远远落后于算法的发展,而数学理论基础的缺乏极大地限制着微粒群算法的进一步推广、改进与应用。
5、结束语
每个算法各有特点,却有着共同的仿生基础,这使得各算法之间存在必然的联系。将模糊逻辑、进化算法、蚂蚁算法、PSO、DNA算法以及其他算法结合起来是目前计算智能一项新的研究课题。计算智能目前研究的最新趋势:一是理论研究, 即对现有的智能算法的理论和应用进一步深入研究; 二是引入新的算法,即发掘更先进、功能更强大的新型智能算法并拓宽其应用领域; 三是智能算法的融合, 将不同的算法结合,取长补短以增强算法的适应性。[3]
参考文献:
[1]赵永.计算智能及其在无线传感器网络优化中的应用[D].海南:海南大学,2010
[2]周红梅.智能算法主要算法的概述[J].人工智能及识别技术,1009-3044(2010)09-2207-04
[3]张睿,黄晋英,张永梅.计算智能方法及应用研究[J].电脑开发与应用,1003-5850(2012)10-0001-03
[4]马永杰,云文霞.遗传算法研究进展[J].计算机应用研究,2012,4(1):1001-3695
[5]叶凡.蚂蚁算法的应用与发展[J].电子信息与计算机科学,1003-5168(2013)04-0024-01
[6]雷秀娟,付阿利,孙晶晶.改进PSO算法的性能分析与研究[J].计算机应用研究,1001-3696(2010)02-0453-06
转载请注明出处学文网 » 计算智能主要算法概述