论文复现 | 智能算法改进:基于多策略麻雀搜索算法的机器人路径规划
【论文复现|智能算法改进】基于多策略麻雀搜索算法的机器人路径规划 改进点改进的无限折叠迭代混沌映射 改进点改进的发现者更新公式 改进点改进的侦察者比例 改进点正弦余弦算法 杨红,杨超.基于多策略麻雀搜索算法的机器人路径规划[J].沈阳大学学报(自然科学版),2024,36(02):141-152.最近在研究机器人路径规划相关内容发现了一篇超有意思的论文——《基于多策略麻雀搜索算法的机器人路径规划》作者是杨红和杨超发表在《沈阳大学学报(自然科学版)》2024 年第 36 卷第 02 期上果断来和大家分享分享。一、改进点剖析1. 改进的无限折叠迭代混沌映射混沌映射在很多智能算法里都有应用它能帮助算法更好地在搜索空间里探索。这里作者提出的无限折叠迭代混沌映射有点意思。在常规的混沌映射基础上进行了迭代方式的创新使得混沌序列的随机性和遍历性更好能让麻雀搜索算法在初始种群的生成以及搜索过程中更具多样性。比如说经典的 Logistic 混沌映射公式是$x{n 1} \mu xn(1 - xn)$其中 $\mu$ 是控制参数一般取在 $(3.57, 4]$ 之间$xn$ 是当前迭代值。而改进的无限折叠迭代混沌映射可能会像下面这样伪代码示意# 假设我们定义一个函数来实现改进的无限折叠迭代混沌映射 def improved_chaotic_map(x0, iter_num): x [x0] for i in range(iter_num): if x[-1] 0.5: x.append(2 * x[-1] * (1 - 2 * x[-1])) else: x.append(2 * (1 - x[-1]) * (2 * x[-1] - 1)) return x在这段代码里通过对当前值的判断进行不同的计算方式使得生成的混沌序列与经典的 Logistic 混沌映射有所区别能为麻雀搜索算法带来不一样的初始种群分布有助于跳出局部最优解。2. 改进的发现者更新公式麻雀搜索算法里发现者的作用是去探索新的区域寻找潜在的更好解。原算法的发现者更新公式可能在某些复杂环境下效率不高作者对其进行了改进。【论文复现|智能算法改进】基于多策略麻雀搜索算法的机器人路径规划 改进点改进的无限折叠迭代混沌映射 改进点改进的发现者更新公式 改进点改进的侦察者比例 改进点正弦余弦算法 杨红,杨超.基于多策略麻雀搜索算法的机器人路径规划[J].沈阳大学学报(自然科学版),2024,36(02):141-152.一般发现者更新公式可能类似$X{i,j}^{t 1} X{i,j}^t(1 \beta L)$其中 $X_{i,j}^t$ 是第 $t$ 代第 $i$ 个麻雀在第 $j$ 维的位置$\beta$ 是步长控制参数$L$ 是一个 $1 \times d$ 的随机向量$d$ 是维度。改进后的公式可能考虑了更多环境因素或者种群信息比如同样伪代码示意import numpy as np # 假设这里的 pop_size 是种群数量dim 是维度 def improved_finder_update(X, t, pop_size, dim, best_X): beta 0.5 L np.random.rand(1, dim) new_X np.zeros((pop_size, dim)) for i in range(pop_size): if np.random.rand() 0.8: new_X[i, :] X[i, :] * (1 beta * L) np.random.rand() * (best_X - X[i, :]) else: new_X[i, :] X[i, :] * (1 beta * L) - np.random.rand() * (best_X - X[i, :]) return new_X在这段代码里通过增加一个随机判断根据不同情况对发现者位置进行更新考虑了当前全局最优解best_X的信息让发现者在探索新区域时更有方向性避免盲目搜索。3. 改进的侦察者比例侦察者在麻雀搜索算法里负责发现危险及时调整种群的搜索策略。原算法的侦察者比例可能不太适应所有场景作者对其进行了调整。通过动态改变侦察者的比例能让算法在不同阶段更好地平衡全局探索和局部开发。比如说在算法前期环境信息了解少可能适当增加侦察者比例让种群更注重危险的发现避免陷入危险区域这里用简单变量scout_ratio示意侦察者比例# 假设 total_pop 是总种群数量 if t total_iterations * 0.3: scout_ratio 0.3 else: scout_ratio 0.2这里在算法前期前 30% 的迭代次数把侦察者比例设为 0.3之后设为 0.2根据不同阶段需求灵活调整提升算法整体性能。4. 正弦余弦算法作者还引入了正弦余弦算法来辅助麻雀搜索算法。正弦余弦算法具有独特的搜索机制它通过正弦和余弦函数的周期性和波动性来引导搜索。将其与麻雀搜索算法结合能为算法带来新的搜索方向和方式。简单示意结合的代码可能像这样伪代码import math def sine_cosine_help(X, t, pop_size, dim, best_X): a 2 for i in range(pop_size): for j in range(dim): r1 np.random.rand() r2 np.random.rand() if r1 0.5: X[i, j] X[i, j] r2 * a * math.sin(r1) * (best_X[j] - X[i, j]) else: X[i, j] X[i, j] r2 * a * math.cos(r1) * (best_X[j] - X[i, j]) return X在这段代码里通过r1的随机判断利用正弦和余弦函数来调整麻雀的位置借助正弦余弦算法的特性帮助麻雀搜索算法在搜索空间里进行更细致的探索。二、总结这篇论文提出的基于多策略麻雀搜索算法的机器人路径规划从多个方面对传统算法进行改进确实为机器人路径规划提供了一种更有效的思路。通过改进的无限折叠迭代混沌映射、发现者更新公式、侦察者比例以及引入正弦余弦算法有望在复杂环境下让机器人更快、更准确地规划出最优路径。之后有机会一定要亲自在实际场景中复现验证一下看看效果到底如何也欢迎大家一起交流探讨呀。