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