概述
原文
仿照布谷鸟(也叫大杜鹃)“寄生”和"levy的飞行方式"。
布谷鸟算法(Cuckoo search, CS)是由英国学者 Xin-She Yang 和 Suash Deb 于2009年在群体智能技术的基础上提出的一种新型基于自然元启发式算法。模拟某些种属布谷鸟(Cuckoo Species)的寄生育雏(Brood Parasitism)有效求解最优化问题的算法。
该算法的思想是基于布谷鸟的巢寄生行为以及鸟类的 Lévy 飞行行为。
为了简单的描述布谷鸟算法,利用以下3条理想化规则对其阐述。
1)每只布谷鸟每次随机选择一个巢,并产生一个卵;
2)具有最高质量卵的巢保留至下一代;
3)可寄主巢的数量n是固定的,且寄主以概率为pa属于(0,1)发现布谷鸟放的卵,在这种情况下,寄主鸟将布谷鸟的卵扔掉或者丢弃现有的巢。
为了简单起见,假定n个巢(寄主鸟的数量)中pa部分被新的巢(新解)替代。
在布谷鸟算法中,每个巢中的卵代表一个解,布谷鸟的卵代表新解,目标是利用新解或者潜在的优解替代巢中的劣解。
————————————算法步骤——————————————
————————整体搜索原理————————————————
如何执行 Levy 飞行【全局搜索】
式(2)本质上是一种随机行走的随机(stochastic)公式。事实上,随机行走是一个马尔科夫链,其下一个状态/位置仅取决于当前状态(上式的第一项)和转移概率(上式的第二项)。然而,新解的很大一部分应该由远场随机化产生,它们的位置应该离当前最佳解足够远,这将确保系统不会陷入局部最优。
从实现的角度来看,用 Lévy 飞行生成随机数应包括两个步骤:随机方向的选择和服从 Lévy 分布的步长的生成。方向的生成应该服从均匀分布,而生成步长是相当棘手的。有几种方法可以实现,但是最有效且直接的方法就是使用所谓的 Mantegna 算法来实现对称的 Lévy 稳定分布。
然而,生成正确服从 Lévy 分布的伪随机步长并不简单。 在 Mantegna 算法中,步长 s 可以通过以下变换使用两个服从高斯分布的变量 U 和 V 来计算:
——————————参数取值——————
——————————结论——————
布谷鸟算法参数少,速度快,因此被广泛应用。
除此以外,它还能与其他算法无缝对接,也就是说它的通用性好。
最后
以上就是爱撒娇月光为你收集整理的布谷鸟搜索算法的全部内容,希望文章能够帮你解决布谷鸟搜索算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复