当前位置: 首页 » 资讯 » 科普博览 » 科技博览 » 正文

科技名词 | 贪婪算法 greedy algorithm

发布日期:2022-04-24  来源:全国科学技术名词审定委员会  浏览次数:602
放大字体  缩小字体
核心提示:贪婪算法greedy algorithm又称:贪心算法定义:一种不追求全局最优解,只在每一步求得局部最优解的算法。学科:计算机科学技术_理论计算机科学_算法设计与分析相关名词:算法 最优子结构性图片来源: 视觉中国【延伸阅读】贪婪算法是一种用于优化问题的简单、直观的算法。该算法在每个步骤进行最优选择,试图找到解决整个问题的总体最优方法。贪婪算法每做一次贪

贪婪算法  greedy algorithm

又称:贪心算法

定义:一种不追求全局最优解,只在每一步求得局部最优解的算法。

学科:计算机科学技术_理论计算机科学_算法设计与分析

相关名词:算法 最优子结构性

图片来源: 视觉中国

【延伸阅读】

贪婪算法是一种用于优化问题的简单、直观的算法。该算法在每个步骤进行最优选择,试图找到解决整个问题的总体最优方法。贪婪算法每做一次贪婪选择就将所求问题简化为一个规模更小的子问题,在一些最优解问题的求解上表现得更简单、更迅速。

如果求解问题具有贪婪选择属性与最优子结构属性,则可以使用贪婪算法解决。贪婪选择属性是指通过在每个步骤中选择最优选择,可以得到一个全局(总体)最优解。最优子结构是指如果整个问题的最优解包含子问题的最优解,那么问题就有最优子结构。

想象我们要进行一场徒步旅行,目标是到达可能的最高峰。在开始之前我们已经有了地图,但是地图上显示了多条可能的路径。我们没有时间去评估每条路径,就采取贪婪算法,只选择坡度最大的路径。这似乎是一个很好的远足策略,但它总是最好的吗?旅行结束后,我们再次查看远足地图,可能会发现那里有一条泥泞的河,穿过它就能更容易到达峰顶。这意味着贪婪算法总是选择最好的即时路径,而不一定是最终的最佳路径。在优化解决方案方面,这意味着贪婪的解决方案在尝试寻找局部最优解时,可能错过了一个全局最优解。

有很多经典的应用,比如霍夫曼编码,普利姆和克鲁斯卡尔最小生成树算法,还有迪杰斯特拉单源最短路径算法,都是使用了这种思维。然而,在许多问题中,贪婪算法并不会产生最优解,因为贪婪算法没有考虑到所有的数据,当前结果都是基于它前一步的数据而计算出的局部最优结论,缺乏瞻前顾后和统筹全局的能力。所以在贪婪算法失败的问题中,动态规划可能会是更好的选择。

(延伸阅读作者:大连理工大学计算机科学与技术学院教授 杨鑫)

责任编辑:张鹏辉

 
 
[ 资讯搜索 ]  [ 加入收藏 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

免责声明:
本网站部分内容来源于合作媒体、企业机构、网友提供和互联网的公开资料等,仅供参考。本网站对站内所有资讯的内容、观点保持中立,不对内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如果有侵权等问题,请及时联系我们,我们将在收到通知后第一时间妥善处理该部分内容。



 
 

 
推荐图文
推荐资讯
点击排行
最新资讯
友情链接 >> 更多