【智能算法】鸡群优化算法(CSO)原理及实现

news2024/10/6 22:22:38

在这里插入图片描述

目录

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


1.背景

2014年,X Meng等人受到鸡群社会行为启发,提出了鸡群优化算法(Chicken Swarm Optimization, CSO)。

2.算法原理

2.1算法思想

CSO算法的思想是基于对鸡群的模拟行为,其中鸡的身份(公鸡、母鸡和小鸡)取决于其适应度值。适应度值最好的鸡被选为公鸡,适应度值最差的鸡被认为是小鸡,其余鸡被视为母鸡。鸡群中的等级秩序、优势关系和母子关系定期更新。公鸡带领同伴寻找食物,但也会阻止其他鸡吃掉它们的食物。

2.2算法过程

适合度值高的公鸡比适合度值低的公鸡优先获得食物,适合度值越高的攻击搜索范围越大:
x i , j t + 1 = x i , j t ∗ ( 1 + R a n d n ( 0 , σ 2 ) ) . σ 2 = { 1 , i f f i ≤ f k , exp ⁡ ( ( f k − f i ) ∣ f i ∣ + ε ) , o t h e r w i s e , k ∈ [ 1 , N ] , k ≠ i . (1) x_{i,j}^{t+1}=x_{i,j}^{t}*(1+Randn(0,\sigma^{2})) .\\\sigma^{2}=\begin{cases}1 ,if f_i\leq f_k ,\\\exp (\frac{(f_k-f_i)}{|f_i|+\varepsilon}), otherwise,\end{cases}k\in[1,N],k\neq i .\tag{1} xi,jt+1=xi,jt(1+Randn(0,σ2)).σ2={1,iffifk,exp(fi+ε(fkfi)),otherwise,k[1,N],k=i.(1)
母鸡跟随公鸡一起寻找食物,也会随机偷取其他鸡找到的好食物,尽管受到其他鸡的抑制。在食物争夺中,强势的母鸡比温顺的母鸡更具优势:
x i , j t + 1 = x i , j t + S 1 ∗ R a n d ∗ ( x r 1 , j t − x i , j t ) + S 2 ∗ R a n d ∗ ( x r 2 , j t − x i , j t ) S 1 = exp ⁡ ( ( f i − f r 1 ) / ( a b s ( f i ) + ε ) ) S 2 = exp ⁡ ( ( f r 2 − f i ) ) (2) x_{i,j}^{t+1}=x_{i,j}^t+S1*Rand*\left(x_{r1,j}^t-x_{i,j}^t\right)+S2*Rand*\left(x_{r2,j}^t-x_{i,j}^t\right)\\S1=\exp( (f_i-f_{r1}) /(abs(f_i)+\varepsilon) )\\S2=\exp((f_{r2}-f_i)) \tag{2} xi,jt+1=xi,jt+S1Rand(xr1,jtxi,jt)+S2Rand(xr2,jtxi,jt)S1=exp((fifr1)/(abs(fi)+ε))S2=exp((fr2fi))(2)
母鸡的适应度值越小,S1越接近1,与公鸡的位置差距越小,统治力更强的母鸡更有可能吃到食物,小鸡在母亲周围寻找食物:
x i , j t + 1 = x i , j t + F L ∗ ( x m , j t − x i , j t ) (3) x_{i,j}^{t+1}=x_{i,j}^{t}+FL*(x_{m,j}^{t}-x_{i,j}^{t})\tag{3} xi,jt+1=xi,jt+FL(xm,jtxi,jt)(3)

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Meng X, Liu Y, Gao X, et al. A new bio-inspired algorithm: chicken swarm optimization[C]//Advances in Swarm Intelligence: 5th International Conference, ICSI 2014, Hefei, China, October 17-20, 2014, Proceedings, Part I 5. Springer International Publishing, 2014: 86-94.

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

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

相关文章

(六)PostgreSQL的组织结构(3)-默认角色和schema

PostgreSQL的组织结构(3)-默认角色和schema 基础信息 OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本:16.2 pg软件目录:/home/pg16/soft pg数据目录:/home/pg16/data 端口:57771 默认角色 Post…

软考135-上午题-【软件工程】-软件配置管理

备注: 该部分考题内容在教材中找不到。直接背题目 一、配置数据库 配置数据库可以分为以下三类: (1) 开发库 专供开发人员使用,其中的信息可能做频繁修改,对其控制相当宽松 (2) 受控库 在生存期某一阶段工作结束时发布的阶段产…

手机拍摄视频怎么做二维码?现场录制视频一键生成二维码

随着手机摄像头的像素不断提升,现在经常会通过手机的拍摄视频,然后发送给其他人查看。当我们想要将一个视频分享给多人去查看时,如果一个个去发送会比较的浪费时间,而且对方还需要下载接受视频后才可以查看,时间成本高…

简化PLC图纸绘制流程:利用SOLIDWORKS Electrical提升效率与准确性

效率一向是工程师比较注重的问题,为了提高工作效率,工程师绞尽脑汁。而在SOLIDWORKS Electrical绘制plc原理图时能有效提高PLC图纸的出图效率,并且可以减少数据误差。 在SOLIDWORKS Electrical绘制PLC图纸时,可以先创建PLC输入/输…

域名被污染了只能换域名吗?

域名污染是指域名的解析结果受到恶意干扰或篡改,使得用户在访问相关网站时出现异常。很多域名遭遇过污染的情况,但是并不知道是域名污染,具体来说,域名污染可能表现为以下情况:用户无法通过输入正确的域名访问到目标网…

24华中杯数学建模C题详解速通

本文针对光纤传感领域的曲线重构问题,提出了一套完整的数学建模与求解方法。通过对三个具体问题的分析和求解,揭示了曲率测量、曲线重构、误差分析等环节的内在联系和数学原理。本文综合运用了光纤传感、数值分析、微分几何等学科的知识,构建了波长-曲率转换模型、曲率连续化模…

Oracle——领先的企业级数据库解决方案

一、WHAT IS ORACLWE: ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一,ORACLE 通常应用于大型系统的数…

护眼台灯哪个牌子好?五大护眼效果好的护眼台灯强力推荐

护眼台灯哪个牌子好?护眼台灯比较好的牌子有书客、雷士、爱德华医生等,这些护眼台灯由于研发实力比较强,除了基本的照明功能,在护眼效果方面的表现也是比较不错的,这样的护眼台灯能够真正地起到对眼睛的保护作用&#…

读《AI营销画布》步骤五 保收获(十)

前言 正如书中所说,做到前四步就已经很了不起了,但是,现如今有很多公司的IT部门正从原来的公司分离,成立了不同的科技公司,以确保从费用成本中心变为利润中心,当然,分离出来不一定是AI促进的&am…

【问题处理】银河麒麟操作系统实例分享,adb读写缓慢问题分析

1.问题环境 处理器: HUAWEI Kunpeng 920 5251K 内存: 512 GiB 整机类型/架构: TaiShan 200K (Model 2280K) BIOS版本: Byosoft Corp. 1.81.K 内核版本 4.19.90-23.15.v2101.ky10.aarch64 第三方应用 数据库 2.问题…

OCP Java17 SE Developers 复习题14

答案 C. Since the question asks about putting data into a structured object, the best class would be one that deserializes the data. Therefore, ObjectInputStream is the best choice, which is option C. ObjectWriter, BufferedStream, and ObjectReader are no…

karpathy build make more --- 2

1 Introduction 用多层神经网络实现更复杂一点名字预测器。 2 方案 采用两层全连接层,中间采用tanh作为激活函数,最后一层用softmax,loss用cross-entropy. 2.1 实施 step1: 生成输入的字符,输入三个字符,输出一个字符. 采用了…

java的spring循环依赖、Bean作用域等深入理解

前言 通过之前的几篇文章将Spring基于XML配置的IOC原理分析完成,但其中还有一些比较重要的细节没有分析总结,比如循环依赖的解决、作用域的实现原理、BeanPostProcessor的执行时机以及SpringBoot零配置实现原理(ComponentScan、Import、Impo…

推荐一款websocket接口测试工具

网址:Websocket在线测试-Websocket接口测试-Websocket模拟请求工具 http://www.jsons.cn/websocket/ 很简单输入以ws开后的网址就可以了 这个网址是你后台设置的 如果连接成功会砸提示框内显示相关字样,反之则不行

python爬虫之爬取携程景点评价(5)

一、景点部分评价爬取 【携程攻略】携程旅游攻略,自助游,自驾游,出游,自由行攻略指南 (ctrip.com) import requests from bs4 import BeautifulSoupif __name__ __main__:url https://m.ctrip.com/webapp/you/commentWeb/commentList?seo0&businessId22176&busines…

U.2 NVMe全闪存储阵列在高性能计算环境中的表现

用户利用高性能计算 (HPC) 先进的计算技术来执行大规模的复杂计算任务。这有助于短时间内解决复杂问题,与传统计算方法相比遥遥领先。Infortrend 存储解决方案专门针对密集型 HPC 工作负载进行了优化。新推出的U.2 NVMe全闪存储阵列GS 5024UE在0.3毫秒的延迟下提供1…

镭速助力企业集成OIDC实现安全高效的大文件数据传输

在当今数字化时代,企业尤其是科研机构、研究所和实验室等,对于大量敏感数据的传输安全和效率有着日益增长的需求。面对这一挑战,企业需要一种既能保障数据传输安全,又能提高传输效率的解决方案。镭速,作为一款面向企业…

【C++学习】C++4种类型转换详解

这里写目录标题 🚀C语言中的类型转换🚀为什么C需要四种类型转换🚀C强制类型转换🚀static_cast🚀**reinterpret_cast**🚀const_cast与volatile🚀dynamic_cast 🚀C语言中的类型转换 在…

buuctf——[ZJCTF 2019]NiZhuanSiWei

buuctf——[ZJCTF 2019]NiZhuanSiWei 1.绕过file_get_contents()函数 file_get_contents函数介绍 定义和用法 file_get_contents() 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射…

【opencv】示例-videocapture_starter.cpp 从视频文件、图像序列或连接到计算机的摄像头中捕获帧...

/** * file videocapture_starter.cpp * brief 一个使用OpenCV的VideoCapture与捕获设备,视频文件或图像序列的入门示例 * 就像CV_PI一样简单,对吧? * * 创建于: 2010年11月23日 * 作者: Ethan Rublee * * 修改于: 2013年4月17日 * …