当前位置:首页 » 操作系统 » 蝴蝶式算法

蝴蝶式算法

发布时间: 2023-04-25 12:31:19

⑴ 优化算法笔记(二十四)帝王蝶算法

(以下描述,均不是学术用语,仅供大家快乐的阅读)
上一篇记录了蝴蝶算法(Butterfly Algorithm),这一篇接着记录帝王蝶算法(Monarch butterfly optimization)。
介绍之前我们先看看帝王蝶的网络,了解其特性,这将有利于我们对算法的理解和记忆。

帝王蝶算法(Monarch butterfly optimization)是根据帝王蝶的迁徙行为提出的优化算法。帝王蝶算法也是于2015年提出,相关的论文也比较多了(这两个蝴蝶算法都有这么多人关注吗?)。其流程相对蝴蝶算法来说有点复杂,不过其论文对算法描述非常的清晰,大家可以去阅读原文。
帝王蝶算法中,每只蝴蝶的位置代表一个可行解,蝴蝶群体将会被分布在两个大陆上,这两块大陆上的帝王蝶分别有不同的行为:1.迁徙,2适应环境。帝王蝶算法组合了这两种行为来搜索解空间中的最优位置。

帝王蝶算法中每只蝴蝶的为 ,该位置的优劣由其适应度函数F(X)计算得出。
帝王蝶群体分布在两块大陆上,分别是land1和land2上。对于一只随机帝王蝶来说,它位于land1上的概率为p,位于碧纯land2上的概率为1-p。以此可以将总群分为2个群体,论文中p取值维5/12。
Land1上的群体的行为为迁徙,而land2上的群体的行为为适应环境。

位于land1上的群体的行为为迁徙,这部分个体在种群中的比例为p。其计算公式如下:

不同与land1上的群体,land2上的群体的行为为适应环境,其计算公式如下樱慧段:

从2.2和2.3可看出,帝王蝶算法的流程也非常的简单,过程中也只有两个公式。

可以看出,帝王蝶算法的流程和蝴蝶算法的流程几乎一模一样(废话,流程图直接的,当然一样),两个算法的个体都是拥有两种行为,蝴蝶算法的行为比较整体,宏观操作,新个体由2-3个个体得出,而帝王蝶算法的行为比较零散,微观操作,每一维来自一个个体。两个算法也都使用了levy飞行,考虑到两个算法竟然还是同一年的,莫非,难道……
不过从细节来看,两个算法差异还是比较大的,不过两个算法的性能也都算是中规中矩的那种,没有特别突出的特点。

适应度函数 。
实验一

从图像中可以看出,帝王蝶算法收敛的非常之快,几乎在10代以内就聚集在了目标解附近。从结果中也可以看出,10次结果中仅有一次较差,其它结果也都很接近0。效果比较好,我总觉得参数的设置不太对称,改成对称试试结果。

实验二 :修改参数p=0.5,peri = 1,BAR=0.5,即迁徙操作两个种群各占一半维度,适应环境操作最优个体站一半维度,1/4进行levy飞行。

从结果可以看出,将参数改为对称后效果差了不少。图像我选取一副较差的图像,从图像可以看出在最后,种群收敛到了目标解外的一点。收敛的过程很像遗传算法和差分进化算法,个体的运动轨迹在一个类似十字架的图案上。但是这个适应度函数非常简单,不存在局部最优解,问题应该出在步长上。整个算法只有levy飞行那一步会产生新的位置,其他步骤都是现有位置的组合。
下面将最大步长改大试试。

实验三 :在实验二的基础上,将S_max改为100。

结果比实验二好了不少,但精度有所下降,但是比不上实验一。最大步长设的太大会影响精度,设得太小又会让种群提前收敛。实验三中最脊誉大步长为100,最大迭代次数为50,则由最大步长影响的精度为100/(50*50)=0.04,这与实验结果相差不太多。权衡利弊,S_max的取值还是大一点的好,否则,种群未在正解附近收敛得到的结果会很差,结果会很不稳定。

实验四 : 在实验一的基础上将S_max修改为100,与实验三比较原文其他参数是否合适。

从结果可以看出,这次的结果要好于实验三的结果,这说明原文中给出的这一系列不对称的参数效果还是好于实验二实验三中的对称参数。图像与实验三的图像类似,步长改大之后个体很容易飞出边界,然后由越界的处理方法使其留在边界上,所以在算法开始后不久就可以看到群体都停留在了边界上,不过问题不大,最终还是会收敛与正解附近。
与实验一相比,实验四的结果差了不少,这是因为测试函数比较简单,当选用较为复杂的测试函数后,较大的步长能够提高算法的全局搜索能力,让算法的结果更加稳定。

