贪心法——基本思想
- 贪心法,顾名思义表示总是选择当前最优的,以期望达到整体最优。
- 贪心法一般用于求解最优化问题。
- 采用贪心法求最优化问题的算法,一般都包含一系列步骤,每一步都有一组选择,每次都选择当前最优的选择,希望通过局部最优的选择达到全局最优的选择。
- 贪心法不一定总能产生最优解,可能产生近似解甚至完全不正确的答案,故想使用贪心法,最好是能够能够符合贪心法产生优化解的条件。
贪心法产生优化解的条件
- 贪心选择性
- 若一个优化问题的全局优化解可以通过局部优化解选择得到,则该问题称为具有贪心选择性。
- 优化子结构
- 若一个优化问题的优化解包含它的子问题的优化解,则称其具有优化子结构。
需要证明的问题
- 证明算法所求解的问题具有优化子结构。
- 证明算法所求解的问题具有贪心选择性。
- 证明算法确实按照贪心选择性进行局部优化选择。