结合模糊逻辑的自适应灰狼优化算法

2021-02-28 06:20李伟中孔令成王美玲
小型微型计算机系统 2021年10期
关键词:灰狼度量狼群

李伟中,孔令成,王美玲

(中国科学院 合肥物质科学研究院 智能机械所先进制造中心,合肥 230031) (中国科学技术大学,合肥 230026)

1 引 言

近年来,计算机科学领域的研究人员基于自然行为的研究开发了大量的算法,开始更多地使用生物启发的元启发式来解决优化问题[1].元启发式的主要特征如下:在算法中使用随机模型或随机性,大多数是生物启发的,这种模型可以由算法中的算子实现,例如遗传算法中的算子:交叉、变异和选择[2].同时这些元启发式算法可以被归类为进化[3]、基于物理学[4]和群智能[5].

模糊逻辑是基于Zadeh在1965年提出的模糊集理论[6],通过使用if-then模糊规则来帮助我们对模糊理论建模[7].此外,模糊逻辑已经表明,它在传统数学模型的一些应用领域具有更好的性能[8].

灰狼优化(GWO)算法是Seyedali Mirjalili[9]根据灰狼的行为特征,在2014年提出的新算法,该算法也基于NFL[10]理论.尽管灰狼算法在优化问题中非常有效,但GWO算法同其他群智能算法一样,依然存在着求解精度较低,后期收敛速度较慢等问题.而模糊逻辑相比传统数学模型可以进行有效的软变化,可用来控制算法参数,以实现算法收敛趋势的实时调整.

因此GWO最近得到了许多结合模糊逻辑的改进.比如,文献[11]利用模糊逻辑来控制GWO的参数,将狼群的迭代作为输入,设计模糊控制器分别对参数a和C进行调整;文献[12]同样将狼群的迭代作为模糊逻辑的单输入,对GWO的a和C参数同时进行了动态优化;文献[13]同样使用了迭代度量,通过设计模糊系统对灰狼的层次算子进行了动态优化;文献[14]利用了迭代输入的二型模糊逻辑对灰狼的a和C参数进行优化,但结果不如文献[11]的一型模糊优化.

而这些结合模糊逻辑的GWO算法只将迭代作为模糊逻辑的输入,只考虑到狼群在迭代过程中的收敛性变化,而未考虑到狼群的整体趋势,可能会出现快速收敛而导致求解精度低的问题.本文借鉴了文献[15]中将粒子群群体的差异性作为模糊逻辑的输入,对粒子群参数c1和c2进行调整的思想,将其应用在灰狼算法上.本文决定将狼群的迭代、多样性度量和误差度量作为模糊逻辑的输入,对影响狼群多样性和收敛性的a、C参数和层次算子进行相应的模糊规则设计,实现狼群在迭代过程中实时根据多样性和误差指标对整体寻优趋势进行调整,以改进算法的收敛性和求解精度.

2 灰狼优化算法

灰狼优化(GWO)算法是根据灰狼的行为特征而提出的算法.根据Muro[16]的说法,在GWO中,灰狼的狩猎机制有3个主要阶段,包括:跟随和接近猎物,之后,包围和袭扰猎物,直到猎物停止移动,最后攻击猎物.

此外,GWO算法使用了作为领导策略的层次金字塔,最好的狼被称为α,并被认为是算法中的最佳解决方案.第2和第3最佳解分别称为β和δ,最后,其余的候选解被认为是ω狼.在GWO算法中,狩猎由α、β和δ引导,ω狼跟随着3只狼.图1中的金字塔说明了灰狼群体的领导层次.

图1 灰狼群层次金字塔

最后,为了对上述两个主要灵感进行数学建模,首先对包围猎物的行为进行数学建模,提出以下公式:

D=‖C·Xp(t)-X(t)‖

(1)

X(t+1)=XP(t)-AD

(2)

下面对上式进行简要的解释.公式(1)表示具有随机运动的最佳解与我们正在分析的当前个体之间的距离.公式(2)表示当前个体的下一位置.

参数A和C的计算如下:

A=2a·r1-a

(3)

C=2·r2

(4)

式中的“A”系数表示直接影响公式(2)中距离的权重.其中,“a”从2-0线性递减,r1是0-1之间的随机值.式中“C”参数表示算法中的随机性,代表方程中最佳解的随机运动.其中r2是[0,1]范围内的随机值.

为了数学模拟灰狼的狩猎过程,我们需要保存目前为止获得的前3个最佳解,并迫使其他个体根据最佳位置更新位置,由此提出以下公式:

