混沌理论与混沌映射——算法改进初始化创新点之一

news2025/3/13 7:56:13

混沌理论与混沌映射

混沌理论研究混沌系统的动力学,其特征是非线性和对初始条件的极端敏感性。即使在这些条件下的微小变化也可能导致系统结果的显著变化。尽管看起来是随机的,混沌系统可以在不依赖随机性的情况下表现出不规则的行为,因为确定性系统也可以表现出混沌行为。最近,这些独特的特性被用来增强元启发式算法的性能。

此外,混沌映射具有遍历性、非线性和发散性特性,类似于非线性动态系统中常见的随机过程。这些映射高度敏感,严重依赖于它们的初始化条件和参数[70]。混沌映射的数学表示通常在公式(4.2)中表达,其中 c h ( t ) ch(t) ch(t) 表示一个混沌序列,该序列结合了从0到1或-1到1的随机数。

c h ( t + 3 ) = f ( c h ( t ) ) ; 0 < c h ( t ) < 1 或 − 1 < c h ( t ) < 1 ; ∀ t = 1 , 2 , … , t max ⁡ . (4.2) ch(t + 3) = f(ch(t)); \quad 0 < ch(t) < 1 \quad \text{或} \quad -1 < ch(t) < 1; \quad \forall t = 1, 2, \ldots, t_{\max}. \tag{4.2} ch(t+3)=f(ch(t));0<ch(t)<11<ch(t)<1;t=1,2,,tmax.(4.2)

由于它们的高敏感性,混沌映射的初始参数值显著影响它们的行为。即使这些参数的微小变化也可能导致剧烈的输出变化,这可能并不总是理想的。因此,为混沌映射选择合适的初始值[71]是至关重要的,需要仔细考虑。

此外,混沌映射在增强元启发式优化能力方面提供了几个优势[72],[73],如下所述:

(i) 这些映射的混沌特性增强了搜索算法的探索和开发能力。

(ii) 它们向算法引入了增加的随机性,可能改善全局性能。

(iii) 混沌映射有助于防止算法收敛到局部最优解。

(iv) 它们增加了初始种群的多样性,提高了全局搜索精度和收敛速度。

(v) 混沌映射具有简单的公式,与元启发式算法一起实现时不增加额外的计算成本,从而保持一致的时间和空间复杂度水平。

表4列出了用于CEPSO的十个选定的混沌映射,在区间(0, 1)或(-1, 1)内生成混沌数。这些混沌映射的图形所示。
在这里插入图片描述
在这里插入图片描述
对应代码:


function O=chaos(index,curr_iter,max_iter,Value)

x(1)=0.7;
switch index
    %Chebyshev map
    case 1
        for i=1:max_iter
            x(i+1)=cos(i*acos(x(i)));
            y(i)=((x(i)+1)*Value)/2;
        end
    case 2
        %Circle map
        a=0.5;
        b=0.2;
        for i=1:max_iter
            x(i+1)=mod(x(i)+b-(a/(2*pi))*sin(2*pi*x(i)),1);
            y(i)=x(i)*Value;
        end
    case 3
        %yauss/mouse map
        for i=1:max_iter
            if x(i)==0
                x(i+1)=0;
            else
                x(i+1)=mod(1/x(i),1);
            end
            y(i)=x(i)*Value;
        end
    case 4
        %Iterative map
        a=0.7;
        for i=1:max_iter
            x(i+1)=sin((a*pi)/x(i));
            y(i)=((x(i)+1)*Value)/2;
        end
    case 5
        %Loyistic map
        a=4;
        for i=1:max_iter
            x(i+1)=a*x(i)*(1-x(i));
            y(i)=x(i)*Value;
        end
    case 6
        %Piecewise map
        P=0.4;
        for i=1:max_iter
            if x(i)>=0 && x(i)<P
                x(i+1)=x(i)/P;
            end
            if x(i)>=P && x(i)<0.5
                x(i+1)=(x(i)-P)/(0.5-P);
            end
            if x(i)>=0.5 && x(i)<1-P
                x(i+1)=(1-P-x(i))/(0.5-P);
            end
            if x(i)>=1-P && x(i)<1
                x(i+1)=(1-x(i))/P;
            end
            y(i)=x(i)*Value;
        end
        
    case 7
        %Sine map
        for i=1:max_iter
            x(i+1) = sin(pi*x(i));
            y(i)=(x(i))*Value;
        end
    case 8
        %Sinyer map
        u=1.07;
        for i=1:max_iter
            x(i+1) = u*(7.86*x(i)-23.31*(x(i)^2)+28.75*(x(i)^3)-13.302875*(x(i)^4));
            y(i)=(x(i))*Value;
        end
    case 9
        %Sinusoidal map
        for i=1:max_iter
            x(i+1) = 2.3*x(i)^2*sin(pi*x(i));
            y(i)=(x(i))*Value;
        end
        
    case 10
        %Tent map
        x(1)=0.6;
        for i=1:max_iter
            if x(i)<0.7
                x(i+1)=x(i)/0.7;
            end
            if x(i)>=0.7
                x(i+1)=(10/3)*(1-x(i));
            end
            y(i)=(x(i))*Value;
        end
        
