【智能算法】混沌博弈算法(CGO)原理及实现

目录


1.背景

2021年,S Talatahari等人受到混沌理论启发,提出了爱情进化算法(Chaos Game Optimization, CGO)。

2.算法原理

2.1算法思想

CGO算法借鉴了混沌理论和混沌游戏的概念,在优化搜索中模拟了混沌过程。混沌理论强调动力系统对初始条件的极度敏感性,以及系统行为中存在的自相似和自组织特征。混沌游戏则是利用随机选择的初始点和多边形形状来创建分形的方法。

2.2算法过程

创建临时三角形的主要目的是在搜索空间中创建新的符合条件的种子,基于混沌博弈方法需要限制种子在搜索空间中的运动,为此利用一些随机生成的阶乘来控制:
S e e d i 1 = X i + α i × ( β i × G B − γ i × M G i ) , i = 1 , 2 , ... , n (1) Seed_i^1=X_i+\alpha_i\times\left(\beta_i\times GB-\gamma_i\times MG_i\right),\quad i=1,2,\ldots,n\tag{1} Seedi1=Xi+αi×(βi×GB−γi×MGi),i=1,2,...,n(1)

GB是最优适应度,MGi是一些选定的符合条件的种子的平均值。

第二个种子(GB)使用一个骰子,有三个蓝色面和三个红色面。根据掷骰子结果,GB将向Xi(蓝色面)或MGi(红色面)移动。移动过程类似于第一个种子,但使用了随机生成的阶乘来限制移动到Xi和MGi之间连接线上的点:
S e e d i 2 = G B + α i × ( β i × X i − γ i × M G i ) , i = 1 , 2 , ... , n (2) Seed_{i}^{2}=GB+\alpha_{i}\times(\beta_{i}\times X_{i}-\gamma_{i}\times MG_{i}),\quad i=1,2,\ldots,n\tag{2} Seedi2=GB+αi×(βi×Xi−γi×MGi),i=1,2,...,n(2)

MGi作为第三颗种子,一个骰子有蓝色和绿色的面,它被滚动,根据出现的颜色(蓝色或绿色),种子移动到Xi(蓝色面)或GB(绿面):
S e e d i 3 = M G i + α i × ( β i × X i − γ i × G B ) , i = 1 , 2 , ... , n (3) Seed_{i}^{3}=MG_{i}+\alpha_{i}\times(\beta_{i}\times X_{i}-\gamma_{i}\times GB),\quad i=1,2,\ldots,n\tag{3} Seedi3=MGi+αi×(βi×Xi−γi×GB),i=1,2,...,n(3)

为了实现在搜索空间中符合条件的种子的位置更新中的突变阶段,还利用另一过程生成第四种子:
S e e d i 4 = X i ( x i k = x i k + R ) , k = 1 , 2 , ... , d (4) Seed_i^4=X_i\big(x_i^k=x_i^k+R\big),\quad k=1,2,\\ldots,d\tag{4} Seedi4=Xi(xik=xik+R),k=1,2,...,d(4)

为了平衡CGO探索与开发,设置调整因子:
α i = { R a n d 2 × R a n d ( δ × R a n d ) + 1 ( ε × R a n d ) + ( ∼ ε ) (5) \alpha_i=\left\{\begin{matrix}Rand\\2\times Rand\\(\delta\times Rand)+1\\(\varepsilon\times Rand)+(\sim\varepsilon)\end{matrix}\right.\tag{5} αi=⎩ ⎨ ⎧Rand2×Rand(δ×Rand)+1(ε×Rand)+(∼ε)(5)

伪代码

3.结果展示

使用测试框架,测试CGO性能 一键run.m

CEC2017-F7


4.参考文献

1 Talatahari S, Azizi M. Chaos game optimization: a novel metaheuristic algorithmJ. Artificial Intelligence Review, 2021, 54(2): 917-1004.

相关推荐
Sw1zzle2 小时前
算法入门(四):二叉树 - 递归遍历三件套
算法·leetcode
万法若空2 小时前
【算法-查找】查找算法
java·数据结构·算法
海石3 小时前
子树怎么找?树的3种遍历方式来帮忙!
算法·leetcode
海石3 小时前
难度分 1588:思路 + 技巧 = AC
算法·leetcode
珠海西格电力6 小时前
云边端协同架构:零碳园区管理系统的技术底座
大数据·运维·人工智能·算法·架构·能源
还有多久拿退休金8 小时前
让飞书知识库跟着 commit 自己长:一套自动化知识库的真实实现
前端·算法·架构
KaMeidebaby9 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
是Dream呀9 小时前
基于深度学习的人类行为识别算法研究
人工智能·深度学习·算法
happyprince10 小时前
03_NVIDIA_ModelOpt-量化算法深入
人工智能·深度学习·算法
大鱼>10 小时前
AI+货物追踪:智能快递柜追踪系统
人工智能·深度学习·算法·机器学习