一、鸡群优化算法(Chicken Swarm Optimization, CSO)

CSO算法是由Meng等于2014年10月在第五次国际群体智能会议(ICSI)上提出的一种新的仿生算法,CSO算法模拟了鸡群的层次结构和鸡群觅食行为,包括公鸡、母鸡和小鸡,可以有效地提取鸡群的智能来优化问题。CSO算法能够简单、快速地解决科学研究领域中的各类数值计算问题,具有收敛速度快和收敛效率高的优点。

(一)首先理想化鸡的行为:

1、在鸡群中,有几个群体。每组由一只占主导地位的公鸡、几只母鸡和小鸡组成。

2、如何将鸡群分成几组,并确定鸡(公鸡、母鸡和小鸡)的身份,都取决于鸡本身的适应值。几个适应值最好的鸡将被当作公鸡,每只公鸡都是一组中的领头公鸡。几个适应值最差的鸡将被指定为雏鸡。其他的应该是母鸡。母鸡随机选择住在哪一组。母鸡和小鸡之间的母子关系也是随机建立的。

3、群体内部的等级秩序、支配关系和母子关系保持不变。这些状态每隔几(G)个时间步长才更新一次。

4、鸡跟着它们的同伴公鸡去寻找食物,而它们可能阻止公鸡吃自己的食物。假设鸡会随意偷别人已经找到的好食物。小鸡在妈妈(母鸡)周围寻找食物。优势个体在食物竞争中占优势。

5、假设RN、HN、CN和MN分别表示公鸡、母鸡、雏鸡和母鸡的数量。最好的RN鸡将被认为是公鸡,而最差的CN鸡将被认为是雏鸡。其余的被当作母鸡对待。由它们在时间步长 t 的位置xi,jt (i∈[1,...,N],j∈[1,...,D])描述的所有N只虚拟鸡在D维空间中搜索食物。在这项工作中,最优化问题是最小问题。因此,最好的RN鸡对应于RN适合度最小的鸡。

(二)鸡的行为

1、公鸡:适合值较高的公鸡比适合值较差的公鸡优先获得食物。为了简单起见,这种情况可以用适应值较好的公鸡比适应值较差的公鸡在更广泛的地方寻找食物的情况来模拟。这可以用下面的公式表示。

2、母鸡:至于母鸡,它们可以跟着它们的同伴公鸡去寻找食物。此外,它们还会随意偷取其他鸡找到的好食物,尽管它们会受到其他鸡的压制。在争夺食物方面,优势更强的母鸡比那些顺从的母鸡更有优势。这些现象可以用数学公式表示如下。

3、小鸡:小鸡在母鸡妈妈周围觅食,公式如下。

算法如下:

参考文献《A New Bio-inspired Algorithm: Chicken Swarm Optimization》——Xian-Bing Meng、Yu Liu

二、蜻蜓算法(Dragonflfly Algorithm, DA)

蜻蜓算法(Dragonfly Algorithm)是由Seyedali Mirjalili在2015年提出的一种新兴群智能算法。Reynoldz指出三个关于蜂群体行为准则:分离度、对齐度与聚合度。分离度是指相邻个体间保持适当距离,以免碰撞;对齐度是指速度和方向与相邻个体对齐;聚合度是指个体飞向相邻区域中心。蜻蜓主要目标都是生存,Seyedali Mirjalili提出五个因素影响蜻蜓算法的位置更新:分离,列队,聚集,捕食,逃离。数学模型如下:

参考文献:《基于蜻蜓算法的改进研究》

参考链接:https://www.hanspub.org/journal/paperinformation.aspx?paperid=31406

随机游走(Random Walk):

随机游走就是在任意维度的空间中,一个点随机地向任意方向前进任意长度的矩离,然后重复这个步骤。比如醉汉回家。levy flight(莱维飞行)是随机游走的一种。研究表明很多的生物活动的轨迹,甚至是人都是符合levy flight的。

随机游走,概念接近于布朗运动,是布朗运动的理想数学状态。布朗运动是指悬浮在液体或气体中的微粒所做的永不停息的无规则运动。

三、乌鸦搜索算法(Crow Search Algorithm, CSA)

CSA是一种基于人口的技术,它大概的思路就是乌鸦将多余的食物储存在藏身之处,并在需要食物时将其取回。

介绍乌鸦的习性:乌鸦会观察其他鸟类隐藏食物的地方,并在它们离开后偷走它。如果一只乌鸦犯了偷窃行为,它将需要采取额外的预防措施,例如移动藏身之处以避免成为未来的受害者。事实上,他们利用自己的小偷经验来预测盗窃者的行为,并且可以确定最安全的方法来保护他们的藏物处不被盗。

基于上述智能行为,开发了基于人口的元启发式算法CSA。CSA的原则如下:

1.乌鸦以群居的形式生活。

2.乌鸦记住了它们藏食物的位置。

