NMs+RLM机制改进SMA

An evolutionary Nelder–Mead slime mould algorithm with random learning

一、Introduction:

1、SMA的不足:
  • 后期迭代震荡作用较弱,易陷入局部最优;收缩机制不强,收敛速度较慢;初始种群质量低,探索和开发过程难以平衡。
2.改进算法ISMA:
  • NMs机制:构造更好的候选解,引导个体不断向最优解收敛,从而增强SMA的利用能力。NMs可以进一步扫描局部区域的高质量解,提高算法的解的准确性和局部搜索能力。

  • 设置监控机制,集成随机学习机制:使陷入局部最优的个体再次跳出。利用随机学习机制的全局搜索能力来丰富SMA的多样性,防止整个种群的停滞。

  • 这两种机制的应用增强了SMA的勘探和开发能力。与此同时,两者之间的平衡再次得到维持。

二、 The proposed algorithm

1、 Nelder–Mead simplex (NMs)
  • NMS是一种具有强局部搜索能力和无梯度优化解的迭代算法,因此被广泛应用于优化问题。
  • 在迭代过程中,NMs可以确保下一次迭代的结果优于上一次迭代。其原理是通过在D维搜索域中选择D+1个顶点来构造一个单纯形,从而形成一个多面体。它的适应度值对这个单纯形的每个顶点进行排序,找到最差的一个,对其进行反射、延伸和收缩,从而形成一个新的单纯形多面体。

具体过程如下所示:

  1. 准备阶段:首先,确定了可用于计算的几个系数,包括反射系数r、膨胀系数φ、压缩系数β和收缩系数δ。

  2. 计算每个单位适应度值后,将其按顶点适应度值的递增顺序排序,以获得f(x1)≤ f(x2)≤ f(x3)≤ · · · ≤ f(xg)≤ f(xp)。然后找到适应度排名前两位的顶点位置Xg和Xp。最后,根据公式(17)计算其中心点的位置。
    在这里插入图片描述

  3. 基于反射系数r 和等式(18),计算反射点位置Xr,以获得适应度函数值f(Xr)。
    在这里插入图片描述

  4. **扩展阶段:**如果Xr的适应度函数值小于Xg,即f(Xr)<f(Xg),表示反射方向正确。此时进入展开阶段,我们可以使用公式(19)获得展开点Xy。然后比较Xy和Xg的适应度函数值。如果Xy的适应度函数值较小,则Xw=Xy。相反,Xw=Xr。
    在这里插入图片描述

  5. **压缩阶段:**如果Xr小于Xw的适应度函数值,则表示反射方向不正确。此时进入压缩阶段。有必要匹配压缩系数β,并使用公式(20)获得压缩点Xic。如果Xic小于Xw的适应度函数的值,那么Xw=Xic。
    在这里插入图片描述

  6. **收缩阶段:**如果Xw的适应度函数值在Xr和Xp之间,即f(Xr)>f(Xw)>f(Xp)。此时,进入收缩阶段。有必要通过将收缩系数δ与公式(21)匹配来获得收缩点Xoc。如果Xoc小于Xw的适应度函数的值,那么Xw=Xoc。相反,Xw=Xr。

    Xoc = Xr + δ(Xic - Xr) (21)

  7. 用Xw替换最差的解Xg

2、 Random learning mechanism (RLM)
  • 任何随机传播模型都可以为我们带来更多的有前途的区域,因此,可以实现更高的可靠性和稳定性。因此,我们加入了一种随机学习机(RLM),以提高原始SMA远离局部最优的能力。通过随机选择人群中的三个不同个体,使用这三个不同的个体更新人群。

具体的数学公式如下所示:

  • 在这里插入图片描述
    在这里插入图片描述
    图4示出了RLM的原理,其中可以通过公式看出Xnew是从xbest、xti、xtk1、xtk2、xtk3获得的.我们将它们量化为一个向量,并将它们之间的加法和减法运算视为个体对个体的交换;最后,xbest的收缩向量乘以随机数生成新的子代。

  • RLM机制可以极大地增强SMA逃避局部优化的能力。RLM可以有效地促进个体之间的交互,探索更多有前途的搜索领域,增强SMA的全局搜索能力。

