




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)學(xué)建模競(jìng)賽中應(yīng)當(dāng)掌握的十類算法蒙特卡羅算法 數(shù)據(jù)處理算法 數(shù)學(xué)規(guī)劃算法 圖論算法 動(dòng)態(tài)規(guī)劃、回溯搜索、分治算法、分支定界 三大非經(jīng)典算法 網(wǎng)格算法和窮舉法 連續(xù)離散化方法 數(shù)值分析算法 圖象處理算法 1、蒙特卡羅算法 該算法又稱隨機(jī)性模擬算法,是通過(guò)計(jì)算機(jī)仿真來(lái)解決問(wèn)題的算法,同時(shí)可以通過(guò)模擬可以來(lái)檢驗(yàn)自己模型的正確性,是比賽時(shí)必用的方法 蒙特卡羅(Monte Carlo)方法,或稱計(jì)算機(jī)隨機(jī)模擬方法,是一種基于“隨機(jī)數(shù)”的計(jì)算方法。這一方法源于美國(guó)在第一次世界大戰(zhàn)進(jìn)研制原子彈的“曼哈頓計(jì)劃”。該計(jì)劃的主持人之一、數(shù)學(xué)家馮諾伊曼用馳名世界的賭城摩納哥的Monte Carlo來(lái)命名這種方法,為
2、它蒙上了一層神秘色彩。 考慮平面上的一個(gè)邊長(zhǎng)為1的正方形及其內(nèi)部的一個(gè)形狀不規(guī)則的“圖形”,如何求出這個(gè)“圖形”的面積呢?Monte Carlo方法是這樣一種“隨機(jī)化”的方法:向該正方形“隨機(jī)地”投擲N個(gè)點(diǎn)落于“圖形”內(nèi),則該“圖形”的面積近似為M/N。 具體實(shí)現(xiàn)的matlab代碼:-function val = ballvol(n, m)% BALLVOL Compute volume of unit ball in Rn% Computes the volume of the n-dimensional unit ball % using monte-carlo method.% usag
3、e: val = BallVol(n, m)% where: n = dimension % m = number of realisations% If the second argument is omitted, 1e4 is taken as default for m.% (c) 1998, Rolf Krause, krausemath.fu-berlin.deM = 1e4;error = 0;if(nargin 2), error(wrong number of arguments); endif nargin = 2, M = m; end R = rand(n, M);in
4、 = 0;for i=1:Mif(norm(R(:,i),2) = 1.0), in = in+1; endendval = 2n*in/M;2、數(shù)據(jù)擬合、參數(shù)估計(jì)、插值等數(shù)據(jù)處理算法 數(shù)據(jù)擬和: 從給出的一大堆數(shù)據(jù)中找出規(guī)律,即設(shè)法構(gòu)造一條曲線(擬和曲線)反映數(shù)據(jù)點(diǎn)總的趨勢(shì),以消除其局部波動(dòng)。 參數(shù)估計(jì):對(duì)給定的統(tǒng)計(jì)問(wèn)題,在建立了統(tǒng)計(jì)模型以后,我們的任務(wù)就是依據(jù)樣本對(duì)未知總體進(jìn)行各種推斷,參數(shù)估計(jì)是統(tǒng)計(jì)推斷的重要內(nèi)容之一。包括點(diǎn)估計(jì)方法、頻率替換法、矩法、極大似然估計(jì)法 插值法是函數(shù)逼近的一種重要方法,包括多項(xiàng)式插值、分段插值和三角插值4、圖論算法 這類算法可以分為很多種,包括最短路、網(wǎng)絡(luò)流
5、、二分圖等算法,涉及到圖論的問(wèn)題可以用這些方法解決,需要認(rèn)真準(zhǔn)備 5、動(dòng)態(tài)規(guī)劃、回溯搜索、分治算法、分支定界 這些算法是算法設(shè)計(jì)中比較常用的方法,很多場(chǎng)合可以用到競(jìng)賽中 動(dòng)態(tài)規(guī)劃 它建立在最優(yōu)原則的基礎(chǔ)上。采用動(dòng)態(tài)規(guī)劃方法,可以優(yōu)雅而高效地解決許多用貪婪算法或分而治之算法無(wú)法解決的問(wèn)題。動(dòng)態(tài)規(guī)劃方法在解決背包問(wèn)題、圖象壓縮、矩陣乘法鏈、最短路徑、無(wú)交叉子集和元件折疊等方面的有很大作用。 尋找問(wèn)題的解的一種可靠的方法是首先列出所有候選解,然后依次檢查每一個(gè),在檢查完所有或部分候選解后,即可找到所需要的解。理論上,當(dāng)候選解數(shù)量有限并且通過(guò)檢查所有或部分候選解能夠得到所需解時(shí),上述方法是可行的。不過(guò)
6、,在實(shí)際應(yīng)用中,很少使用這種方法,因?yàn)楹蜻x解的數(shù)量通常都非常大(比如指數(shù)級(jí),甚至是大數(shù)階乘),即便采用最快的計(jì)算機(jī)也只能解決規(guī)模很小的問(wèn)題。對(duì)候選解進(jìn)行系統(tǒng)檢查的方法有多種,其中回溯和分枝定界法是比較常用的兩種方法。按照這兩種方法對(duì)候選解進(jìn)行系統(tǒng)檢查通常會(huì)使問(wèn)題的求解時(shí)間大大減少(無(wú)論對(duì)于最壞情形還是對(duì)于一般情形)。事實(shí)上,這些方法可以使我們避免對(duì)很大的候選解集合進(jìn)行檢查,同時(shí)能夠保證算法運(yùn)行結(jié)束時(shí)可以找到所需要的解。因此,這些方法通常能夠用來(lái)求解規(guī)模很大的問(wèn)題。 回溯方法 這種方法被用來(lái)設(shè)計(jì)貨箱裝船、背包、最大完備子圖、旅行商和電路板排列問(wèn)題的求解算法。 分治算法 君主和殖民者們所成功運(yùn)用的
7、分而治之策略也可以運(yùn)用到高效率的計(jì)算機(jī)算法的設(shè)計(jì)過(guò)程中。利用這一策略可以解決如下問(wèn)題:最小最大問(wèn)題、矩陣乘法、殘缺棋盤、排序、選擇和計(jì)算一個(gè)幾何問(wèn)題找出二維空間中距離最近的兩個(gè)點(diǎn)。 算法思想 分而治之方法與軟件設(shè)計(jì)的模塊化方法非常相似。為了解決一個(gè)大的問(wèn)題,可以: 1) 把它分成兩個(gè)或多個(gè)更小的問(wèn)題; 2) 分別解決每個(gè)小問(wèn)題; 3) 把各小問(wèn)題的解答組合起來(lái),即可得到原問(wèn)題的解答。小問(wèn)題通常與原問(wèn)題相似,可以遞歸地使用分而治之策略來(lái)解決。 例2-1 找出偽幣 給你一個(gè)裝有1 6個(gè)硬幣的袋子。1 6個(gè)硬幣中有一個(gè)是偽造的,并且那個(gè)偽造的硬幣比真的硬幣要輕一些。你的任務(wù)是找出這個(gè)偽造的硬幣。為了
8、幫助你完成這一任務(wù),將提供一臺(tái)可用來(lái)比較兩組硬幣重量的儀器,利用這臺(tái)儀器,可以知道兩組硬幣的重量是否相同。 比較硬幣1與硬幣2的重量。假如硬幣1比硬幣2輕,則硬幣1是偽造的;假如硬幣2比硬幣1輕,則硬幣2是偽造的。這樣就完成了任務(wù)。假如兩硬幣重量相等,則比較硬幣3和硬幣4。同樣,假如有一個(gè)硬幣輕一些,則尋找偽幣的任務(wù)完成。假如兩硬幣重量相等,則繼續(xù)比較硬幣5和硬幣6。按照這種方式,可以最多通過(guò)8次比較來(lái)判斷偽幣的存在并找出這一偽幣。 假如把1 6硬幣的例子看成一個(gè)大的問(wèn)題。第一步,把這一問(wèn)題分成兩個(gè)小問(wèn)題。隨機(jī)選擇8個(gè)硬幣作為第一組稱為A組,剩下的8個(gè)硬幣作為第二組稱為B組。這樣,就把1 6個(gè)
9、硬幣的問(wèn)題分成兩個(gè)8硬幣的問(wèn)題來(lái)解決。第二步,判斷A和B組中是否有偽幣??梢岳脙x器來(lái)比較A組硬幣和B組硬幣的重量。假如兩組硬幣重量相等,則可以判斷偽幣不存在。假如兩組硬幣重量不相等,則存在偽幣,并且可以判斷它位于較輕的那一組硬幣中。最后,在第三步中,用第二步的結(jié)果得出原先1 6個(gè)硬幣問(wèn)題的答案。若僅僅判斷硬幣是否存在,則第三步非常簡(jiǎn)單。無(wú)論A組還是B組中有偽幣,都可以推斷這1 6個(gè)硬幣中存在偽幣。因此,僅僅通過(guò)一次重量的比較,就可以判斷偽幣是否存在。 現(xiàn)在假設(shè)需要識(shí)別出這一偽幣。把兩個(gè)或三個(gè)硬幣的情況作為不可再分的小問(wèn)題。注意如果只有一個(gè)硬幣,那么不能判斷出它是否就是偽幣。在一個(gè)小問(wèn)題中,通
10、過(guò)將一個(gè)硬幣分別與其他兩個(gè)硬幣比較,最多比較兩次就可以找到偽幣。這樣,1 6硬幣的問(wèn)題就被分為兩個(gè)8硬幣(A組和B組)的問(wèn)題。通過(guò)比較這兩組硬幣的重量,可以判斷偽幣是否存在。如果沒(méi)有偽幣,則算法終止。否則,繼續(xù)劃分這兩組硬幣來(lái)尋找偽幣。假設(shè)B是輕的那一組,因此再把它分成兩組,每組有4個(gè)硬幣。稱其中一組為B1,另一組為B2。比較這兩組,肯定有一組輕一些。如果B1輕,則偽幣在B1中,再將B1又分成兩組,每組有兩個(gè)硬幣,稱其中一組為B1a,另一組為B1b。比較這兩組,可以得到一個(gè)較輕的組。由于這個(gè)組只有兩個(gè)硬幣,因此不必再細(xì)分。比較組中兩個(gè)硬幣的重量,可以立即知道哪一個(gè)硬幣輕一些。較輕的硬幣就是所要
11、找的偽幣。算法思想 分枝定界(branch and bound)是另一種系統(tǒng)地搜索解空間的方法,它與回溯法的主要區(qū)別在于對(duì)E-節(jié)點(diǎn)的擴(kuò)充方式。每個(gè)活節(jié)點(diǎn)有且僅有一次機(jī)會(huì)變成E-節(jié)點(diǎn)。當(dāng)一個(gè)節(jié)點(diǎn)變?yōu)镋-節(jié)點(diǎn)時(shí),則生成從該節(jié)點(diǎn)移動(dòng)一步即可到達(dá)的所有新節(jié)點(diǎn)。在生成的節(jié)點(diǎn)中,拋棄那些不可能導(dǎo)出(最優(yōu))可行解的節(jié)點(diǎn),其余節(jié)點(diǎn)加入活節(jié)點(diǎn)表,然后從表中選擇一個(gè)節(jié)點(diǎn)作為下一個(gè)E-節(jié)點(diǎn)。從活節(jié)點(diǎn)表中取出所選擇的節(jié)點(diǎn)并進(jìn)行擴(kuò)充,直到找到解或活動(dòng)表為空,擴(kuò)充過(guò)程才結(jié)束。 有兩種常用的方法可用來(lái)選擇下一個(gè)E-節(jié)點(diǎn)(雖然也可能存在其他的方法): 1) 先進(jìn)先出(F I F O) 即從活節(jié)點(diǎn)表中取出節(jié)點(diǎn)的順序與加入節(jié)點(diǎn)的
12、順序相同,因此活節(jié)點(diǎn)表的性質(zhì)與隊(duì)列相同。 2) 最小耗費(fèi)或最大收益法在這種模式中,每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)應(yīng)的耗費(fèi)或收益。如果查找一個(gè)具有最小耗費(fèi)的解,則活節(jié)點(diǎn)表可用最小堆來(lái)建立,下一個(gè)E-節(jié)點(diǎn)就是具有最小耗費(fèi)的活節(jié)點(diǎn);如果希望搜索一個(gè)具有最大收益的解,則可用最大堆來(lái)構(gòu)造活節(jié)點(diǎn)表,下一個(gè)E-節(jié)點(diǎn)是具有最大收益的活節(jié)點(diǎn)。 遺傳算法( ,簡(jiǎn)稱)是以自然選擇和遺傳理論為基礎(chǔ),將生物進(jìn)化過(guò)程中適者生存規(guī)則與群體內(nèi)部染色體的隨機(jī)信息交換機(jī)制相結(jié)合的搜索算法。遺傳算法是具有生成檢測(cè)的迭代過(guò)程的搜索算法?;玖鞒倘鐖D所示??梢?jiàn),遺傳算法是一種群體型操作,該操作以群體中的所有個(gè)體為對(duì)象。選擇()、交叉()和變異()
13、是遺傳算法的三個(gè)主要操作算子。遺傳算法包含如下個(gè)基本要素:參數(shù)編碼、生成初始群體、適應(yīng)度評(píng)估檢測(cè)、選擇、交叉操作、變異7、網(wǎng)格算法和窮舉法 網(wǎng)格算法和窮舉法都是暴力搜索最優(yōu)點(diǎn)的算法,在很多競(jìng)賽題中有應(yīng)用,當(dāng)重點(diǎn)討論模型本身而輕視算法的時(shí)候,可以使用這種暴力方案,最好使用一些高級(jí)語(yǔ)言作為編程工具 窮舉法是基于計(jì)算機(jī)特點(diǎn)而進(jìn)行解題的思維方法。一般是在一時(shí)找不出解決問(wèn)題的更好途徑時(shí),可以根據(jù)問(wèn)題中的部分條件(約束條件)將所有可能解的情況列舉出來(lái),然后通過(guò)一一驗(yàn)證是否符合整個(gè)問(wèn)題的求解要求,而得到問(wèn)題的解。這種解決問(wèn)題的方法我們稱之為窮舉算法。窮舉法特點(diǎn)是算法簡(jiǎn)單,但運(yùn)行時(shí)所花費(fèi)的時(shí)間量大。8、連續(xù)離散化方法 很多問(wèn)題都是實(shí)際來(lái)的,數(shù)據(jù)可以是連續(xù)的,而計(jì)算機(jī)只認(rèn)的是離散的數(shù)據(jù),因此將其離散化后進(jìn)行差分代替微分、求和代替積分等思想是非常重要的 9、數(shù)值分析算法 如果在比賽中采用高級(jí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年南京市江寧區(qū)事業(yè)單位招聘衛(wèi)技人員真題
- 信息需求管理制度
- 信譽(yù)評(píng)價(jià)管理制度
- 信貸監(jiān)督管理制度
- 公共開(kāi)放區(qū)管理制度
- 公司天然氣管理制度
- 公司門禁卡管理制度
- 出租房廚房管理制度
- 廚房與餐廳管理制度
- 售樓部電梯管理制度
- 勞動(dòng)者職業(yè)衛(wèi)生培訓(xùn)課件
- 教育數(shù)字化轉(zhuǎn)型背景下中小學(xué)課堂教學(xué)變革研究
- 2025安全宣傳咨詢?nèi)栈顒?dòng)知識(shí)手冊(cè)
- 初中地理課堂教學(xué)設(shè)計(jì)
- DB31/T 1249-2020醫(yī)療廢物衛(wèi)生管理規(guī)范
- 四川省宜賓市翠屏區(qū)2025屆數(shù)學(xué)七下期末綜合測(cè)試試題含解析
- 鄉(xiāng)鎮(zhèn)合法性審查工作報(bào)告
- 八年級(jí)英語(yǔ)下學(xué)期期末考試(廣州專用)(解析版)
- 項(xiàng)目管理與評(píng)估試題及答案
- 學(xué)習(xí)強(qiáng)安應(yīng)急第一響應(yīng)人理論考試答案
評(píng)論
0/150
提交評(píng)論