貪心算法2

使用條件利用貪心法求解的問題應具備如下2個特征[4]。1、貪心選擇性質(zhì)一個問題的整體最優(yōu)解可通過一系列局部的最優(yōu)解的選擇達到,并且每次的選擇可以依賴以前作出的選擇,但不依賴于后面要作出的選擇。這就是貪心選擇性質(zhì)。對于一個具體問題,要確定它是否具有貪心選擇性質(zhì),必須證明每一步所作的貪心選擇最終導致問題的整體最優(yōu)解[4]。2、最優(yōu)子結構性質(zhì)當一個問題的最優(yōu)解包含其子問題的最優(yōu)解時,稱此問題具有最優(yōu)子結構性質(zhì)。問題的最優(yōu)子結構性質(zhì)是該問題可用貪心法求解的關鍵所在。在實際應用中,至于什么問題具有什么樣的貪心選擇性質(zhì)是不確定的,需要具體問題具體分析[4]。解題策略貪心算法不從整體最優(yōu)上加以考慮,所做出的僅是在某種意義上的局部最優(yōu)選擇。使用貪心策略要注意局部最優(yōu)與全局最優(yōu)的關系,選擇當前的局部最優(yōu)并不一定能推導出問題的全局最優(yōu)。貪心策略解題需要解決以下兩個問題:[5]1、該問題是否適合使用貪心策略求解,也就是該問題是否具有貪心選擇性質(zhì)[5];2、制定貪心策略,以達到問題的最優(yōu)解或較優(yōu)解[5]。要確定一個問題是否適合用貪心算法求解,必須證明每一步所作的貪心選擇最終導致問題的整體最優(yōu)解。證明的大致過程為:首先考察問題的一個整體最優(yōu)解,并證明可修改這個最優(yōu)解,使其以貪心選擇開始,做了貪心選擇后,原問題簡化為規(guī)模更小的類似子問題。然后用數(shù)學歸納法證明通過每一步做貪心選擇,最終可得到問題的整體最優(yōu)解[5]。存在問題貪心算法也存在如下問題:[6]1、不能保證解是最佳的。因為貪心算法總是從局部出發(fā),并沒從整體考慮[6];2、貪心算法一般用來解決求最大或最小解[6];3、貪心算法只能確定某些問題的可行性范圍[6]。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容