帝王蝶算法是根据帝王蝶的迁徙行为提出的算法。位于两块大陆上的帝王蝶群体有着不同的行为,迁徙行为类似于进化算法的杂交操作,适应环境行为类似于进化算法的变异操作,不过其变异位置在当前最优个体附近。算法中的levy飞行是其变异操作的具体实现,不过由于受最大步长的影响,levy飞行的作用并不明显。帝王蝶的最大飞行步长对结果的影响较为明显,步长较小时算法的全局搜索能力较差,局部搜索能力较强,精度较高,反之,全局搜索能力较强,局部搜索能力较差,精度较低但是更加稳定。
帝王蝶算法的参数非常奇特,按论文中所说是根据蝴蝶在各地活动的月数而设定的。虽然不是最佳参数,但也优于均匀对称的参数。有兴趣的同学可以试试怎么设置能让算法的性能达到最佳。
接连两篇笔记记录了都是蝴蝶算法,它们的总体流程结构相差不大,一个是宏观行为,个体之间互动,一个是微观行为,维度之间互动。这两个蝴蝶算法的性能也相差不多,中规中矩,没有太亮眼的地方,而且都用了levy飞行来提供跳出局部最优的能力。不过levy作为非常规武器,不应该在原始算法中给出,其操作与levy飞行不搭且没有提供相应的能力(可能我看到的不是原始论文)。

参考文献
Monarch butterfly optimization[J]. Neural Computing and Applications, 2015, 31:1995-2014. 提取码:fg2m
Wang G G , Zhao X , Deb S . A Novel Monarch Butterfly Optimization with Greedy Strategy and Self-adaptive Crossover Operator[C]// 2015 2nd Intl. Conference on Soft Computing & Machine Intelligence (ISCMI 2015). IEEE, 2015. 提取码:9246

以下指标纯属个人yy,仅供参考

目录
上一篇 优化算法笔记(二十三)蝴蝶算法
下一篇 优化算法笔记(二十五)飞蛾扑火算法

⑵ 蝴蝶算法运用范围

三角形数学问题的分析。
蝴蝶算法是一种常用的插值细分算法原始算法在度不为6的点不光滑,Topology提出了改进的蝴蝶算法,可以在任意的三角网格上生成G1连续的细分曲面。
在一个端点(V1)的度为6而另一个端点(V2)不为6的情形下,解释了与V2相邻的端点的权重,而且这些权重相加为1/4。

⑶ 蝴蝶模型是几年级学的

蝴蝶模型是五年级学的。

在任意凸四边形ABCD中,AC、BD相较于点O,形成的图形形似蝴蝶而被称为蝴蝶模型。其中存在的比例关系被称为蝴蝶定理。

蝴蝶模型,是平面图形中常用的五个模型之一,其特点是通过边与面积的关系来解决问题。对于初学者来说,最重要的是理解什么是蝴蝶模型并熟记它的特征,蝴蝶模型分为任意四边形和梯形中的蝶形。

蝴蝶模型解题四部曲:

第一步:观察:图中是否有蝴蝶模型。

第二步:构造:蝴蝶模型。

第三步:假设:线段长度或图形面积。

第四步:转化:将假设的未知数转化到已知比例中计算。

作用

蝴蝶模型最早是由霍纳提出的欧式平面几何,因为形状酷似蝴蝶,所以才被称为蝴蝶模型,流传至今。

由蝴蝶模型推导出的蝴蝶定理是解析平面几何的一项重要定理,在一个梯形中,两条过顶点相交叉的线,对角的两个三角形相似且面积相等,即S1=S2。在蝴蝶模型中,对角的两个三角形的面积都是相等的。

蝴蝶模型是最基础的平面几何算法模型,它的定理一直被沿用至今,运用到我们的生活和学习中。
利用蝴蝶模型求圆锥曲线的方程、离心率等,多被运用在平面几何考试试题中,对学生开发创造思维很有帮助。

⑷ 蝴蝶式的正确做法

蝴蝶式侍渗渣老悄的做正确做法如下:

1、简易坐在瑜伽垫上,弯曲双膝,双腿向腹部靠拢。

2、双手十指交叉握住脚趾,双脚脚跟靠向会阴处。