end
O=y(curr_iter);

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

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

相关文章

19874并查集

19874并查集 ⭐️难度&#xff1a;中等 &#x1f31f;考点&#xff1a;并查集、数据结构 &#x1f4d6; &#x1f4da; import java.util.*;public class Main {static int N 100010;static int[] a new int[N];static int[] p new int[N];static int n;static int m;st…

Jmeter下载安装配置及使用

1、下载 官网地址&#xff1a;Apache JMeter - Download Apache JMeter 2、配置环境变量 ①找到环境变量&#xff0c;两种方法 法一&#xff1a;我的电脑→右键菜单→属性→高级系统设置→环境变量 法二&#xff1a;直接搜索环境变量 ②新建两个系统变量 1.变量名&#x…

【从零开始学习计算机科学】编译原理(一)编译过程概述

【从零开始学习计算机科学】编译原理(一)编译过程概述 绪论编译过程概述词法分析语法分析代码优化代码生成其他功能编译器的前端和后端绪论 什么叫编译程序?为什么我们需要编译程序?编译程序就是一个程序,将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻…

【算法day8】 Z 字形变换 -O(n)算法思路整理

Z 字形变换&#xff0c;算法思路整理 https://leetcode.cn/problems/zigzag-conversion/description/ 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下…

L3-1 夺宝大赛

输入样例 1&#xff1a; 5 7 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 2 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 7 1 5 7 1 1 1 5 5 3 1 3 5 1 4输出样例 1&#xff1a; 7 6样例 1 说明&#xff1a; 七支队伍到达大本营的时间顺次为&#xff1a;7、不可能、5、3、3、5、6&#xff0c…

Matlab:矩阵运算篇——矩阵

目录 1.定义 实例——创建矩阵 实例——创建复数矩阵 2.矩阵的生成 实例——M文件矩阵 2.利用文本创建 实例——创建生活用品矩阵 3.创建特殊矩阵 实例——生成特殊矩阵 4.矩阵元素的运算 1.矩阵元素的修改 实例——新矩阵的生成 2.矩阵的变维 实例——矩阵维度修…

泛微ecode的页面开发发送请求参数携带集合

1.在开发过程中我们难免遇见会存在需要将集合传递到后端的情况&#xff0c;那么这里就有一些如下的注意事项&#xff0c;如以下代码&#xff1a; // 新增action.boundasync addQuestion(formData) {var theList this.questionAnswerList;var questionAnswerListArray new Ar…

Javaweb后端全局异常处理器

类名随便定义 这是异常处理的方法exceptionhandler responsebody作用&#xff0c;方法的响应值返回给前端&#xff0c;如果返回的是集合对象&#xff0c;会把集合对象转为json&#xff0c;再给前端响应返回

SpringBoot缓存抽象:@Cacheable与缓存管理器配置

文章目录 引言一、SpringBoot缓存抽象概述二、Cacheable注解详解2.1 Cacheable的关键属性 三、缓存管理器配置四、自定义键生成策略五、缓存同步与失效策略六、SpringBoot缓存最佳实践总结 引言 缓存是提升应用性能的关键技术&#xff0c;SpringBoot提供了强大的缓存抽象层&am…

江科大51单片机笔记【11】AT24C02(I2C总线)

