Greedy Method

Nerd~發表於2020-12-19

最優化問題(Optimization Problems)

每個最優化問題包含一個限制條件(constrain)和一個優化函式(optimization function),符合限制條件的求解方案稱作問題的可行解,使優化函式能取得最佳值的解決方案稱作最優解
最優化問題的求解過程就是從諸多可行解中尋找最優解的過程

貪心演算法

在問題求解的每一個階段都有多種選擇,貪心演算法在每一步都做出當時看來最佳的選擇,通過區域性(locally)最優希望達到整體(globally)最優
但貪心演算法這種啟發式的策略並不能保證一定能找到最優解
貪心演算法能求得最優解的兩個要素是貪心選擇性質最優子結構

ps:貪心策略必須是無後效性的,即當前的選擇不會影響之後的狀態

貪心選擇性質

通過做出區域性最優來構造全域性最優
每次選擇只做當前看來最好的選擇,而不考慮子問題的解
在解空間的遍歷,即子問題樹的遍歷過程中,貪心選擇要求只需要從根部一路選擇到葉節點即可,所以說一個貪心演算法通常是自頂向下的

最優子結構

一個問題的最優解包含其子問題的最優解

最優子結構的證明方法(“剪下-貼上”法)

相關文章