論基于后綴數(shù)組匹配算法

時間:2022-03-20 07:01:00

導(dǎo)語:論基于后綴數(shù)組匹配算法一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

論基于后綴數(shù)組匹配算法

摘要:文章提出的UniformedSoffixArraysAss誼n算法通過采取均勻的后級分配方式,使各個處理器可以獨(dú)立地構(gòu)造后綴數(shù)組,并提出通過播送最長后綴長度(Maxsuffixlen)來降低處理段間匹配時的通信復(fù)雜度。算法在構(gòu)造后級數(shù)組時的平均復(fù)雜度為O((N/P)(109109(N/P))),通信復(fù)雜度為0(1)。通過實(shí)驗分析得出,在(N/P)M的情況下,USAA算法可以在保持計算復(fù)雜度的同時大大降低在構(gòu)造后綴數(shù)組過程中的通信消耗。其中N,M分別為文本串和模式申的長度,P為處理器數(shù)。

關(guān)鍵詞:后綴數(shù)組分布式存儲串匹配

1引言

鍵,在分布式環(huán)境下加速后綴數(shù)組的構(gòu)造需要充分考慮到通信對算法性能的影響。串匹配問題是計算機(jī)科學(xué)中研究得最廣泛的問題之一,在文字編輯與處理、圖像處理、信息檢索、分子生物學(xué)等領(lǐng)域都有很廣泛的應(yīng)用。本文解決的是分布式存儲環(huán)境下的精確串匹配問題。在串匹配的許多實(shí)際應(yīng)用中一個確定的文本常常被查詢很多次(比如對非常長的基因序列的查詢)。針對這種情況,Manber.U和E.W.Myers提出建立后綴數(shù)組(suffixarrays)〔1〕來提高查詢的性能論文,而后綴數(shù)組最大的不足是它的構(gòu)造時間過長。因此一直以來,如何快速有效地構(gòu)造后綴數(shù)組成了提高基于后綴數(shù)組的串匹配算法性能的關(guān)

2USAA算法

假設(shè)N,M為文本串和模式串的長度,P為處理器數(shù),算法設(shè)計思路如下:

(1)將長為N的文本串A均勻劃分成互不重盛的P段,分布于處理器。~(P一l)中,且使相鄰的文本段分布在相鄰的處理器中,顯然每個處理器中局部文本段的長度為〔N/P〕。

(2)除了處理器O外,其它每個處理器利用KMP算法計算分配到自己的文本串的頭個字符與模式串,基金項目:國家自然科學(xué)基金重點(diǎn)項目(60533020)的匹配信息。如果存在匹配情況,就向相鄰的前一個處理器發(fā)送最大匹配后綴長度Maxsuffixlen,否則就發(fā)送一個負(fù)數(shù)。每個處理器可獨(dú)立地計算和發(fā)送該值,所以這一步的計算復(fù)雜度為O(M),通信復(fù)雜度為O(1)。

(3)處理器1~(P-l)接收前一個處理器的信息。

(4)利用Manber.U和E.W.Myers在文獻(xiàn)〔〔1〕中的算法各處理器并行地構(gòu)造局部文本段的后綴數(shù)組。

(5)利用Manber.U和E.W.Myers在文獻(xiàn)〔1〕中的算法各處理器并行地進(jìn)行模式申的匹配。算法的計算復(fù)雜度為O((N/P(109109(N/P))),通信復(fù)雜度為0(1),大大降低了通信復(fù)雜度。

3實(shí)驗結(jié)果及分析

我們在基于分布存儲的32節(jié)點(diǎn)HPRX2600高性能機(jī)群系統(tǒng)上測試了上述算法,比較了USAA和目前理論值最好的MMsortlz〕算法之間的性能,其計算復(fù)雜度為,通信復(fù)雜度為。

圖1給出了當(dāng)M一16、P~2時,N的取值對算法執(zhí)行時間的影響。從圖中看出當(dāng)時,由于N、P的取值成了影響算法復(fù)雜度的主項,因此在實(shí)際應(yīng)用中USAA算法比MMsort算法表現(xiàn)要好。

圖2給出了當(dāng)N變大時,USAA算法和MMsort算法的通信時間比較??梢钥闯觯S著文本串的規(guī)模變大,由于處理器間需要進(jìn)行的通信量增加,MMsort算法的通信時間有明顯的上升,而USAA算法的上升幅度要顯著小于MMsort。

4結(jié)論

本文提出的USAA算法通過采取均勻的后綴分配方式來降低處理段間匹配時的通信消耗,在(N/P)M的情況下使算法在保持計算復(fù)雜度的同時大大降低了通信復(fù)雜度。通過實(shí)驗結(jié)果可以看到,USAA算法很好地解決了在分布式存儲環(huán)境下降低后級數(shù)組構(gòu)造中的通信復(fù)雜度的問題。

參考文獻(xiàn)

[1]U.Manber,G.Myers.Suffixarrays:Anewmethodforon-linestringsearehes[C〕.InProeeedingsofthe

lstAnnualACM一SIAMSymPosiumon壓sereteAlgorithms.1990:319一327.

[2]Kitajima,J.P.,Navarro,G.Afastdistributedsuffixarraygenerationalgorithm〔C」.StringProeessingandInformationRetrievalSymposium,1999SePt,1999:22-24,97一104.