Dα=‖C1·Xα-X‖Dβ=‖C2·Xβ-X‖Dδ=‖C3·Xδ-X‖

(5)

X1=Xα-A1·DαX2=Xβ-A2·DβX3=Xδ-A3·Dδ

(6)

(7)

公式(5)和公式(6)是与公式(1)和公式(2)分别相同的公式,公式结果是基于算法中最好的3个个体(α、β和δ)决定的.最后,当前个体的下一位置在公式(7)中表示,可以将其描述为群体领导者获得的结果的加权平均值.

在算法迭代过程中,“a”的值逐渐降低,A的波动范围受“a”的影响也逐渐减小,刚好对应狼群接近猎物时的数学建模.当A的随机值在[-1,1]时,搜索个体的下一个位置可以在当前位置和猎物位置之间的任何位置.

1)当|A|<1时,狼群攻击猎物,收缩包围圈

2)当|A|>1时,狼群寻找猎物,扩大包围圈

而GWO算法中的参数C也体现在算法的探索过程,它代表了灰狼接近猎物时的随机运动.

3 结合模糊逻辑的自适应GWO方法

根据Seyedali Mirjalili[9]的说法,相比较其他优化算法,如粒子群算法、引力搜索算法、差分进化算法等,灰狼算法能够提供具有竞争力的结果.在群智能算法所具有的随机搜索的基础上,灰狼算法保存3个最优解,并加入参数a和C动态调整狼群的收敛和探索.这种机制使GWO能够较快地收敛,同时能够找到更优的解.

而原始GWO的参数a只是简单地随迭代下降,参数C只是基于随机数而变化.本文在狼群迭代的过程中,使用模糊逻辑加入了对狼群迭代、多样性和误差的性能考量,通过设计相应的自适应模糊规则,使算法能够在寻优过程中根据迭代程度、多样性和误差性能实时对参数a、C以及层次算子进行调整,以实现狼群多样性和收敛性的自适应平衡.

3.1 参数a和C的动态适应

在前面的公式中,系数A直接受参数a的影响,而该参数将直接决定狼群的狩猎趋势,决定狼群是扩大包围圈搜索猎物还是收缩包围圈攻击猎物.而参数C为最优狼提供随机权重,当C越大时,则增强狼群中领导者的作用,加强狼群跟随最优解的强度,当C越小时,则削弱领导者的作用,减弱狼群跟随最优解的强度.

本文确定了算法的性能度量:群体的多样性、群体的平均误差和迭代本身.为了测量算法的迭代,决定使用一定百分比的迭代,即当前迭代占最大迭代次数的百分比:

(8)

多样性度量由式(9)定义,用来衡量个体间的分散程度,即当个体群呈现聚集状态时,多样性较少,当个体群呈现分散状态时,多样性较高.在本文中,多样性公式被定义为每个个体与最佳个体之间欧式距离的平均值.

(9)

误差度量由式(10)定义,通过平均每个个体的适应度和最佳个体的适应度之间的差异来测量个体群和最佳个体之间的差异.

(10)

对于模糊系统的输入,迭代变量本身具有从0-1的定义范围,同时对多样性度量和误差度量,我们将其进行规范化,使其值在0-1之间.

对于输入变量的设计,图2表示了迭代变量的范围和隶属度,而多样性度量和误差度量的设计与迭代相似,每个输入都在0-1之间变化,被细化为3个三角隶属度函数.

图2 系统的输入变量iteration

在定义了输入变量后,考虑具有双输入的模糊系统,因此确定两个不同的模糊系统为:第1个模糊系统将迭代和多样性度量作为输入,如图3所示.第2个模糊系统将迭代和误差度量作为输入,与图3相似,只是输入不同.

图3 迭代和多样性输入的模糊系统

对于输出变量a和C,它们的原始范围在[0,2]内.为了找到具有更好性能的范围,在基准函数Sphere的基础上,分别测试参数a和C从0-3的更佳范围.图4显示了对于这个特定示例的结果.a参数的最佳性能在1.5附近,所以a的确定范围为[0.8,2.2].C参数的最佳性能在前半部分,所以C的确定范围为[0,0.6].同时为了体现狼群的随机运动,算法中可将C的输出乘上一个从0-1的随机数.

图4 参数a和C的研究实例

对于输出变量a和C的设计,将a和C细化为5个三角隶属函数.输出变量a的设计如图5所示,输出变量C的设计与a相似,不同的只是推荐范围的不同.

图5 参数a的输出

