非常非常实用!不能错过,独家原创,9种很少人听过,但却实用的混沌映射!!!以鲸鱼混沌映射为例,使用简便

很多人在改进的时候,想着增加混沌映射,增加初始种群的多样性,可是,大多数论文中常见的映射,都被别人使用了,或者不知道被别人有没有使用,

本文介绍9种很少人知道,但非常实用混沌映射,其中有几种是改进型,有几种是原本映射。

此代码本人独家原创!倒卖必究!!!,我把每个映射,都封装成一个函数了,使用简便!

如图initialization1-9为以下9种混沌映射,initialization为伪随机初始化,WOA是鲸鱼算法,CWOA是混沌鲸鱼算法。直接运行main函数即可,如果想用其他映射,只需要在CWOA中改下数字。

图片

结构简单,也可以直接复制,在其他想改进的算法中使用。

图片

  1. Logistic-tent混沌映射

2.Tent-Logistic-Cosine混沌映射

3.SPM映射,非常均匀

4.Sinusoidal 混沌映射,是经典混沌映射之一。

5.二维Henon混沌映射

6.Funch映射

7.Singer映射作为混沌映射的典型代表,数学形式简单,具有遍历性和随机性。

8.高斯映射。

9.Iterative 映射

每种映射里面有相应的参考文献,可根据参考文献查看相应的公式和原理,也可以自行搜索原理,使用其他参考文献。

改进时添加混沌映射有用吗?

混沌映射(Chaotic Mapping)可以用于初始化粒子群算法的种群。混沌映射的特点是具有随机性、敏感性和确定性混合,因此可以提供一些不错的初始值,有助于增加算法的全局搜索性能。以下是混沌映射在初始化粒子群算法种群中的一些潜在作用:

1.增加种群的多样性:混沌映射生成的随机数序列具有较强的随机性,可以在种群中引入更多的多样性。这有助于避免算法陷入局部最优解,提高全局搜索能力。

2.提高全局搜索性能混沌映射的敏感性和迭代特性有助于使粒子群算法在初始阶段更好地探索搜索空间。通过使用混沌映射生成的初始值,可以增加算法的全局搜索性能。

3.避免重复初始化:由于混沌映射生成的数值较为独特,使用混沌映射初始化可以减少种群中个体初始值的重复情况,提高算法的探索效率。

4.改善算法的收敛速度混沌映射生成的初始值有助于使粒子群算法更快地朝着全局最优解方向收敛。这可以缩短算法的收敛时间,提高效率。

5.适用于高维问题:混沌映射可以生成高维空间中的随机数序列,适用于高维问题的初始化。这对于那些具有大量决策变量的优化问题是有益的。

尽管混沌映射在初始化粒子群算法中有一些潜在的优势,但其效果可能取决于具体的问题和算法设置,所以有些函数里面效果不一定优于原算法。在一些情况下,简单的随机初始化也可能达到良好的效果。因此,是否使用混沌映射初始化种群取决于具体问题的性质以及对算法性能的需求在实践中,可以进行实验比较,评估使用混沌映射初始化和不使用的效果。

下面是SPM混沌映射的混沌值和频数分布分布十分均匀,效果极佳

图片

下面以鲸鱼优化算法为例,采用Sinusoidal 混沌映射:

图片

图片

图片

图片

是否进行种群混沌初始化?

混沌映射作为一种初始化手段,确实可以增加算法的多样性和全局搜索性能,但在算法的后续迭代中,最终结果仍然受到算法自身的迭代更新和搜索策略的影响。即使是在初始化时采用了混沌映射,后续迭代中的搜索空间探索和个体更新仍然可能导致最终结果的不同。

正如我所指出的,随机生成的粒子也有一定概率在后续迭代中表现更好。因此,混沌映射作为一种初始化手段,并不是绝对必要的,而是一种可能有助于提高算法性能的选择。在实践中,对于不同的问题和算法,可以进行多次实验,通过比较使用混沌映射和不使用的结果,来确定是否采用混沌映射作为初始化的一部分。

总体来说,混沌映射是一种引入随机性的手段,用于增加算法的多样性和全局搜索能力,但并非适用于所有情况。在选择初始化方法时,需要综合考虑问题特性、算法性能和实验结果。

matlab源码获取,关注个人公众号:算法仓库,后台回复:CWOA

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

完成源示例

本主题演示如何创作和使用自己的完成源类&#xff0c;类似于 .NET 的 TaskCompletionSource。 completion_source 示例的源代码 下面的列表中的代码作为示例提供。 其目的是说明如何编写自己的版本。 例如&#xff0c;支持取消和错误传播不在此示例的范围内。 #include <w…

isis实验

根据要求制作大概&#xff1a; 使用isis配置路由器&#xff1a; 配置好物理接口地址后配置isis 为实现r1访问r5的环回走r6,需要在r6上制作路由泄露&#xff1a; 在r5上产生r1的路由明细&#xff1a; 全网可达&#xff1a;

竞赛练一练 第28期:GESP和电子学会相关题目练习

CIE一级2023.03_足球射门练习 1. 准备工作 &#xff08;1&#xff09;选择背景Soccer&#xff0c;Soccer 2&#xff1b; &#xff08;2&#xff09;保留默认小猫角色&#xff0c;添加角色&#xff1a;Soccer Ball&#xff1b; &#xff08;3&#xff09;给Soccer Ball添加声…

【C++】“Hello World!“

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 ​ 2024.1.14 纪念一下自己编写的第一个C程序 #include<iostream>int main() {/*我的第一个C程序*/std::cout << "Hello world!:>" <<std::endl;ret…

