五大常用算法总结(穷举法, 贪婪算法,动态规划算法,分治算法,分支限界算法)

				版权声明:本文为博主原创文章,未经博主允许不得转载。					https://blog.csdn.net/changyuanchn/article/details/51476281				</div><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f57960eb32.css"><div id="content_views" class="markdown_views prism-atom-one-dark"><!-- flowchart 箭头图标 勿删 --><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><h2 id="引言"><a name="t0"></a>引言</h2>

据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当数据量比较小时,其实根本就不需要什么算法,写一些for循环完全就可以很快速的搞定了,但是当数据量比较大,场景比较复杂的时候,编写for循环就是一个很不明智的方式了。一是耗时,二是写出的代码绝对是天书。当然还有第三点,这点也是最重要的,写代码是一种艺术,而不是搬砖。前面的文章里对这五种算法都已经做了详细的讲解和归纳,本文主要是一个总结,将这五种算法整理到一起来对比,分析一下。

0) 穷举法

穷举法简单粗暴,没有什么问题是搞不定的,只要你肯花时间。同时对于小数据量,穷举法就是最优秀的算法。就像太祖长拳,简单,人人都能会,能解决问题,但是与真正的高手过招,就颓了。

1) 贪婪算法

贪婪算法可以获取到问题的局部最优解,不一定能获取到全局最优解,同时获取最优解的好坏要看贪婪策略的选择。特点就是简单,能获取到局部最优解。就像打狗棍法,同一套棍法,洪七公和鲁有脚的水平就差太多了,因此同样是贪婪算法,不同的贪婪策略会导致得到差异非常大的结果。
具体的详细解析请参见下面的文章:
http://blog.csdn.net/changyuanchn/article/details/51417211

2) 动态规划算法

当最优化问题具有重复子问题和最优子结构的时候,就是动态规划出场的时候了。动态规划算法的核心就是提供了一个memory来缓存重复子问题的结果,避免了递归的过程中的大量的重复计算。动态规划算法的难点在于怎么将问题转化为能够利用动态规划算法来解决。当重复子问题的数目比较小时,动态规划的效果也会很差。如果问题存在大量的重复子问题的话,那么动态规划对于效率的提高是非常恐怖的。就像斗转星移武功,对手强它也会比较强,对手若,他也会比较弱。
具体的详细解析请参见下面的文章:
http://blog.csdn.net/changyuanchn/article/details/51420028
http://blog.csdn.net/changyuanchn/article/details/51429979

3)分治算法

分治算法的逻辑更简单了,就是一个词,分而治之。分治算法就是把一个大的问题分为若干个子问题,然后在子问题继续向下分,一直到base cases,通过base cases的解决,一步步向上,最终解决最初的大问题。分治算法是递归的典型应用。
具体的详细解析请参见下面的文章:
http://blog.csdn.net/changyuanchn/article/details/17150109
http://blog.csdn.net/changyuanchn/article/details/51465175

4) 回溯算法

回溯算法是深度优先策略的典型应用,回溯算法就是沿着一条路向下走,如果此路不同了,则回溯到上一个
分岔路,在选一条路走,一直这样递归下去,直到遍历万所有的路径。八皇后问题是回溯算法的一个经典问题,还有一个经典的应用场景就是迷宫问题。
具体的详细解析请参见下面的文章:
http://blog.csdn.net/changyuanchn/article/details/17354461

5) 分支限界算法

回溯算法是深度优先,那么分支限界法就是广度优先的一个经典的例子。回溯法一般来说是遍历整个解空间,获取问题的所有解,而分支限界法则是获取一个解(一般来说要获取最优解)。
具体的详细解析请参见下面的文章:
http://blog.csdn.net/changyuanchn/article/details/17102037

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Brain】脑洞从何而来?加州大学最新研究:有创造力的人神经连接会「抄近道」...

来源&#xff1a;量子位为什么有的人更富创造力&#xff1f;总能想到别人不会想到的东西&#xff0c;做别人想不到做的事&#xff1f;最近&#xff0c;这个问题的答案被找到了&#xff1a;有创造力的人&#xff0c;大脑里的神经活动会“抄近道”。加州大学洛杉矶分校的研究人员…

一位老师,一位领导,一个让全体学生考上目标学校的故事

今天&#xff0c;小夕给大家讲一个故事... 从前&#xff0c;有座山...​ 山里&#xff0c;有座学校... 学校里&#xff0c;有一位老师&#xff0c;一位领导&#xff0c;还有五只可爱的小仙(学)女(生)。 这5个学生的名字是&#xff1a;小兔&#xff0c;小青&#xff0c;小路&…

小冰李笛:ChatGPT在向“让你认为它有知识”的方向发展 | MEET 2023

来源&#xff1a;量子位衡宇 整理自 MEET2023ChatGPT技惊四座&#xff0c;甚至不少人认为它已经能“取代搜索引擎”。然而就在MEET2023智能未来大会上&#xff0c;却出现了这样一种迥然相异的观点&#xff1a;未来5年里&#xff0c;大家想要获取知识&#xff0c;最好的方法还是…

特征工程到底是什么?2019百度实习生招聘试题之一

https://www.zhihu.com/question/29316149/answer/110159647

从前,有只小仙女叫...

从前&#xff0c;有只小仙女叫小音✧٩(ˊωˋ*)و✧这一篇真的不是小夕萌的技术文啦(&#xffe3;∇&#xffe3;)今天小夕给大家推送一点好玩的东西~毕竟高中老师说过&#xff0c;不能只学不玩嘛(&#xffe3;∇&#xffe3;)虽然小夕以萌著称\(//∇//)\&#xff0c;但是在da…

DeepMind新研究:AI也懂合纵连横

