麻雀搜索算法SSA(Sparrow Search algorithm)

article/2025/11/7 15:59:54

文章目录

  • 前言
  • 数学模型


前言

麻雀搜索算法是2020提出的一种新的优化算法,出自东华大学xue和shen的论文:A novel swarm intelligence optimization approach: sparrow search algorithm,本文的内容是基于该论文来写的。


数学模型

麻雀搜索算法是受麻雀觅食和反捕食行为启发而提出的。在麻雀集群中,我们将会划分出不同的角色。对于麻雀的行为,我们做出如下假设:
1、能量储备高的麻雀有足够的能力去寻找食物,他们被称为生产者,负责找到可以提供丰富食物来源的区域,他们为乞讨者提供觅食区域或方向。能量储备低的麻雀被称为乞讨者。能量储备的水平取决于对个体适应度值的评估。
2、一旦麻雀发现捕食者,个体就会发出警报,当警报值大于安全阈值时,生产者需要将乞讨者引导至安全区域。
3、每只麻雀只要寻找到更好的食物来源,都可以成为生产者,但生产者和乞讨者在整个种群中的比例保持不变。
4、能量较高的麻雀作为生产者,几个饥饿的乞讨者更有可能飞到其他地方觅食以获得更多的能量。
5、乞讨者会跟随提供最好食物的生产者来寻找食物,同时,一些乞讨者会不断监视生产者并且竞争食物以提高自己的捕食率
6、当意识到危险时,在群体边缘的麻雀将会迅速移动到安全的地方以获得更好的位置,而在群体中间的麻雀将会随机移动以靠近其他麻雀

我们用下面的矩阵来表示麻雀的位置:
在这里插入图片描述
其中,n表示麻雀的数量,d表示要优化的变量的维度,那么,所有麻雀的适应度值可用如下向量表示:

在这里插入图片描述
FX每一行的值代表个体的适应度值。在SSA中,适应度值较好的生产者在搜索过程中优先获得食物。由于生产者负责寻找食物并指导整个族群的移动,因此,比起乞讨者,生产者能够在更大的范围内寻找食物。
我们用下面的式子来更新生产者的位置信息:
在这里插入图片描述
式中,t代表的是当前的迭代次数,j的范围是{1,2,…,d},Xti,j表示第t次迭代时,第i只麻雀的第j个维度的值。itermax是最大的迭代次数,即我们设置要让它迭代多少次才结束的值。α∈(0.1]是一个随机数,R2(R2∈[0,1])和ST(ST∈[0.5,1.0])分别表示警报值和安全阈值。Q是一个满足正态分布的随机数,L是一个1×d的矩阵,并且里面的元素全为1。当R2<ST时,表明周围没有天敌,生产者进入广域搜索模式,当R2>ST时,表明附近存在危险,所有麻雀需要迅速飞到其他安全区域。
我们接着用另外的式子来更新乞讨者的位置信息。
在这里插入图片描述
上式中,Xp是生产者占据的最优位置,Xworst表示当前全局的最差位置, A表示一个1×d的矩阵,每个元素随机分配1或者-1。并且A+=AT(AAT)-1,当i>n/2时,表明适应度值较差的第i个乞讨者最有可能挨饿。
在实验中,我们可以假设意识到危险的麻雀占总种群的10%到20%。麻雀的初始位置是随机生成的,根据假设6,数学模型可以用以下式子表示:
在这里插入图片描述
其中,Xbest是当前全局最优位置,β是步长控制参数,是随机数的正态分布,均值为0,方差为1,K∈[−1, 1]是随机数,这里fi是当前麻雀的适应度值,fg和fw分别是当前全局最佳和最差适应度值,ε是最小的常数,以避免分母为0。当fi>fg,表明麻雀在群体的边缘,Xbest代表人口中心的位置,并且在其周围就是安全的,fi=fg表明处于种群中间的麻雀意识到了危险,需要靠近其他麻雀,K表示麻雀移动的方向,也是步长控制系数。
以上是关于麻雀搜索算法的具体内容,实现的伪代码如下:


