【人工智能】群智能算法

群智能概述

群(swarm):某种交互作用的组织或agent的结构集合。人们把群居昆虫的集体行为称作“群智能”,即低智能的主体通过合作表现出高智能行为的特性。

群智能算法是一种基于生物群体行为规律的计算技术。

粒子群优化

基本粒子群算法描述

image-20230212225528877

粒子速度和位置的更新

image-20230212225835594

流程图

image-20230212230224130

参数分析
惯性权重w

使粒子保持运动惯性,也表示微粒对当前自身运动状态的信任。较大的w有利于跳出局部极值,而较小的w有利于算法收敛。

改进的惯性权重w:随着迭代的进行,线性地减小w的值。

image-20230212230610050

加速因子c1和c2

表示粒子的动作来源于自己经验的部分其它粒子经验的部分

改进的加速因子c1和c2

将c1和c2统一为一个控制参数,φ= c1+c2;

如果φ很小,微粒群运动轨迹将非常缓慢;如果φ很大,则微粒位置变化非常快;

当φ=4.0(c1=2.0,c2=2.0)时,具有很好的收敛效果。

粒子数

通常一般取20~40,对较难或特定类别的问 题可以取100~200。

最大速度vmax

决定粒子在一个循环中最大的移动距离,通常设定为粒子的范围宽度。


蚁群算法

以TSP问题为例说明蚁群算法。

设蚂蚁的数量为m,城市的数量为n,城市i和城市j的距离为距离选用欧式距离,t时刻城市i和城市j连接路径的信息素浓度为τ(i, j)

在算法初始时刻,设各城市连接路径的信息素浓度具有相同的值,m只蚂蚁放到n座城市。

image-20230212232146169

α是信息素重要程度因子。β是启发函数重要程度因子。tabuk为禁忌表,表示已经访问的城市集合。

5.蚂蚁从当前城市访问下一城市的概率确定后,通常采用轮盘赌法选择下一城市,概率大被选中机会就大。

6.当所有蚂蚁完成一次访问后,各路径上的信息素将进行更新,信息素公式更新如下

image-20230212232409983

7.针对蚂蚁释放信息素问题有如下三种模型

  • image-20230212232547366
  • image-20230212232637268
  • image-20230212232657595

这三种模型分别对应路径的整体信息(蚂蚁所访问路径的总长)、局部信息(蚂蚁所访问城市间的距离)和不考虑路径信息。

8.以下优化TSP问题,选用ant cycle system模型, 即路径的整体信息路径越短,释放的信息素度越高

image-20230212232943690

蚁群算法的改进

  1. 最优解保留策略(Ant System with Elitist)

    能够以更快的速度获得最好解,但是如果选择的精英过多则算法会由于较早收敛于局部次优解而导致搜索的过早停滞。

  2. 局部信息素更新

    使已选的路径对后来的蚂蚁具有较小的影响力,从而使蚂蚁对没有选中的路径有更强的探索能力。

  3. 最大–最小蚂蚁系统(max-min ant system)

    每次迭代后,只有最优解(最优蚂蚁)所属路径上的信息被更新;

    为了避免过早收敛,将各条路径可能的信息素限制于[τmin ,τmax];

    在算法初始时刻,ρ取较小值,算法有更好的发现较好解的能力。 随着迭代次数的增加, ρ变大加快算法的收敛。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB智能算法是指在MATLAB环境下使用智能算法来解决问题的方法。智能算法是一类模拟自然界生物行为或物理现象的算法,常用的智能算法包括蚁优化(ACO)、粒子优化(PSO)、鱼搜索(FSS)、萤火虫算法、蝙蝠算法、人工蜜蜂算法(ABC)、细菌觅食优化(BFO)等\[3\]。这些算法通过模拟生物体的行为,以寻找最优解或近似最优解。在MATLAB中,可以使用这些算法来解决各种实际问题,例如优化问题、机器学习、数据挖掘等。《MATLAB智能算法30个案例分析》是一本介绍MATLAB实现智能算法的书籍,其中提供了30个案例,每个案例都包含理论讲解、案例背景、MATLAB程序实现和扩展阅读等部分\[2\]。这本书可以作为学习和应用MATLAB智能算法的参考书籍,适用于本科毕业设计、研究生项目设计、博士低年级课题设计等\[2\]。 #### 引用[.reference_title] - *1* *2* [《MATLAB智能算法30个案例》:第7章 多种遗传算法的函数优化算法](https://blog.csdn.net/sinat_34897952/article/details/125589983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [智能算法——烟花算法(Fireworks Algorithm)[附matlab]](https://blog.csdn.net/qq_63761366/article/details/125739362)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值