3.乌鸦跟着领导者做偷取食物。

4.乌鸦保护他们的藏物处一定概率下不被偷窃。

原文链接:https://blog.csdn.net/weixin_41246729/java/article/details/82390511

java 泰勒级数_鸡群优化算法(CSO)、蜻蜓算法(DA)、乌鸦搜索算法(CSA)、泰勒级数(Taylor series)...相关推荐

  1. pso解决tsp matlab,计算智能课程设计_粒子群优化算法求解旅行商问题_Matlab实现.doc...

    计算智能课程设计_粒子群优化算法求解旅行商问题_Matlab实现.doc 摘要:TSP是一个典型的NPC问题.本文首先介绍旅行商问题和粒子群优化算法的基本概念.然后构造一种基于交换子和交换序[1]概念 ...

  2. 蚁群算法java实现_蚁群算法java实现以及TSP问题蚁群算法求解

    1. 蚁群算法简介 蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题 ...

  3. dijkstra算法matlab代码_头脑风暴优化(BSO)算法(附MATLAB代码)

    BSO讲解https://www.zhihu.com/video/1252605855767736320 B站搜索:随心390,同步观看视频 各位小伙伴可在闲鱼搜索 优化算法交流地,即可搜索到官方闲鱼 ...

  4. svd协同过滤java实现_利用 SVD 实现协同过滤推荐算法

    奇异值分解(Singular Value Decomposition,以下简称SVD) 是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域. ...

  5. java粒子群优化算法_粒子群优化算法的JAVA实现

    说明:算法为了演示功能,所以没有优化,没有异常处理等,仅作演示用. /* * To change this template, choose Tools | Templates * and open ...

  6. 【运筹优化】CSO蟑螂算法求解无约束多元函数最值(Java代码实现)

    文章目录 一.前言 二.优化目标 三.求解结果 四.迭代结果可视化 五.算法流程图 六.Java代码实现 6.1 算法部分代码 6.2 可视化部分代码 一.前言 本文以求解二元函数最小值为例,如果需要 ...

  7. 粒子群算法离散化各代表什么_粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)...

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识!也可以搜索号:磐创AI,关注我们的文章. 作者:Geppetto 前 ...

  8. java 节气_谁有关于24节气的算法,最后有java实现的代码

    展开全部 以下是查表算法调用 jieqi(int Y, int M, int D)传入年月日返回节气,如果非节气返回null 注意传入的62616964757a686964616fe58685e5ae ...

  9. java黄油刀_整理和优化Java代码与Android黄油刀

    结合意见和资源 事件监听器 列表适配器, RecyclerView 代码>实施 醇> 为什么要使用黄油刀 这个库的目的是帮助开发者写出更好的代码,并试图减少在的onCreate 代码> ...

最新文章

  1. 禁止windows系统的自动运行功能
  2. MyBatis mapper 注解过程中通过 LanguageDriver 实现动态 SQL
  3. 【渝粤教育】国家开放大学2018年秋季 0033-21T工程数学 参考试题
  4. LeetCode 1876. 长度为三且各字符不同的子字符串
  5. kali linux引导文件修复,Kali+Windows引导修复
  6. 本地主机作服务器解决AJAX跨域请求访问数据的方法
  7. Windows7下安装配置PHP开发环境
  8. mysql存储过程 大小写_MySQL数据记录大小写敏感问题【转】
  9. numpy教程:数学函数和基本统计函数
  10. Android期末项目2048小游戏
  11. 为什么在 Windows 7系统下无法显示 STEP 7 MicroWin SP9的帮助文件?
  12. Elasticsearch搜索引擎安装使用及Java中使用
  13. python分号_python分号_python 分号_python加分号 - 云+社区 - 腾讯云
  14. 蛋蛋读NVMe之一:为什么刘备需要NVMe
  15. 中国人的智商全球最高
  16. 正则表达式在JS中的应用,判断邮箱是否合法
  17. 基于Google Edge TPU的Coral USB加速棒体验
  18. python使用 作为转义符的开始符号_Python使用____作为转义符的开始符号。
  19. 超全面的JavaWeb笔记day23AJAX
  20. 大话水声通信技术---(BFSK仿真)

热门文章

  1. anaconda中gurobi下载_Anaconda是什么?Anconda下载安装教程 - python基础入门(16)
  2. python中运算的英文_[lemon]Python中的运算符,LemonPython
  3. 根据数据库表gengxin实体类_ASP.NET开发实战——(十二)数据库之EF Migrations
  4. 链接器相关的一些基本问题
  5. mongoengine.NotUniqueError
  6. 从测试角度对测试驱动开发的思考【转】
  7. HTTPS配置全记录
  8. 或许每条喵咪上辈子都是陨落的码农
  9. 不同页面之间实现参数传递的几种方式
  10. IOS学习笔记——Objective-c基础(一)