algorithm - 贪心算法是否可能也是动态规划算法?
问题描述
算法是否可能greedy
也是dynamic programming
算法?
我上了一堂Analysis of Algorithms
课,但我仍然不确定这两个概念。
我理解贪婪方法使用当前最优解来找到全局最优解,并且 DP 算法重用重叠的子结果。
我相信答案是“是”,但我找不到一个既是贪婪算法又是 DP 算法的好例子。
有人可以给我一个例子吗?
如果上述问题的答案是“否”,那么有人可以向我解释为什么吗?
解决方案
从贝尔曼方程来看:
如果在最小化过程中我们可以将 f 部分(当前时期)与 J 部分(与之前时期的最优)分开,那么这恰好对应于贪婪方法。一个简单的例子是当优化函数是每个时期的成本总和时,
J(u1,u2,...)= sum(f_i(u_i))
.
推荐阅读
- asp.net-core - 带有身份 UI 的 NetCoreApp 3.1 未在我的网址上登录
- java - 使用 Spring Boot 在侦听器中调用带有 @RequestScope 注释的类
- python - 给定数量的访问地点的旅行推销员问题
- c++ - 使用 MySql C++ 连接器调用 MySql 存储过程
- c# - 如何防止 System.NullReferenceException
- flutter - MaxLength 属性 - 更改默认颜色
- javascript - 替换 document.getElementById("demoID").style.color = "blue"; 是否安全 使用 demoID.style.color = "blue";
- python - 为 ML 保存和加载一种热编码
- laravel - 使用一个 post 请求在两个不同的类中插入操作
- reactjs - 太多的重新渲染。React 限制渲染次数以防止无限循环素材