vscode打开c_cpp_properties.json文件的一种方式

步骤一 点击win32 步骤二 点击json 自动生成了

小程序开发公司哪家好?哪家最好?

小程序具有轻量、聚焦、快捷等特点&#xff0c;这有别于 web 端类和移动端 app 类产品。 小程序的第一印象非常关键&#xff0c;因此对于首页设计&#xff0c;关键要加强注意力表达&#xff0c;给予用户尽可能直观的信息感知&#xff0c;加快建立其对于业务价值的兴趣&#xf…

C++ Webserver从零开始:基础知识(三)——Linux服务器程序框架

目录 前言 一.服务器编程基础框架 C/S模型 主要框架 二.I/O模型 阻塞I/O 非阻塞I/O 异步I/O 三.两种高效的事件处理模式 Reactor Proactor 四.模拟Proactor模式 五.半同步/半异步的并发模式 六.有限状态机 七.其他提高服务器性能的方法 池 数据复制 上下文切换…

前端性能优化之数据存取,存储以及缓存技术

无论是哪种计算机语言&#xff0c;说到底它们都是对数据的存取与处理。若能在处理数据前&#xff0c;更快地读取数据&#xff0c;那么必然会对程序执行性能产生积极的作用。 一般而言&#xff0c;js的数据存取有4种方式。 直接字面量:字面量不存储在特定位置也不需要索引&…

WEB前端人机导论实验-实训3超链接与多媒体文件应用

1.项目1 设计简易灯箱画廊 A.题目要求&#xff1a; 编程实现简易灯箱画廊&#xff0c;鼠标单击任一个图像超链接&#xff0c;在底部浮动框架中显示大图像&#xff0c;效果如下的页面。 B.思路: &#xff08;1&#xff09;CSS样式&#xff1a; a.在样式中对body元素进行居中…

力扣-盛最多水的容器

11.盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。 说明&#xff1a;你不能倾斜…

性能篇:深入源码解析和性能测试arraylist和LinkedList差异!

嗨&#xff0c;大家好&#xff0c;我是小米&#xff01;今天我们要谈论的是 Java 中两个常用的集合类&#xff1a;ArrayList 和 LinkedList。大家都知道&#xff0c;这两者在新增和删除元素的操作上有一些差异&#xff0c;那么它们究竟在性能上有何表现呢&#xff1f;我们通过深…

Linux系统SSH远程管理服务概述

目录 一.SSH协议 1.定义 2.优点 &#xff08;1&#xff09;加密 &#xff08;2&#xff09;压缩 3.SSH的客户端与服务端 &#xff08;1&#xff09;客户端 &#xff08;2&#xff09;服务端 4.原理 5.实验&#xff1a;使用ssh远程登录 二.OpenSSH服务器 1.概念 2.…

自动执行 Active Directory 清理

Active Directory &#xff08;AD&#xff09; 可帮助 IT 管理员分层存储组织的资源&#xff0c;包括用户、组以及计算机和打印机等设备&#xff0c;这有助于管理员集中创建基于帐户和组的规则&#xff0c;并通过创建不合规的自动日志来强制执行和确保合规性。 不时清理AD是保…

详解SpringCloud微服务技术栈:认识微服务、服务拆分与远程调用

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;首期文章 &#x1f4da;订阅专栏&#xff1a;微服务技术全家桶 希望文章对你们有所帮助 在此之前&#xff0c;耗时半个月&#x…

哈希表的实现(2):拉链法实现哈希表

一&#xff0c;拉链法 在使用线性探测法实现哈希表时&#xff0c;会发生哈希冲突。这个时候就得向后找位置给新插入的值。这个过程无疑会对哈希表的效率有很大的影响。那我们能不能通过另一种方式来实现哈希表&#xff0c;让哈希表不会发生哈希冲突呢&#xff1f;答案当然是可以…

第二十八周:文献阅读笔记(弱监督学习)+ pytorch学习

第二十八周&#xff1a;文献阅读笔记&#xff08;弱监督学习&#xff09; 摘要Abstract1. 弱监督学习1.1. 文献摘要1.2. 引言1.3. 不完全监督1.3.1. 主动学习与半监督学习1.3.2. 通过人工干预1.3.3. 无需人工干预 1.4. 不确切的监督1.5. 不准确的监督1.6. 弱监督学习的创新点 2…

Vue-14、Vue绑定style样式

1、对象写法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>绑定css样式</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/v…

数据结构:堆和堆排序

数据结构&#xff1a;堆和堆排序 文章目录 数据结构&#xff1a;堆和堆排序1.二叉树的存储结构1.顺序结构2.链式结构 2.堆3.堆的实现4.堆排序&#xff08;选择排序中的一类&#xff09;1. 基本思想2.代码实现 1.二叉树的存储结构 1.顺序结构 顺序结构存储就是使用数组来表示一…

ssm基于VUE.js的在线教育系统论文

摘 要 随着学习压力越来越大&#xff0c;课外参加补习班的学生越来越多。现在大多数学生采用请家教、自学、报名补习班的方式进行课外的额外学习。请家教费用昂贵&#xff0c;自学效率低&#xff0c;碰到自己不会的知识不能及时得到解达&#xff0c;报名补习班需要时间、地点的…

TinyGPT-V:2.8B参数引领轻量级多模态AI

前言 在当前多模态大型语言模型&#xff08;MLLM&#xff09;快速发展的背景下&#xff0c;TinyGPT-V的出现标志着一个重要的技术突破。这款轻量级模型以其2.8B参数的设计&#xff0c;在AI领域引起广泛关注&#xff0c;成为GPT-4V等模型的高效替代方案。 Huggingface模型下载&…