美文网首页
启发式算法

启发式算法

作者: 凌晨的月亮圆又亮 | 来源:发表于2020-06-26 12:29 被阅读0次

近期在回顾启发式算法的原理及代码。所谓的启发式算法,描述起来有点抽象。

\ast 启发式算法的定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,改可行解与最优化的偏离程度一般不能被预计。

我觉得这篇文章中的解释还是不错的,能够帮助理解。


\ast 什么是启发式算法(转) - 知之可否 - CSDN博客 https://blog.csdn.net/gao1440156051/article/details/44564785

下面摘抄出一部分:

启发式方法(试探法)是一种帮你寻求答案的技术,但它给出的答案是具有偶然性的(subject to chance),因为启发式方法仅仅告诉你该如何去找,而没有告诉你要找什么。它并不告诉你该如何直接从A 点到达B 点,它甚至可能连A点和B点在哪里都不知道。实际上,启发式方法是穿着小丑儿外套的算法:它的结果不太好预测,也更有趣,但不会给你什么30 天无效退款的保证。

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

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

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


说到启发式算法,就要说近似算法了。

\ast 近似算法定义:近似算法是计算机科学中算法研究的一个重要方向。所谓“近似”,就是指结果不一定是最优的,但是也在可以承受的范围内,而且可以比精确求解消耗更少的资源。这里的资源是计算复杂性理论中的标准,可以是时间,空间或者询问次数等。

\ast 贪婪算法定义:贪婪法是一种不追求最优解,只希望得到较为满意解的方法。贪婪法一般可以快速得到满意的解,因为它省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪婪法常以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪婪法不要回溯。


启发式算法大致分为三类:

\alpha .进化算法 \beta .群智能算法 \gamma .物理现象算法


进化算法分类:

进化算法包括 遗传算法、进化程序设计、进化规划和 进化策略等 。新算法:EDA(Estimation of Distribution)分布估计算法、DE(Differential Evolution)差分进化算法、SA(Simulation Annealing Algorithm)模拟退火算法、Tabu search(TS)禁忌搜索算法、VNS(Variable Neighborhood Search)变邻域搜索算法、Coevolution Algorithms(CoEA)协同进化算法、CA(Cultural Algorithms)文化算法


群智能算法分类:

相关文章

  • 博客园转载

    启发式算法(Heuristic Algorithm) 启发式算法(Heuristic Algorithm)有不同的...

  • A* 搜索算法

    启发式搜索算法 要理解 A* 搜寻算法,还得从启发式搜索算法开始谈起。所谓启发式搜索,就在于当前搜索结点往下选择下...

  • 启发式算法

    近期在回顾启发式算法的原理及代码。所谓的启发式算法,描述起来有点抽象。 启发式算法的定义:一个基于直观或经验构造的...

  • (3.7学堂在线python学习笔记)

    @[TOC](3.7学堂在线python学习笔记) # 重要笔记 1. 启发式算法 启发式算法(heuristic...

  • 八数码问题的A*算法求解

    A*算法是启发式搜素算法中较为出名和高效的算法之一,其关键是对于启发式函数的实际,启发式函数h(x)需要尽可能的接...

  • 算法2

    算法的分类 精确算法(exact algorithm),总能保证求得问题的解 启发式算法(heuristic al...

  • 遗传算法详解

    遗传算法(Genetic Algorithm)又叫基因进化算法,或进化算法。属于启发式搜索算法一种,这个算法比较...

  • A搜索算法(python)之八数码问题

    什么是启发式搜索算法 启发式搜索(Heuristically Search)又称为有信息搜索(Informed S...

  • A*算法 和 最佳优先搜索算法(Best-First-Searc

    BFS算法 算法原理 最佳优先搜索算法是一种启发式搜索算法(Heuristic Algorithm),其基于广度优...

  • 常用的启发式算法

    什么是启发式算法 启发式算法一般用于解决NP-hard问题,其中NP是指非确定性多项式。 例如,著名的推销员旅行问...

网友评论

      本文标题:启发式算法

      本文链接:https://www.haomeiwen.com/subject/wfosyqtx.html