貪心算法,AI算法中不常見的算法
貪心算法(又稱貪婪算法)是指,在對問題求解時,總是做出在當(dāng)前看來是最好的選擇。也就是說,不從整體最優(yōu)上加以考慮,算法得到的是在某種意義上的局部最優(yōu)解。
貪心算法不是對所有問題都能得到整體最優(yōu)解,關(guān)鍵是貪心策略的選擇。
算法思路
貪心算法一般按如下步驟進(jìn)行:
①建立數(shù)學(xué)模型來描述問題 。
②把求解的問題分成若干個子問題。
③對每個子問題求解,得到子問題的局部最優(yōu)解 。
④把子問題的解局部最優(yōu)解合成原來解問題的一個解 。
貪心算法是一種對某些求最優(yōu)解問題的更簡單、更迅速的設(shè)計技術(shù)。貪心算法的特點是一步一步地進(jìn)行,常以當(dāng)前情況為基礎(chǔ)根據(jù)某個優(yōu)化測度作最優(yōu)選擇,而不考慮各種可能的整體情況,省去了為找最優(yōu)解要窮盡所有可能而必須耗費的大量時間。貪心算法采用自頂向下,以迭代的方法做出相繼的貪心選擇,每做一次貪心選擇,就將所求問題簡化為一個規(guī)模更小的子問題,通過每一步貪心選擇,可得到問題的一個最優(yōu)解。雖然每一步上都要保證能獲得局部最優(yōu)解,但由此產(chǎn)生的全局解有時不一定是最優(yōu)的,所以貪心算法不要回溯。
算法特性
貪心算法可解決的問題通常大部分都有如下的特性:
1、有一個以最優(yōu)方式來解決的問題。為了構(gòu)造問題的解決方案,有一個候選的對象的集合:比如不同面值的硬幣 。
2、隨著算法的進(jìn)行,將積累起其他兩個集合:一個包含已經(jīng)被考慮過并被選出的候選對象,另一個包含已經(jīng)被考慮過但被丟棄的候選對象 。
3、有一個函數(shù)來檢查一個候選對象的集合是否提供了問題的解答。該函數(shù)不考慮此時的解決方法是否最優(yōu) 。
4、還有一個函數(shù)檢查是否一個候選對象的集合是可行的,即是否可能往該集合上添加更多的候選對象以獲得一個解。和上一個函數(shù)一樣,此時不考慮解決方法的最優(yōu)性 。
5、選擇函數(shù)可以指出哪一個剩余的候選對象最有希望構(gòu)成問題的解 。
6、最后,目標(biāo)函數(shù)給出解的值。
使用條件
利用貪心法求解的問題應(yīng)具備如下2個特征 。
1、貪心選擇性質(zhì)
一個問題的整體最優(yōu)解可通過一系列局部的最優(yōu)解的選擇達(dá)到,并且每次的選擇可以依賴以前作出的選擇,但不依賴于后面要作出的選擇。這就是貪心選擇性質(zhì)。對于一個具體問題,要確定它是否具有貪心選擇性質(zhì),必須證明每一步所作的貪心選擇最終導(dǎo)致問題的整體最優(yōu)解 。
2、最優(yōu)子結(jié)構(gòu)性質(zhì)
當(dāng)一個問題的最優(yōu)解包含其子問題的最優(yōu)解時,稱此問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。問題的最優(yōu)子結(jié)構(gòu)性質(zhì)是該問題可用貪心法求解的關(guān)鍵所在。在實際應(yīng)用中,至于什么問題具有什么樣的貪心選擇性質(zhì)是不確定的,需要具體問題具體分析。
解題策略
貪心算法不從整體最優(yōu)上加以考慮,所做出的僅是在某種意義上的局部最優(yōu)選擇。使用貪心策略要注意局部最優(yōu)與全局最優(yōu)的關(guān)系,選擇當(dāng)前的局部最優(yōu)并不一定能推導(dǎo)出問題的全局最優(yōu)。貪心策略解題需要解決以下兩個問題:
1、該問題是否適合使用貪心策略求解,也就是該問題是否具有貪心選擇性質(zhì);
2、制定貪心策略,以達(dá)到問題的最優(yōu)解或較優(yōu)解 。
要確定一個問題是否適合用貪心算法求解,必須證明每一步所作的貪心選擇最終導(dǎo)致問題的整體最優(yōu)解。證明的大致過程為:首先考察問題的一個整體最優(yōu)解,并證明可修改這個最優(yōu)解,使其以貪心選擇開始,做了貪心選擇后,原問題簡化為規(guī)模更小的類似子問題。然后用數(shù)學(xué)歸納法證明通過每一步做貪心選擇,最終可得到問題的整體最優(yōu)解。
存在問題
貪心算法也存在如下問題:
1、不能保證解是最佳的。因為貪心算法總是從局部出發(fā),并沒從整體考慮 ;
2、貪心算法一般用來解決求最大或最小解 ;
3、貪心算法只能確定某些問題的可行性范圍 。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
11月20日火熱報名中>> 2024 智能家居出海論壇
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
精彩回顧立即查看>> 【在線會議】多物理場仿真助跑新能源汽車
推薦專題
- 1 腦機接口芯片,華為出了新專利!
- 2 巨頭搶布局,VC狂撒錢,為了能讓「AI讀心」這些公司卷瘋了
- 3 蘋果市值創(chuàng)新高,iPhone 16能否助力突破4萬億美元大關(guān)?
- 4 地平線開啟配售,阿里百度各砸5000萬美金,市值最高超500億
- 5 小馬智行沖刺納斯達(dá)克:或成「全球Robotaxi第一股」,兩年半營收約12億元
- 6 云從科技:營收低迷與虧損加劇,2025年盈利目標(biāo)挑戰(zhàn)重重
- 7 AI奇跡:域名賣爆,無名小島意外賺2億
- 8 逆境求生,泄密風(fēng)波中的高精地圖
- 9 特斯拉無人駕駛來了,馬斯克的餅卻不香了
- 10 未來的大模型,或許都是A卡來算的?
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市