3、The proposed SMA-based algorithm
  • 在本研究中,SMA将NMS和RLM结合起来,以提高勘探和开发能力。在传统的SMA中,扩展能力有限,导致收敛缓慢。相比之下,NMs开发策略可以进一步扫描更多有前途的搜索空间,从而挖掘高质量的个体和突破原有SMA的开发能力。

    此外,建立监控机制,有效避免SMA陷入局部最优,引入随机学习机制,丰富SMA的多样性。

  • ISMA的主要思想可分为四个部分:初始化、种群更新、NMs本地搜索和监控处理。

简要过程如下:

  1. **第一步:初始化。**SMA通过公式(23)随机生成初始种群。

    其中popsize表示人口规模,X new表示群体中的第i个个体。rand是[0,1]中的一个随机数。UB和LB表示上限和下限。
    在这里插入图片描述

  2. **第二步:种群更新。**X(t+1)种群的位置根据食物来源的浓度进行调,参数a、p、vb、vc不断更新。

  3. **第三步:NMs本地搜索。**为了找到最优解的位置,NMs被用来进一步扫描具有高质量解集的局部区域。NMS以最优位置为初始值,在D维搜索空间中选择D+1个顶点,形成主单纯形,从而形成单纯形。

    然后,通过对这些D+1顶点的适应度值进行排序来选择最差的一个,并通过反射、延伸、压缩和收缩来更新其位置,以获得更好的解,然后根据μ迭代的NMs单纯形机制更新单纯形,从而生成一个新的单纯形,如式(17)– 式(21)所示。

  4. **第四步:监控处理。**在SMA更新后,使用监控机制帮助算法避免陷入局部最优,从而避免陷入局部最优。

    具体来说,如果每次生成INV后当前最佳值保持不变,我们将执行RLM,用三个随机生成的个体更新整个儿种群,其中INV设置为3。

  5. **第五步:重复步骤2–4,**直到满足终止条件并输出最佳解决方案。

伪代码如下:

  • 在这里插入图片描述
    流程图如下:

  • 在这里插入图片描述

三、 参考文献链接

https://www.webofscience.com/wos/alldb/full-record/WOS:000727748600006

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NMS(No Man's Sky)是一款由Hello Games开发的科幻探险游戏,虽然游戏在发布时备受期待,但亦存在一些缺点和改进的空间。 首先,NMS在游戏发布初期面临着许多技术性问题。游戏由一小团队开发,在发布后的初期,许多玩家遇到了崩溃、性能问题和其他技术故障。这导致了玩家的失望和游戏信誉的受损。然而,随着时间的推移,Hello Games努力修复这些问题,并通过补丁和更新版本来改进游戏的性能和稳定性。 其次,NMS在发布时被宣传为具有无限星系和行星的开放世界游戏,但许多玩家发现游戏的可探索范围和星球的多样性不如预期。尽管游戏中有大量的星球和资源,但随着时间的推移,许多玩家发现这些星球之间的差异并不明显,使得游戏变得乏味和缺乏挑战性。改进这一点的方式是增加星球和环境的多样性,确保每个星球都有独特的地形、生物和资源。 另外,虚构的游戏宇宙中缺乏充实的社交互动。虽然玩家可能会在游戏中遇到其他玩家的存在,但由于游戏的巨大规模和开放性质,实际上很难与其他玩家有真实的互动。改进这一点的方法是增加多人游戏模式,使玩家能够更容易地与其他人合作或竞争。 此外,NMS的任务系统也需要改进。目前,游戏中的任务大多是重复性的,缺乏深度和复杂性。改进任务系统的方法是增加更有挑战性和多样化的任务供玩家选择,使他们在游戏中有更多的目标和奖励。 总而言之,虽然NMS在发布时遇到了一些技术问题和缺点,但Hello Games通过不断的改进和修复工作,使游戏得到了长足的发展。随着时间的推移,NMS也将继续改进和完善,以提供更好的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值