贪心:
概述:
决策者当前的做出决策不会影响到后续的决策选择,那么每一步都做出最优的决策则可达到全局最优解。
以下我们来看一个
例子:
决策者要从状态A到达状态G,状态A经过决策b可以到达状态B,经过决策c可以到达状态C,以此类推,具体情况见下图。(边代表决策,节点代表状态)

观察此图可以发现一个很重要的点:状态B/C都可以到达状态E/F,即不管你选择决策b到达状态B,还是决策c到达状态C,都可以从状态B/C做出同等的代价e/f到达状态E/F,即当前的决策不会影响到后续的决策。
那么决策者可以在每一步的决策中都选择最优的方式到达下一个状态,以此达到全局最优的情况。
没明白?没事,和以下的动态规划对比一下就明白了。
动态规划:
动态规划的两个核心思想:
1.状态转移
2.记录状态(因为问题的特性:状态可能被多次调用,这个特性也是决定一个问题能否使用动态规划的关键点)
概述:
决策者当前的做出决策会影响到后续的决策选择,决策时,当前状态是从(前一状态的花费+转移花费)中选择一个最优的,从而达到一个状态转移到另一个状态的目的,最终使得达到目标状态时是最优的状态。
是不是听着和贪心很像,但是确有不同,贪心是只考虑了一条路,而动态规划是考虑了全局。

本文详细解析了贪心算法和动态规划的区别。贪心策略每次选择局部最优解,而动态规划则考虑全局最优,通过状态转移和记录状态来避免重复计算,确保达到全局最优。动态规划的核心在于状态转移和状态记录,适用于多步决策且状态可能被多次调用的问题。举例说明了两者在路径规划问题中的应用,进一步突显它们的差异。
最低0.47元/天 解锁文章
1043





