启发式算法(Heuristic Algorithm)

转自:https://www.cnblogs.com/sddai/p/5644011.html

启发式算法(Heuristic Algorithm)有不同的定义:一种定义为,一个基于直观或经验的构造的算法,对优化问题的实例能给出可接受的计算成本(计算时间、占用空间等)内,给出一个近似最优解,该近似解于真实最优解的偏离程度不一定可以事先预计;另一种是,启发式算法是一种技术,这种技术使得在可接受的计算成本内去搜寻最好的解,但不一定能保证所得的可行解和最优解,甚至在多数情况下,无法阐述所得解同最优解的近似程度。我比较赞同第二种定义,因为启发式算法现在还没有完备的理论体系,只能视作一种技术。

_______________________________________

 

名词解释

Heuristics,我喜欢的翻译是“探索法” ,而不是“启发式”,因为前者更亲民一些,容易被理解。另外,导致理解困难的一个原因是该词经常出现在一些本来就让人迷糊的专业领域语境中,例如,经常看 到某某杀毒软件用启发式方法查毒,普通民众本来就对杀毒软件很敬畏,看到“启发式”就更摸不着北了。

实际上,这个词的解释十分简单,例如,查朗文词典,可以看到:

The use of experience and practical efforts to find answers to questions or to improve performance

维基百科词条heuristic,将其定义为基于经验的技巧(technique),用于解决问题、学习和探索。并对该词进行了更详尽的解释并罗列了多个相关领域:

A heuristic method is used to rapidly come to a solution that is hoped to be close to the best possible answer, or 'optimal solution'. A heuristic is a "rule of thumb", an educated guess, an intuitive judgment or simply common sense.
A heuristic is a general way of solving a problem. Heuristics as a noun is another name for heuristic methods.

Heuristic可以等同于:实际经验估计(rule of thumb)、有依据的猜测(educated guess, a guess beased on a certain amount of information, and therefore likely to be right)和常识(由经验得来的判断力)。


 

一个容易理解的解释

人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法,而不是系统地、以确定的 步骤去寻求答案。启发式解决问题的方法是与算法相对立的。算法是把各种可能性都一一进行尝试,最终能找到问题的答案,但它是在很大的问题空间内,花费大量 的时间和精力才能求得答案。启发式方法则是在有限的搜索空间内,大大减少尝试的数量,能迅速地达到问题的解决。但由于这种方法具有尝试错误的特点,所以也 有失败的可能性。科学家的许多重大发现,常常是利用极为简单的启发式规则。

本节内容摘自互动百科词条《启发式方法》


 

计算机科学和认知科学领域

上节内容很抽象,不知道这个heuristics能干什么,在网络上搜索关于heuristics的相关知识起源于某位朋友说我的一个系统设计是一种启发式的。我真不知道他到底有何所指,暂时也没有机会做深入沟通。在网络上搜索,看到一篇好文章,有关物理符号系统和启发式搜索,可以看出该文作者是有自己的理解的,不是像我这样在网络上surfing。

因为暂时没有时间仔细阅读和理解,看看这篇文章《什么是启发式(heuristic)?》也许能够增加一点直观印象,尤其它举的例子(用以比较启发式方法和算法)

驾驶汽车到达某人的家,写成算法是这样的:沿167 号高速公路往南行至Puyallup;从South Hill Mall 出口出来后往山上开 4.5 英里; 在一个杂物店旁边的红绿灯路口右转,接着在第一个路口左转;从左边褐色大房子的车道进去,就是North Cedar 路714 号。

 

用启发式方法来描述则可能是这样:找出上一次我们寄给你的信,照着信上面的寄出地址开车到这个镇;到了之后你问一下我们的房子在哪里。 这里每个人都认识我们——肯定有人会很愿意帮助你的;如果你找不到人,那就找个公共电话亭给我们打电话,我们会出来接你。

 

  • web3.0
  • 信息提取
  • 知识库
  • 语义网络

 

    • Fuller's blog
    • Login to post comments

 

_________________________________________________________

 

群体智能算法就是启发式算法;研究的重点就是如何平衡局部搜索与全局搜索;有效逃离局部最优解;
近几年比较活跃的算法有如下:
仿动物类的算法:粒子群优化,蚂蚁优化,鱼群算法,蜂群算法等;
仿植物类的算法:向光性算法,杂草优化算法,等等;
仿人类的算法有:和声搜索算法是较好的算法;
近年开始研究情感计算的人较多。
实际应用时差分进化算法较有优势。
关于粒子群算法,理论成熟,应用广泛。



作者:李强
链接:https://www.zhihu.com/question/27666809/answer/43395837
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值