zoukankan      html  css  js  c++  java
  • 启发式算法(Heuristic Algorithm)

    背景:

      李航的《统计学习方法》一书中提到:决策树算法通常采用启发式算法,故了解之

    问题解答:

      时间有限,这里也只是将算法和启发式算法的区别和简单发展摘录如下: 

      一、算法和启发式方法之间的差别很微妙,两个术语的意思也有一些重叠。就本书的目的而言,它们之间的差别就在于其距离最终解决办法的间接程度:算法直接给你解决问题的指导,而启发式方法则告诉你该如何发现这些指导信息,或者至少到哪里去寻找它们。   

      二、发展

      40年代:由于实际需要,提出了启发式算法(快速有效)。

      50年代:逐步繁荣,其中贪婪算法局部搜索 等到人们的关注。

      60年代: 反思,发现以前提出的启发式算法速度很快,但是解得质量不能保证,而且对大规 模的问题仍然无能为力(收敛速度慢)。

      70年代:计算复杂性理论的提出,NP问题。许多实际问题不可能在合理的时间范围内找到全局最优解。发现贪婪算法和局部搜索算法速度快,但解不好的原因主要是他们只是在局部的区域内找解,等到的解没有全局最优性。由此必须引入新的搜索机制和策略…Holland的遗传算法出现了(Genetic Algorithm)再次引发了人们研究启发式算法的 兴趣。

      80年代以后:模拟退火算法(Simulated Annealing Algorithm),人工神经网络(Artificial Neural Network),禁忌搜索(Tabu Search)相继出现。

      最近比较热或刚热过去的:演化算法(Evolutionary Algorithm), 蚁群算法(Ant Algorithms), 拟人拟物算法,量子算法等。

      三、具体实现

      1.模拟退火算法

      2.遗传算法

    参考链接:

        http://www.jianshu.com/p/e7164b9837bb

        http://summerbell.iteye.com/blog/422398

  • 相关阅读:
    树莓派linux驱动学习之hello world
    android通过服务实现消息推送
    [转载] iOS开发分辨率那点事
    《裸辞的程序猿漂流记十四》——升级站点
    typedef 总结
    苹果 App Store 申请和管理相关知识
    判断系统是12小时制还是24小时制
    解决 UIView 设置背景为UIImage图片变型问题[XXX setBackgroundColor:[UIColor colorWithPatternImage:XXX]];
    免费iOS第三方推送工具Urban Airship使用教程
    sizeWithFont:方法使用明细
  • 原文地址:https://www.cnblogs.com/arachis/p/Heuristic_Algorithm.html
Copyright © 2011-2022 走看看