【智能算法】囊状虫群算法(TSA)原理及实现

news2024/10/6 14:32:36

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2020年,S Kaur等人受到囊状虫群自然行为启发,提出了囊状虫群算法(Tunicate Swarm Algorithm, TSA)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

TSA模拟了囊状虫群在导航和觅食过程中的喷射推进和群体行为,群体行为会更新其他搜索代理关于最优解的位置。

在这里插入图片描述

2.2算法过程

冲突避免

为了避免个体之间的冲突,A 表示计算新的个体位置:
A ⃗ = G ⃗ M ⃗ G ⃗ = c 2 + c 3 − F ⃗ F ⃗ = 2 ⋅ c 1 (1) \begin{aligned}&\vec{A}=\frac{\vec{G}}{\vec{M}}\\&\vec{G}=c_{2}+c_{3}-\vec{F}\\&\vec{F}=2\cdot c_{1}\end{aligned}\tag{1} A =M G G =c2+c3F F =2c1(1)

其中,G代表重力,F代表洋流驱动力,M代表个体间相互作用力:
M ⃗ = [ P m i n + c 1 ⋅ P m a x − P m i n ] (2) \vec{M}=\begin{bmatrix}P_{min}+c_1\cdot P_{max}-P_{min}\end{bmatrix}\tag{2} M =[Pmin+c1PmaxPmin](2)

向最优领域个体移动

P D ⃗ = ∣ F S ⃗ − r a n d ⋅ P p ( x ) ⃗ ∣ (3) \vec{PD}=\mid\vec{FS}-r_{and}\cdot\vec{P_{p}(x)}\mid \tag{3} PD =∣FS randPp(x) (3)
其中,FS代表食物位置(最优适应度)。

位置收敛

