版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
并行算法的設(shè)計與分析章第1頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.1概率論的基本知識18.1.2隨機(jī)算法的概念、模型及其度量1.隨機(jī)算法的概念定義:是一個概率圖靈機(jī).也就是在算法中引入隨機(jī)因素,
即通過隨機(jī)數(shù)選擇算法的下一步操作.三要素:輸入實例、隨機(jī)源和停止準(zhǔn)則.特點:簡單、快速、易于并行化.一種平衡:隨機(jī)算法可以理解為在時間、空間和隨機(jī)三大計算資源中的平衡(LuC.J.,Ph.DThesis,1999).重要文獻(xiàn)
MotwaniR.,RaghavanP.RandomizedAlgorithms.CambridgeUniversityPress,NewYork,1995第2頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.2隨機(jī)算法的概念、模型及其度量2.隨機(jī)算法的意義求解問題的一種重要讓步策略:對某些問題,若要求其精確解,則設(shè)計出的算法的時間復(fù)雜度為指數(shù)級增長的,這樣的算法在現(xiàn)實中不可行的。有效的隨機(jī)算法實際可行的隨機(jī)算法可轉(zhuǎn)化為確定算法易于并行化促進(jìn)智能計算的發(fā)展第3頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.2隨機(jī)算法的概念、模型及其度量3.隨機(jī)算法的重要應(yīng)用MonteCarlo求定積分法.隨機(jī)k-選擇算法.隨機(jī)快排序算法素數(shù)判定的隨機(jī)算法二階段隨機(jī)路由算法.4.研究隨機(jī)算法的重要人物及其工作deLeeuw等人提出了概率圖靈機(jī)(1955)JohnGill的隨機(jī)算法復(fù)雜性理論(1977)Rabin的數(shù)論和計算幾何領(lǐng)域的工作(1976)Karp的算法概率分析方法(1985)Shor的大數(shù)素因子分解量子計算算法(1994)第4頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.2隨機(jī)算法的概念、模型及其度量5.隨機(jī)算法計算模型—隨機(jī)PRAM模型(RandomizedPRAMModel,RPRAM)允許每個處理器在單步時間內(nèi)產(chǎn)生某個范圍的隨機(jī)數(shù)。一個隨機(jī)數(shù)在整數(shù)區(qū)間[1,2,…,m]內(nèi)均等地取任一整數(shù)值。限定在單步時間內(nèi)產(chǎn)生的隨機(jī)數(shù)的位數(shù)為O(logn),n為輸入長度,以確保每個數(shù)據(jù)均能存儲在一個存儲單元中并可在O(1)順序?qū)崿F(xiàn)步內(nèi)執(zhí)行操作。假定p個處理器在同一時間步所產(chǎn)生的p個隨機(jī)數(shù)彼此獨(dú)立。6.隨機(jī)算法的分類LasVegas算法和MonteCarlo算法是常見的兩類隨機(jī)算法。LasVegas算法運(yùn)行結(jié)束時總能給出正確解,但其運(yùn)行時間每次有所不同。
MonteCarlo算法每次運(yùn)行結(jié)束時可能得到不正確的結(jié)果,但這種概率是很小的且有界。第5頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.2隨機(jī)算法的概念、模型及其度量7.時間復(fù)雜性度量運(yùn)行時間的期望實例的運(yùn)行時間期望對固定實例x,設(shè)隨機(jī)算法A的運(yùn)行時間是一個[0,+∞)上的隨機(jī)變量,
定義隨機(jī)算法A在實例x上的運(yùn)行時間期望為E[],也稱為隨機(jī)算法A在實例x上的執(zhí)行時間.算法的運(yùn)行時間期望如果對一個規(guī)模為n的問題的所有實例是均勻選取的,則定義各個實例上的平均執(zhí)行時間為隨機(jī)算法在該問題上的運(yùn)行時間期望,記為T(n)
隨機(jī)復(fù)雜度類(參見MotwaniR.,RaghavanP.,RandomizedAlgorithms.)RP(RandomizedPolynomialtime),etc.第6頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.3隨機(jī)算法的設(shè)計方法1.挫敗對手法(FoilingtheAdversary)
將不同的算法組成算法群,根據(jù)輸入實例的不同,隨機(jī)地或有選擇地選取不同的算法,以使性能達(dá)到最佳.2.隨機(jī)采樣法(RandomSampling)
用“小”樣本群的信息,指導(dǎo)整體的求解.3.隨機(jī)搜索法(RandomSearch)
隨機(jī)地在某個區(qū)域進(jìn)行搜索,這種方法可以從統(tǒng)計角度分析算法的平均性能,如果將搜索限制在有解或有較多解的區(qū)域,可以大大提高搜索的成功概率.4.指印技術(shù)(Fingerprinting)
定義指印函數(shù)(Hash函數(shù)),利用指印信息可以大大減少對象識別的工作量.例如:通過隨機(jī)映射的取指印方法,Karp和Rabin設(shè)計了一個線性時間復(fù)雜度的快速的串匹配隨機(jī)算法.5.輸入隨機(jī)重組法(InputRandomization)
對輸入實例進(jìn)行隨機(jī)重組之后,可以改進(jìn)算法的平均性能,例如:隨機(jī)Quick排序算法.第7頁,共15頁,2023年,2月20日,星期四18.1隨機(jī)算法的基本知識18.1.3隨機(jī)算法的設(shè)計方法6.負(fù)載平衡法(LoadBalancing)
在并行與分布計算、網(wǎng)絡(luò)通訊等問題中,使用隨機(jī)選擇技術(shù)分配數(shù)據(jù)可以達(dá)到任務(wù)的負(fù)載平衡和網(wǎng)絡(luò)通訊的平衡.7.快速混合Markov鏈法(RapidlyMixingMarkovChain)
使用該方法可以解決大空間中的均勻抽樣問題.8.孤立和破對稱技術(shù)(IsolationandSymmetryBreaking)
使用該技術(shù)可以解決內(nèi)在順序處理問題的并行性,避免分布式系統(tǒng)的死鎖等問題.如:圖著色算法,部分獨(dú)立集問題9.概率存在性證明法(ProbabilisticMethodsandExistenceProofs)
如果隨機(jī)選取的物體具有某種特性的概率大于0,則具有該特性的物體一定存在.10.消除隨機(jī)性方法(Derandomization)
注:許多優(yōu)秀的確定性算法均是由隨機(jī)算法轉(zhuǎn)換而來.第8頁,共15頁,2023年,2月20日,星期四18.6隨機(jī)排序18.6.1隨機(jī)采樣與隨機(jī)Quick排序1.隨機(jī)采樣
非復(fù)原采樣法(Samplingwithoutreplacement)等概率地每次從規(guī)模為n的原始數(shù)據(jù)中選擇一個元素,選中的元素從原始數(shù)據(jù)中移去。復(fù)原采樣法(Samplingwithreplacement)等概率地每次從規(guī)模為n的原始數(shù)據(jù)中選擇一個元素,但選中的元素并不從原始數(shù)據(jù)中移去,即一個元素可能被選擇若干次。
2.隨機(jī)Quick排序算法
Quick排序算法隨機(jī)化思想:修改算法的數(shù)據(jù)劃分過程,在Quick排序算法的每一步,當(dāng)數(shù)組還沒有被劃分時,將元素A[p]與從A[p‥r]中隨機(jī)挑選出的一個元素交換,以確保樞點元素x=A[p]取自A[p‥r]中r-p+1個元素任一個的可能性相同。經(jīng)過這樣的隨機(jī)化處理之后,就能期望對輸入數(shù)組的劃分一般都是對稱(左、右兩部分的數(shù)據(jù)個數(shù)相同)的。
第9頁,共15頁,2023年,2月20日,星期四18.6隨機(jī)排序18.6.2并行隨機(jī)Quick排序算法
設(shè)A是由n個互不相同元素組成的無序數(shù)組,算法思想:從A中隨機(jī)挑選一個劃分元素(Splitter)S(A),將S(A)與A中各個元素比較,將比S(A)小的元素標(biāo)記為1,比S(A)大的元素標(biāo)記為0;將較小的元素移向A的前端,而將較大的元素移向A的后端;對于這些較小的元素(子序列,桶)和較大的元素(子序列,桶)重復(fù)以上相同的策略進(jìn)行并行處理,直到子序列(桶)中的元素數(shù)足夠小(如30)為止。
算法18.5RPRAM-EREW上隨機(jī)Quick排序算法Randomized-Quicksort(A[1..n])輸入:待排序的數(shù)組A,|A|=n輸出:有序數(shù)組
Begin(1)ifn<=30thensortAusinganysortingalgorithmandreturnsortedA;(2)selectarandomelementS(A)fromA;
//隨機(jī)選擇一個劃分元素
(3)fori=1tondoinparallelifA[i]<S(A)thenmark[i]=1elsemark[i]=0;(4)compacttheelementsofAwithmarked1atbeginningofA,followedbyS(A)whichisfollowedbytheelementsofAwithmarked0;setkequaltopositionoftheelementS(A);(5)Randomized-Quicksort(A[1..k-1]);//并行遞歸調(diào)用
Randomized-Quicksort(A[k+1..n])End.第10頁,共15頁,2023年,2月20日,星期四18.6隨機(jī)排序18.6.2并行隨機(jī)Quick排序算法
設(shè)e是A中的任一元素,nj為第j(j
≥1)次劃分結(jié)束時,包含的子序列(桶)的容量(元素數(shù)目),其中n0=n,則引理18.8對于任意的j
≥0,Pr{nj+1≥7nj/8}≤
1/4.引理18.9在20log8/7n次劃分步中,元素e
經(jīng)歷了20log8/7n-log8/7
(n/30)次不成功劃分步的概率為O(n-7).定理18.15算法18.15高概率地可在O(log2n)時間內(nèi)使用O(nlogn)次操作(工作量),完成對n個數(shù)據(jù)的排序。RPRAM-EREW上隨機(jī)并行Quick排序示例輸入:A={4,16,-5,7,25,-8,1,3},n=8
//設(shè)算法遞歸到n=14,16,-5,7,25,-8,1,3
4,-5,-8,1,3,7,16,25
-8,-5,4,1,
3,7,16,25
-8,-5,1,3,4
,7,16,25
-8,-5,1,3,
4,7,16,25第11頁,共15頁,2023年,2月20日,星期四18.6隨機(jī)排序18.6.3拓展的并行隨機(jī)Quick排序算法
算法思想:從當(dāng)前子序列(桶)中隨機(jī)挑選個劃分元素(樣本),將每個桶劃分成+1個較小的桶,然后并行遞歸排序各個桶。每個劃分步的代價仍保持為對數(shù)時間,且總的運(yùn)行時間也是對數(shù)的。算法18.6RPRAM-EREW上擴(kuò)展的算法Randomized-Quicksort(A[1..n])輸入:待排序的數(shù)組A,|A|=N輸出:有序數(shù)組
Begin(1)若n≤30則使用任一算法排序A;(2)從A中獨(dú)立(隨機(jī))地采樣n1/2
個劃分元素,并形成集合S;
(3)成對比較S中元素將其排序,并以n1/2*n1/2
的二維表T的形式存放結(jié)果;對T的每一行用前綴和計算S各元素的位序;
(4)將A中元素置入桶{Bi},1≤
i≤
n1/2+1,使得Bi的元素就是A中那些處于S中第(i-1)個最小者和第i個最小者之間的元素;
//第0個最小者為負(fù)無窮大,第
+1個最小者為正無窮大
(5)并行遞歸排序各桶中的元素
End.定理18.16算法18.15高概率地可在O(logn)時間內(nèi)使用O(nlogn)次操作(工作量),完成對n個數(shù)據(jù)的排序。第12頁,共15頁,2023年,2月20日,星期四18.7隨機(jī)串匹配18.7.1KARP-RABIN串匹配隨機(jī)算法思想基于映射思想和素數(shù)理論,定義一個稱為“指印”(Fingerprint)的函數(shù),它首先將模式串映射成一個比模式串短得多的指?。ㄎ淮?dāng)?shù)據(jù)),然后將正文串中每一個長度為m的子串也映射一個比子串本身短得多的指?。ㄎ淮?dāng)?shù)據(jù))。要求所構(gòu)造的指印函數(shù)盡可能掃描整個文本串,并且能迅速計算出每個長度為m的子串的指印。算法的匹配比較過程不是直接比較模式串與正文子串本身,而是比較模式串的指印函數(shù)值和正文子串的指印函數(shù)值。
若兩者的指印函數(shù)值相等,算法就認(rèn)為模式與當(dāng)前正文子串高概率地匹配。假設(shè)正文串與模式串中出現(xiàn)的字符集合為∑,|∑|=d。將模式串以及正文串中每個長度為m的子串用以d為基的整數(shù)表示。即定義一個映射(函數(shù)),它將長度為m
的字符串映射成整數(shù)x(0≤x≤d-1)。第13頁,共15頁,2023年,2月20日,星期四18.7隨機(jī)串匹配18.7.2KARP-RABIN串匹配隨機(jī)算法
設(shè)asc(c)為字符c的ASCII值,將模式串P=p1p2…pm
表示成:
x=asc(p1)dm-1+asc(p2)dm-2+…+asc(pm-1)d1+asc(pm)
其對應(yīng)的指?。ㄉ⒘校┖瘮?shù)是:h(x)=xmodq,q是區(qū)間[1,n2
m]中隨機(jī)選取的某個適當(dāng)大的素數(shù)。同理,將正文串中長度為m
的某個子串titi+1…ti+m-1表示成:
y=asc(ti)dm-1+asc(ti+1)dm-2+…+asc(ti+m-2)d1+asc(ti+m-1)
其對應(yīng)的指?。ㄉ⒘校┖瘮?shù)是:h(y)=ymodq,q是區(qū)間[1,n2
m]中隨機(jī)選取的某個適當(dāng)大的素數(shù)。為了迅速計算出正文中每個長度為m的字符串的指?。ㄉ⒘校┖瘮?shù)值,我們考慮正文中前后兩個緊接著的長度為m的字符串的指印函數(shù)值之間的關(guān)系。記正文中子串titi+1…ti+m-1對應(yīng)的整數(shù)為yi
,則有
yi
=asc(ti)dm-1+asc(ti+1)dm-2+…+asc(ti+m-2)d1+asc(ti+m-1)
而正文中子串ti+1ti+2…ti+m
對應(yīng)的整數(shù)為yi+1
滿足
yi+1=asc(ti+1)dm-1+asc(ti+2)dm-2+…+asc(ti+m-1)d1+asc(ti+m)=(yi–asc(ti
)dm-1)d+asc(ti+m)
因此有:h(yi+1)=h((yi–asc(ti
)dm-1)d+asc(ti+m))modq,i=1~n-m。令xx=dm-1modq
,則得到計算每個長度為m的子串的指印函數(shù)值的遞推公式為:
h(yi+1)=((h(yi)-xx×asc(ti))d+asc(ti+m))modq
,i=1~n-m。第14頁,共15頁,2023年,2月20日,星期四18.7隨機(jī)串匹配18.7.2KARP-RABIN串匹
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 厚街體育館施工組織設(shè)計
- 歐式古典客廳布藝軟裝設(shè)計
- 利用機(jī)器學(xué)習(xí)優(yōu)化網(wǎng)絡(luò)數(shù)據(jù)監(jiān)管
- 焊接作業(yè)質(zhì)量檢驗與問題處理流程
- 高一化學(xué)教案:專題第一單元第三課時乙烯
- 三明市2024-2025學(xué)年第一學(xué)期高三期末數(shù)學(xué)質(zhì)檢主觀題閱卷情況和教學(xué)建議
- 2024高中地理第四章工業(yè)地域的形成與發(fā)展章末總結(jié)提升練含解析新人教版必修2
- 2024高中生物第6章生態(tài)環(huán)境的保護(hù)第2節(jié)保護(hù)我們共同的家園課堂演練含解析新人教版必修3
- 2024高考地理一輪復(fù)習(xí)第五部分選修地理-重在遷移第42講旅游地理課時作業(yè)含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第十一章有機(jī)化學(xué)基礎(chǔ)第一講認(rèn)識有機(jī)化合物規(guī)范演練含解析新人教版
- 修訂完整-(兒研所)嬰幼兒發(fā)育診斷量表幼兒教育
- 教代會會場背景(紅旗)圖片課件
- 工學(xué)第八章-固相反應(yīng)課件
- 臨時用電拆除方案
- 詩經(jīng)研究課程教學(xué)大綱
- 垂體瘤診療規(guī)范內(nèi)科學(xué)診療規(guī)范診療指南2023版
- 國家安全教育學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 三年級道德與法治教學(xué)工作總結(jié)
- 中國茶文化(中文版)
- 托卡馬克等離子體約束
- 02J401鋼梯安裝圖集
評論
0/150
提交評論