为了设计模糊系统的规则,决定GWO算法在早期迭代时必须扩大包围圈搜索猎物,在后期收缩包围圈攻击猎物.所以当iteration逐渐增加时,a逐渐减小,可以实现狼群逐渐收缩包围圈.而C逐渐增加,可以实现狼群跟随最优狼的强度逐渐增强,避免前期狼群较快进入局部最优.

当设计第1种模糊系统的规则时,还需要考虑狼群的多样性度量,多样性度量用来衡量个体间的分散程度.当多样性较低时,表明群体的搜索域较集中,群体搜索到的解也会有较大的相似性.因此需要适度地扩大搜索域并且削弱领导者的作用,即适当增加参数a并减小参数C,增加可搜索到的可能解;当多样性较高时,即搜索群体较为分散,表明当前搜索域较大,导致收敛时间较长.因此需要适度缩小搜索域并增强领导者的作用,即适当较小a和增加C,以提高寻解的速度.迭代和多样性度量的模糊系统规则如图6所示.

图6 迭代和多样性输入的模糊系统规则

当设计第2种模糊系统的规则时,还需要考虑狼群的误差度量.当误差度量较小时,表明在不受搜索域的影响下,当前搜索群体得到的解和最优个体搜索到的解的质量具有很强的相似性.因此在改变搜素域没有太大效果的情况下,可适当减小C,减弱狼群跟随最优个体的强度,减弱群体解质量的相似性;当误差度量较大时,表明个体群搜索到的解集的质量具有很大的差异性,除3只最优个体的解质量较好外,其余个体的解质量普遍较差.因此下一阶段中,限制个体群的搜素域,避免个体群的解集质量更差,即减小a.迭代和误差度量的模糊系统的规则如图7所示.

图7 迭代和误差输入的模糊系统规则

3.2 灰狼层次算子的动态适应

GWO算法的启发主要是基于灰狼的社会行为,如图1描述的等级金字塔.本文使用模糊逻辑实现了领先狼在寻优过程中拥有的权重的动态适应.

本文使用的模糊层次算子在原始平均层次算子的基础上,实现了一个动态金字塔来调整3只最佳狼的权重.我们可以定义动态金字塔的数学模型方程如下:

(11)

其中,fα、fβ和fδ分别为α、β和δ狼的动态权重.

图8给出了模糊层次算子系统的一般结构,该模糊系统拥有两个输入,即狼群的迭代和多样性,以及3个输出,即分别对应α、β和δ的模糊权值.

图8 层次算子的模糊系统

图9显示了α狼的输出,包含5个三角隶属函数,每个输出的范围在0-100之间,值越高表示在狩猎过程中的权重越高.同样β狼和δ狼输出的结构和特性与α狼相同.

图9 模糊系统的α输出

图10显示了模糊层次算子的规则,可以看出:在狩猎开始阶段,3只最优个体有着相同的权重来引导狼群,增加寻优的可能性,避免前期进入局部最优.当算法逐渐迭代的过程中,群体中的决定权开始慢慢由α狼主导,提高后期的收敛速度.而当考虑多样性度量后,当多样性度量较小时,需要稍微削弱α的权重,间接增强β和δ的权重,防止狼群继续快速向α聚拢.当多样性度量较大时,可适当增加α的权重并减小δ的权重,以α为主导的搜素个体可加速趋近稳定的最优值,小幅度提高群体寻优的收敛速度.

图10 层次算子模糊系统的规则

综上所述,本文定义了动态调整GWO参数和层次算子的模糊系统,并且将第1种动态调整参数方法和模糊层次算子相结合,统称为FGWO_div方法,将第2种动态调整参数方法和模糊层次算子相结合,成为FGWO_er方法.所提出的两种方法的算法描述如下:

Step 1.根据规模初始化种群,并初始化a,A和C;

Step 2.计算每个搜索个体的适应度,以得到最优的3只狼Xα、Xβ和Xδ;

Step 3.根据Xα、Xβ和Xδ由式(5)-式(7)更新每一个搜索个体的新位置;

Step 4.根据提出的方法动态地调整a和C参数,并动态地调整狼群的层次算子;

Step 5.计算所有搜索个体的适应度,并更新Xα、Xβ和Xδ;

Step 6.检查是否达到迭代次数或满足相应的终止条件,满足则结束算法,否则返回第3步继续迭代.

4 基准函数仿真结果

本文首先使用10个基准函数来进行FGWO_div和FGWO_er方法的可行性测试.本文使用的基准函数分为5个单峰基准函数和5个多模态基准函数[17].表1显示了5个单峰基准函数的函数公式,也显示了每个公式的搜索空间以及最优值.在表2中显示了5个多模态基准函数的函数公式,同样也给出了每个基准函数的范围和最优值.

