动态自适应技术(精选8篇)
动态自适应技术 篇1
1. 引言
随着现代远程教育的飞速发展,要求网络在线考试系统具备智能组卷功能,即在考试大纲的规定与用户指定的要求下在有效的时间内生成一定数量的有差别的等效试卷,其中的核心问题是题库的计算机智能组卷。使用传统算法解决智能组卷显得力不从心,而遗传算法能以较大概率在有限时间内搜索到全局最优解或近似最优解,但其本身存在着易早熟收敛、遗传算子无方向性和收敛速度慢等不足,需要在具体的应用中引入问题域的启发式知识做适当的改进。
2. 建立组卷问题的数学模型
组卷问题实质上是一个多目标和多约束的组合优化问题,通常可根据某效用函数将多个目标依照各自权重组合成单一目标来优化处理以期找到问题的近似最优解。
2.1 问题描述
组卷的目标是生成多份有差别的能准确考核学生对知识的掌握情况的高质量等效试卷,基于组卷的实际需要与问题的复杂性,精选试题的属性定义试卷;在组卷策略中,采用的试题相关属性定义如下:
(1)题目编号:试题的唯一标识,使用整数数据类型;(2)题型编号:主要包括单项选择题、多项选择题、填空题、判断题、简答题、综合题等题型,使用整数数据类型;(3)题分:试题的分值,使用实数数据类型;(4)知识点编号:试题所考核的知识点,与科目的章节有关,使用整数数据类型;(5)难度:试题的困难程度,取值范围:难(0.8-1.0),较难(0.6-0.8),一般(0.4-0.6),较易(0.2-0.4),易(0-0.2)[2],使用实数数据类型;(6)考核要求编号:试题在教学内容上的要求层次,一般分为:了解、理解、掌握、熟练掌握与综合,使用整数数据类型;(7)估时:完成该试题所需的时间,以分钟为单位,使用整数数据类型;(8)区分度:试题对学生学习水平的鉴别能力,取值范围:好(0.4-1),较好(0.3~0.4),一般(0.2~0.3),差(0.2~-1),使用实数数据类型;(9)选用次数:该题曾被选中的次数,表示使用频度,使用整数数据类型。
假设生成的一份试卷的试题数目为n,试卷则由以下矩阵S决定,其中每道试题上述的9个属性决定矩阵S某一行元素的值[3]:
这就是求解组卷问题的目标状态矩阵。
2.2 目标函数
组卷问题实质上一个多目标多约束的组合优化问题,上述矩阵S的列元素的分布分别体现了以上9种用户指定的试卷要求,假定这些要求(约束)与用户指定的要求的误差为fi,fi可等于0或者较小值,为了不至于各误差互相抵消,fi都取绝对值[4],每个约束的重要性各不相同,用户可根据组卷实际需要自定义其权重wi;本文采用多目标加权法将每个目标函数值fi乘以相应的权重wi,以其加权和作为问题的目标函数f,用单目标优化法求最优解:
其中:fi为第i个约束与用户要求的误差的绝对值,考虑到题型内的题数固定,f1=0;wi为用户对第i个约束条件指定的权重系数。组卷时候用户可以根据考试的需要对不同约束条件赋予相应的权重系数,使整卷误差f最小的试卷即是所求解,可见,组卷问题可转化为满足多约束条件下的最小化问题。
3. 智能组卷的改进式遗传算法设计与应用
由于经典遗传算法在解决智能组卷问题时存在收敛速度慢、易出现“早熟”现象、盲目搜索与全局寻优能力弱等先天缺陷,致使出卷质量差,难以满足题库多变的需要,为此,本文提出了基于整数编码与动态自适应技术遗传算法,利用组卷问题的特征对经典遗传算法的多个关键组成部分进行改进,引入问题域的启发式知识,采用动态自适应技术,以提高改进遗传算法的搜索效率、减少“早熟”现象、加强全局寻优能力,算法流程如图1所示。
设计时,主要考虑以下几个方面:
3.1 染色体编码方案的改进
经过分析发现经典遗传算法中的二进制编码方案在求解组卷问题时候已不大适用:染色体(个体)的二进制位串太长、计算量大、编码与解码过程复杂。为此根据组卷问题的特征,采用分段式整数编码方案。设某一染色体:H(a1a2…ai…an),其中ai为非负整数的题目编号,n为试卷题目数量,在染色体H中相同题型的题目编号放在一起形成一段,在本文的组卷策略中,试卷里某种题型的题数由用户指定后固定不变(见约束1),映射到染色体每段的长度也固定,可用一个整数数组A[n]存放染色体H,如在一份试卷中用户指定单选题数量为20,则“单选题”段长度固定为20,数组A0到A19存放单选题的题目编号(假定单选题放在染色体始端),其它题型段以相同规则依次存放到染色体H。分段式整数编码方案以题目编号作为基因组成染色体,不存在解码问题,加快了算法的速度,此外采用分段式组织基因,有利于算法的遗传操作。
3.2 群体规模的改进
遗传算法的进化过程有两个关键点:群体多样性和选择性压力,显然,这两个因素都受群体规模的影响[5]。如果群体规模太小,遗传算法可能收敛得太快;如果太大,则运算时间成本太高。经典遗传算法使用不变的群体规模,存在一定的不合理性,大量实验表明:在进化过程的不同阶段,可能存在“最优”不同群体规模。本文提出一种群体规模动态自适应方案,在群体的迭代过程中,通过侦测当前群体的适应值的“稀疏”程度来动态调节群体规模;用适应值的样本标准差F与群体平均适应值fa之比r作为“稀疏”系数来表示群体适应值的“稀疏”程度,即r由下面公式确定:
稀疏系数r=F/fa(2)
其中P群体为规模,fa为群体评价适应值,fi为群体个体适应值。
根据“稀疏”系数r动态调节群体规模P:
当r∈[a,b],P保持不变;当r∈[0,a),P=P+P*r;当r∈[b,∞),P=P-P*r。
其中80≤P≤140,a,b取经验值:a=0.15,b=0.45,而关于群体规模变化部分P*r的选取策略将在选择运算中详述。由本文组卷模型的实验数据表明,群体规模P初始值取100为宜,而在进化过程当中限制P在区间[80,140]内变动较为合适。
3.3 群体初始化
根据用户输入的试卷参数,从试题库中随机抽题放到染色体相应的题型段中,直到随机生成P个染色体为止。
3.4 确定适应度函数
在遗传算法中,以适应度函数值大小来评价染色体的优劣,一般而言,适应度函数是由目标函数经过尺度变换而形成的。由上述的目标函数f可知,本文的组卷策略实质是求目标函数f的最小化问题,经分析将目标函数f经过指数变换法成为适应度函数f’=e-af。其中系数a决定了选择的强制性,其值越小,选择的强度就越趋向于那些具有最大适应度的个体[1];根据本文组卷实际需要,本文a取值0.03。
3.5 遗传算子的改进
(1)动态自适应的交叉概率与变异概率
交叉概率pc与变异概率pm的选用是影响遗传算法行为和性能的两大关键参数,对算法的收敛性影响很大,pc越大,新个体产生的速度越快,对群体的多样性有利,但也存在高适应值的较优个体的结构很快被破坏的风险;而pc过小,会使搜索过程缓慢,以至停滞不前。同一对变异概率pm,如果过小,就不易产生新个体结;如果pm,过大,那么遗传算法就变成了纯粹的随机搜索算法[1]。经典遗传算法使用固定不变的交叉概率与变异概率,显然有待改善,为此本文采用交叉概率与变异概率自适应策略,pc与pm能够随个体的适应度自动调节:当适应值低于平均适应度值时,对它采用较大的pc与pm,以淘汰性能不够好的染色体;反之,采用较小的pc与pm,以保留性能优良的染色体。这对群体进化的后期很有利,而对进化初期不利:群体中的初期“最优”个体难以发生改变;为此需进一步改进:使群体中的初期“最优”个体的pc与pm都不为0,以保证它们不会处于近似停滞不前的状态。交叉概率pc与变异概率pm的与个体适应值函数关系如图2所示:
综上所述,交叉概率pc与变异概率pm的计算公式如下所示:
其中,fm为群体中最大的适应值,fa为每一代群体的平均适应度值,f’为要配对交叉的个体中较大者的适应度值,f为要变异的个体的适应度值。根据经验值,各参数取值为:pc1=0.9,pc2=0.6,pm1=0.1,pm2=0.001。
(2)交叉运算
经典遗传算法采用单点交叉的方式,在两个染色体间交换相同长度的DNA片断,基于上述的染色体编码方案,本文采用多点交叉再修正方式:首先对规模为P(下同)的群体中的每个染色体H(长度为m,下同),产生一个在区间[0,1]的随机数r,如果r小于交叉概率pc,则选中此染色体H,预计有P*pc个染色体被选中,如果P*pc为奇数,则随机移走一个被选中的染色体,保持P*pc为偶数以便配对交叉;在选中的染色体中随机选取配对,在配对的染色体中随机产生m*pc个不同的交叉位置,然后按下面方式交叉(假定随机产生了3个位置:i,j,k):
产生的两个子个体C1、C2,为避免在相同题型内存在重复抽题的现象,即题号相同,有必要修正此两个子个体:检查每个题型段,如果出现题号重复情况,则从题库内随机选取同题型不同题号的试题替换重复的试题。
(3)变异运算
本文的变异运算采用类似于二进制编码遗传算法中的基本位变异方式。群体中每个染色体的每个基因(即题号)有均等的变异机会,整个群体有m*P个基因,预计平均每代有m*P*pm次变异,可对群体中的每一位产生一个在区间[0,1]内的随机数r,如果r小于变异概率pm,则变异此位:从题库内随机选取同题型不同题号的试题替换原试题。使用与交叉运算同样的方法修正变异后的子染色体,以避免同一染色体内出现重复抽题的现象。
3.6 选择运算
为了保持群体的多样性,提高算法的鲁棒性,避免群体出现“早熟”现象,在确定群体规模P后,采用跨世代精英选择策略与无重复串的稳态繁殖技术[1]来选择个体的方案,具体步骤如下:
(1)混合父子两代群体生成备选池,并按适应值的降序排序;
(2)采用无重复串的问题繁殖技术,在备选池中选取靠前的P个相异个体组成新的群体,如果选取的个体数目小于P,则再从题库中随机抽取试题组成若干个体,补充到新的群体中,使群体规模达到P。
3.7 算法结束条件
算法结束采用下面3种标准:(1)适应函数值f满足用户要求后结束;(2)算法运行到一定的时间后,进化效果停滞不前可结束;(3)算法运行到一固定的次数后结束。
4. 实验结果与分析
根据上述改进式遗传算法的思想采用基于web的ASP.NET编程技术开发了网络考试系统,并针对电大计算机课程《数据库基础与应用》的题库进行计算机自动组卷实验,结果验证了本文提出的改进式动态自适应遗传算法的可行性与有效性,其性能与经典遗传算法性能相比有明显改善。
5. 结束语
计算机智能组卷问题是一个多目标多约束的组合优化问题,本文通过对组卷问题的分析研究,改进经典遗传算法多个关键部分:采用整数编码组织染色体,采用指数尺度变换目标函数为适应度函数的方法,引入动态群体规模和自适应交叉与变异概率技术,采用跨世代精英选择策略与无重复串的稳态繁殖技术的个体选择方案等等。这些改进措施提高了算法寻优速度,有力避免经典遗传算法易出现的“早熟”现象,较好地解决了计算机自动组卷问题。
参考文献
[1]王小平,曹立明.遗传算法---理论、应用与软件实现[M].西安:西安交通大学出版社,2002.
[2]陆亿红,柳红.基于整数编码和自适应遗传算法的自动组卷[J].计算机工程,2005,31(23):232—233.
[3]全惠云,范国闯,赵霆雷.基于遗传算法的试题库智能组卷系统研究[J].武汉大学学报(自然科学版),1999,45(5):758—760.
[4]华如海,王俊普.基于约束满足的智能组卷方法的研究与实现[J].计算机应用研究,2000,11:20—22.
[5]Z.米凯利维茨.演化程序-遗传算法和数据编码的结合[M].北京:科学出版社,2000.
动态自适应技术 篇2
摘要:相关匹配是目标跟踪和模式识别的一种重要方法。介绍了CCD(电荷耦合器件)误差测量系统光学原理;针对该测量系统实际情况,提出了用相关算法实现目标位置的测量;使用自适应相关匹配的方法,实现了对连续视频图像中动态目标的跟踪;给出了实验结果,并对算法提出了改进的意见。关键词:CCD测量 图像处理 自适应相关 目标跟踪
基于相关算法的目标跟踪是利用从以前图像中获得的参考模板,在当前图像中寻找最相似的区域来估计当前目标位置的方法。它对于背景复杂、会有杂波噪声的情况具有良好的效果。CCD(电荷耦合器件)测量技术是近年来发展迅速的一种非接触式测量技术。CCD摄像器件在分辨率、动态范围、灵敏度、实时传输方面的优越性是其它器件无法比拟的,在动态飞行目标跟踪测量中发挥着重要的作用。作者在CCD测量系统中使用相关匹配的方法,实现了对连续视频图像中动态目标的跟踪。
1 CCD误差测量系统原理
在同一观测位置布置两台CCD,其视轴平行。其中CCD1用于瞄准,CCD2用于跟踪飞行目标。CCD1瞄准线和视轴重合,获得瞄准线和靶标之间的偏差角α。CCD2获得飞行目标和靶标之间的偏差角β。系统要求得到瞄准线和飞行目标之间的.水平和垂直方向上的偏差角ψx、ψy。因此规定CCD的视场中均以靶标十字中心为原点,向左和向上为正方向,将α、β分别投影到坐标轴上得到水平和垂直方向上的偏差角αx、αy、βx、βy。两台CCD的视频轴平行,视轴间距远远小于CCD到目标的距离,因此可以认为两CCD的视轴重合。所以有:
ψx=αx-βx,ψy=αy-βy (1)
图1是系统的原理图,图中靶板上的黑十字是靶标,虚线十字为瞄准分划板在靶板上的投影(由于实际靶板上没有,所以用虚线表示)。
2 图像处理算法的选择
从系统的原理分析可知,要完成偏差角度的测量首先应当从图像中提取出各个目标在图像中的位置,再根据CCD当量(每像元对应的弧度数)算出水平和垂直方向的偏差角。从CCD1的图像中的最靶标十字和瞄准分划板的位置,从CCD2的图像中提取靶标十字和飞行目标的位置。
由于飞行目标几乎贴地飞行,CCD视场中有复杂的地面背景。而且靶标是不发光的暗目标,与背景灰度反差不大,很难将目标从背景中分离出来,因此只有采用相关处理技术来进行目标识别,才能实现瞄准误差和飞行轨迹的测量。相关算法非常适合在复杂背景下识别和跟踪运行目标。由于系统图像处理是事后处理,处理连续的大量视频图像,实时性要求不高,而对处理精度和自动处理程度要求较高,因此采用该算法。
本系统中相关处理将预先选定的目标或目标特定位置作为匹配样板,求取模板和输入图像间的相关函数,找出相关函数的峰值及所在位置,求判断输入图像是否包括目标图像及目标位置。
3 相关算法的原理及改进
在机器识别事务的
动态自适应微粒群优化算法 篇3
关键词:粒子群优化算法,惯性权重系数,动态自适应
1 引言
粒子群优化算法(Particle Swarm Optimization,PSO)是由James Kennedy博士和R. C. Eberhar博士于1995年提出的。该算法源于对鸟群、鱼群觅食行为的模拟。该算法具有易于描述、便于实现、需要调整的参数很少、使用规模相对较小的群体、收敛需要评估函数的次数少、收敛速度快、并行处理、鲁棒性好等特点,能以较大的概率找到问题的全局最优解且计算效率比传统随机方法高,有深刻的智能背景,既适合科学研究,又适合工程应用。因此, PSO一经提出立刻引起了演化计算领域研究者的广泛关注,并在短短几年时间里涌现出大量的研究成果,在函数优化、神经网络训练[1]、函数优化问题[2]、模糊系统控制、分类、模式识别、信号处理、机器人技术等领域获得了成功应用。
2 粒子群优化算法描述
2.1 算法原理
PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,目标函数为之确定一个适应值(fitness value) 。PSO不像其他进化算法那样对于个体使用进化算子,而是将每个个体看作是在n维搜索空间中的一个没有体积和重量的粒子,每个粒子将在解空间中运动,一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而动,经逐代搜索最后得到最优解。在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解pbest,另一为全种群迄今找到的最优解gbest。假设在D维搜索空间中,有m个粒子组成一群体,第i个粒子在D维空间中的位置表示为Xi=(xi1,xi2,Lxid),第i个粒子经历过的最好位置记为Pi=(pi1,pi2,…pid,), 每个粒子的飞行速度为Vi=(vi1,vi2,…vid),i=1,2,…m。在整个群体中,所有粒子经历过的最好位置为Pg=(pi1,pi2,…pid),每一代粒子根据下面的公式更新自己的速度和位置:
Vi=wvid+c1r1(pid-xid)+c2r2(pgb-xid) (1)
Xi=Xi+Vi (2)
其中,w为惯性权重;c1和c2为学习因子;r1和r2是[0,1]之间的随机数。公式由三部分组成,第一部分是粒子先前的速度,说明了粒子目前的状态;第二部分是认知部分,是从当前点指向此粒子自身最好点的一个矢量,表示粒子的动作来源于自身经验的部分;第三部分为社会部分,是一个从当前点指向种群最好点的一个矢量,反映了粒子间的协同合作和知识的共享。三个部分共同决定了粒子的空间搜索能力。第一部分起到了平衡全局和局部搜索的能力。第二部分使粒子有了足够强的全局搜索能力,避免局部极小。第三部分体现了粒子间的信息共享。在这三部分的共同作用下粒子才能有效的到达最好位置。更新过程中,粒子每一维的位置、速度都被限制在允许范围之内。如果当前对粒子的加速导致它在某维的速度Vi超过该维的最大速度Vdmax,则该维的速度被限制为该维最大速度上限Vdmax。一般来说,Vdmax的选择不应超过粒子的宽度范围,如果Vdmax太大,粒子可能飞过最优解的位置;如果太小,可能降低粒子的全局搜索能力。
3 粒子群优化算法的改进策略
分析基本粒子群优化算法,其搜索过程有两个不足:1)初始化过程是随机的,随机过程虽然大多可以保证初始解群分布均匀,但对个体的质量不能保证,解群中有一部分远离最优解。如果初始解群较好,将会有助于求解效率与解的质量。由于粒子初始化和进化过程的随机性,使pbest和gbest的更新带有一定的盲目性,影响了进化过程的收敛。2)利用式(1)和(2)更新自己的速度和位置,本质是利用本身信息、个体极值信息和全局极值三个信息,来指导粒子下一步迭代位置。这实际上是一个正反馈过程,当本身信息和个体极值信息占优势时,该算法容易陷入局部最优解,分析式(1)和(2)进一步可以发现,当某些粒子的位置及其pbest接近群体的gbest时,其速度更新由wvid决定。w<1时,粒子的运行速度越来越小,接近于零,粒子运行出现“惰性”。随着进化的进行,其他粒子将很快聚集到这些惰性粒子的周围,使进化过早地收敛到局部最优点。总之,微粒群算法存在两个缺点:其一是粒子群优化算法的收敛速度比较慢。其二是粒子群优化算法容易陷入到局部极值点中,导致得不到全局最优解。
为改善粒子群优化算法的不足,改进策略可谓层出不穷,这方面的研究非常庞杂,这些改进基于各种不同的策略和方法。但从根本目的来说,都是为了改进粒子群优化算法的以上两个缺点。对于第一种缺点,在解决实际问题时,通常需要在一定的时间内达到相应的精度,如果耗费很长的计算时间来得到一个可行解,有时是不值得的。造成这种问题的原因是粒子群优化算法并没有很充分的利用计算过程中得到的信息,在每一步迭代中,仅仅利用了全局最优和个体最优的信息,此外,算法本身没有比较充分的优选机制,以淘汰比较差的待选解,从而导致算法收敛速度较慢。要解决这方面的问题,需要充分的吸收进化算法的优点,在粒子的操作中,加入繁殖、变异和优选算子[3],以加快算法的收敛速度。另外一个思路就是把粒子群优化算法较强的全局搜索能力与基于梯度算法的较好局部搜索能力相结合,设计一种混合算法,以克服二者的缺点,发挥二者的优点。造成第二种现象的原因有两方面,一是待优化函数的性质,有许多测试函数是多峰函数、形状复杂,而粒子群优化算法并不是从理论上严格证明收敛于任何类型函数的全局极值点,因此对于复杂的测试函数,很可能难以得到满意的结果。二是粒子群优化算法在运行时,由于算法的参数设计或者是粒子数的选择不恰当等原因,导致在计算的过程中,粒子的多样性迅速的消失,造成算法“早熟”现象,从而导致算法不能收敛到全局极值点。这两个因素通常密不可分的纠缠在一起,很难说在一个具体的问题中,到底是那一个因素在起作用,使得算法不能收敛到全局极值点。有比较多的改进是基于这两个方面的因素,对于第一个方面的缺点,有些研究者试图在函数优化的过程中,动态的改变函数的某些全局或局部的形态,使得函数的形状逐渐的变得简单,但同时又不改变函数的全局极值点的性质。比如可以设计一个变换,随着优化过程的进行,使得函数最终由多峰函数变为单峰函数,从而克服此问题。第二个方面的问题通常可以采用如下方法解决:对粒子群的多样性设置某些指标,比如粒子群的炳,随着计算的进行,实时监测这些指标,这些指标超过某个事先设定的临界值,则对整个群体实施某种操作比如按指定的概率重新初始化,从而改善群体的多样性,克服早熟的问题。
基于上面的理论分析,本节重点讨论以下几个方面PSO算法的改进策略及其效果:调整惯性权重,采用不同的惯性权重调整策略,兼顾全局与局部的寻优能力;引入收缩因子,加快算法的收敛速度,提高算法的性能。
3.1 引入收缩因子
引入收缩因子的粒子群优化算法,其速度更新如下式所描述:
Vid=∅[vid+c1v1(pid-xid)+c2r2(jpgd-xid)]
其中,收缩因子
undefined
实验结果表明,与使用惯性权重的粒子群优化算法相比,使用收缩因子的粒子群优化算法有更快的收敛速度。其实只要恰当地选取因子,带收缩因子的粒子群优化算法可被看作是PSO算法的一个特例。
3.2 调整惯性权重
PSO算法存在易陷入局部最优,出现早熟收敛的问题,许多研究都集中于参数惯性权重w的改进上,w对算法能否收敛具有重要作用,它使粒子保持运动惯性,使其有扩展搜索空间的趋势,改变其取值可以调整算法全局和局部搜索能力的平衡。
在PSO中,搜索陷入局部极值往往表现为微粒几乎停止不动。当群体的最优适应值长时间未发生变化(停滞)时,应根据群体早熟收敛程度自适应地调整惯性权重。若对整个群体采用同样的自适应操作,则一方面全局寻优和局部寻优是矛盾的,不能够同时进行;另一方面,当群体已收敛到全局最优附近时,优秀粒子被破坏的概率会随着其惯性权重的增加而增加,这使PSO算法的性能有所下降。为了充分发挥自适应操作的效能,本文的自适应调整策略,不仅用到群体早熟收敛信息,还根据个体适应值的不同将群体分为三个子群,分别采用不同的自适应操作,使得群体始终保持惯性权重的多样性。惯性权重较小的粒子用来进行局部寻优,加速算法收敛;惯性权重较大的粒子早期用来进行全局寻优,后期用来跳出局部最优,避免早熟收敛。这样,具有不同惯性权重的粒子各尽其责,全局寻优和局部寻优同时进行,在保证算法能全局收敛和收敛速度之间做了一个很好的折衷。
适应值为fi的粒子,其惯性权重w的具体调整方法如下:
3.2.1 fi优于f′arg
满足此条件的粒子是群体中较优的粒子,已经比较接近全局最优,所以应被赋予较小的惯性权重,以加速向全局最优收敛。本文根据粒子适应值按式(3)调整粒子w的惯性权重:
undefined
其中wmin为w的最小值,本文取wmin=0.5。粒子适应值越佳,其惯性权重相应越小,加强了局部寻优。
3.2.2 fi优于farg,但次于f′arg
满足此条件的粒子是群体中一般的粒子,具有良好的全局寻优能力和局部寻优能力。如果惯性权值ω随着搜索的进行按余弦规律减小,开始搜索时ω能较长时间保持较大值以提高搜索效率,在搜索后期ω能较长时间保持较小值以提高搜索精度,本文ω的修正公式为:
undefined
其中: ωmax为搜索开始时最大的ω,ωmin为搜索结束时最小的ω,iter为迭代所进行的步数,MaxStep为允许最大迭代步数。
3.2.3 fi次于farg
满足此条件的粒子是群体中较差的粒子,对其惯性权重的调整引用文献[4]中调整控制参数的方法:
undefined
算法停滞时,若粒子分布较为分散,则△较大,由式(5)降低粒子的w,加强局部寻优,以使群体趋于收敛;若粒子分布较为聚集,如算法陷入局部最优,则△较小,由式(5)增加粒子的w,使粒子具有较强的探查能力,从而有效地跳出局部最优。式(5)中参数k1和k2的选择对算法的性能有较大的影响。k1主要用来控制w的上限,k1越大,w的上限越大。根据前面分析,k1的选取应使式(5)能够提供大于1的惯性权重。本文取k1=1.5,显然w∈(0.5,1.1)。k2主要用来控制式(5)的调节能力,若k2过大,在早期停滞时,w会迅速变得很小,这虽然会加快收敛,却使算法在早期全局寻优能力不足,若k2过小,则式(5)的调节能力不是很明显,尤其是在后期算法不能有效地跳出局部最优。
此外,当算法未搜索到全局最优适应值时,或不满足最优要求时,可采用惯性权重的变异策略。对种群当前的最优粒子的惯性权重按下式进行变异:
w=w(1+ησ) (6)
其中,σ为满足高斯分布的随机数。如此,即可以较大的概率产生小幅度的扰动以实现局部搜索,又可适当产生大幅度扰动以实现大步长迁移来走出局部极小区域。η初值为1.0,每隔一定的迭代代数置η=βη,其中β为[0.01,0.9]之间的随机数。
3.3 算法流程
动态自适应粒子群优化算法DAPSO是在基本粒子群优化算法的基础上,根据群体早熟收敛程度和个体适应值来调整惯性权重的一种改进粒子群优化算法。Logistic方程是一个典型的随机动态系统:
zn+1=μzn(1+zn)n=0,1,2,… (7)
式中μ为控制参量,取μ=4,设0≤z0≤1,系统(7)完全处于随机运动状态。由任意初值z0∈[0,1],可迭代出一个确定的时间序列z1,z2,z3,…。本算法采用次方程对最优位置进行动态优化。算法具体流程如下:
Step 1:初始化设置最大允许迭代次数或适应度误差限,以及相关参数。
Step 2:动态初始化粒子位置和速度。
1)随机产生一个n维每个分量数值在0-1之间的向量,z1=(z11,z12,z12,…z1n),n为目标函数中的变量个数,根据式(7),得到N个向量z1,z2,z3,…zn。
2)将zi的各个分量载波到对应变量的取值区间。
3)计算粒子群的适应值,并从N个初始群体中选择性能较好的M个解作为初始解,随机产生M个初始速度。
Step 3:如果粒子适应度优于个体极值pbest,pbest设置为新位置。
Step 4:如果粒子适应度优于全局极值gbest,gbest设置为新位置。
Step 5:根据公式(1), (2)更新粒子的速度和位置。
Step6:对最优位置Pg=(Pg1,Pg2,…PgD)进行动态优化。将Pgi(i=1,2,…D)映射到方程(3.5)的定义域[0,1],zi=(pgi-ai)/(bi-ai),(i=1,2,…D),然后,用Logistic方程进行迭代产生随机运动变量序列zi(m)(m=1,2,…),再把产生的变量序列通过逆映射pgi(m)=ai+(bi-ai)zi(m)返回到原解空间,得:
Pg(m)=(Pg1(m),Pg2(m),…PgD(m))=(m=1,2,…)
在原解空间中对随机动态变量经历的每一个可行解Pg(m)(m=1,2,…)计算其适应值,得到性能最好的可行解P*。
Step7:用P*取代当前群体中任意一个粒子的位置。
Step8:判断算法的终止条件是否满足,若满足转向Step 10,否则执行Step 9;
Step 9:根据粒子适应值不同采取相应的自适应策略,分别按照公式(3),(4),(5),(6)调整惯性权重w,转向Step 3;
Step 10:若满足停止条件,则搜索停止,输出全局最优位置。
3.4 算法效果分析
为了检测动态自适应粒子群优化算法的效果,采用四个典型的测试函数进行实验,这些函数是:f1(Rastrigrin Function)、f2(Rosenbrock Function)、f3(Griewank Function)、f4(Ackley Function),函数的具体表示形式如下:
(1) 函数f1(Rastrigrin Function)
f(x)=undefined[xi2-10cos(2πxi+10)],|xi|≤5.12
minf(x*)=f(0,0,L 0)=0
Rastrigrin函数为多峰函数,当xi=0时达到全局极小点,在s={xi∈[-5.12,5.12],i=1,2,…n}范围内大约有10n个局部极小点。
(2) f2(Rosenbrock Function)
f(x)=undefined(100(xi+1-xi2)2+(xi-1)2),|xi|≤50
minf(x*)=f(1,1,… 1)=0
Rosenbrock函数由K.A.DeJONG提出,此函数是非凸的病态二次函数,其极小点易于找到,但要收敛到全局极小点则十分困难。
(3)函数f3(Griewank Function)
undefinedundefined
undefined
Griewank函数,当xi=0时达到全局极小点,当undefined时,达到局部极小点。
(4)函数f4(Ackley Function)
undefinedundefinedundefinedundefinedcos(2πxi))+20+e,|xi|≤32
minf(x*)=f(0,0,… 0)=OAckley函数,当xi=0时达到全局极小点。动态自适应算法的实验结果:
从上述结果可以发现,动态自适应微粒群算法基本保持了基本PSO算法的简单、容易实现的特点,而且计算精度比基本PSO算法精度要高,改善了粒子群优化算法摆脱局部极值点的能力,提高了算法的收敛速度,且兼顾全局寻优和局部寻优,能够有效地避免早熟收敛。
4 结论与展望
本论文在分析基本微粒群算法的基础上,评析了微粒群算法的优缺点,并对惯性权重进行了调整,改进了微粒群算法的性能。PSO的研究领域在不断持续发展,仍然存在大量有待研究的问题。如:选择具有最大改善的粒子作为社会影响源,对这种粒子可进行动态变异自适应;没有速度的PSO算法,没有速度的粒子群将改变我们以往对群体的观点;并行PSO算法,开发高效的并行算法,充分利用PSO算法的隐并行性。以上列出的仅仅是PSO算法研究中一部分具有挑战性的问题,实际的研究不仅于此。考虑如何建立智能优化算法的统一框架,加强算法的理论基础研究,以及将算法扩展应用到不同的实际领域,都是有价值的努力方向。
参考文献
[1] 刘宇,覃征,卢江.多模态粒子群集成神经网络.计算机研究与发展,2005(9):1519-1526.
[2] 王俊伟,.粒子群优化算法的改进及应用.东北大学博士论文,沈阳市,2006.
[3] 孟庆红,多目标进化算法及其应用研究.西安电子科技大学博士论文,西安市,2005.
时滞动态网络自适应同步的研究 篇4
关键词:自适应控制,耦合时滞和节点时滞,复杂动态网络,同步
0 引言
近年来,复杂网络的同步控制问题因为其巨大的理论价值和实用价值吸引了各学科专家的注意[1,2,3]。网络同步广泛存在于自然系统中,同时在工程中也有大量应用出现,例如分布式计算系统、心脏的起搏、并行计算等等。各种各样的控制器也被用在了同步控制中,如自适应控制[4]、脉冲控制[5]、牵引控制[6]等等。时滞在自然系统和人造网络系统中是不可避免存在的,耦合时滞和节点时滞分别在大量的文献中被讨论过,如文献[7]、[8]、[4]。然而,目前很少有文献同时考虑节点时滞和耦合时滞,这比前面两种情况要复杂的多。在现实的网络中,有很多同时含有节点时滞和耦合时滞的例子。比如,并行计算系统当中,计算机之间不仅仅有通信时滞,而且计算机本身计算的时间也是不可忽略,所以有必要对此类网络的同步控制问题进行研究。
本文将考虑带节点时滞和耦合时滞的复杂网络的自适应同步问题,通过稳定性理论我们得出了复杂网络自适应同步的充分条件。需要指出的是,我们的结论易于实际应用。
1 带节点时滞和耦合时滞的复杂动态网络模型
我们考虑由N个时滞动态节点组成的带耦合时滞的复杂动态网络。每个网络节点都是一个n维动力系统,它可以由N个时滞微分方程来描述:
式(1)中,i=1,2,…,xi(t)=(xi1,xi2,…xin)T∈Rn,表示节点i的状态变量;τ1、τ2是大于零的常时滞;f:R+×Rn×Rn→Rn描述每个节点自有的动态行为,满足;г∈Rn×n表示为外耦合矩阵。矩阵是网络的耗散耦合矩阵。也就是说,,其中,如果节点j到节点i有连接,那么aij≥0(i≠j);否则aij=0(i≠j)(实际上,-A就是一个加权有向图的Laplace矩阵)。
假设s(t)是孤立节点的解,假设其存在且唯一,满足s(t)=f(t,s(t),s(t-τ1)),其中s(t)可能是平衡点、周期轨道、不规则周期轨道或者混沌轨道。这里控制的目标是找到一个控制器ui使得系统(1)的解渐进同步于s(t),也就是说:
定义误差向量为ei(t)=xi(t)-s(t),其中1≤i≤N。
根据受控系统(1)和,我们可以将系统写成:
2 自适应反馈同步
本节将对时滞网络提出一种非常有效的自适应控制方法。该方法在线自适应调整控制增益,结构简单且易于实际工程应用。
定理令系统的控制器ui=-diei(i=1,2,…N),其更新率为,δi为正常数,那么网络(1)渐进同步。
证明:考虑如下李雅普诺夫函数:
对时间t求导可得:
其中:
那么:
根据稳定性理论,可得当t→∞时,ei(t)=0,i=1,2…N渐进稳定,也就是说系统(1)同步。
3 数值仿真
我们考虑有十个节点构成的网络,
其中节点是时滞Lorenz系统:
众所周知,当a=10,b=8/3,c=5,d=6.5,τ1=0.5时,说明节点是个混沌系统。取τ2=0.01,г=I,δi=0.1,令耦合拓扑为一个环状网络(见图一),此类网络最难达到同步。
通过Matlab数值仿真,得到受控网络系统的控制增益的变化情况与误差轨迹见图二。
由图二可知,通过控制增益的自适应在线调节,系统的误差值渐进稳定,也就是说受控网络(3)达到同步。
4 结束语
本文研究了带耦合时滞和节点时滞的复杂网络的自适应同步问题,根据稳定性理论得出了受控网络同步的充分条件,数值仿真验证了结果的正确性。
参考文献
[1]S.H.Strogatz."Exploring complex networks"[J].Nature,2001,vol.410:268-276.
[2]M.E.J.Newman."The structure and function of complex networks"[J].SIAM Rev,2003,vol.45:.167-256.
[3]R.Albert and A.L.Barasi."Statistical mechanics of complex networks"[J].Rev.Mod.Phys,2002,vol.74:.47-97.
[4]Q.Zhang,J.Lu,J.Lu,and C.K.Tse."Adaptive feedback synchronization of a general complex dynamical network with delayed nodes"[J].IEEE Transactions on Circuits and Systems Ii-Express Briefs,2008,vol.55:183-187.
[5]G.Zhang,Z.Liu,and Z.Ma."Synchronizationof complex dynamical networks via impulsive control"[J].Chaos:An Interdisciplinary Journal of Nonlinear Science,2007,vol.17:043126-9.
[6]J.Zhou,J.A.Lu,and J.H.Lu."Pinning adaptive synchronization of a general complex dynamical network"[J].Automatica,Apr2008.vol.44:996-1003.
[7]J.Zhou and T.P.Chen."Synchronization in general complex delayed dynamical networks"[J].IEEE Transactions on Circuits and Systems I-Regular Papers,Mar2006,vol.53:733-744.
自适应动态寻优控制系统仿真研究 篇5
对于极值调节控制对象,文献[1]提出一种自适应动态寻优方法,它成功地解决了使用传统的动态寻优方法在实际工业生产过程中无法回避的一个难题,即保证极值调节控制系统运行的连续性和稳定性问题。因为若用传统的动态寻优方法,当极值调节控制对象的参数飘移后控制系统就不能正确地进行动态寻优,就必须把控制系统停下来重新辨识极值调节控制对象的参数,再重新整定控制系统的参数[2,3,4]。而自适应动态寻优方法最突出的优点就是在动态寻优的过程中不仅能够自动辨识控制对象的参数,而且还能够自动适应参数的飘移,因此有效地保证了控制系统运行的连续性与稳定性。而且这种自适应动态寻优方法对极值调节控制对象的先验知识要求非常少,只要知道控制对象的阶数就能始终正确地进行动态寻优。其主要思想如下所述。
1 自适应动态寻优方法简要回顾
寻优系统采用步进式调节器,步进周期T0是固定的。极值调节对象可以分解为非线性环节与线性环节的串联,如图1所示。
设极值调节对象线性部分的传递函数为:
式中,T1>T2>T3…>TN>0。
单位阶跃响应为[5,6]:
式中,A0=G(s)|s=0=1;
Ai=(s+1/Ti)·(1/s)G(s)|s=-1/Ti时间以T0整量化后有:
式中,αi=T0/Ti;
设系统的输出如图2所示,把每个步进周期分成相等的2N等份,在每个分划点进行采样并取2N+1个采样值,预估比较点在试探步后的第一个采样点上进行。
图2中:如果在
由文献[1]知:
根据式(3)可知极值调节控制对象的输出采样值ΔZ1,ΔZ2,…,ΔZ2N+1来判断步进增量方向,步进方向的逻辑判别式为:
式中,sgn[Δxn]指的是Δx的符号。由式(4),(5)可以看出,步进方向的逻辑判别式与控制对象的惯性时间常数T1,T2,…,TN无关。因此这些参数随时间的缓慢变化并不能影响步进方向的逻辑判别式,换言之,式(4)与式(5)能自己适应对象参数的变化,因而称作自适应为动态寻优算法。以这种算法为核心设计的极值调节控制系统,不仅能自动识别参数,还能自动适应这些参数的变化。因此只要知道极值调节控制对象线性部分的阶数就能正确地进行动态寻优,在寻优的过程中,无论控制对象线性部分的参数变化与否都不会对寻优结果的正确性有任何影响。仿真研究的结果充分证明了这一点。
2 仿真研究
对于非线性极值特性,有:
极值特性未飘移时,最初的极值点为(5,10),极值调节器由式(4)和式(5)实现。仿真程序框图如图4所示。
程序框图说明:初始化的主要任务是设置变量初值,输入各种参数;N阶惯性环节用四阶龙格库塔法实现;根据自适应动态寻优算法的要求,把每一步进周期分成2N等份,采样周期Δt=T0/2N,L=2N+1计算Δ
3 仿真结果
在实际工业生产过程中,由于要准确地辨识控制对象的参数极其困难,因此采用自适应动态寻优方法就不需要辨识控制对象的参数,而且还能自动地适应参数的飘移。只要知道控制对象线性部分的阶数就能正确地进行动态寻优。同时,受扰动的影响极值特性会缓慢的飘移,最优工作点也会随之飘移,因此控制系统的任务就是在动态过程中不断地搜寻最优工作点。所以仿真的目的就在于检验控制系统能否很好地完成上述工作任务。
(1) 对一具有二阶惯性环节的极值调节控制对象进行动态寻优,其线性部分的传递函数为:
G(s)=1/[(T1S+1)(T2S+1)],T1=100 s,T2=40 s,极值调节器参数为:步长ΔX=2,步进周期T0=40 s,采样周期Δt=10 s,在动态寻优的过程中突然把惯性环节的时间常数T1=100 s,T2=40 s,改变为T1=50 s,T2=20 s,图5显示了整个动态寻优过程,从图中可以看出:控制对象时间常数的改变对动态寻优的正确性没有任何影响。
(2) 控制对象的参数以及调节器的参数与(1)相同,对极值调节器跟踪极值特性飘移的能力进行了仿真研究,图6显示了整个动态寻优过程,从图中可以看出:采用自适应动态寻优方法的极值调节器能够很好地跟踪极值特性的飘移。
4 结 语
仿真结果表明,采用自适应动态寻优方法的极值调节控制系统成功地解决了极值调节控制系统运行的连续性与稳定性问题,这也是传统的动态寻优方法多年来无法克服也无法回避的难题,而且这种动态寻优方法对控制对象的先验知识要求非常少,只需要知道其线性部分的阶数就足够了。因此采用自适应动态寻优方法的极值调节控制系统将会在实际工业生产过程中发挥强大的控制功能。
参考文献
[1]李国强,金轶锋,叶道骅,等.自适应动态寻优极值调节控制的算法研究[J].陕西师范大学学报,2004,32(3):50-53.
[2]李国强.动态寻优极值调节控制对象模型简化及降阶的研究[J].现代电子技术,2003,26(3):40-42.
[3]李国强,金轶锋,刘文江,等.预估极值调节系统最优动态工作点仿真研究[J].陕西师范学院学报:自然科学版,2003(4):46-50.
[4]李国强,金轶锋,刘文江,等.极值调节系统最优工作点预估研究[J].陕西师范大学学报:自然科学版,2002(1):57-61.
[5]李国强.预估比较原理与动态寻优方法[J].现代电子技术,2003,26(11):52-55.
[6]夏绪辉,邵俊华.环缝磨的控制系统设计[J].武汉科技大学学报,2002(1):51-54.
[7]李国强,金轶锋,王存良.极值调节系统最优工作点预估研究[J].陕西师范大学学报:自然科学版,2002(1):57-61.
[8]Li Guoqiang,Zhu Zhiping.Self-adaptive Dynamic Optimiza-tion in an Extremum Value Control System.Bulletin ofOKAYAMA University of Science,2004(40):161-166.
[9]Toshio ONO,Li Guoqiang.A Simple Convenient and Practi-cal Method for Self-adaptive Dynamic Optimizing Controlwith Simulation Results.Bulletin of OKAYAMA Universityof Science,2004(40):155-160.
[10]徐帆,蒋正荣,陈建业,等.基于自寻最优控制算法的谐波滤波器控制器[J].变流技术与电力牵引,2007(6):42-68.
动态自适应技术 篇6
图像的编码及传输中,经常经过含有噪声的线路或被电子感应噪声污染时,会使图像染上一定程度的椒盐噪声(即脉冲噪声)[1]。中值滤波因其与输入信号序列的映射关系,在去除脉冲噪声上有比较好的效果,很多学者针对中值滤波技术进行研究,提出了很多改进算法。如加权中值滤波方法(WM)[2]、中心权值中值滤波器(CWM)[3]、三态中值滤波器(TSM)[4]模糊多极中值滤波方法[6]等,以及基于上述若干方法的改进策略[7]。文献[8]介绍了一种改进的自适应中值滤波方法(AM),取得了不错的滤波效果,但其对于高密度噪声图像以及纹理细腻图像的边缘处理能力不佳。本文将基于该种方法(AM),并通过分析图像噪声信息,提出一种基于噪声检测的自适应中值滤波,以克服对于高密度噪声及多细节图像去噪不理想的问题。实验结果表明,新算法对于细节丰富的图像以及高密度噪声的图像滤波效果良好,有效地提高图像的峰值信噪比,其去噪效果明显优于其他方法。
1 中值滤波法简介
早在1974年,Tukey提出了一维的中值滤波器,之后有学者针对将其发展至二维图像。标准中值滤波(SM)采用滑动窗口划分子图像,再对子图像进行二维中值滤波,当前窗口中心的像素点即为需要进行去噪处理的像素点。滤波过程中,窗口大小可以设定为不同的值,一般是采用3×3的方形窗口进行滤波。对于该滑动窗口内的像素点进行灰度值的排序,取中值作为当前像素点的灰度值。由于缺乏判断像素点是否有被噪声影响的机制,采用该方法时需对所有像素点进行一次滤波操作,在一定程度上对图像的边缘、细节信息造成破坏。
2 噪声点的检测
椒盐噪声在图像中表现为极大值或者极小值。在去噪处理之前,针对图像灰度值受椒盐噪声影响分布情况的特殊性,先将像素点分成非噪声点、噪声点和图像细节点,一方面减少系统开销,另一方面避免破坏原图像中的非噪声点。噪声点的监测室通过全局检测和局部检测两个层次来判定。
2.1 全局检测
在受椒盐噪声影响的图像中,噪声点的灰度值分布在图像灰度值的极大值端或者极小值端。若某点图像灰度值处在极值中间,则可以断定当前点未被噪声干扰,无需去噪处理。当然,对于处于极值的像素点,还不能确定其是否是噪声点。
设图像灰度值中极大值为Gmax,极小值为Gmin,对于当前像素点灰度值G,若满足式(1),则可以说明当前像素点并未受到噪声污染,无须进行滤波操作,其中T为设定的阈值。
|G-Gmin|>T并且|G-Gmax|>T (1)
2.2 局部检测
在图1中,大量分布条纹是黑白相间的,即原图中存在大量的极值。因此对于该幅图像而言,大部分中值滤波方法所得到的结果都不是很理想。 如何保证非噪声极值点不被滤波,或者滤波后不至于与周围差异较大的像素点进行错位,这需要充分结合像素点周围的信息进行分析。
如图2所示,以3×3窗口为例,对于图2(a),因为窗口中心点灰度值与相邻点差值较大,噪声点的可能性较大;而对于图2(b),由于差值较小(为0),非噪声点的可能性较大。
2.3 噪声点检测算法
由上述分析,可归纳出完整的噪声点检测算法。
算法1 噪声点检测算法
输入:图像的全局极大值为Gmax,极小值为Gmin,滤波窗口最大值为Wmax,像素点P(a,b)及其灰度值G,阈值T。
输出:对像素点P(a,b)的判定。
(1) 若满足|G-Gmin|>T且|G-Gmax|>T,则转(6)。
(2) 以P为中心,设置窗口大小w为3的滤波窗口。
(3) 计算该窗口内标准中值滤波结果,记为SM;若满足Gmin<SM<Gmax,则转到(5)。
(4) 设置窗口大小扩展为w+2;若w>Wmax,则转到(5),否则转到(3)。
(5) 对于当前滤波窗口,计算像素点P与另外w×w-1个像素点灰度值差值的均值Gmean;若Gmean<T1,转(6),否则转(7)。
(6) 点P为非噪声点。
(7) 点P为噪声点。
2.4 自适应窗口策略
在噪声点的监测过程中,滤波窗口大小影响巨大:若窗口取值较小,可有效地保护图像细节信息,而去噪效果相对较弱;反之,滤波器的去噪效果较强,而滤波后图像模糊程度则会加大。
图3表示的是噪声图像中某局部区域灰度值矩阵,当图像中噪声密度较大时,较小的窗口则无法保证Gmean正确表示出窗口中心值与其他像素点的关系。如图3(a)中,3×3窗口内含有6个噪声点,但极值都为极大值,因此窗口中心与其它8个像素点的差额均值仍为20左右,此时窗口中心被判断为非噪声点;而当窗口扩大后,噪声点虽然增加了,但极大值与极小值的比例发生变化,从而降低了噪声极值点对Gmean的影响,所求得的Gmean也正确地反映了窗口中心值为噪声点,在图3(b)中可以看出,当采取5×5窗口时,Gmean经计算是大于T1的,可以判定窗口中心为噪声点。
对于滤波窗口大小的选取原则是使窗口内噪声点对Gmean的影响最小。此处采用标准中值滤波SM的值进行比较。若SM的值处于极大值与极小值之间,则可以说明极大值与极小值在该滤波窗口中的分布较均匀。
滤波窗口的自适应调整的作用不仅仅体现在噪声点判断上,对于噪声的滤除操作方面,窗口自适应也有着重要的作用,这一内容将在下文中详细说明。
3 噪声点的滤除
自适应窗口策略还可以更精确地区分噪声点与图像细节点,从而更好地保护了图像细节信息,并且能够更好地调整滤波器的去噪性能,有效地弥补了一般滤波器对于含有高密度噪声的图像处理上的不足。
图4展示了噪声密度0.2的lena图采用AM滤波器的去噪情况,其中图4(a)为原图,图4(b)采用3×3窗口,图4(c)采用5×5窗口,图4(d)采用9×9窗口。可以看出,采用3×3窗口时一次滤波后噪声点无法完全滤除,而采用9×9窗口后,虽然噪声都已经滤除,但图像相对于原图有了较大的模糊。由此可知,窗口的大小对于滤波器去噪效果有重要的影响。当滤波窗口越小时,图像细节的保留越丰富,但去噪性能不佳;而当窗口增大时,去噪性能有了明显提升,但图像细节也随之被模糊。
当图像所含噪声密度较高时,窗口大小的影响更为明显。如图5所示,当噪声密度达到0.8时,该3×3窗口中经过SM的中值及其左右邻值全都为噪声点,此时进行任何滤波操作也不会改变其灰度值,滤波也失去其意义了。此时需要扩大窗口大小,以获取更多的图像信息来弥补噪声带来的影响。
在噪声去除过程中,采用的窗口变化策略与噪声检测机制中介绍的自适应窗口策略基本一致,不同之处在于判断是否需要将窗口扩展时,采用AM进行判断。因为AM的输出值与窗口中值及其左右邻值相关,因此可以假定当AM滤波结果非极值时,此时的窗口大小即可作为去噪所用的窗口。经过分析可以发现,该种条件比噪声检测机制中的窗口变化条件更宽松:当SM值非极值时,AM值也非极值;但当SM值为极值时,由于AM是通过SM值与其左右邻值进行判定,AM值也极有可能不是极值[8]。因此采用这种判定方法有可能获得更小的窗口进行滤波。通过前文分析我们知道,较小的窗口,保留图像细节能力更强,因此采用该策略会达到更好的效果。
文献[8]介绍的AM噪声滤除算法所引入的线性自适应策略可以很好的去除噪声,但对于高密度噪声及细节丰富图像的处理效果相对于其它算法要差。而动态窗口策略则可以自适应选取合适的滤波窗口进行处理,有效地处理高密度噪声及细节丰富图像。在本文中针对此缺陷所设计的基于动态窗口的自适应中值滤波方法(VAM)即是对其的有效改进。
算法2 噪声点检测算法
输入:图像的全局极大值为Gmax,极小值为Gmin,滤波窗口最大值为Wmax,像素点P(a,b)及其灰度值G,阈值T。
输出:对像素点P(a,b)的判定。
(1) 根据算法1,若点P为非噪声点,则结束,否则转(2)。
(2) 以P为中心,设置窗口大小w为3的滤波窗口。
(3) 计算当前滤波窗口下,采用AM滤算法的结果,记为AM;若满足Gmin<AM<Gmax,则转到(5)。
(4) 设置窗口大小扩展为w+2;若w>Wmax,则转到(5),否则转到(3)。
(5) 记当前AM为VAM,作为像素点P的滤波结果,并将VAM更新为像素点P滤波后的灰度值。
4 仿真结果以及分析
采用lena、barb以及text进行仿真分析,以验证本文提出的新方法的有效性。其中,lena的图像较为平缓,平坦区域多;而barb图则是细节信息非常丰富,难以处理;text则为文本截图,使得图像中灰度值与椒盐噪声接近。
4.1 噪声检测机制性能分析
对于2.1节中提到的阈值T1取不同值,采用VAM滤波器对512×512的barb图进行滤波去噪,计算信噪比(PSNR),绘制曲如图6所示。可以发现,T1的取值在10到20之间时,去噪效果最佳,当T1不断上升时,去噪效果随之递减。
在T1取值为15的情况下,分别对barb图像和lena图像加入一定密度的噪声,再进行噪声检测操作,统计其发现的噪声点数量以及发现的噪声密度如表1所示。可以看出,该噪声检测机制效果良好,检测结果与实际噪声密度误差较小。
4.2 VAM滤波器去噪效果分析
表2展示的是噪声密度为0.2和0.4时,lena、barb和boat三幅图采用不同滤波算法的去噪结果。可以看出,AM滤波器相对于其他算法有较好的改进,但对于纹理复杂的boat图所得到的结果要比其它算法偏差。而本文提出的VAM算法则对于各种特点不同图像都有较好的去噪效果,这是由于VAM在保留了AM处理平缓图像的优越性的同时,克服了AM在细节丰富时的不足,加强了图像细节的保留能力以及图像的去噪能力。
为了验证VAM中自适应调整窗口策略比之于固定窗口策略在处理高密度噪声图像上的优势,图7展示了对于含80%噪声的lena图像处理情况。其中(b)、(c)、(d)分别是WM、TSM、AM以及AVM的滤波结果。可以明显看出,具有自适应调整窗口大小功能的VAM算法对于高密度噪声仍然有很强的处理能力,噪声可以准确滤除,并且图像细节及边缘信息保留良好。
5结语
本文提出了自适应中值滤波方法。新算法采用合理的噪声检测机制可以有效地区分噪声点与非噪声点,从而保护图像的细节边缘信息。同时本文所设计的噪声滤除方案,由于加入窗口自适应以及模糊多极值策略,对于已检测出的噪声点,可以高效地滤除。经过实验分析,本文所介绍的噪声滤波算法相对于其他典型算法,在噪声处理及细节保护上有明显的改进,对于高密度噪声的图像,则优势更加明显。
参考文献
[1]陆天华.数字图像处理[M].北京:清华大学出版社,2007.
[2]Brownrigg D R K.The weighted median filter[J].Communications ofthe ACM,2004,27(8):807-818.
[3]Ko S J,Lee Y H.Center weighted median filters and their applicationsto image enhancement[J].IEEE Transactions on Circuits and Systems,2006,38(9):984-993.
[4]Tao Chen,Kai Kuang Ma,Li Hui Chen.Tri-State Median Filter for Im-age Denoising[J].IEEE Transactions on Image Processing,2003,8(12):1834-1838.
[5]Hwang H,Haddad R A.Adaptive median filters:new algorithm and re-sults[J].IEEE Transaction on Image Processing,1995,4(4):499-502.
[6]Yang X H,Toh P S.Adaptive fuzzy multilevel median filter[J].IEEETransaction on Image Processing,1995,4(5):680-682.
[7]Eng H L,Ma K K.Noise adaptive soft-switching median filter[J].IEEE Transaction on Image Processing,2001,10(2):242-251.
动态自适应技术 篇7
MANET网络是由一系列相互通信的无线移动节点组成的,不需要已有的网络设施、访问点或者网络中心控制的互联互通网络[1]。节点可以很容易地接入到网络中,且任意移动,因此网络的拓扑结构会快速且不可预见的变化。另外,因为传输范围的限制,一些节点相互之间不能够直接通信,所以采取多跳路由的方式通信[2]。节点移动和无线多跳的特性,很大程度上影响了MANET的网络性能。MANETE网络的很多应用仍然使用可靠传输协议,很多学者都提出了各种适合于MANET的改进TCP类协议,而TCP协议的拥塞控制机制依赖于数据链路层的可靠传输。目前MANET的数据链路层使用基于IEEE 802. 11的标准MAC协议中的DCF等机制。然而IEEE 802. 11 MAC协议最先是应用于无线局域网的,这相对于MANET的节点频繁移动和多跳的性能而言,并不能保证网络性能维持在较好的程度。所以需要考虑MAC和TCP协议之间的影响[3,4],综合考虑在MANET网络特性下的MAC协议与TCP协议综合性能( 特别是吞吐量和端到端时延) ,设计一种较好的DCF改进机制。
本文在深入理解IEEE 802. 11 的DCF机制的基础上,设计和实现了一种适于MANET网络多跳和节点移动特性的能改善网络TCP性能的DCF机制。
1 相关工作
MANET面临的一大挑战是对于共享信道的MAC协议的设计。传统的IEEE 802. 11 MAC协议基于无线局域网设计,现在MANET网络的背景下使用,需改进以适应MANET网络的特性。由于MANET网络没有访问点,DCF机制的应用受到青睐。该领域的研究主要集中在退避算法、DCF机制,跨层分析研究等方面。文献[5,6]利用了DCF机制来提高TCP的性能,但都是基于MAC层的反馈信息来直接对TCP的拥塞策略来进行改进,不是对MANET中DCF机制的改进,提供了跨层设计的思路。文献[7]提出一种设定阈值的方法来决定MANET网络在竞争信道使用的退避策略。拥塞严重时,使用指数增长竞争窗口,之后采取线性增大竞争窗口的策略,成功传输一次数据后,采用线性减小的方法,而不是直接使用最小竞争窗口值。文献对网络吞吐量、包传递速率和端到端时延等指标进行了分析。文献[8]提出根据动态估计无线网络中活动节点数调整MAC层的初始竞争窗口的方法。每个节点每隔一段时间统计与其通信的邻居节点作为活动节点,然后根据活动节点数调整初始竞争窗口到近似最优值。该DCF机制能较好估计活动节点数,降低信道竞争时间,提高信道的利用率和网络的吞吐率,但没有考虑节点移动特性对网络性能的影响。文献[9]研究了MAC和TCP协议之间的相互作用,认为节点数和节点移动特性影响TCP的性能。提出根据网络中的节点数和节点的移动速率和移动方向动态调整竞争窗口最大值,并说明调整竞争窗口尺寸能提高传输协议TCP性能指标。
本文设计出一种根据动态调整MAC层的初始竞争窗口大小和竞争窗口的最大限制值的方法。将该方法运用到DCF机制中的RTS/CTS,分析MANET网络的性能。实验结果验证了该改进的DCF机制有效性,并表明相对于标准DCF机制在吞吐量、端到端时延等TCP性能方面有所改善。
2 解决方案
IEEE 802. 11 协议标准给出了无线网络的物理层和MAC层协议规范。本文针对MAC层协议的DCF机制的RTS/CTS访问方法进行改进。
2. 1 动态调整初始竞争窗口
MANET网络中,节点的冲突概率除了依赖于竞争窗口的大小,与网络中的活动节点数也相关。活动节点数即正在发送数据包的节点数。MAC协议中,每一个节点都可以与其邻居节点直接相互通信,并从发送的帧数据中获取到重要的链路信息( 源/目地址、NAV值等) 。本文采用动态估算网络中的活动节点的方法。让每个节点都保存有一张记录其处于活动状态的邻居节点及与邻居节点最后通信时间的列表。若在一定的时间间隔ATO( Active Time Out) 内节点没有收到邻居节点的数据,则判定该邻居节点不再是活动节点,将其从列表中删除。关键是确定ATO的值,ATO的值应该随活动节点数的变化而变化,因为一个活动节点越多,冲突的概率就越大,导致节点连续成功传输两个数据帧的时间间隔就越大。而当数据帧的大小不变时,对于相同数量的活动节点,介质访问延迟的大小是固定的,可以提前计算出该延迟的大小[10]:
其中,τ 表示一个节点在某一时间的传输速率; σ 表示一个空slot间隔。
通过分析式( 1) - 式( 3) ,并根据本文提供的网络环境中的各项参数( 见第3 节) ,如图1 可以看出介质访问延迟与节点数目大致呈8 倍线性关系。故可以给出ATO随活动节点数变化的简便公式[8]:
其中,n为网络中的活动节点数,k为常量。结合网络中的各项参数,我们分别取ATO为1 到10 倍的介质访问延迟,通过仿真结果分析,当ATO为5 ~ 6 倍介质访问延迟时,吞吐量效果最好( 本文取k = 48,即ATO为6 倍D ) 。
确定ATO时间间隔后,考虑根据估算到的活动节点数来调整初始竞争窗口的大小。标准DCF机制中初始竞争窗口大小是固定的,随着网络站点数量增加,冲突概率会大大增加,导致退避频繁,最终是网络在时延、吞吐量及公平性等性能上显著下降。并且考虑到活动节点的移动特性会对网络连接造成较大影响,而导致丢包,但在MAC层这种丢包的情况会被认为是数据冲突导致的,所以为了削弱节点移动性对退避窗口的影响,在本设计的DCF改进机制中,节点每监听到一个数据帧之后,更新并查询其ATO表,估算网络中的活动节点数且结合节点移特性调节机制,动态调整初始竞争窗口为:
其中,σ 为传播延迟。F( n,W,α) 表示移动特性对初始竞争窗口的调节机制。该机制函数在下个部分作详细说明。
2. 2 动态调整竞争窗口尺寸
本文根据估算到的活动节点数和移动特性在原有退避算法的最大值的基础上来适当增大窗口选择范围。网络中的节点增加时,网络性能会降低。因为多个节点在一个较小的时间间隔内选择相同的时间长度可能性较大。所以CWmax与节点数目n存在一定的正比关系。当节点数到达一定数目时,对TCP性能的影响趋于稳定,故取log ( n) 来调整窗口尺寸[9]。
另外节点的移动易导致链路连接的中断,从而导致TCP包的丢失,TCP误判为拥塞导致丢包,降低网络性能。所以根据移动性来调整退避的窗口大小[9]。节点移动速度的度量:
节点移动方向的度量:
注意,当W = 0 时,G( W,α ) = 1。
其中,W表示移动节点的速度; α 表示两个节点的连线与该节点的移动方向的角度。
通常丢包率增大会导致退避间隔增大,但如果是因为节点移动导致的丢包,则不应该让退避间隔增大,节点移动速度与移动方向这两个因素是移动导致丢包的标志,所以需取其倒数,降低其对退避时间间隔的影响。
综合考虑,以下给出CWmax的计算公式:
其中,CWmax0表示802. 11 MAC协议设定的最大窗口值,一般为1024。
综上所述,本节设计的窗口动态改变机制如下( 各参数如前所述) :
该机制考虑了节点移动性对初始竞争窗口的影响,削弱因为链路中断而被误认为冲突的影响,并且进一步增大了竞争窗口的尺寸,使得站点选择同样的退避间隔的概率降低,从而信道冲突减小。节点每监听到一个数据帧之后,更新并查询其ATO表,估算网络中的活动节点数,并根据活动节点的移动特性来动态调节竞争窗口尺寸,更适应于MANET网络的易接入性和随机移动性。
3 仿真过程与结果分析
在NS2 中,IEEE802. 11 协议时由Mac802_11 类模块实现的。该类模块定义了标准DCF机制的所有操作方法[11],本文对NS2-2. 35 版本中的Mac802_11 类模块修改和扩展,以实现MANET中动态自适应DCF机制的仿真。
3. 1 仿真环境设置
为了验证该改进DCF机制的有效性及在性能上的提高,仿真场景为: 环境中共有60 个节点,随机分布在2200 m × 600 m的范围内,以25 m/s速率移动,仿真时间为400 秒,每隔20 秒增加10 个节点通信( 偶数编号节点发送数据,奇数编号节点接收数据) 。分析网络吞吐量随时间变化情况及受节点数和节点移动性的影响。另外进行不同个数节点场景下的仿真,分析节点个数对时延的影响。基本的仿真参数如表1 所示。
3. 2 代码的修改与扩展
通过第2 节的说明,对原Mac802_11 模块进行一定的修改与扩展,以下给出主要代码。
首先需要创建一张ATO表( 在mac-802 _11. h文件中添加) ,结构如下:
创建一个更新ATO表的函数,用于在每监听到一个数据帧后,用来更新ATO列表中活跃节点及其最后通信时间:
创建一个计时器ATOTimer( 在mac-timer. h文件中添加) ,并将其声明为Mac802_11 类的友元类:
创建一个在ATOTimer计时器超时时,删除非活跃节点的函数:
在Mac-802_11. cc文件中添加定时器到期时的行为,这里用于删除非活动节点:
创建一个调整CWMin和CWMax的函数:
以下是两个调整竞争窗口的函数,会被调用:
通过阅读源码,站点成功发送一个数据帧后,会收到目的站点的确认帧,所以可以在recv ACK( ) 函数中调用Adjust_cw( )函数来根据估算的活动节点数及动态特性来调整初始竞争窗口及其尺寸。另外,MAC802. 11 模块是通过recv_Data( ) 函数来接收来自上层或者下层的数据包并进行处理的。所以在该函数中调用update_ATO_table函数来完成更新ATO表。
3. 3 仿真结果及分析
本文通过NS2 仿真实现,主要考虑网络的吞吐量和端到端平均时延。在相同的仿真环境中,将本文改进的DCF机制与标准的DCF机制比较。
图2说明了在不同数目规模的网络环境下网络平均时延变化。图中的数据是通过计算每种节点规模下400秒内的每个数据包的延时,然后取数据包的平均延时。从图中可以看出随着网络中节点数量的增加,标准DCF机制与改进的DCF机制平均时延都呈增大趋势,但改进的DCF机制的平均时延相对小于标准DCF机制,并且波动变化。
图3 是在60 个节点规模下的网络平均吞吐量的仿真结果,表明了吞吐量随时间的变化。整体来看,在该网络环境下,整个网络的吞吐量有所提高,大约10% 到15% 。从图中可以看出在标准DCF机制下,参与通信的节点数和节点的移动对网络吞吐量的影响较大,在图中的0 到200 秒之间表现比较明显,因为在这段时间内,每隔20 秒会增加固定数量的数据流( 本文增加5 条数据流) ,从而导致网络内的活动节点数变化,并且网络环境设置使得节点每2 秒就会随机移动,从而导致链路连接和路由状态的变化。
图4 用来说明网络获得好的吞吐量性能时,是否导致大的延迟代价。图中表示60 个节点的网络环境中,发送包与其对应的延时。从图中可以看出使用改进的DCF机制,会有个别的包的延时比较大,但大多数的包的延时比使用标准DCF机制的延时要小。通过计算,使用改进DCF机制的平均包延时为0. 211,使用标准的DCF机制平均包延时为0. 201。虽然平均延时变大了,但只增大了0. 5% ,这对于增大吞吐量而言是很值得的,并且我们可以很明显地看到改进的DCF机制能够发送更多的包。
4 结语
本文设计了一种动态估计无线网络中的活动节点数来调整MAC层的初始竞争窗口的大小,并根据活动节点数及节点的活动特性调整竞争窗口尺寸的DCF机制,更好适合MANET节点的易接入性和移动性的特征。文中基于NS2 进行仿真,结果验证了该改进的DCF机制有效性,表明相对于标准DCF机制在保持端到端时延等TCP性能下提高吞吐量,并且能够动态适应网络环境。
参考文献
[1]Kumar J.802.11 DCF in Dynamic MANET On-demand Routing[J].International Journal of Informatics and Communication Technology(IJ-ICT),2013,2(2):85-92.
[2]Narsimha V B,Sujatha B,Sampath Kumar T.A Survey of Wireless Mobile Adhoc Networks(MANET)[J].International Journal of Science and Advanced Technology,2011,1(5):189-192.
[3]Jiang R,Gupta V,Ravishankar C V.Interactions between TCP and the IEEE 802.11 MAC Protocol[C]//DARPA Information Survivability Conference and Exposition,2003.Proceedings.IEEE,2003,1:273-282.
[4]Nahm K,Helmy A,Kuo C C J.On Interaction between MAC and Transport Layers for Media Streaming in 802.11 Ad hoc Networks[C]//Optics East.International Society for Optics and Photonics,2004:99-110.
[5]张栋,高龙.基于跨层协同的MANET网络拥塞控制算法仿真研究[J].云南大学学报(自然科学版),2013,35(1):26-30.
[6]王庆辉,潘学松,王光兴.基于带宽估计的ad hoc网络拥塞控制机制[J].通信学报,2006,27(4):42-48.
[7]Bani Yassein M,Mardini W,Abu Taye Z.Thresholds Determination for new Backoff Algorithm in MANETs[C]//ICWMC 2011,The Seventh International Conference on Wireless and Mobile Communications,2011:285-288.
[8]刘岩,舒炎泰,张亮,等.无线网络中分布式协调功能的改进[J].计算机应用,2004,24(7):162-166.
[9]Hamrioui S,Lalam M.Improving Transport Protocol Performance in MANET by exploiting the Backoff Algorithm of MAC Protocol[J].International Journal of New Computer Architectures and their Applications(IJNCAA),2011,1(1):149-161.
[10]Wang G,Shu Y,Zhang L,et al.Delay Analysis of the IEEE 802.11DCF[C]//Personal,Indoor and Mobile Radio Communications,2003.PIMRC 2003.14th IEEE Proceedings on.IEEE,2003,2:1737-1741.
动态自适应技术 篇8
关键词:自适应模拟退火,连续搅拌釜式反应器,动态优化
模拟退火算法 (SA) 是近些年来发展起来的一种基于固体退火过程模拟的随机全局优化方法。由于它具有高效、通用、灵活的特点, 因此被广泛应用于解决各种工程优化问题。
连续搅拌釜式反应器 (Continuous Stirred Tank Reactor, CSTR) 具有采用连续操作方式, 过程在恒速操作条件下可达定常态, 以及物料质点在釜内的停留时间各不相同等三大特征。
本文分析了CSTR的动态优化模型, 研究了一种改进的自适应模拟退火算法 (ASA) , 并将其应用于求解CSTR的动态优化问题。
1 改进的自适应模拟退火算法
优化问题通常可以归结为求某一函数在一定范围内的最小值问题。但是以往传统的优化算法都是运用某种局部的比较去决定寻优路径, 带来的后果就是如果初始值选取不当将很容易陷入局部极小值。SA作为一种随机搜索法, 不仅接受使函数值下降的点作为新解, 而且按照一定比率接受使函数值上升的点作为新解[1], 因为暂时使函数值上升的方向也有可能找到全局最小值, 这样就可以使函数轻松逃离局部极值。
由于SA为了避免函数落入局部极值, 通常采用Metropolis接受准则, 而每一温度下要使状态达到平衡又是一个很漫长的过程, 为了提高算法的效率主要从以下几点进行改进。
1.1 新变量产生函数
根据Corana 1987年提出的自适应邻域模拟退火算法 (ASA) [2]对变量进行扰动:
现取随机扰动γ为柯西分布:
由于柯西分布有一平坦的拖尾, 因而具有迅速跳出局部极值的能力。模型可以在高温时进行大范围搜索, 而在低温时仅在当前模型附近搜索。因此加入柯西分布可以使函数具有更快的收敛速度[3]。
mu为自适应步长, 由如下公式确定
式 (3) 中:接收率
1.2 接收概率采用Metropolis准则
即当f (y
1.3 降温方式
采用Ingber (1989) 提出的VFSA中的降温方式:
TK=T0exp (-CK1/N) (5)
式 (5) 中:T0为初始温度;K为温度迭代次数;C为给定常数;N为参数个数。一般将式 (5) 变形为式 (6) , 通常0.7≤α≤1。
TK=T0αK1/N (6)
2 CSTR动态优化模型
CSTR的优化要经过目标函数的确定, 自由度分析以确定决策变量, 可行域 (约束条件) 的确定及优化问题的求解等几个步骤[4]。
在初始状态和要求达到的终态已知的情况下控制冷剂流量u (t) , 使反应器能够以最短的时间从一个稳态过渡到另一个稳态。目标函数形式如下:
式 (7) 中下标为“des”的均代表期望达到的过渡终值。α1, α2, α3为各个状态 (浓度、温度) 和操作变量 (冷剂流量) 的权重系数。
为了有效近似 (7) 式, 我们使用Radau求积公式得 (13) 式。并且用正交配置法对微分方程进行离散。离散后微分方程约束变为一组代数方程, 其中第k个有限元离散如下:
质量平衡:
能量平衡:
连接点处的质量和能量平衡:
总过渡时间:
其中hk为第k段有限元长度, N为有限元内配置点个数, A为配置矩阵, Ne为有限元个数。
Nc为包括右边界在内的正交配置点数, 在此Nc=3, y1, ij、y2, ij和uij分别代表第ij个离散点处的无因次浓度、温度和冷剂流速。Wj为Radau求积公式中的求积系数。他们试验了不同的权重系数, 并且发现最优过渡依赖于权重系数的取值。在这里考虑到浓度是主要的输出变量, 因此所占权重较大。
由以上离散后, 变成了如下形式的连续多变量优化问题:
目标函数:
3 优化处理及仿真结果
CSTR过渡过程中参数设置如表1。
配置点选为[0.211 0.789], Radau求积权重W=[0.376 0.512 0.111]T。
CSTR优化问题中的目标函数是关于控制变量、状态变量的一个函数。在此只需要填加一个计算目标函数的子程序即可。经过计算, 最优过渡曲线如图1与图2所示, 最优控制曲线如图3所示。
图中可以看出, 在给定最优控制后, 连续搅拌釜中的温度以及浓度都以较快速度过渡到了指定稳定状态, 达到了比较理想的控制效果。
4 结论
本文基于改进的自适应模拟退火算法, 很好地解决了CSTR的动态优化问题。通过MATLAB/SIMULINK对CSTR的模拟和动态优化过程的仿真, 验证了算法对动态优化过程最优解的求取不仅缩短了计算时间, 而且取得了令人比较满意的优化结果。
参考文献
[1]康立山, 谢云, 尤矢勇, 等.非数值并行算法——模拟退火算法.北京:科学出版社, 1994
[2]Silva A B, Flores A T, Arrieta J J C.Dynamic trajectory optimization between unstable steady-states of a class of CSTRs.Netherlands:Computer Aided Chemical Engineer, 2002;10:547—552
[3]王知人, 章胤, 李新乔.一种改进的模拟退火算法.高等学校计算数学学报, 2006;28 (1) :15—19
[4]Hicks G A, Ray W H.Approximation methods for optimal control synthesis.canada.Can J Chem Eng, 1971;40:522—529