背景:

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

问题解答:

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

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

  二、发展

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

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

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

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

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

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

参考链接:

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

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

启发式算法(Heuristic Algorithm)的更多相关文章

  1. NLP&数据挖掘基础知识

    Basis(基础): SSE(Sum of Squared Error, 平方误差和) SAE(Sum of Absolute Error, 绝对误差和) SRE(Sum of Relative Er ...

  2. C语言实现粒子群算法(PSO)一

    最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等.当时是使用MATLAB来实现的,而 ...

  3. 常用的机器学习&数据挖掘知识点【转】

    转自: [基础]常用的机器学习&数据挖掘知识点 Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Le ...

  4. 【基础】常用的机器学习&数据挖掘知识点

    Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),ML ...

  5. SDN网络虚拟化中有效协调的映射算法

    来自论文An efficient and coordinated mapping algorithm in virtualized SDN networks,来自期刊<信息与电子工程前沿> ...

  6. 常用的机器学习&数据挖掘知识(点)总结

    Basis(基础): MSE(Mean Square Error 均方误差), LMS(LeastMean Square 最小均方), LSM(Least Square Methods 最小二乘法), ...

  7. 常见的机器学习&数据挖掘知识点

    原文:http://blog.csdn.net/heyongluoyao8/article/details/47840255 常见的机器学习&数据挖掘知识点 转载请说明出处 Basis(基础) ...

  8. [TF] Architecture - Computational Graphs

    阅读笔记: 仅希望对底层有一定必要的感性认识,包括一些基本核心概念. Here只关注Graph相关,因为对编程有益. TF – Kernels模块部分参见:https://mp.weixin.qq.c ...

  9. ML科普向

    转载自http://www.cnblogs.com/qscqesze/ Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方 ...

随机推荐

  1. Ubuntu 16.04 启动错误 "a start job is running for hold until boot process finishes up"

    老司机也差点翻船... 升级16.04的时候,将默认启动管理器(default display manager)选为gm3(gnome3)了(应该使用默认的lightgm)如果改成gm3,好像是nvi ...

  2. eclipse js 引用跳转

    引用 http://stackoverflow.com/questions/24505993/the-resource-is-not-on-the-build-path-of-a-javascript ...

  3. CAD规划成果入库GIS_SDE转换之分析

    问题: 1) 项目应用中要求将CAD规划成果合理的入库GIS SDE中,在建立一套比较规范的标准为前提下,如何“低技术.傻瓜式”实现规划数据更新管理.版本化是个迫切难题. 2) CAD作为数据源,不同 ...

  4. First Missing Positive && missing number

    https://leetcode.com/problems/first-missing-positive/ 我原以为数组中不会有重复的数字,所以利用min.max分别记录给定数组中出现的最小正整数和最 ...

  5. 使用sklearn进行集成学习——理论

    系列 <使用sklearn进行集成学习——理论> <使用sklearn进行集成学习——实践> 目录 1 前言2 集成学习是什么?3 偏差和方差 3.1 模型的偏差和方差是什么? ...

  6. 小记初试tornado与ajax,一些注意点

    一. 在 tornado模板中使用自定义方法 在tornado中可以使用两种方式,达到在模板中调用自定义方法的效果,第一种是使用UIMethod 和UIModule. 1.UIMethod使用方法示例 ...

  7. Windows Phone 8.1 新特性 - 控件之FlipView

    本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图. 虽然听起来有点拗口,但是它的用途大家一定不会陌生.在 Windows Phone 8 ...

  8. XML转JSON

    Step 1 : 下载 java-json.jar http://www.java2s.com/Code/JarDownload/java/java-json.jar.zip Step 2: 增加 j ...

  9. && 和 ||的区别

    如果&&左侧表达式的值为真值,则返回右侧表达式的值:否则返回左侧表达式的值. 如果||左侧表达式的值为真值,则返回左侧表达式的值:否则返回右侧表达式的值. 1       如果第一个操 ...

  10. Oozie命令行常用命令汇总[转]

    Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...