表1 单峰基准函数

表2 多模态基准函数

此外,本文引用了一个z-test假设检验[18].z检验是为了在统计上显示提出方法与原始GWO和其他模糊GWO算法的性能比较.z假设检验的参数和声明如表3所示.

表3 假设检验z-test的参数

在应用z检验时,显著性水平为0.05,拒绝区域的值均低于-1.645,零假设认为所提出方法的平均值大于或等于原始GWO算法的平均值.因此如果z的值小于-1.645,我们可以拒绝零假设,并且可以声明新方法有着更好的性能.

对于仿真结果,实验给出每个基准函数在30、64和128维度下30次独立运行后的平均值、标准差以及假设检验的比较结果.需要注意的是,实验中的算法是用500次迭代,30个个体执行的,进行了总计15000次函数的评估.

4.1 与原始GWO的比较

首先进行所提出方法和原始GWO的比较实验,测试所提出方法的可行性和有效性.表4显示了在10个30维度基准函数测试下得到的平均值和标准差以及假设检验z值.

表4 两种方法与GWO的30维度比较

从表4中可以看出,在F1-F4、F7和F9函数上,FGWO_div和FGWO_er比原始GWO得到的平均值和标准差更低,显示出更好的性能.其中对F7,FGWO_div和FGWO_er均获得了基准函数的最优值,并且FGWO_er在F9函数上也搜索得了最优值.从假设检验的结果来看,在本文分析的10个基准函数中,FGWO_div和FGWO_er在7个函数上的Z值小于拒绝值,表明在这7个函数上,FGWO_div和FGWO_er方法优于原始灰狼算法,具有更好的性能.

表5给出了FGWO_div、FGWO_er方法和原始GWO在64维度基准函数测试下的比较结果,目的是比较不同方法在处理复杂问题时的性能.从表中可以看出,尽管问题更复杂,FGWO_div和FGWO_er方法也在大部分函数上获得了更优解,在F9函数上都搜索到了最优值.从假设检验的值来看,同样在本文分析的10个基准函数中有7个具有更好的性能.

表5 两种方法与GWO的64维度比较

本文还分析了不同方法在解决更复杂问题时的性能,并在表6中给出具有128维度的10个基准函数的测试结果.

表6 两种方法与GWO的128维度比较

从表6中的数据来看,尽管问题的复杂性增加,FGWO_div和FGWO_er方法在大部分函数上比原始GWO得到的平均值和标准差更低,FGWO_er对F9函数同样搜索到最优解.从假设检验的结果来看,FGWO_div和FGWO_er方法仍然在10个函数中有7个具有更有效的解.

4.2 与其他模糊GWO方法的比较

最后,我们将本文提出的方法和其他模糊GWO算法进行了比较.图11显示了文献[12]提出的FGWO_mix模糊系统,文献[11]提出的FGWO_ac模糊系统只是将输出变为单独的a和C输出;文献[13]提出的FGWO_weight模糊系统将输出变为3只狼的权重;文献[14]提出的FGWO_type2模糊系统只是将一型模糊逻辑变为二型模糊逻辑.由此可见,这4种模糊GWO算法只是将迭代作为模糊系统的输入,表明在改进灰狼算法的多样性和收敛性时只考虑到迭代程度,只考虑到算法在前中后期作出相应的调整.而本文将迭代、多样性度量和误差度量作为模糊输入,使算法在迭代的过程中考虑到狼群整体多样性和误差的性能指标,进而通过设计好的自适应模糊规则实时调整算法的参数和层次算子,最终实现算法多样性和收敛性的自适应调整.

图11 迭代输入的FGWO_mix模糊系统

下面将本文提出的两种模糊GWO算法与该4种模糊GWO算法进行在128维基准函数上的测试对比.

表7显示了128维度情况下的两种方法与FGWO_ac和FGWO_mix之间的假设检验结果.根据表可以得出结论,相比FGWO_ac,FGWO_div在本文分析的7个基准函数上有显著水平表明具有更好的性能,而FGWO_er也有显著水平表明在其中6个基准函数上的有效性.相比FGWO_mix,FGWO_div在7个基准函数上有显著水平表明具有更好的性能,而FGWO_er在5个基准函数上具有更好的性能.

表7 两种方法与FGWO_ac和FGWO_mix的比较

根据表8可以得出结论,相比FGWO_weight,FGWO_div和FGWO_er都在6个基准函数上具有更好的性能.相比FGWO_type2,FGWO_div和FGWO_er也都有显著水平表明了在其中7个基准函数上的有效性.