一、存储器 1.介绍 RAM的特点是存储速度特别快&#xff0c;但是掉电会丢失&#xff1b;ROM的特点是存储速度特别慢&#xff0c;但是掉电不会丢失 SRAM是所有存储器最快的&#xff0c;一般用于电脑的CPU高速缓存&#xff0c;容量相对较少&#xff0c;成本较高&#xff1b;DRAM…

外层元素旋转,其包括在内的子元素一并旋转(不改变旋转中心),单元测试

思路&#xff1a;外层旋转后坐标&#xff0c;元素旋转后坐标&#xff0c;计算偏移坐标 <template><div class"outbox"><label>角度: <input v-model.number"rotate" type"number" /></label><br><div c…

Docker容器安装软件(完整版)

文章目录 一、安装Docker1.1 docker 相关的命令1.2 配置镜像加速 二. 安装es2.1 创建网络2.2 拉取镜像2.3 创建挂载点目录2.4 部署单点es&#xff0c;创建es容器2.5 编写elasticsearch.yml2.6 重启es容器2.7 测试Elasticsearch是否安装成功 三. 基于Docker安装Kibana3.1 拉取镜…

「 机器人 」扑翼飞行器通过总气动力控制四自由度运动方法

一、前言 在扑翼飞行中,总气动力(Total Aerodynamic Force)是指扑翼在运动过程中受到的所有空气动力作用的合力。它是由以下两种主要力的合成结果: 1. 升力(Lift, ):垂直于空气流方向的力,用于支持飞行器(或生物)的重量。 2. 阻力(Drag, ):平行于空气流方向的力,…

Axios简单说明,快速上手

Ajax&#xff1a;异步的JavaScript和XML 作用&#xff1a; 数据交换异步交互 Axios&#xff1a;就是对原生Ajax进行封装&#xff0c;简化书写&#xff0c;快速开发 使用逻辑&#xff1a; 首先要安装Axios&#xff0c;可以通过npm在项目中安装&#xff1a; 打开命令行工具…

云服务器安装宝塔面板部署

单机部署(前端vue项目) 服务器安装宝塔面板 连接到服务器 使用 SSH 连接到你的服务器&#xff1a; ssh rootip安装宝塔面板 运行以下命令来安装宝塔面板&#xff1a; yum install -y wget wget -O install.sh http://download.bt.cn/install/install_6.0.sh sh install.sh安…

通义万相 2.1:AIGC 领域的 “王炸” 组合如何颠覆创作生态?

引言 在数字化和人工智能的飞速发展中&#xff0c;AIGC&#xff08;AI生成内容&#xff09;技术已经成为推动创作、设计和内容生成领域创新的核心力量。而当通义万相2.1与蓝耘智算平台强强联手&#xff0c;这一“王炸”组合不仅提升了AIGC的效率&#xff0c;还为创作生态带来了…

elementPlus之日历扩展功能

在这里做个记录&#xff0c;感觉用得还挺多的 功能有如下&#xff1a; 切换月份按钮对应日历视图和中间日期都要变选择日期日历视图要变点击日历视图中的不属于当前选中月份的日期即可触发日历视图变化以及中间日期也要变 代码如下&#xff1a; <template><div clas…

C# NX二次开发:获取模型中所有表达式并且更新某个表达式的值

大家好&#xff0c;今天要讲的是关于NX中表达式的相关UFUN函数。 UF_MODL_ask_exps_of_part (view source) tag_tpart_tagInputTag of the part to be queriedint *number_of_expsOutputNumber of expressions returnedtag_t * *expsOutput to UF_*free*All the expressions i…

Ollama本地部署deepseek-r1蒸馏版

Docker安装Ollama 拉取镜像 docker pull ollama/ollama​ 启动-使用GPU docker run -d --gpusall -p 11434:11434 --name ollama ollama/ollamadocker run : Docker 的核心命令&#xff0c;用于创建并启动一个新的容器。 -d : 后台模式&#xff08;detached mode&#xff09…

计算机毕业设计:基于web的乡村旅游系统

基于web的乡村旅游系统mysql数据库创建语句基于web的乡村旅游系统oracle数据库创建语句基于web的乡村旅游系统sqlserver数据库创建语句基于web的乡村旅游系统springspringMVChibernate框架对象(javaBean,pojo)设计基于web的乡村旅游系统springspringMVCmybatis框架对象(javaBea…