贪心法

贪心法

  贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
  贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

基本思路
思想

  贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。每一步只考虑一个数据,他的选取应该满足局部优化的条件。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止[3] 。
#######过程

  1. 建立数学模型来描述问题;
  2. 把求解的问题分成若干个子问题;
  3. 对每一子问题求解,得到子问题的局部最优解;
  4. 把子问题的解局部最优解合成原来解问题的一个解。

  贪心算法并不一定会使所有问题都能得到全局最优的解,因此贪心算法适用于通过局部最优解可以获得全局最优解的问题。贪心策略是贪心算法求解问题的重要因素之一,直接关系到能否获得局部最优解。因此也可以利用贪心策略进行分析,观察问题是否满足贪心策略,从而推测是否能求得问题的全局最优解。

你可能感兴趣的:(贪心法)