http://chatgpt.dhexx.cn/article/8lvuleS4.shtml

相关文章

snake 模型

转自&#xff1a;https://blog.csdn.net/caoniyadeniniang/article/details/77803002 一、曲线演化理论 假设CC(p)是一条光滑封闭的曲线&#xff0c;P是任意的参数化变量&#xff0c;设K表示曲 率&#xff0c;T表示切线&#xff0c;N表示法线&#xff0c;则有如下关系存在&…

蛇优化算法(Snake Optimization,SO)(附Matlab代码,完整,免费)

蛇优化算法&#xff08;Snake Optimization&#xff0c;SO&#xff09;&#xff08;附Matlab代码&#xff0c;完整&#xff0c;免费&#xff09; 一、算法灵感二、算法介绍2.1 初始化2.2 划分种群2.3 定义温度和食物2.4 食物不足时(探索阶段)2.5 食物充足时(开发阶段)2.5.1 斗争…

snake模型求解

&#xfeff;&#xfeff; snake 模型 一、曲线演化理论 假设CC(p)是一条光滑封闭的曲线&#xff0c;P是任意的参数化变量&#xff0c;设K表示曲 率&#xff0c;T表示切线&#xff0c;N表示法线&#xff0c;则有如下关系存在&#xff1a; 因为T和N是互相垂直的(如图所示)&am…

snake模型

1 能量泛函 在介绍snake模型的参考资料[1]中&#xff0c;提到能量泛函的概念&#xff0c;这里对此概念做一个总结。 参考资料[6]给出了泛函的定义&#xff1a; 简单的说&#xff0c; 泛函就是定义域是一个函数集&#xff0c;而值域是实数集或者实数集的一个子集。推广开来&…

Snake算法知识点记录

Snake算法 snake是一种主动轮廓模型&#xff0c;主动轮廓模型目前用到了2种&#xff1a;CV和snake。snake在逐步迭代优化过程的目标是能量函数最小化&#xff0c;snake的目标不像sobel、canny等找到整张图的轮廓。它只搜索你给出的初始轮廓附近&#xff0c;达到轮廓更精确的目…

snake模型简介

图像分割之&#xff08;五&#xff09;活动轮廓模型之Snake模型简介 zouxy09qq.com http://blog.csdn.net/zouxy09 在“图像分割之&#xff08;一&#xff09;概述”中咱们简单了解了目前主流的图像分割方法。下面咱们主要学习下基于能量泛函的分割方法。这里学习下Snake模型简…

蛇优化算法(Snake Optimizer)

生物学机理&#xff1a;来源于蛇的交配行为。如果温度较低&#xff0c;且食物可用&#xff0c;蛇的交配行为发生&#xff1b;否则蛇只会寻找食物&#xff08;食物量<0.25&#xff09;或吃现有的食物(T>0.6)。基于此&#xff0c;将考虑蛇优化算法的搜索过程分为两个阶段&a…

图像处理之图像分割(一)之活动轮廓模型:Snake算法简单梳理

图像处理之图像分割&#xff08;一&#xff09;之活动轮廓模型&#xff1a;Snake算法简单梳理 Snake算法&#xff0c;应该也可以翻译成蛇形算法&#xff0c;或者是包含曲折前进的意思。具体函数背景原理介绍参考&#xff1a;zouxy09&#xff0c;http://blog.csdn.net/zouxy09/a…

snake算法总结

snake是一种主动轮廓模型&#xff0c;笨妞对主动轮廓模型的理解&#xff1a;你先给它一个初始轮廓&#xff0c;模型以初始轮廓为基准逐步迭代&#xff0c;来改进图像的轮廓&#xff0c;使其更加精确。主动轮廓模型目前用到了2种&#xff1a;CV和snake。前者没有看算法内部的原理…

主动轮廓模型:Snake模型的python实现

质量声明&#xff1a;原创文章&#xff0c;内容质量问题请评论吐槽。如对您产生干扰&#xff0c;可私信删除。 主要参考&#xff1a;Active Contour Model — skimage v0.16.dev0 docs - scikit-image 文章目录 skimage实现函数声明代码示例结果显示 Numpy实现代码示例结果显示…

