【填坑】现代启发式算法

    搞定了上周末的辽宁大学模拟联合国峰会…最后拿了个Best Delegate,开开心心来填坑。

    主要分成三个部分,在维基上搜了一下:

一、模拟退火:https://zh.wikipedia.org/wiki/%E6%A8%A1%E6%8B%9F%E9%80%80%E7%81%AB(中文维基百科)

        按照维基写的结合之前例会讲的内容,模拟退火就是用来解决求函数最优解的问题的一种优化方法,避免了简单算法有可能最后得到局部最优解的问题。解决方式主要是保留取当前解的领域内,最优解以外的解的可能性(赋予一个随机的概率值),通过Metropolis准则:“若Δt′<0则接受S′作为新的当前解S,否则以概率exp(-Δt′/T)接受S′作为新的当前解S” 来实现。

        具体分成三个部分:初始化,迭代和停止准则。在链接里有详细的介绍。

        具体算法的数学证明并没有仔细研究,可以证明模拟退火所得解依概率收敛至全局最优解。

二、蚁群算法:http://www.cnblogs.com/Leo_wl/p/5665715.html       

                            http://blog.csdn.net/hewei0241/article/details/8296789

        蚁群算法是一种仿生模拟进化算法,提炼出来关键词似乎是正反馈、最优化。感觉蚁群算法和图论关系很大(虽然对图论还暂时没什么了解),可以应用在TSP旅行商问题、七桥问题等等问题上。

        蚁群算法的关键在于模拟出蚁群,每只蚂蚁经过一条路径时在路上留下信息素,已经释放的信息素浓度随着时间不断降低,并且蚂蚁会选择信息素浓度相对高的路径。这样就形成了一种增强学习机制,即信息素浓度高的路径与低浓度路径的差距会越来越大。最终能够找到最优的一条路径。

        那么用什么标准判断路径的优劣,即蚂蚁在什么路上会洒下信息素呢?考虑到实际情况中蚂蚁寻找的都是最短的路劲,假定所有蚂蚁爬行速度一定的情况下,越短的路径上蚂蚁爬行所用时间越短,最终较短的路径上信息素逐渐累积,浓度增加。因此基本的蚁群算法主要用来解决求最短路径的问题。

        资料中显示研究者还研究出了其他优化后的蚁群算法。

三、遗传算法:https://zh.wikipedia.org/wiki/%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95

        遗传算法在我看来是一个更玄学的算法了。。。通过达尔文的物竞天择思想来求出系统的最优解,在不断的进化之中筛选出更优解,淘汰劣解。思想是可以理解的,但是如果不和具体的例子结合起来感觉总是有些宽泛。在维基百科里列出了一些遗传算法的应用领域,但是感觉相关的领域接触的还比较少,等以后具体接触到了或者遇到具体的问题再研究吧(怎么感觉又在挖坑)。

    原文作者:启发式算法
    原文地址: https://blog.csdn.net/Wayne__Lu/article/details/65447305
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