




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章貪心算法1學習要點理解貪心算法的概念。掌握貪心算法的基本要素(1)最優(yōu)子結構性質(2)貪心選擇性質理解貪心算法與動態(tài)規(guī)劃算法的差異理解貪心算法的一般理論通過應用范例學習貪心設計策略。(1)活動安排問題;(2)最優(yōu)裝載問題;(3)哈夫曼編碼;(4)單源最短路徑;(5)最小生成樹;(6)多機調度問題。2
顧名思義,貪心算法總是作出在當前看來最好的選擇。也就是說貪心算法并不從整體最優(yōu)考慮,它所作出的選擇只是在某種意義上的局部最優(yōu)選擇。當然,希望貪心算法得到的最終結果也是整體最優(yōu)的。雖然貪心算法不能對所有問題都得到整體最優(yōu)解,但對許多問題它能產生整體最優(yōu)解。如單源最短路經問題,最小生成樹問題等。在一些情況下,即使貪心算法不能得到整體最優(yōu)解,其最終結果卻是最優(yōu)解的很好近似。34.1活動安排問題
活動安排問題就是要在所給的活動集合中選出最大的相容活動子集合,是可以用貪心算法有效求解的很好例子。該問題要求高效地安排一系列爭用某一公共資源的活動。貪心算法提供了一個簡單、漂亮的方法使得盡可能多的活動能兼容地使用公共資源。44.1活動安排問題
設有n個活動的集合E={1,2,…,n},其中每個活動都要求使用同一資源,如演講會場等,而在同一時間內只有一個活動能使用這一資源。每個活動i都有一個要求使用該資源的起始時間si和一個結束時間fi,且si<fi。如果選擇了活動i,則它在半開時間區(qū)間[si,fi)內占用資源。若區(qū)間[si,fi)與區(qū)間[sj,fj)不相交,則稱活動i與活動j是相容的。也就是說,當si≥fj或sj≥fi時,活動i與活動j相容。54.1活動安排問題template<classType>voidGreedySelector(intn,Types[],Typef[],boolA[]){A[1]=true;intj=1;for(inti=2;i<=n;i++){if(s[i]>=f[j]){A[i]=true;j=i;}elseA[i]=false;}}下面給出解活動安排問題的貪心算法GreedySelector:各活動的起始時間和結束時間存儲于數組s和f中且按結束時間的非減序排列
64.1活動安排問題 由于輸入的活動以其完成時間的非減序排列,所以算法greedySelector每次總是選擇具有最早完成時間的相容活動加入集合A中。直觀上,按這種方法選擇相容活動為未安排活動留下盡可能多的時間。也就是說,該算法的貪心選擇的意義是使剩余的可安排時間段極大化,以便安排盡可能多的相容活動。
算法greedySelector的效率極高。當輸入的活動已按結束時間的非減序排列,算法只需O(n)的時間安排n個活動,使最多的活動能相容地使用公共資源。如果所給出的活動未按非減序排列,可以用O(nlogn)的時間重排。74.1活動安排問題
例:設待安排的11個活動的開始時間和結束時間按結束時間的非減序排列如下:i1234567891011S[i]130535688212f[i]456789101112131484.1活動安排問題
算法greedySelector的計算過程如左圖所示。圖中每行相應于算法的一次迭代。陰影長條表示的活動是已選入集合A的活動,而空白長條表示的活動是當前正在檢查相容性的活動。94.1活動安排問題
若被檢查的活動i的開始時間Si小于最近選擇的活動j的結束時間fi,則不選擇活動i,否則選擇活動i加入集合A中。
貪心算法并不總能求得問題的整體最優(yōu)解。但對于活動安排問題,貪心算法greedySelector卻總能求得的整體最優(yōu)解,即它最終所確定的相容活動集合A的規(guī)模最大。這個結論可以用數學歸納法證明。104.2貪心算法的基本要素
本節(jié)著重討論可以用貪心算法求解的問題的一般特征。 對于一個具體的問題,怎么知道是否可用貪心算法解此問題,以及能否得到問題的最優(yōu)解呢?這個問題很難給予肯定的回答。但是,從許多可以用貪心算法求解的問題中看到這類問題一般具有2個重要的性質:貪心選擇性質和最優(yōu)子結構性質。
114.2貪心算法的基本要素1、貪心選擇性質所謂貪心選擇性質是指所求問題的整體最優(yōu)解可以通過一系列局部最優(yōu)的選擇,即貪心選擇來達到。這是貪心算法可行的第一個基本要素,也是貪心算法與動態(tài)規(guī)劃算法的主要區(qū)別。動態(tài)規(guī)劃算法通常以自底向上的方式解各子問題,而貪心算法則通常以自頂向下的方式進行,以迭代的方式作出相繼的貪心選擇,每作一次貪心選擇就將所求問題簡化為規(guī)模更小的子問題。
對于一個具體問題,要確定它是否具有貪心選擇性質,必須證明每一步所作的貪心選擇最終導致問題的整體最優(yōu)解。124.2貪心算法的基本要素
當一個問題的最優(yōu)解包含其子問題的最優(yōu)解時,稱此問題具有最優(yōu)子結構性質。問題的最優(yōu)子結構性質是該問題可用動態(tài)規(guī)劃算法或貪心算法求解的關鍵特征。2、最優(yōu)子結構性質134.2貪心算法的基本要素
貪心算法和動態(tài)規(guī)劃算法都要求問題具有最優(yōu)子結構性質,這是2類算法的一個共同點。但是,對于具有最優(yōu)子結構的問題應該選用貪心算法還是動態(tài)規(guī)劃算法求解?是否能用動態(tài)規(guī)劃算法求解的問題也能用貪心算法求解?下面研究2個經典的組合優(yōu)化問題,并以此說明貪心算法與動態(tài)規(guī)劃算法的主要差別。3、貪心算法與動態(tài)規(guī)劃算法的差異144.2貪心算法的基本要素0-1背包問題:
給定n種物品和一個背包。物品i的重量是Wi,其價值為Vi,背包的容量為C。應如何選擇裝入背包的物品,使得裝入背包中物品的總價值最大?
在選擇裝入背包的物品時,對每種物品i只有2種選擇,即裝入背包或不裝入背包。不能將物品i裝入背包多次,也不能只裝入部分的物品i。154.撐2貪心柳算法析的基介本要論素背包酸問題靠:與0-符1背包睜問題尼類似鬼,所殊不同困的是顧在選帆擇物攏品i裝入沫背包撥時,可以爭選擇深物品i的一勢部分,而型不一木定要索全部遍裝入坐背包穩(wěn),1≤驗i≤夸n。這2類問卷題都亦具有最優(yōu)株子結伴構性質采,極肅為相董似,登但背碌包問蛛題可氏以用差貪心皆算法煉求解堆,而0-刃1背包好問題加卻不北能用測貪心的算法臉求解及。164.文2貪心洽算法董的基陪本要半素首先石計算障每種透物品黎單位充重量附的價繁值Vi冷/Wi,然墨后,鋤依貪朝心選爹擇策向略,銀將盡弊可能購多的單位杯重量挖價值獻最高的物亂品裝膠入背杠包。攏若將虧這種饑物品俘全部舉裝入短背包巡壽后,報背包鋼內的渴物品數總重寨量未量超過C,則服選擇貴單位疏重量造價值膝次高臂的物疾品并摸盡可縫能多吩地裝印入背島包。微依此瘡策略絲式一直汪地進戰(zhàn)行下銹去,盤直到移背包驅裝滿朋為止?jié)u。具體部算法踏可描煤述如風下頁招:用貪匙心算貌法解淺背包祥問題料的基釘本步右驟:174.叼2貪心效算法掠的基烈本要厭素vo宣idKn疏ap絞sa凳ck(i術ntn,搶fl哲oa出tM,倍fl喬oa潤tv[吵],偏fl兆oa臟tw[才],芝fl弦oa詠tx[社]){So拳rt阻(n柱,v年,w);in鳴ti;fo府r海(i腎=1染;i耍<=n;絹i++煌)x[物i]=討0;fl瀉oa蓮t隨c=皆M;fo厲r客(i余=1那;i瘋<=n;寄i++蒸)滴{if券(w[始i]>除c)閥b迫re取ak名;x[僻i]=劃1;c-惱=w[工i];}if昨(窮i<指=n牙)x[赴i]=c/落w[壁i];}算法kn柳ap盯sa蜘ck的主闊要計情算時贊間在于于將代各種曬物品量依其包單位次重量丈的價剝值從連大到妻小排君序。宗因此育,算璃法的扇計算負時間證上界到為O(nl或og云n)。為了技證明藏算法車的正浙確性繪,還金必須唇證明稱背包勇問題姑具有保貪心垂選擇頭性質。184.較2貪心悶算法倚的基驢本要煩素對于0-勞1背包聚問題,貪寬心選待擇之祖所以穗不能寺得到孕最優(yōu)旺解是目因為靠在這決種情拋況下蛋,它繞無法顆保證膝最終峰能將佩背包噴裝滿舍,部取分閑聾置的貴背包非空間榜使每貓公斤鍵背包燥空間贈的價蕉值降奏低了既。事衛(wèi)實上牛,在塞考慮0-軍1背包初問題堵時,免應比蒼較選掏擇該悲物品灑和不稅選擇轎該物園品所練導致揀的最線終方糟案,隱然后襖再作塘出最波好選許擇。羨由此瘡就導穩(wěn)出許父多互皂相重柱疊的代子問綁題。梳這正鳴是該吉問題羞可用動態(tài)燃規(guī)劃老算法求解繼的另集一重料要特羽征。實際閣上也威是如通此,縱動態(tài)伐規(guī)劃逃算法做的確衰可以灰有效究地解0-畢1背包宿問題移。194.倒3最優(yōu)提裝載有一范批集蛋裝箱祖要裝干上一鳴艘載平重量牌為c的輪壤船。冰其中誦集裝應箱i的重掀量為Wi。最姐優(yōu)裝虧載問紹題要屋求確脾定在程裝載晴體積臉不受她限制烏的情胖況下扇,將太盡可汗能多銜的集規(guī)裝箱跨裝上趟輪船谷。1、算登法描凈述最優(yōu)可裝載哄問題極可用對貪心側算法廳求解線。采廉用重蛾量最疫輕者辮先裝衫的貪酒心選砍擇策彎略,番可產勤生最只優(yōu)裝表載問毀題的莖最優(yōu)楊解。擊具體偶算法亦描述僻如下輪頁。204.臘3最優(yōu)寬裝載te挪mp跑la悉te治<c類la閱ss魔T往yp擱e>vo扯idLo溜ad石in夏g(i嘗ntx[提],覽Ty暫pe黃w波[]腰,波Ty駱pe終c崗,in杠tn){in赤t*t瓶=遷n該ewin璃t[n寧+1扔];So蠢rt森(w派,框t,乘n需);fo飼r翻(in悶ti賞=肢1;位i霜<啞=將n;湯i資++默)腫x[情i]微=君0四;fo遼r授(in判ti碎=炕1;旺i敲<榜=懶n族&&弄w遵[t奮[i湖]]總<取=幸c;得i司++暖)塞{x臟[t夫[i浩]]促=雷1騙;傷c棄-=勸w紙[t點[i歐]]植;}}214.殃3最優(yōu)六裝載2、貪繁心選傍擇性潮質可以始證明洗最優(yōu)餡裝載盯問題從具有并貪心溉選擇凱性質。3、最慈優(yōu)子飛結構欺性質最優(yōu)堤裝載鋼問題琴具有復最優(yōu)哨子結查構性喬質。由最戶優(yōu)裝婆載問仰題的荒貪心碗選擇村性質綠和最球優(yōu)子易結構悅性質禿,容摔易證矮明算炎法lo駛ad也in莖g的正黎確性初。算法lo飛ad帳in平g的主世要計杰算量鍵在于鴉將集氏裝箱誤依其掌重量思從小騾到大揀排序床,故佛算法柏所需狂的計鍬算時肺間為O(嚷nl鳴og匠n)。224.瞞4哈夫射曼編閃碼哈夫唯曼編小碼是廣危泛地汁用于許數據革文件悉壓縮悄的十宏分有舅效的暮編碼慣方法頓。其染壓縮橡率通靠常在20而%~90以%之間繡。哈逢夫曼愧編碼衣算法哄用字聞符在椒文件錄中出探現的羨頻率磚表來羨建立費一個叉用0,1串表刑示各犬字符聯的最亂優(yōu)表秘示方澆式。給出甚現頻炕率高勺的字唯符較叉短的盒編碼羞,出招現頻服率較綠低的欠字符恨以較蕩長的愈編碼飾,可貢以大敵大縮起短總描碼長慶。1、前際綴碼對每君一個箱字符竟規(guī)定睡一個0,湯1串作狗為其搜代碼巷,并點要求撞任一絲式字符深的代猾碼都永不是械其它霜字符仔代碼忠的前泳綴。召這種圈編碼寒稱為前綴恭碼。234.遇4哈夫四曼編揀碼編碼肅的前敏綴性東質可漫以使罪譯碼集方法始非常輸簡單詳。表示最優(yōu)盤前綴碗碼的二律叉樹騾總是杰一棵完全姻二叉咽樹,即多樹中漏任一乓結點趴都有2個兒從子結鄉(xiāng)豐點。平均斬碼長定義段為:使平怪均碼彈長達棵到最朵小的揮前綴牢碼編榮碼方內案稱仍為給咬定編宵碼字蜂符集C的最優(yōu)頌前綴晚碼。244.卸4哈夫變曼編拌碼2、構寧造哈籍夫曼榮編碼哈夫肆曼提旋出構拒造最雖優(yōu)前應綴碼知的貪緩心算盲法,固由此蔬產生品的編曲碼方續(xù)案稱杏為哈夫喝曼編依碼。哈夫猶曼算政法以百自底割向上背的方政式構披造表首示最問優(yōu)前匠綴碼糟的二爆叉樹T。算法亮以|C攜|個葉錫結點雖開始趣,執(zhí)油行|C川|-1次的叉“合原并”站運算米后產頸生最服終所總要求卡的樹T。254.北4哈夫阻曼編織碼在書抖上給冠出的臥算法hu咳ff禽ma收nT更re聾e中,錯編碼宣字符柴集中抖每一泉字符c的頻的率是f(繭c)。以f為鍵票值的元優(yōu)先肆隊列Q用在貪心摔選擇時有占效地效確定宴算法縣當前勉要合勇并的2棵具稀有最蜜小頻餃率的飛樹。玩一旦2棵具俘有最漏小頻襖率的逆樹合嬌并后碎,產蕩生一責棵新燥的樹赤,其城頻率貸為合扛并的2棵樹寶的頻墨率之豈和,蓬并將廊新樹久插入院優(yōu)先魄隊列Q。經渠過n-1次的驢合并潔后,緣瑞優(yōu)先廢隊列鐮中只款剩下夠一棵有樹,亭即所您要求舍的樹T。算法hu扶ff何ma男nT鄰re狡e用最茫小堆質實現辜優(yōu)先倍隊列Q。初飼始化慮優(yōu)先冬隊列取需要O(糧n)計算剝時間區(qū),由短于最撐小堆借的re牌mo保ve橡Mi圈n和pu悟t運算將均需O(腎lo慕gn)時間閱,n-1次的遠合并敗總共糧需要O(游nl艘og駛n)計算拔時間傍。因謠此,鞭關于n個字村符的襪哈夫暫曼算訊法的計算嶺時間為O(短nl受og值n)。264.享4哈夫主曼編蓋碼3、哈準夫曼僚算法膊的正饅確性要證憐明哈登夫曼棄算法謹的正嘩確性叉,只傭要證佳明最楚優(yōu)前曠綴碼擦問題玩具有貪心暢選擇檔性質和最優(yōu)慰子結談構性槳質。(1這)貪心駁選擇厲性質(2翼)最優(yōu)京子結莊構性豆質274.族5單源盼最短鐘路徑給定輝帶權曬有向日圖G眨=(弦V,貸E),其再中每旗條邊銀的權磨是非散負實靈數?;萘硗饪v,還跳給定V中的滋一個掌頂點豎,稱億為源?,F輩在要精計算朱從源耳到所妨有其魔它各食頂點斬的最短適路長貧度。這運里路鮮的長退度是棕指路落上各尾邊權蘭之和濁。這最個問篇題通宵常稱肢為單源業(yè)最短扇路徑胡問題。1、算襲法基嬌本思勾想Di鏟jk客st融ra算法雕是解斃單源牌最短揮路徑燃問題齡的貪喊心算慰法。284.洽5單源戚最短申路徑其基本池思想是,賤設置訂頂點縣集合S并不例斷地只作貪心恭選擇來擴固充這余個集滿合。暑一個表頂點渾屬于盛集合S當且辱僅當瞇從源鴨到該順頂點棵的最胃短路駝徑長供度已防知。初始祖時,S中僅蔑含有卡源。強設u是G的某晨一個凱頂點率,把奏從源須到u且中俊間只權經過S中頂研點的稻路稱項為從引源到u的特特殊路粒徑,彈并用做數組di忠st記錄畏當前席每個異頂點膊所對紗應的站最短馳特殊與路徑紋長度扶。Di識jk研st塑ra算法鵝每次巷從V-掩S中取載出具沙有最而短特滴殊路劉長度圈的頂漿點u,將u添加被到S中,藏同時治對數律組di忌st作必信要的燙修改浙。一翅旦S包含憑了所將有V中頂形點,di狀st就記征錄了抖從源柄到所智有其權它頂趨點之步間的填最短菊路徑產長度毯。294.灘5單源形最短緊路徑例如,對糞右圖估中的案有向猶圖,污應用Di宿jk百st拐ra算法跟計算然從源字頂點1到其典它頂貝點間槐最短痕路徑記的過蒼程列角在下嬌頁的遣表中爹。304.著5單源趟最短怒路徑迭代Sudist[2]dist[3]dist[4]dist[5]初始{1}-10maxint301001{1,2}21060301002{1,2,4}4105030903{1,2,4,3}3105030604{1,2,4,3,5}510503060Di桑jk睜st萬ra算法學的迭臥代過珠程:314.墻5單源韻最短嗓路徑2、算傻法的底正確恒性和歉計算善復雜侵性(1疾)貪心珍選擇耳性質(2罪)最優(yōu)爬子結袋構性桃質(3曉)計算跑復雜廳性對于編具有n個頂棍點和e條邊妥的帶貨權有軟向圖臟,如換果用貝帶權和鄰接芬矩陣扒表示病這個抗圖,儲那么Di派jk襪st敘ra算法俘的主簡循環(huán)脂體需珠要歪時咱間。娛這個忌循環(huán)袍需要衫執(zhí)行n-仗1次,喜所以捐完成江循環(huán)碼需要握時善間。榮算法恥的其喚余部敘分所里需要境時間尤不超分過厭。324.除6最小超生成款樹設G鬧=(當V,百E)是無鄭向連全通帶麻權圖州,即帝一個網絡。E中每圾條邊(v,搜w)的權穩(wěn)為c[暑v]莊[w]。如螺果G的子姨圖G’是一尤棵包端含G的所丙有頂禁點的罩樹,肌則稱G’為G的生慈成樹亞。生寧成樹腰上各銜邊權么的總污和稱楚為該趟生成艘樹的耗費。在G的所塌有生膛成樹肢中,滴耗費樹最小派的生薄成樹始稱為G的最小鋪生成胡樹。網絡騙的最爐小生摸成樹分在實賞際中員有廣矛泛應戲用。例如,在畜設計漢通信晝網絡強時,疾用圖貴的頂廈點表打示城拘市,豎用邊(v,吃w)的權c[撤v]得[w]表示坡建立翅城市v和城壩市w之間壩的通雞信線捉路所束需的釀費用兵,則酷最小殘生成躺樹就液給出殃了建辰立通葛信網利絡的憤最經混濟的砍方案別。334.訊6最小紋生成診樹1、最廟小生籃成樹針性質用貪穴心算揭法設勺計策雹略可攜以設謙計出延構造導最小覽生成秀樹的也有效斗算法域。本案節(jié)介弓紹的刮構造云最小幸生成懲樹的Pr洋im算法和Kr標us賴ka輛l算法都可成以看僚作是治應用塞貪心火算法莖設計度策略掘的例仇子。嶄盡管選這2個算熔法做熟貪心株選擇裙的方侵式不薪同,令它們歉都利慶用了寬下面飛的最小愚生成售樹性炭質:設G=獅(V略,E散)是連嫁通帶巷權圖儲,U是V的真惡子集疾。如公果(u,裳v)E,且uU,vV-U,且示在所社有這遲樣的轉邊中專,(u,貌v)的權c[貓u]急[v]最小北,那迎么一劣定存虧在G的一索棵最湯小生云成樹皺,它錘以(u,譯v)為其廁中一候條邊吊。這以個性墓質有訪時也突稱為MS皂T性質。344.雄6最小絨生成旁樹2、Pr襯im算法設G=毛(V勻,E脫)是連熔通帶麻權圖秩,V=債{1濃,2鳴,…駝,n辨}。構造G的最蝕小生稈成樹橡的Pr代im算法蛋的基本聯思想是:民首先壓置S=歇{1利},然送后,峽只要S是V的真范子集什,就般作如歉下的貪心訓選擇:選取晶滿足嚇條件iS,jV-S,且c[純i]帆[j]最小速的邊刻,將經頂點j添加捆到S中。鼓這個抱過程雖一直捷進行燈到S=處V時為捏止。在這餃個過煮程中糖選取覺到的享所有吵邊恰華好構晌成G的一謝棵最小遵生成孝樹。354.炸6最小襯生成討樹利用縣最小援生成吹樹性仔質和旺數學宿歸納付法容沫易證竟明,載上述歉算法欺中的邊集火合T始終脫包含G的某澤棵最噸小生更成樹余中的那邊。因鄙此,折在算枕法結劇束時列,T中的而所有狡邊構叨成G的一故棵最昏小生井成樹潔。例如,對泳于右誘圖中誼的帶俯權圖京,按Pr督im算法選取影邊的朗過程亦如下揮頁圖蝕所示必。364.攜6最小香生成楊樹374.母6最小皺生成宮樹在上今述Pr唐im算法王中,聞還應詞當考詳慮如何偷有效晚地找翼出滿轎足條椒件iS,設jV-S,且遷權c[投i]泥[j]最小偵的邊(i,氣j)。實傍現這胸個目胸的的汽較簡頂單的士辦法個是設舟置2個數愚組cl令os羨es傲t和lo踏wc籍os墾t。在Pr狡im算法貫執(zhí)行況過程海中,脊先找楊出V-破S中使lo成wc渾os脈t值最適小的靠頂點j,然咬后根惡據數善組cl悼os故es穿t選取欣邊(j,避cl滅os抽es蝕t[低j]),最簽后將j添加像到S中,傾并對cl掏os唇es爹t和lo童wc很os糟t作必嶄要的祥修改望。用這售個辦呀法實習現的Pr佛im算法革所需材的計算閃時間為384.垃6最小亡生成信樹3、Kr章us看ka淹l算法Kr公us向ka元l算法腳構造G的最廊小生墻成樹毀的基本威思想是,揉首先賠將G的n個頂裝點看牙成n個孤磁立的繼連通貸分支暗。將蜘所有柳的邊搬按權帝從小淡到大貢排序比。然粒后從哈第一釀條邊薦開始熔,依慎邊權莫遞增攪的順壤序查撤看每竄一條扁邊,許并按冒下述翠方法谷連接2個不押同的豪連通費分支擴:當盞查看淋到第k條邊(v,弦w)時,律如果劉端點v和w分別教是當園前2個不鼠同的庭連通敲分支T1和T2中的嚴頂點青時,阻就用廉邊(v,晚w)將T1和T2連接剃成一溝個連散通分科支,糧然后辦繼續(xù)浩查看定第k+夾1條邊晨;如拋果端蔬點v和w在當物前的固同一捷個連專通分座支中拐,就煙直接撤再查收看第k+敘1條邊稱。這士個過結程一挨直進啞行到蜘只剩膛下一您個連辯通分繳支時暢為止帝。394.秧6最小耽生成條樹例如熔,對前仁面的孕連通勒帶權列圖,奏按Kr蘆us阿ka擦l算法簽順序烤得到鐘的最戰(zhàn)小生隸成樹捧上的材邊如揚下圖限所示傻。404.霉6最小篩生成煩樹關于集合瓣的一柴些基州本運例算可用扭于實單現Kr番us喪ka姿l算法頸。按權泛的遞暈增順撫序查攪看等厲價于緣瑞對優(yōu)先認隊列執(zhí)行re沫mo掙ve勢Mi報n運算蓮。可智以用堆實現淹這個英優(yōu)先納隊列院。對一青個由仙連通昂分支堅組成薪的集候合不奸斷進爛行修送改,系需要錦用到消抽象雖數據鋸類型并查掛集Un葡io區(qū)nF壩in消d所支宋持的漂基本輸運算堡。當圖訂的邊雷數為e時,Kr丑us伍ka妥l算法屑所需研的計算改時間是愿。當損時,Kr押us燒ka索l算法昌比Pr段im算法技差,瞧但當知時頂,Kr孔us遙ka聾l算法醫(yī)卻比Pr嚇im算法陣好得腰多。414.傅7多機乖調度出問題多機底調度會問題要求彼給出拔一種莊作業(yè)賺調度潤方案悲,使蓮所給勞的n個作仆業(yè)在弟盡可張能短誰的時證間內態(tài)由m臺機眾器加恥工處該理完跪成。這個扁問題獅是NP完全價問題,到件目前墊為止雁還沒遠有有鼻效的殊解法變。對圈于這踏一類竿問題,用貪心偷選擇豈策略有時葵可以盼設計胃出較賓好的屯近似賞算法齒。約定廳,每疊個作羊業(yè)均錢可在年任何含一臺龍機器班上加憤工處仰理,毅但未脆完工院前不器允許縣中斷虧處理飼。作未業(yè)不首能拆仗分成美更小乘的子謊作業(yè)鎮(zhèn)。424.并7多機把調度郵問題采用最長教處理未時間視作業(yè)挽優(yōu)先的貪趟心選揮擇策剩略可兔以設軍計出攝解多杜機調收度問倦題的灶較好喝的近抽似算鞋法。按此片策略姿,當貪時,飯只要熊將機隸器i的[0祥,ti]時間幅區(qū)間美分配捕給作秤業(yè)i即可雕,算喇法只交需要O(脫1)時間梳。當繭時,裕首先諷將n個作兄業(yè)依叨其所競需的錄處理涂時間汪從大肚到小雖排序婚。然衣后依影此順首序將喚作業(yè)慶分配勻給空飯閑的姓處理巧機。借算法做所需伶的計蹄算時愚間為O(謹nl兇og屯n)。434.米7多機授調度榆問題例如音,設7個獨括立作版業(yè){1座,2慰,3償,4弦,5宵,6承,7起}由3臺機活器M1,M2和M3加工莊處理柴。各掉作業(yè)延所需形的處鉤理時社間分饒別為{2神,1嬸4,落4,相16決,6似,5邊,3恐}。按擴算法gr減ee保dy產生磨的作仍業(yè)調僑度如袋下圖攤所示患,所剪需的蛋加工選時間產為17。444.承8貪心榨算法親的理位論基肥礎借助紗于擬陣工具脾,可翻建立扛關于烏貪心獸算法廢的較犯一般縫的理央論。稼這個更理論堤對確定煩何時炒使用掀貪心霞算法可以準得到滅問題即的整揪體最箭優(yōu)解贈十分猴有用穩(wěn)。1、擬沿陣擬陣M定義擾為滿憐足下駱面3個條篇件的屈有序特對(S嘩,I軍):(1怖)S是非堡空有窮限集寬。(2凝)I是S的一釣類具旋有遺出傳性裙質的被獨立閣子集請族,隸即若BI,則B是S的獨始立子譽集,屑且B的任猜意子武集也危都是S的獨包立子督集。爭空集必為I的成繩員。(3咬)I滿足判交換奇性質宇,即裹若AI,胸BI且|A檔|<明|B穴|,則甜存在土某一乖元素xB-A,使弱得A∪邊{x鍋}I。454.疫8貪心嚷算法緣瑞的理惹論基貧礎例如瓦,設S是一渴給定診矩陣居中行炮向量圣的集網合,I是S的線蚊性獨膽立子能集族舅,則淡由線裝性空罪間理符論容飾易證是明(S順,I棋)是一受擬陣驗。擬腰陣的奔另一霧個例診子是巡壽無向胃圖G=鎮(zhèn)(V賢,E看)的圖震擬陣。給定炕擬陣M=仁(S非,I筑),對傅于I中的糊獨立咽子集AI,若S有一幻玉元素xA,使然得將x加入A后仍悠保持橡獨立泄性,綠即A∪百{x}I,則稱x為A的可擴艷展元栗素。當擬礎陣M中的巖獨立肌子集A沒有罰可擴肝展元殼素時遙,稱A為極大躁獨立蟻子集。464.升8貪心添算法招的理庭論基業(yè)礎下面芳的關慶于極大跌獨立炊子集的性本質是聾很有印用的救。定理4.狠1:擬陣M中所系有極防大獨居立子始集大嚷小相游同。這個漲定理煩可以邊用反第證法珍證明茄。若對生擬陣M=廉(S翼,I泥)中的S指定戒權函抖數W,使猴得對吉于任框意xS,有W(匙x)>堡0,則卡稱擬輪陣M為帶權犯擬陣。依擺此權與函數這,S的任膨一子姨集A的權皮定義挪為宵。2、關扔于帶鄙權擬勾陣的光貪心州算法許多岸可以況用貪載心算忍法求薦解的卸問題耳可以拐表示嘆為求殿帶權召擬陣匯的最大殖權獨疼立子敗集問光題。474.沒8貪心害算法份的理絡論基解礎給定掘帶權撞擬陣M=預(S肆,I止),確洲定S的獨系立子掩集AI使得W(芹A)達到臭最大宜。這援種使W(皂A)最大貼的獨劣立子紀集A稱為倚擬陣M的最優(yōu)捐子集。由堪于S中任痰一元之素x的權W(孝x)是正約的,甘因此附,最優(yōu)講子集當也一藍定是哥極大寄獨立懲子集。例如遮,在最括小生根成樹好問題攤可以未表示襲為確富定帶貝權擬劇陣針的最趣優(yōu)子轟集問映題。潔求帶避權擬偽陣的梳最優(yōu)末子集A的算楊法可紡用于插解最海小生襯成樹丘問題俘。下面宗給出拖求帶權籮擬陣憑最優(yōu)謙子集的貪綱心算僑法。碰該算室法以那具有悟正權缸函數W的帶鼓權擬驢陣M=河(S宅,I誘)作為紹輸入晨,經增計算恨后輸跌出M的最樓優(yōu)子護集A。484.緣瑞8貪心蒸算法荒的理同論基炒礎Se瓶tgr戒ee昏dy(M脅,W瀉){A待=;將S中元韻素依丈權值W(大熟者優(yōu)牛先)艦組成冠優(yōu)先笨隊列待;wh忽il伐e麻(S疏!=)粥{S.先re怠mo博ve猴Ma乖x(倉x);if某(A∪蘋{x坡}I)頃A=A∪酸{x};}re椅tu具rn浮A}494.貌8貪心美算法睡的理鄉(xiāng)豐論基斯礎算法gr純ee蝴dy的計殿算時竄間復女雜性番為紀。引理4.折2(擬陣恭的貪廁心選磁擇性惹質)設M=新(S甘,I漢)是具撒有權欲函數W的帶耕權擬領陣,收且S中元治素依廁權值岔從大系到小評排列蕉。又臉設xS是S中第蟻一個慢使得{x猛}是獨鼓立子婦集的創(chuàng)元素浪,則疫存在S的最眨優(yōu)子習集A使得xA。算法gr叛ee仗dy在以足貪心擊選擇錄構造眨最優(yōu)吼子集A時,攝首次翅選入四集合A中的心元素x是單途元素舊獨立宵集中摔具有寇最大衛(wèi)權的西元素任。此瘋時可涂能已狡經舍祖棄了S中部音分元施素。有可以圾證明絹這些滔被舍昂棄的焰元素故不可祖能用加于構磁造最陷優(yōu)子涼集。504.管8貪心等算法站的理斥論基術礎引理4.家3:設M=嚷(S局,I余)是擬洗陣。籮若S中元弓素x不是誰空集創(chuàng)的膊可擴館展元瓶素,猛則x也不筍可能掀是S中任悟一獨膽立子疼集A的可讀擴展春元素籃。引理4.摘4(擬陣惡的最誰優(yōu)子幻玉結構勞性質)設x是求個帶權朽擬陣M=(S,I)的最炭優(yōu)子殖集的土貪心志算法gr墻ee偷dy所選提擇的S中的敵第一嬌個元巡壽素。荷那么寫,原繡問題若可簡共化為蹈求帶麻權擬扛陣M’蛇=(掌S’廢,I燭’)的最優(yōu)岸子集問題侵,其鵲中:S’徑={y|催yS且{x,叮y}I}I’絞={扣B|政BS-謙{x撒}且B∪增{x}I}M’的權晶函數災是M的權罰函數彩在S’上的鑼限制(稱M’為M關于姜元素x的收縮)。514.燭8貪心稍算法餐的理分論基罩礎定理4.瞎5(帶權騰擬陣亦貪心序算法貪的正隱確性)設M=(S歇,I餃)是具主有權僵函數W的帶就權擬邀陣,梢算法gr謹ee頌dy返回M的最巧優(yōu)子痰集。3、任遷務時刮間表塌問題給定淋一個單位憲時間演任務的有被限集S。關振于S的一鉗個時間愧表用于劍描述S中單生位時菊間任泛務的豪執(zhí)行籍次序熊。時墾間表納中第1個任軌務從擊時間0開始柴執(zhí)行序直至盜時間1結束芬,第2個任打務從傳時間1開始堅執(zhí)行蛙至時輝間2結束魯,…,第n個任凱務從吐時間n-衡1開始千執(zhí)行怒直至臂時間n結束期。524.仁8貪心啄算法攪的理年論基斧礎具有截止腹時間和誤時四懲罰的單悉位時測間任售務時小間表禮問題舅可描執(zhí)述如煙下。(1備)予n個單尾位時陜間任籌務的頓集合S=但{1之,2當,…再,n呢};(2蒙)任務i的截兄止時歡間,1前≤i塘≤n煎,1仍≤怎≤苦n,即霸要求月任務i在時吩間賊之默前結糾束;(3材)任務i的誤秘時懲型罰,1繳≤i近≤n遭,即任讓務i未在門時間咸之前屢結束配將招閃致的日懲授罰;邊若按予時完期成則適無懲悉罰。任務嫌時間口表問爛題要求該確定S的一從個時篇間表振(最省優(yōu)時奪間表容)使映得總熱誤時該懲罰勞達到雨最小就。534.意8貪心貍算法削的理則論基僑礎這個碑問題痕看上礙去很本復雜瘡,然工而借墊助于擬陣,可糞以用帶權離擬陣單的貪撿心算囑法有效方求解買。對于內一個博給定牛的S的時顏間表問,在乎截止該時間荷之前樸完成衫的任舞務稱即為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鼓勵同事學習管理制度
- 道路揚塵車輛管理制度
- 2025個人年度工作計劃簡短(32篇)
- 探討歷史單元主題教學的有效策略與實踐路徑
- 綠色科技引領未來環(huán)保園區(qū)建設可行性分析
- 迪拜產業(yè)投資新機遇與發(fā)展趨勢分析
- 初中英語跨學科教學的創(chuàng)新策略與實踐路徑
- 2024護士資格證考試應急護理措施試題及答案
- 2025至2030年中國網底滑動法直絲弓托槽行業(yè)投資前景及策略咨詢研究報告
- 韓國羽毛球女單運動員安洗瑩技戰(zhàn)術特征研究
- 2025年上海新徐匯集團有限公司招聘筆試參考題庫含答案解析
- 公司年度經營目標及公司各部門年度經營計劃
- 生物技術測試題+參考答案
- 大學英語(西安石油大學)知到智慧樹章節(jié)測試課后答案2024年秋西安石油大學
- 《市域智慧共享中藥房建設指南》
- 不穩(wěn)定型心絞痛和非ST段抬高心肌梗死治療指南解讀
- 民宿的經營成本分析報告
- 2025 預應力混凝土鋼管桁架疊合板
- 廢酸處置合同協議
- 2024年吉安職業(yè)技術學院單招職業(yè)技能測試題庫附答案
- DB15-T 3738-2024 家政服務機構星級劃分及評定規(guī)范
評論
0/150
提交評論