对比分治法、贪心算法、动态规划


分治法
分--将问题分解为规模更小的子问题
治--将这些规模更小的子问题逐个击破
合--分解出的子问题的解可以合并为原问题的解
这些子问题相互独立且与原问题形式相同,即子问题之间不包含公共的子问题

贪心算法的思想是对问题求解时,总是做出当前看来最好的选择,并不是从整体上加以考虑,
希望通过一系列局部的最优选择,能够产生一个整个问题的最优解。
局部最优是指当前步骤所有可行选择中最佳的局部选择
贪心策略的适用条件
最优子结构——一个问题的最优解包含其子问题的最优解
无后效性——某阶段状态一旦确定,就不受之后阶段的决策影响
贪心选择性——可通过做局部最优选择来达到全局最优解

动态规划用于解决多阶段决策过程的最优化问题,
决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的。
动态规划算法与分治法类似,其基本思想是将待求解问题分解成若干个子问题,
先求解子问题,然后从这些子问题的解出发得到原问题的解。

重复子问题——不同的决策序列,到达某个相同的阶段时,可能会产生重复的状态
无后效性——在推导后面阶段的状态时,只关心前面阶段的状态值,不关心这个状态是怎么一步步推导出来的;
某阶段状态一旦确定,就不受之后阶段的决策影响
最优子结构——一个问题的最优解包含其子问题的最优解

猜你喜欢

转载自www.cnblogs.com/lyt888/p/12533491.html