表8 两种方法与FGWO_weight和FGWO_type2的比较

综上所述,相比只考虑迭代情况的4种模糊GWO算法,本文提出的方法在求解精度上有了很大的提升,表明考虑到多样性度量和误差度量的自适应GWO算法能够在算法寻优时改进狼群的多样性和求解精度,取得更优的解质量.

5 柔性外骨骼机器人姿态识别仿真

柔性外骨骼机器人是一种穿戴式装备,相比传统外骨骼机器人在灵活性和舒适性上得到很大提升.特别是在康复领域,柔性外骨骼机器人可以为肢体活动障碍人群提供康复训练,可以帮助患者恢复正常步态.但由于柔性外骨骼与刚性结构不同,难以建模的特性直接影响机器人控制的不稳定性,因此对于外骨骼机器人的姿态识别非常重要[19].本文采用数据库聚类验证方法,对基于FGWO_div和FGWO_er的K-means的聚类算法性能进行测试.实验的数据库来自UCI的身体姿态和运动聚类数据库[20].从数据库随机选取2000个数据,这些数据由穿戴在实验者身体的各方位传感器获得,包括由传感器导出的12个基本输入属性和坐下、站起和行走3种聚类结果.实验参数设置如下:灰狼个体群个数为S=60,最大迭代次数N=200.

5.1 基于FGWO_div和FGWO_er的K-means算法

针对外骨骼机器人的姿态数据聚类,本文采用将提出的方法与K-means算法结合,利用提出方法的全局自适应搜索的特点优化K-means的聚类性能.在算法中,灰狼个体的位置由聚类中心组成,并根据最小距离聚类规则更新灰狼群位置.算法中灰狼群的适应度函数如下:

(12)

在公式(12)中,i表示数据Cij所在的类,Numi表示i类中的数据个数,Centrei表示i类数据的聚类中心.基于FGWO_div和FGWO_er的K-means方法的算法描述如下:

Step 1.初始化聚类类别数K,并对灰狼种群进行随机初始化(每个个体位置由K个聚类中心组成);

Step 2.根据狼群个体代表的聚类中心,按照最小距离准则将数据分配到最近的类簇中;

Step 3.根据公式(12)计算每个搜索个体的适应度(类簇中类内距离之和);

Step 4.根据提出的FGWO_div和FGWO_er方法更新狼群个体位置;

Step 5.检查是否达到迭代次数或满足相应的终止条件,满足则返回聚类结果,否则返回第3步继续迭代.

5.2 基于FGWO_div和FGWO_er的K-means算法对柔性外骨骼机器人姿态数据的聚类结果

针对柔性外骨骼姿态数据的聚类,实验独立运行20次,实验结果包括20次聚类结果的平均值、最大值、最小值以及标准差,实验结果如表9所示.

表9 姿态数据聚类结果

从表9中的数据可以看出,基于FGWO_div和FGWO_er的K-means方法相比K-means在聚类准确率上得到了很大提升,并且从最大值、最小值以及标准差可以看出聚类效果具有更高的稳定性.因此,表明了所提出的基于FGWO_div和FGWO_er的K-means算法在外骨骼机器人姿态识别的优越性和可行性.

6 结 语

本文提出了一种结合模糊逻辑的自适应灰狼优化算法,将狼群的迭代、多样性度量和误差度量作为模糊逻辑的输入,使算法在迭代的过程中考虑到狼群的多样性和误差性能指标.针对这两种性能指标,对a和C参数以及层次算子的动态调整进行了相应的模糊规则设计,从而使算法能够在寻优过程中实时调整收敛速度并提高求解精度.然后通过基准函数测试以及假设检验表明了方法的可行性和有效性.最后通过柔性外骨骼机器人姿态数据聚类表明了方法的适用性.仿真实验结果表明,在本文分析的基准函数上,本文提出的两种方法相比原始GWO和其他4种模糊GWO方法,在大部分函数上具有显著水平表明自身的有效性.在柔性外骨骼机器人的姿态数据聚类上,基于本文提出的FGWO_div和FGWO_er的K-means方法相比K-means方法在聚类准确率以及稳定性上得到很大的提升,表明了所提出方法在外骨骼机器人的姿态数据聚类上的可行性和适用性.

猜你喜欢
灰狼度量狼群
鲍文慧《度量空间之一》
母性的力量
灰狼和山羊
主动出击
谷谷鸡和小灰狼
不欣赏自己的人,难以快乐
突出知识本质 关注知识结构提升思维能力
灰狼的大大喷嚏
三参数射影平坦芬斯勒度量的构造
重返·狼群真实版“与狼共舞”