【智能算法】黑猩猩优化算法(ChOA)原理及实现
参数 a 为 [−2f, 2f] 之间的随机变量, 假设 a 的值为 [−1, 1] 时猎物停止移动, 此时黑猩猩必须攻击猎物结束捕猎, 因此采取降低 f 值的方式迫使黑猩猩结束捕猎, 黑猩猩的下一个位置可以在当前位置与猎物位置之间的任意位置。开发阶段,黑猩猩进行实际的攻击行为。式中, d(t) 为猎物与黑猩猩之间的距离, t 为当前迭代次数, a、c 为系数向量, m 是由混沌映射产生的混沌向量

1.背景
2020年, Khishe等人受到黑猩猩狩猎行为启发,提出了黑猩猩优化算法(Chimp Optimization Algorithm, ChOA)。
2.算法原理
2.1算法思想
ChOA来源于黑猩猩种群的捕猎行为,主要基于黑猩猩捕猎过程的两个主要阶段:探索阶段和开发阶段。探索阶段,黑猩猩通过驱动、阻挡和追逐猎物来寻找潜在目标。开发阶段,黑猩猩进行实际的攻击行为。ChOA假设最佳解决方案、驱赶者、阻碍者和追赶者能够发现潜在猎物的位置,其他黑猩猩则根据最佳黑猩猩的位置来更新自己的位置,以实现优化目标的探索和开发。
2.2算法过程

驱赶与追逐猎物:
d ( t ) = ∣ c X P ( t ) − m X C ( t ) ∣ X C ( t + 1 ) = X P ( t ) − a ⋅ d (1) d(t)=|cX_P(t)-mX_C(t)|\\X_C(t+1)=X_P(t)-a\cdot d\tag{1} d(t)=∣cXP(t)−mXC(t)∣XC(t+1)=XP(t)−a⋅d(1)
式中, d(t) 为猎物与黑猩猩之间的距离, t 为当前迭代次数, a、c 为系数向量, m 是由混沌映射产生的混沌向量, XP 为猎物的位置向量, XC 为黑猩猩的位置向量。参数a,c表述为:
a = 2 ⋅ f ⋅ r 1 − f c = 2 ⋅ r 2 (2) \begin{aligned}a&=2\cdot f\cdot r_1-f\\c&=2\cdot r_2\end{aligned}\tag{2} ac=2⋅f⋅r1−f=2⋅r2(2)
式中, f 为线性衰减因子, 随着迭代次数的增加 f 值由 2.5 线性衰减到 0, r1 和 r2 是取值为 [0, 1] 的随机数。参数 a 为 [−2f, 2f] 之间的随机变量, 假设 a 的值为 [−1, 1] 时猎物停止移动, 此时黑猩猩必须攻击猎物结束捕猎, 因此采取降低 f 值的方式迫使黑猩猩结束捕猎, 黑猩猩的下一个位置可以在当前位置与猎物位置之间的任意位置。
攻击:
{ d A = ∣ c 1 X A − m 1 X ∣ d B = ∣ c 2 X B − m 2 X ∣ d C = ∣ c 3 X C − m 3 X ∣ d D = ∣ c 4 X D − m 4 X ∣ { X 1 = X A − a 1 ⋅ d A X 2 = X B − a 2 ⋅ d B X 3 = X C − a 3 ⋅ d C X 4 = X D − a 4 ⋅ d D X ( t + 1 ) = ( X 1 + X 2 + X 3 + X 4 ) / 4 (3) \begin{gathered} \begin{cases}d_A=|c_1X_A-m_1X|\\d_B=|c_2X_B-m_2X|\\d_C=|c_3X_C-m_3X|\\d_D=|c_4X_D-m_4X|\end{cases} \\ \begin{cases}X_1=X_A-a_1\cdot d_A\\X_2=X_B-a_2\cdot d_B\\X_3=X_C-a_3\cdot d_C\\X_4=X_D-a_4\cdot d_D\end{cases} \\ \begin{aligned}X(t+1)=(X_1+X_2+X_3+X_4)/4\end{aligned} \end{gathered}\tag{3} ⎩
⎨
⎧dA=∣c1XA−m1X∣dB=∣c2XB−m2X∣dC=∣c3XC−m3X∣dD=∣c4XD−m4X∣⎩
⎨
⎧X1=XA−a1⋅dAX2=XB−a2⋅dBX3=XC−a3⋅dCX4=XD−a4⋅dDX(t+1)=(X1+X2+X3+X4)/4(3)
黑猩猩个体最终的位置是随机分布在一个由攻击者、阻碍者、追逐者和驱赶者黑猩猩的位置所确定的圆圈中。换句话说, 猎物的位置是由四个最好的个体来估计的, 而其他黑猩猩则随机更新它们在附近的位置。
伪代码:
3.结果展示

4.参考文献
[1] Khishe M, Mosavi M R. Chimp optimization algorithm[J]. Expert systems with applications, 2020, 149: 113338.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)