美文网首页
算法图解-贪婪算法

算法图解-贪婪算法

作者: YCzhao | 来源:发表于2018-10-29 10:33 被阅读0次

1. 贪婪算法很简单:每步都采取最优的做法。用专业术语说,就是你每步都选择局部最优解,最终得到的就是全局最优解。

2. NP完全问题
所有的非确定性多项式时间可解的判定问题构成NP类问题

  • 世界七大数学难题之一
    美国麻州的[克雷](Clay)数学研究所于2000年5月24日在巴黎法兰西学院宣布了一件被媒体炒得火热的大事:对七个“千僖年数学难题”的每一个悬赏一百万美元。

    “千僖难题”之一:P (确定性多项式算法)对NP (非确定性多项式算法)

    “千僖难题”之二:霍奇(Hodge)猜想

    “千僖难题”之三:庞加莱(Poincare)猜想

    “千僖难题”之四:黎曼(Riemann)假设

    “千僖难题”之五:杨-米尔斯(Yang-Mills)存在性和质量缺口

    “千僖难题”之六:纳维叶-斯托克斯(Navier-Stokes)方程的存在性与光滑性

    “千僖难题”之七:贝赫(Birch)和斯维讷通-戴尔(Swinnerton-Dyer)猜想

NP完全问题排在百万美元大奖的首位,足见他的显赫地位和无穷魅力。

3.如何识别NP问题

  • 元素较少时算法的运行速度非常快,但随着元素数量的增加,速度会变得非常慢。
  • 涉及“所有组合”的问题通常是NP完全问题。
  • 不能将问题分成小问题,必须考虑各种可能的情况。这可能是NP完全问题。
  • 如果问题涉及序列(如旅行商问题中的城市序列)且难以解决,它可能就是NP完全问题。
  • 如果问题涉及集合(如广播台集合)且难以解决,它可能就是NP完全问题。
  • 如果问题可转换为集合覆盖问题或旅行商问题,那它肯定是NP完全问题。

4.小结

  • 贪婪算法寻找局部最优解,企图以这种方式获得全局最优解。
  • 对于NP完全问题,还没有找到快速解决方案。
  • 面临NP完全问题时,最佳的做法是使用近似算法。
  • 贪婪算法易于实现、运行速度快,是不错的近似算法。

相关文章

  • 代码小工蚁的#《算法图解》#学习笔记-C8贪婪算法

    代码小工蚁的#《算法图解》#学习笔记-C8贪婪算法C8 贪婪算法greedy algorithms 一、贪婪算法 ...

  • 算法图解-贪婪算法

    1. 贪婪算法很简单:每步都采取最优的做法。用专业术语说,就是你每步都选择局部最优解,最终得到的就是全局最优解。 ...

  • 算法(六):图解贪婪算法

    算法简介 参考:https://www.cnblogs.com/steven_oyj/archive/2010/0...

  • 《算法图解》之贪婪算法

    说明:以下内容均参考:[美]Aditya Bhargava所著的《算法图解》 贪婪算法:每步都寻找局部最优解,企图...

  • 2018-05-08

    关于 算法图解 ,贪婪算法,广播台覆盖问题,代码参考http://makaidong.com/lilong1171...

  • 《算法图解》note 8 贪婪算法

    这是《算法图解》的第八篇读书笔记,主要内容是贪婪算法的简介。 1.定义 贪婪算法()是指在解决问题的每一个步骤中,...

  • 读书笔记

    读书笔记/人生算法之无知、衰朽和贪婪 【标题】人生算法之无知、衰朽和贪婪 【书籍】人生算法 【01】人生算法之无知...

  • 贪婪、分治、回溯和动态规划,四种算法的比较

    贪婪算法 贪婪算法,也被称为“贪心算法”。贪婪算法分阶段地工作。在每一个阶段,都可以认为所作决定是好的,而不考虑将...

  • LZW压缩算法

    参考链接:超级简单的数据压缩算法—LZW算法压缩算法——lzw算法实现LZW算法 LZW 压缩算法正确图解

  • 第八章与第九章概要

    贪婪算法 贪婪算法是一种概念,它会得出一个近似结果的近似值,并不能保证每次的算法结果值符合预期。贪婪算法只有一个概...

网友评论

      本文标题:算法图解-贪婪算法

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