摘要人类文明的成功&#xff0c;植根于我们通过沟通和制定共同计划进行合作的能力。人工智能主体面临着与人类类似的问题。最近&#xff0c;人工智能公司 DeepMind 展示了AI如何利用沟通在桌游“强权外交”中更好地合作。研究发现&#xff0c;沟通主体容易受到背叛协议者的负面…

从逻辑回归到神经网络

回顾小夕在文章《逻辑回归》中详细讲解了逻辑回归模型&#xff0c;又在《Sigmoid与Softmax》中详细讲解了Sigmoid的实际意义&#xff08;代表二类分类问题中&#xff0c;其中一个类别的后验概率&#xff09;。至此&#xff0c;我们已经比较透彻的理解了逻辑回归模型假设函数(也…

华为2019年校招(20届实习)机考题python版解答与思路(2019-3-13软件题)

试题为今天考试时记下&#xff0c;记于此仅做学习分享。侵删。 答案思路仅供参考&#xff0c;肯定有更优的办法&#xff01;第三题没解出来&#xff0c;欢迎大家评论提点&#xff01; 第一题&#xff1a; 这道题对输入做切分&#xff08;调用split()方法&#xff09;后&#xf…

语言模型生成了自然界不存在的蛋白质,图灵奖得主LeCun:蛋白质编程来了

来源&#xff1a;药学前沿进展Meta&#xff1a;设计蛋白质这件事&#xff0c;语言模型就能干。用机器学习去研究蛋白质结构预测&#xff0c;吸引了众多科技大厂、科研机构的目光纷纷投入其中&#xff0c;这期间&#xff0c;他们也产出了重要成果。如在 2021 年 《Science》的十…

神经网络中的偏置项b到底是什么?

前言很多人不明白为什么要在神经网络、逻辑回归中要在样本X的最前面加一个1&#xff0c;使得 X[x1,x2,…,xn] 变成 X[1,x1,x2,…,xn] 。因此可能会犯各种错误&#xff0c;比如漏了这个1&#xff0c;或者错误的将这个1加到WX的结果上&#xff0c;导致模型出各种bug甚至无法收敛。…

【重版】朴素贝叶斯与拣鱼的故事

重版公告由于小夕之后要讲的好几篇文章要基于这一篇的知识&#xff0c;但是以前写的的这篇文章对朴素贝叶斯的讨论不够深入&#xff0c;又不值得再额外写一篇朴素贝叶斯啦&#xff0c;因此本文重版了以前的文章《朴素贝叶斯》。与旧版相比&#xff0c;新版对基础知识的讲解进行…

2022,这些国之重器让人眼前一亮!

来源&#xff1a;新华社2022即将收官这一年我们有许多难忘的回忆回顾&#xff0c;是为了更好出发我们将这一年各领域走过的壮阔征程制作成了精美的系列海报第一期让我们来看看那些让人眼前一亮的国之重器它们——上天入海&#xff01;乘风破浪&#xff01;贯通聚能&#xff01;…

“猜心思”的Hard模式:问答系统在智能法律场景的实践与优化

http://www.zhuanzhi.ai/document/a6d4c42cdd38abe83aa71e744c0e8e89

逻辑回归与朴素贝叶斯的战争

0一起走过的首先&#xff0c;小夕带领大家回顾一下文章《逻辑回归》、《Sigmoid与Softmax》、《朴素贝叶斯》中的几点内容&#xff0c;这几点内容也是本文的前置知识&#xff1a;1. 逻辑回归模型的表达式(假设函数)&#xff1a;&#xff0c;其中。2. 逻辑回归模型本质上是二类分…

OpenAI年底上新,单卡1分钟生成3D点云,text-to 3D告别高算力消耗时代

来源&#xff1a;大数据文摘授权转载自HyperAI超神经作者&#xff1a;三羊OpenAI 年底冲业绩&#xff0c;半个多月前发布的 ChatGPT 广大网友还没玩明白&#xff0c;近日又悄么发布了另一利器--可以依据文本提示&#xff0c;直接生成 3D 点云的 PointE。text-to-3D&#xff1a;…

机器学习相关从业者如何兼顾理论与工程能力

理论与工程首先&#xff0c;小夕说一下自己目前对理论与工程的理解吧&#xff0c;这也是小夕当前研究理论和熟练工程时主要的出发点。&#xff08;仅为个人思考&#xff0c;请勿当成真理理论注重的是学科中各个知识点的大一统&#xff0c;将各种散乱的算法、现象、技巧来归结到…

万字拆解!追溯ChatGPT各项能力的起源

导语一篇十分深度剖析GPT系列模型的文章&#xff0c;作者翻译成了中文&#xff0c;在这里分享给大家。来源&#xff1a;李rumor作者&#xff1a;符尧, yao.fued.ac.uk&#xff0c;爱丁堡大学 (University of Edinburgh) 博士生&#xff0c;本科毕业于北京大学与 彭昊&#xff0…

用excel做数据分析

我们先来看看某公司全国产品销售的报表&#xff08;截取了部分&#xff09; 某公司全国产品销售的报表通过货品销售数据案例&#xff0c;需反映如下结果&#xff1a; 货品销售情况货品交货情况销售货品结构构成货品销售区域构成货品按时交货与合格品综合评价 我们使用 excel 进…

消失了一周的小夕在玩什么啦?

啊&#xff0c;你们的小夕回来啦~有没有被吓到(&#xffe3;∇&#xffe3;)0小夕在玩什么小夕&#xff0c;终于&#xff0c;在今天&#xff0c;把&#xff0c;各种deadline&#xff0c;完成了(Д )首先&#xff0c;小夕要像大家深深的说一声谢谢啦。好多天没有打开订阅号的后台…