注意事项:在练习瑜伽蝴蝶的过程中,如果双腿实在压不下去,不要使用蛮力强行下压双腿,否则会对膝盖造成损伤的;双脚不要离开地面,保持髋部在正位,要被要保持挺直,注意打开胸腔。

⑸ 数学蝴蝶算法危害

导致学生一迹键味套蝴蝶算法从而基本算法忘记姿咐巧。数学蝴蝶算法在优化过程中可能会出现过度拟合的情况,数学蝴蝶算法的计算复杂度较高,需要大量简含的计算资源和时间,如果应用不当,可能会导致计算效率低下。

⑹ 27×34用蝴蝶算法怎么算

蝴蝶利用自身的感知器定位食物的来源。该算法中,假设每只蝴蝶产生一定强度的香味,这些香味会传播并被区域内的其它蝴蝶感知。每只蝴蝶释放出的香味与它的适应度有关。这誉州就意味着当一只蝴蝶移动了位置,它的适应度也将随之变化。
当蝴蝶感觉到另一只蝴蝶在这个区域散发出更多的香味时,就会去靠近,这个阶段被称为全局搜索。另外一种情况,当蝴蝶不能感知大庆行蔽于它自己的香味时,它会随机移动,这个阶段称为局部搜索阶段。
蝴蝶优化算法 (Butterfly optimization algorithm,BOA)是由 Arora于基于蝴蝶BOA觅食过程提出的自然启发式算法。该算法具有较带圆高的收敛精度。

⑺ 蝴蝶算法口诀图解

蝴蝶算法口诀图解,如下:

蝴蝶算法(Butterfly Algorithm)是根据蝴蝶受香味吸引飞行的行为而提出的优化算法。算法于2015年提出,效果中规中矩,不过相关的论文数量也不少了。算法的流程和结构非常简单,不过论文对算法的细节描述不够清晰,有些参数意义不明。让罩

其中,x:表示第i个蝴蝶在第t次迭代中的解向量,这里a*表示目前为止的最优解。第2只 蝴 蝶的 香 味用 f;来表示,r为0到1的随机坦御闹数。局部搜索可表示为x+1 =对 + (r2 *x -x) * f

其中r为0到1的随机数,x和x:表示从解空间中随机选择的第k只和第 j只蝴蝶。在蝴蝶的觅食过程中,全局和局部搜索都会发生,为此,设定一个开关概率p来转换普通的全局搜索和容集的局部搜索。每次迭代用式(4)随机产生一个数r,与开关概率p进行比较来决定进行全局搜索还是局部搜索。

⑻ 怎么推导蝴蝶公式

蝴蝶模型公式推导过程:

S1和S2的的三角形是相似的,所以面积比=边长比的平方即a²:b²。设梯形高为h,S3+S2=1/2,bh=S4+S2,所以S3=S4。

设S4三角形高为h1(底为OB),可知S3:S1=S4:S1=OB:模派OA。因为S1和S2的的三角形是相似三角形,S4:S1=OB:OA=b:a,所以S1︰S2︰S3︰S4=a²︰b²︰ab︰ab。

蝴蝶模型解题四部曲:

第一步:观察:图中是否有蝴蝶模型。

第二步:构造:蝴蝶模型。

第三步:假设:线段长度或图形面积。

第四步:转化:将假设的未知数转化到已知比例中计算。

蝴蝶模型,是平帆灶面图态码扮形中常用的五个模型之一,其特点是通过边与面积的关系来解决问题。

⑼ 分数加减法蝴蝶法可靠吗

不可靠。蝴蝶法是根据分数加减法分数的加减,以往会找出两分母的最小公倍数再计算,这种方法是不靠谱的因为这样算的话没有把分母通分成它们的最小公倍数,所以最后结果不是最简分数。

热点内容
海上传奇南昌 发布:2025-05-18 01:40:31 浏览:130
php怎么访问地址 发布:2025-05-18 01:29:43 浏览:320
fbe加密 发布:2025-05-18 01:16:34 浏览:250
求中点编程 发布:2025-05-18 01:03:14 浏览:840
安卓pay是什么 发布:2025-05-18 01:02:27 浏览:747
免费手游挂机脚本 发布:2025-05-18 00:55:43 浏览:354
sd卡手机存储系统存储 发布:2025-05-18 00:55:28 浏览:637
pythonlistintstr 发布:2025-05-18 00:48:18 浏览:604
轻应用缓存 发布:2025-05-18 00:31:02 浏览:252
鸟存储空气 发布:2025-05-18 00:20:24 浏览:201