社交网络分析--python-igraph

#coding:utf-8 import scrapy import xlwt, lxml import re, json import matplotlib.pyplot as plt import numpy as np import pylab from scipy import linalg #文档&#xff1a;igraph.org/python/doc/ #社交网络分析 #from igraph import *社交网络算法介绍 分析-权利的游…

(一文读懂社交网络分析(附应用、前沿、学习资源)学习笔记)

一文读懂社交网络分析&#xff08;附应用、前沿、学习资源&#xff09;学习笔记 一、社交网络的结构特性与演化机理1、社交网络结构分析与建模1.1 统计特性1.2 网络特性1.3 网络模型 2、虚拟社区以及发现技术2.1 定义2.2 社区发现算法评估指标2.3社区静态发现算法2.4 社区动态发…

推荐系统实践读书笔记-06利用社交网络数据

推荐系统实践读书笔记-06利用社交网络数据 自从搜索引擎谷歌诞生后&#xff0c;大家都在讨论互联网的下一个金矿是什么。现在&#xff0c;几乎所有的人都认为那就是社交网络。根据尼尔森2010年的报告&#xff0c;用户在互联网上22%的时间花费在社交网站和社交媒体上。Facebook…

超级干货 :一文读懂社交网络分析(附应用、前沿、学习资源)

转自&#xff1a;http://op.inews.qq.com/m/20171020B02CN500?refer100000355&chl_codekb_news_tech&h0 本文主要阐述&#xff1a; 社交网络的结构特性与演化机理 社交网络群体行为形成与互动规律 社交网络信息传播与演化机理 社交网络分析的应用 社交网络前沿研…

社交网络分析调研上

//2019年08月15日 文章来源&#xff1a;https://mp.weixin.qq.com/s/39_r3idlE3plqJwlhrvpAQ 一、相关概述 1、定义&#xff1a;“由许多节点构成的一种社会结构&#xff0c;节点通常是指个人或者组织&#xff0c;而社交网络代表着各种社会关系。” *在之前是社会学和人类学的…

社交网络影响力最大化

目录 1、社交网络概述 2、影响力最大化问题分类 3、社交网络影响力最大化作用 4、传播模型 4.1独立级联模型&#xff08;Independent Cascade Model&#xff09;简称 IC 模型 4.2线性阈值模型&#xff08;Linear Threshold Model&#xff09;简称LT模型 社交网络影响力最…

基于hadoop的社交网络三角形计数

图的三角形计数问题是一个基本的图计算问题,是很多复杂网络分析(比如社交网络分析) 的基础。目前图的三角形计数问题已经成为了 Spark 系统中 GraphX 图计算库所提供的一个算法级 API。本次实验任务就是要在 Hadoop 系统上实现 Twitter 社交网络图的三角形计数任务。 1.1 …

PageRank算法在社交网络上的应用

PageRank算法介绍 pagerank算法的核心思想是&#xff0c;计算一个用户随机点击一个网站然后不停点击从而到达各个网站的概率。而一个网站的打开概率又取决于那些指向他自己的那些网站的概率&#xff0c;所以这个概率的计算是一个不断迭代的过程。 一个简单的例子&#xff1a;…

社交网络与社会计算课程内容梳理总结

目录 1 引言2 复杂网络的图要素3 复杂网络度量4 复杂网络模型5 网络表示学习6 主题模型 1 引言 社会计算是指社会科学和计算技术交叉融合而成的一个研究领域&#xff0c;研究如何利用计算系统帮助人们进行沟通与协作&#xff0c;研究如何利用计算技术分析社会运行的规律与发展…

图论与复杂网络建模工具Networkx的四种网络模型

Networkx的四种网络模型 一. Networkx的下载安装二. 规则图三、ER随机图四、WS小世界网络五、BA无标度网络六. 总结 NetworkX提供了4种常见网络的建模方法&#xff0c;分别是&#xff1a;规则图&#xff0c;ER随机图&#xff0c;WS小世界网络和BA无标度网络。 一. Networkx的下…