演化算法与适应度地形分析——再度思考

演化算法与适应度地形分析——再度思考

前言

很久没有写文了,这段时间一直在改论文,改论文,还是改论文,很幸运的是能在Swarm and Evolutionay Computation 这样好的期刊上发表自己的文章,还是生涯第一篇,实属不易(耗时9个月,改了三次),能中也有各种因素,还得感谢很多人的帮助;第二篇给了拒稿重投的机会,也是难得,刚刚改完投出去,焦急的等待。现在是时候回头反思一下,《论语》有言:“温故而知新,可以为师矣”,反思一下之前的思路,再梳理一下未来的方向。

推荐文献

搞科研嘛,参考文献自然是重中之重,本文涉及的参考文献主要是适应度地形分析和演化算法,大家根据自己的情况批判吸收。有些是我精读过的,有些是粗读的,但是质量都还不错,期刊也很棒。

[1] Zhao, F., Zhu, B., Wang, L., Xu, T., Zhu, N., & Jonrinaldi, J. (2022). An offline learning co-evolutionary algorithm with problem-specific knowledge. Swarm and Evolutionary Computation, 75, 101148. https://doi.org/10.1016/j.swevo.2022.101148这是我自己的,欢迎大家批评指正
[2] Wu, Y., Peng, X., Wang, H., Jin, Y., & Xu, D. (2022). Cooperative Coevolutionary CMA-ES with Landscape-Aware Grouping in Noisy Environments. IEEE Transactions on Evolutionary Computation, 1–1. https://doi.org/10.1109/tevc.2022.3180224 (最近在学习的,吴亚培博士的论文
[3] Malan, K. M., & Engelbrecht, A. P. (2013). A survey of techniques for characterising fitness landscapes and some possible ways forward. Information Sciences, 241, 148–163. https://doi.org/10.1016/j.ins.2013.04.015关于适应度地形分析技术的综述,这个课题也是ACM GECCO 会议很关注的一个方向
[4] Malan, K. M. (2021). A Survey of Advances in Landscape Analysis for Optimisation. Algorithms, 14(2), 40. https://doi.org/10.3390/a14020040这是原作者对其之前工作的补充,也是一篇关于适应度地形分析技术的综述
[5] Ochoa, G., Malan, K. M., & Blum, C. (2021). Search trajectory networks: A tool for analysing and visualising the behaviour of metaheuristics. Applied Soft Computing, 109, 107492. https://doi.org/10.1016/j.asoc.2021.107492搜索轨迹网络,大概是最新的适应度地形分析技术,也是我一直在思考学习的内容,如何将这种技术与演化算法结合起来?原文代码是R语言的,虽然能运行出结果,但还是不太懂,如果你能在这篇文章和代码方面给我提供些指导,我将感激不尽
[6] Das, S., Mullick, S. S., & Suganthan, P. N. (2016). Recent advances in differential evolution – An updated survey. Swarm and Evolutionary Computation, 27, 1–30. https://doi.org/10.1016/j.swevo.2016.01.004 (DE的综述)
[7] Peng, X., & Wu, Y. (2017). Large-scale cooperative co-evolution using niching-based multi-modal optimization and adaptive fast clustering. Swarm and Evolutionary Computation, 35, 65–77. https://doi.org/10.1016/j.swevo.2017.03.001
[8] Peng, X., Jin, Y., & Wang, H. (2019). Multimodal Optimization Enhanced Cooperative Coevolution for Large-Scale Optimization. IEEE Transactions on Cybernetics, 49(9), 3507–3520. https://doi.org/10.1109/tcyb.2018.2846179
[9] Abraham, T. (1900). Glossary of Metaheuristic Algorithms. 181–205. (全文基本上就是一张表,列了很多元启发式算法

思考

演化算法是一个相对较新的研究邻域,与人工智能密切相关,ACM GECCO,WCCI等都是这一领域的顶会,有很多大牛在从事这方面的工作。从遗传算法GA开始,演化算法可谓是掀起了一阵风,引起了学者们极大的兴趣和关注。近些年,各种算法层出不穷,很多都声称受启发于自然界,大有涵盖所有动物,植物的趋势。也有的受启发于人类社会,甚至还有存于人脑的幻想。最近好像又看到什么“特种部队算法”,虽然没有仔细阅读,不过我猜想多半是噱头(虽然主观猜想并不是严谨的科研态度),之前甚至看到过什么“僵尸觅食算法”,我在想,难道你见过僵尸觅食?对于这种搞噱头,破坏学术风气的行为,我们应当嗤之以鼻。
我也看过很多这类的算法,动物、植物、人类社会的都有,看多了就会发现,如果抛开算法的隐喻部分,大多数算法可以归结到遗传算法(GA)、差分进化算法(DE)和粒子群算法(PSO),尤其是差分进化算法,想在文章中不看到差分算子几乎不可能,你会觉得有些文章中的算法就是DE,包了一层好看的彩纸而已,一点都不符合作者所声称的新颖(当然这里面涉及很多问题,例如升职加薪的问题,人总是要吃饭的嘛,但是不能让这样的事和行为成为主流)。所以我也一直在思考,怎么才能突破DE的这种束缚,难道没有比DE更好的机制(DE类的算法确实在一些测试集上能取得非常好的效果)?除了更换外面的那层彩纸,怎么才能让盒子里的东西更丰富有料,货真价实? 当然,也有与众不同算法,比如分布估计算法CMA-ES这类基于概率模型的算法,可以与GA等分庭抗礼。其实很多时候,提出的这些算法都是在自娱自乐,自说自话,并不具有实际的价值和贡献(这也是我自我反思的内容)。文章中的结果也不一定正确,也许只是一个错误的巧合所造成的,演化算法这一领域也经常由于缺乏严格的理论证明而被数学家们所诟病,讽刺的是演化算法常常能解决数学家们的问题,而他们可能找不到更好的方法。也可以说数学研究者和演化算法研究者相爱相杀。要想取得进一步的突破,需要研究者们抛开成见,通力合作。
最近听到我师弟说一句话,他说“方法越怪,结果越烂”。这让我想起“奥卡姆剃刀理论”,大意就是能简单的事就不要让它复杂化,越简单越好 ,如果你能用更简单的方法解决现有的问题,为什么要苦思冥想发明一个看起来很复杂的方法,费时费力。说到这儿,我又想起“无免费午餐定理” ,这是很多人的挡箭牌,有“大庇天下寒士俱欢颜” 的意思,因为没有一个算法是“万通的” ,所以各种各样的算法被发明出来也有了正当理由。
还有多种群聚类的问题。这些字眼在演化算法中也是常见的,但是我个人认为他们其实在有的算法中并没有起到相应的作用,或者并不是文中所描述的那样,只是因为最后的结果还可以,所以就会理所当然的认为是这些机制起了作用,很多算法由于在里面加入了很多东西,所以并不容易发现它的组成部分真实的作用,也许被其他的因素掩盖了。由于人类本身的限制,我们并不能够完全懂得高维空间是怎样的,它具有怎样的性质,算法在高维空间中的搜索行为如何。在三维的适应度地形图上,我们可以观察算法的行为(这也是我自己所做的一点工作),可以清晰的看到每一次迭代,那些代表种群的的点的位置变化,我自己观察了差分进化算法分布估计算法 ,它们的种群具有完全不同的行为,DE是具有自带分种群的机制的,这个机制实际上就是差分算子,代表种群的点会分布到各个盆地,然后这些小种群在各自的盆地中寻找最优,最终可能找到最优的那个点。很多算法中的分种群机制其实并没有像DE这样货真价实。分布估计算法不具有分种群的性质,它看起来更像是“集体主义” ,代表种群的点会跟随种群的均值(这个均值可以值种群,但一般是一些优势个体的均值)移动,它基本上是“一坨” ,如果均值能移动到最优点所在的那个盆地,那将是非常有利的,但实际情况是,“各方互相掣肘” ,整个群体很容易停滞不前。以上算法的行为仅是我们可以直观观察的三维的情况,而更高维的情况显然难以直接得出以上这些结论。例如DE的分种群机制是否还会保持。至于聚类,如果是通过计算欧式距离的办法,显然在高维空间,距离的意义将会大打折扣,也会严重影响算法的性能。
如今,很多人也在尝试将强化学习等融入演化算法,或者反过来,但正如我师弟说的,效果却差强人意,只是看起来很“高大上”,似乎很符合时代潮流,不用强化学习的就不是好文章,这是一些人的看法。
演化算法还有很长的路要走,关于演化算法,大家有什么看法,欢迎交流评论!
最后,给大家提供一些有用的网站:
[1] Suganthan的主页 (演化算法领域大牛,Swarm and Evolutionary Computation 的主编)
[2] Suganthan 的 Git Hub 可以下载到往年的测试集和最强算法。
[3] CMA-ES 可以下载到各种编程语言版本的CMA-ES算法和相关文献。
[4] 演化算法 可以下载到Matlab代码,运行不通大多数是因为没有下载全。有需要的,可以去找下面书籍的电子版或购买纸质书。
[5] 文献搜索网站
[6] AMiner
在这里插入图片描述
推荐期刊:
[1] TEVC
[2] TCYB
[3] TSMCS
[4] TII
[5] SEVC
[6] ESWA
[7] KBS
[8] ASOC
[9] EAAI
[10] TASE
[11] EJOR
[12] IJPR
[13] IS
[14] Omega
[15] COR
[16] CAIE
[17] Algorithms

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值