




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
貪心算法解決活動安排問題研究摘要:利用貪心算法解決如何使用最少的資源安排一系列活動。并證明了貪心算法解決此問題的有效性,且進行了實例驗證,并進行了復雜度分析,此算法是解決資源組合規(guī)劃問題較好的方法。關鍵詞:貪心算法;java程序;復雜度分析;活動安排問題中圖分類號:tp312文獻標識碼:a文章編號:16727800(2011)012004302基金項目:廣西研究生教育創(chuàng)新計劃(2011106020812m58)作者簡介:蘇方方(1986-),女,河南商丘人,廣西師范大學計算機科學與信息工程學院碩士研究生,研究方向為自然語言處理和算法;張金玲(1986-),女,山東菏澤人,廣西師范大學計算機科學與信息工程學院碩士研究生,研究方向為遠程教育和算法。0引言假設要在足夠多的會場里安排一批活動,并希望使用盡可能少的會場。這里就需要選用合適的算法來解決類似的問題。雖然計算機的計算能力每年都在飛快增加,但是,需要處理的信息量更是呈指數(shù)級的增長。互聯(lián)網(wǎng)的信息流量在飛快進步,數(shù)據(jù)量更是達到了前所未有的程度。無論是三維圖形,海量數(shù)據(jù)處理等都需要極大的計算量。在網(wǎng)絡時代,越來越多的挑戰(zhàn)需要靠卓越的算法來解決。1貪心算法以及貪心算法的基本要素貪心算法是指從問題的初始狀態(tài)出發(fā),通過若干次的貪心選擇而得出最優(yōu)值(或較優(yōu)解)的一種解題方法。并不是從整體上加以考慮,它所做出的選擇只是在某種意義上的局部最優(yōu)解。貪心算法可以簡單描述為:對一組數(shù)據(jù)進行排序,找出最小值,進行處理,再找出最小值, 再處理。也就是說貪心算法是一種在每一步選擇中都采取在當前狀態(tài)下最好或最優(yōu)的選擇,從而希望得到結果是最好或最優(yōu)的算法。貪心算法解題步驟:從問題的某個初始解出發(fā);采用循環(huán)語句,就根據(jù)局部最優(yōu)策略,得到一個部分解,縮小問題的范圍或規(guī)模;將所有部分解綜合起來,得到問題的最終解。另外它也是一種某種度量意義下的最優(yōu)解的分級處理方法。對于一個具體的問題,怎么知道是否可用貪心算法來解決問題,以及能否得到問題的一個最優(yōu)解呢?從許多可以用貪心算法求解的問題中可以看到它們一般具有兩個重要的性質:貪心選擇性質;最優(yōu)子結構性質。另外,同一個問題可用不用算法解決,而一個算法的質量優(yōu)劣將影響到算法乃至程序的效率。一個算法的評價主要從時間復雜度和空間復雜度來考慮。2用貪心算法描述問題貪心算法高效地解決了一系列活動爭用某一個公共資源的問題,本文主要研究的是n個活動全部安排所需要的最少資源數(shù)。面對資源的日益緊缺,如何有效合理地利用資源一直是專家學者研究的熱點問題。用貪心算法解決本題的思想是:資源足夠多,但要使用最少的資源安排全部活動,同時保證每個資源中安排的活動集在時間上不能發(fā)生沖突。如果第一個資源中盡可能安排最多的活動,則這個資源得到了充分的利用,而且剩下的活動越少,第二個資源也盡可能安排最多的活動,依次類推。以下我們證明該問題具有貪心算法的兩個性質:(1)活動安排問題具有貪心選擇性質證明:首先將活動安排問題數(shù)學化,設有n個活動的集合 e= 1 ,2 ,n ,每個活動 i 都有一個要求使用該資源的起始時問si 和一個結束時問fi 。即k是所需最少資源的個數(shù)。設活動已排序,( a1 , a2 , ,ak )是所需要的k個已安排了活動的資源。當k = 1時,也就是所有的活動在一個資源里相容,a1 是滿足貪心選擇性質的最優(yōu)解;當k = 2時,取b1=a1,bk=ak (即bk是安排了m個活動的一個資源,(n-m)個活動都安排在b1 到bk-1個資源里)。就是(n-m)個活動安排需要(k -1)個資源。則(b1,b2 ,bk-1 )是(n - m)個活動可行解。另一方面,由( a1 ,a2,ak)-ak=(b1,b2,bk-1)知,(b1,b2,bk-1)也是滿足貪心選擇性質的最優(yōu)解,所以,活動安排問題具有貪心選擇性質。(2)活動安排問題具有最優(yōu)子結構性質證明:( a1,a2, ,ak )是n個活動的集合e= 1,2 ,n 所需資源的最優(yōu)解。設a1中安排了m個相容的活動,那么也就是說(n-m)個活動完全安排需要k-1個資源。假設(n - m)個活動安排只需要k-2個資源或則更少的資源。也就是說n個活動安排只需要k-1個資源就可以安排完,則前后出現(xiàn)矛盾。一個問題的最優(yōu)解包含其子問題的最優(yōu)解時,稱此問題具有最優(yōu)子結構性質。3程序清單及復雜性分析算法的復雜性是算法運行所需要的計算機資源的量,需要時間資源的量稱為時間復雜性,需要空間資源的量稱為空間復雜性,由于計算機的快速發(fā)展,計算機的空間資源很少作為考慮的對象,目前最為關注的就是時間復雜性。利用數(shù)組解決活動安排問題。程序的思想:設有n個活動等待安排,這些活動的起始時間和結束時間分別存放在數(shù)組 start和 finish中,定義了一個整型變量flag用于標記活動是否被分配了資源。要對活動的開始時間與已分配的資源里最后被添加進去的活動的結束時間進行比較,如果大于,則把該活動添加進此資源,否則繼續(xù)與其他資源的最后被添加的活動的結束時間進行比較,如果所有的已分配資源均安排不了,則分配一個新資源來安排此活動。程序清單如下:public class needsourcestatic int start =1,3,0,5,3,5,6,8,8,2,12;/活動開始時間數(shù)組;static int finish=4,5,6,7,8,9,10,11,12,13,14;/活動結束時間數(shù)組 public static void main(string args) int i,j,flag=0; int num=new int11;int m=new int100; /有足夠多的資源 int source=1; /初始化,n個活動至少需要一個資源 int n=start.length; /活動的個數(shù)(一共有多少個活動) num0=1; /numi=j;編號為i的活動安排在第j個資源里 m1=0; /資源1中最后被添加進來的活動編號是0;for(i=1;i=finishmj) /最后被添加進來的活動結束時間相比;numi=j;/把i活動安排在j資源里;mj=i; /記錄最后被添加到j中的i活動;flag=1; /標記活動已被分配到了資源 ;h=j; /j的值是變化的。賦值h以記錄值;if(flag=1)/活動被安排了,則跳出循環(huán);break; ;if(flag=1)else numi=h+1;/所有的資源都不能安排,則添加新資源 mh+1=i; /記錄最后添加到j+1中的活動isource+; flag=0; system.out.println(source); 結果及分析:程序實現(xiàn)了在控制臺打印出所需要資源的個數(shù)。運行程序結果顯示5,與手工測算結果相同。復雜性分析:語句、是給數(shù)組賦值語句,是0操作;語句的循環(huán)控制變量i要從1增加到n,故它的頻度是n。語句的循環(huán)控制變量j是從1增加到source,但是source無論什么情況下都小于n,則語句最多循環(huán)了(1+2+3+n)=(n2)/2,而語句的循環(huán)體中語句因為每次都需要判斷,所以頻度也是0(n2);語句、執(zhí)行的次數(shù)是一樣的。并且和語句else循環(huán)體中的執(zhí)行次數(shù)加起來正好是0(n2);語句、執(zhí)行次數(shù)是0(n2);語句最多執(zhí)行n次;語句的頻度n;該算法中所有語句的頻度之和(即算法的時間耗費)為: t(n)=0(1)+ 20(1)+0(n)+0(n2)+0(n2)+30(n2)+20(n2)+20(n);所以時間復雜度是0(n2);4結束語本文對初步資源規(guī)劃問題的思考,可以對多個資源組合規(guī)劃問題的基礎研究提供有效的參考作用。目前多個資源組合規(guī)劃問題在現(xiàn)實研究中仍有許多不盡人意的地方,如何設計實用的算法解決多個資源組合規(guī)劃問題,是值得我們不斷研究探討的課題。 參考文獻:1肖衡淺析貪心算法j辦公自動化雜志,2009(10).2常又渠,肖貴元貪心算法的探討與研究j重慶電力高等??茖W校學報,2008(2).3王曉東計算機算法設計與分析m北京:電子工業(yè)出版社, 2007research on greedy algorithm to solve the activity arrangementabstract: to use the greedy algorithm solves how to arrange a series of activities with minimal resources. it proves that it is effective to solve this problem with greedy algorithm and a examp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB 19482-2025摩托車和輕便摩托車燃油箱安全性能要求和試驗方法
- 2025年藏文化研究專業(yè)考試卷及答案簡介
- 獸藥殘留分析技術進展資料
- 我的成長故事童年趣事與感悟14篇范文
- 在動物園的一天:記事作文9篇
- 員工信息及在職狀況證明(7篇)
- 2025年鋁壓延加工材項目提案報告模板
- 2025年芳香保健師(中級)職業(yè)技能鑒定試題:實踐操作
- 2025年初中化學九年級上冊期中測試卷難易度分析
- 論網(wǎng)絡利弊的議論文議論文(9篇)
- 2024年 紹興市交通控股集團公司招聘考試筆試真題試題含答案
- 超限模板及高支模安全專項施工方案(論證后)
- 日間化療服務管理制度
- 暑假散學典禮課件小學生
- 2024年涼山州木里縣選聘社區(qū)工作者真題
- 保險公司攢錢活動方案
- 九師聯(lián)盟2024-2025學年高二下學期6月摸底聯(lián)考英語試題(含答案)
- 3.5中華人民共和國突發(fā)事件應對法
- 老年共病管理中國專家共識(2023)課件
- 2024智聯(lián)招聘人社局解決就業(yè)大型招聘會活動方案
- 養(yǎng)牛的可行性研究報告范文
評論
0/150
提交評論