囊状虫群个体向最优个体收敛:
P p ( x ) ⃗ = { F S ⃗ + A ⃗ ⋅ P D ⃗ , if r a n d ≥ 0.5 F S ⃗ − A ⃗ ⋅ P D ⃗ , if r a n d < 0.5 (4) \vec{P_p(x)}=\begin{cases} \vec{FS}+\vec{A}\cdot\vec{PD},&\text{if}r_{and}\geq0.5\\ \vec{FS}-\vec{A}\cdot\vec{PD},&\text{if}r_{and}<0.5\end{cases}\tag{4} Pp(x) ={FS +A PD ,FS A PD ,ifrand0.5ifrand<0.5(4)

种群行为

模拟囊状虫群体行为,保存前两个最优解,并根据最优个体位置更新其他搜索个体的位置:
P p ( x + 1 ⃗ ) = P p ( x ) ⃗ + P p ( x + 1 ⃗ ) 2 + c 1 (5) P_{p}(\vec{x+1})=\frac{\vec{P_{p}(x)}+P_{p}(\vec{x+1})}{2+c_{1}}\tag{5} Pp(x+1 )=2+c1Pp(x) +Pp(x+1 )(5)
在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

使用测试框架,测试TSA性能 一键run.m

  • 【智能算法】省时方便,智能算法统计指标——一键运行~

CEC2017-F14

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] Kaur S, Awasthi L K, Sangal A L, et al. Tunicate Swarm Algorithm: A new bio-inspired based metaheuristic paradigm for global optimization[J]. Engineering Applications of Artificial Intelligence, 2020, 90: 103541.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1627414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2分钟自己写小游戏:使用js和css编写石头剪刀布小游戏、扫雷小游戏、五子棋小游戏。新手老手毕业论文都能用。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车&#xff0c;效果很不错。 【复制就能用3】2分钟自己写小游戏&#xff1a;剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

【介绍下OneFlow概念清单】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

61、回溯-分割回文串

思路&#xff1a; 还是全排列的思路&#xff0c;列出每一种组合&#xff0c;然后验证是否是回文&#xff0c;如果是子串放入path中&#xff0c;在验证其他元素是否也是回文。代码如下&#xff1a; class Solution {// 主方法&#xff0c;用于接收一个字符串s并返回所有可能的…

【GO】命令行解析 os 与 flag

目录 OS解析命令 简单用法 进阶用法 flag命令解析 基础实例 1. 自定义数据类型 2. 创建多个 FlagSet 3. 整合环境变量和配置文件 os与flag 关键点解析 程序的作用 示例命令行调用 在 Go 语言中&#xff0c;命令行解析是一项基本且常用的功能&#xff0c;它允许开发者…

玄子Share-Shell编程之条件语句

玄子Share-Shell编程之条件语句 条件测试操作 test命令 测试表达式是否成立&#xff0c;若成立返回0&#xff0c;否则返回其他数值 格式1&#xff1a;test 条件表达式 格式2&#xff1a;[ 条件表达式 ] # 至少应有一个空格文件测试 [ 操作符 文件或目录 ][rootlocal…

[Algorithm][模拟][替换所有问号][提莫攻击][N字形变换][外观数列][数青蛙] + 模拟原理详细讲解

目录 0.原理讲解1.替换所有的问号1.题目链接2.代码实现 2.提莫攻击1.题目链接2.算法原理详解3.代码实现 3.N 字形变换1.题目链接2.算法原理详解3.代码实现 4.外观数列1.题目链接2.算法原理详解3.代码实现 5.数青蛙1.题目链接2.算法原理详解3.代码实现 0.原理讲解 模拟&#xf…

实现SpringMVC底层机制(一)

文章目录 1.环境配置1.创建maven项目2.创建文件目录3.导入jar包 2.开发核心控制器文件目录1.流程图2.编写核心控制器SunDispatcherServlet.java3.类路径下编写spring配置文件sunspringmvc.xml4.配置中央控制器web.xml5.配置tomcat&#xff0c;完成测试1.配置发布方式2.配置热加…

Vue入门篇:生命周期,钩子函数,工程化开发Vue(脚手架安装),组件化开发(全局注册,局部注册)

目录 1.Vue生命周期和生命周期的四个阶段2.Vue生命周期函数&#xff08;钩子函数)3.工程化开发&脚手架Vue CLI1.在powershell管理员权限下打开命令行安装脚手架&#xff1a;2.查看vue版本&#xff1a;3.创建项目架子4.运行项目 4.组件化开发&根组件1.App.vue文件&#…

JavaSE字节缓冲流

欢迎来到 请回答1024 的博客 &#x1f353;&#x1f353;&#x1f353;欢迎来到 请回答1024的博客 关于博主&#xff1a; 我是 请回答1024&#xff0c;一个追求数学与计算的边界、时间与空间的平衡&#xff0c;0与1的延伸的后端开发者。 博客特色&#xff1a; 在我的博客中&a…

解决minIO 文件上传回显报 403 问题

一、问题描述&#xff1a; minIO 上传文件回显时 提示 403 Forbidden 二、问题原因&#xff1a; minIO 中文件相对应的 buckets 权限问题造成 三、解决办法&#xff1a; 进入 minIO 控制台&#xff0c;将 buckets 中 access Policy 改为 public

监听器模式(三)

一、介绍 监听器模式是一种软件设计模式&#xff0c;在对象的状态发生改变时&#xff0c;允许依赖它的其他对象获得通知。在Java中&#xff0c;可以使用接口和回调机制来实现监听器模式。 二、代码实例 1、事件Event类 package com.xu.demo.listener;// 事件类 public class…

go设计模式之抽象工厂模式

抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类。 工厂方法模式通过引入工厂等级结构&#xff0c;解决了简单工厂模式中工厂类职责太重的问题&#xff0c;但由于工厂方法模式中的每个工厂只生产一类产品&#xff0c;可能会导致…

【禅道客户案例】同方智慧能源数智化转型新实践 禅道助力前行

同方智慧能源是同方股份有限公司的骨干企业。依托中核集团、清华大学的科技优势&#xff0c;坚持技术和资源双核驱动&#xff0c;基于30多年行业积淀&#xff0c;面向建筑、交通、工业、北方供热、数据中心等主要用能场景提供设计咨询、产品技术、投资建设、运营服务&#xff0…

每天一题crypto(8)---RSA(相邻素数)

题目&#xff1a; p getPrime(512) q gmpy2.next_prime(p) from Crypto.Util.number import * import gmpy2 flag bNSSCTF{******}p getPrime(512) q gmpy2.next_prime(p) n p*q e 65537 phi (p-1)*(q-1)m bytes_to_long(flag)c pow(m, e, n)print(fn {n}) print(f…

Linux网络编程---多进/线程并发服务器

一、多进程并发服务器 实现一个服务器可以连接多个客户端&#xff0c;每当accept函数等待到客户端进行连接时 就创建一个子进程 思路分析&#xff1a; 核心思路&#xff1a;让accept循环阻塞等待客户端&#xff0c;每当有客户端连接时就fork子进程&#xff0c;让子进程去和客户…

【调研分析】机器视觉及其系统

机器视觉 定义 机器视觉主要利用计算机模拟人的视觉功能&#xff0c;但不仅限于人眼的简单延伸&#xff0c;而是具备人脑的部分功能&#xff0c;即从客观事物的图像中提取信息、进行处理并加以理解&#xff0c;从而应用于实际的检测识别、测量和控制过程。 机器视觉系统组成 …

JavaEE >> Spring Boot(2)

Spring Boot 配置文件 前面的文章已经介绍了 Spring Boot 项目的创建&#xff0c;上文&#xff0c;本文介绍 Spring Boot 的简单进阶使用。 配置文件的作用 项目中的所有重要数据都是在配置文件中配置的&#xff0c;例如&#xff1a; 数据库的连接信息&#xff08;包括数据…

BossCMS RCE(下)

未授权漏洞 在登录后台的时候通过查看添加用户功能&#xff0c;看能不能挖掘sql注入漏洞&#xff0c;结果发现了个大问题&#xff0c;一个比较好玩的权限逻辑问题。这里添加用户的路由 我们跟进到manager.class.php里面的add()方法&#xff0c;这里先into::basc_class(admin)&…

DS进阶:并查集

一、并查集的原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个单元素集合&#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这…

局部多项式近似与 AMPM 算法

kappa3; %已在您的代码中定义% 定义窗口大小 windowSize (2*kappa1);% 初始化梯度估计值 [rows, cols] size(wrappedPhase); phi_y zeros(rows, cols); phi_x zeros(rows, cols);% 遍历每个窗口 for m 1kappa:rows-kappafor n 1kappa:cols-kappa% 提取局部窗口Z_mn wrap…