启发式算法(Heuristic Algorithm)

背景:

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

问题解答:

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

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

  二、发展

  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

时间: 2024-08-06 05:03:52

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

启发式算法

启发式算法(heuristic algorithm)是相对于最优化算法提出的. 一个问题的最优算法求得该问题每个实例的最优解. 启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计. 现阶段,启发式算法以仿自然体算法为主,主要有蚁群算法.模拟退火法.神经网络等. 现代启发式算法的各种具体实现方法是相对独立提出的,相互之间有一定的区别.从历史上看,现代启发式算法主要有: 模拟

启发式算法是什么意思

启发式算法(heuristic algorithm)是相对于最优化算法提出的.一个问题的最优算法求得该问题每个实例的最优解.启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计. 计算机科学的两大基础目标,就是发现可证明其执行效率良好且可得最佳解或次佳解的算法.而启发式算法则试图一次提供一或全部目标. 例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解:它通常可在合

元启发式算法相关文献

Bibliography [recommendation] a literature survey of various extensions of the VRP occurring in practice : O. Bräysy, M. Gendreau, G. Hasle and A. Løkketangen. “A Survey of Heuristics for the Vehicle Routing Problem, Part I: Basic Problems and Supply

【转】人工智能基本术语(中英文对照)

转自:http://blog.163.com/chenqingshuang_2/blog/static/54409195200710247110161/ 自适应交叉adaptive crossover 自适应变异adaptive mutation 等位基因allele 算术交叉arithmetic crossover 人工生命artificial life 装箱问题Bin Packing 二进制编码基因binary genes 边界变异boundary mutation 基因块假设,积木块假设b

常用的机器学习知识(点)

常用的机器学习&数据挖掘知识(点) 声明:想做机器学习&数据挖掘的学弟学妹,可以看看,转载请说明出处... 常用的机器学习知识(点) Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),MLE(MaximumLikelihood Estimation最大似然估计),QP(Quadratic Programming 二次规划), CP(Conditi

常用的机器学习&数据挖掘知识点

Basis(基础):MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),MLE(MaximumLikelihood Estimation最大似然估计),QP(Quadratic Programming 二次规划), CP(Conditional Probability条件概率),JP(Joint Probability 联合概率),MP(Marginal Probabilit

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

常见的机器学习&数据挖掘知识点 转载请说明出处 Basis(基础): MSE(Mean Squared Error, 均方误差) RMSE(Root Mean Squared Error, 均方根误差) RRSE(Root Relative Squared Error, 相对平方根误差) MAE(Mean Absolute Error, 平均绝对误差) RAE(Root Absolute Error, 平均绝对误差平方根) LSM(Least Mean Squared, 最小均方) LSM(Le

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

转自http://www.36dsj.com/archives/20135 Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),MLE(MaximumLikelihood Estimation最大似然估计),QP(Quadratic Programming 二次规划), CP(Conditional Probability条件概率),JP(Joint P

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

最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等.当时是使用MATLAB来实现的,而且有些MATLAB自带了工具箱,当时有些只是利用工具箱求最优解问题,没有自己动手亲自去实现一遍,现在都忘的差不多了.我觉得那样层次实在是很浅,没有真正理解算法的核心思想.本着"纸上得来终觉浅,绝知此事要躬行"的态度,我决定现在重新复习一遍算法,然后手工用C语言重新实现一遍.说做就做,我第一