基于后缀数组的分布式串匹配算法_第1页
基于后缀数组的分布式串匹配算法_第2页
基于后缀数组的分布式串匹配算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于后缀数组的分布式串匹配算法

摘要:文章提出的UniformedSoffixArraysAss谊n算法通过采取均匀的后级分配方式,使各个处理器可以独立地构造后缀数组,并提出通过播送最长后缀长度(Maxsuffixlen)来降低处理段间匹配时的通信复杂度。算法在构造后级数组时的平均复杂度为O((N/P)(109109(N/P))),通信复杂度为0(1)。通过实验分析得出,在(N/P)M的情况下,USAA算法可以在保持计算复杂度的同时大大降低在构造后缀数组过程中的通信消耗。其中N,M分别为文本串和模式申的长度,P为处理器数。关键词:后缀数组分布式存储串匹配1引言键,在分布式环境下加速后缀数组的构造需要充分考虑到通信对算法性能的影响。串匹配问题是计算机科学中研究得最广泛的问题之一,在文字编辑与处理、图像处理、信息检索、分子生物学等领域都有很广泛的应用。本文解决的是分布式存储环境下的精确串匹配问题。在串匹配的许多实际应用中一个确定的文本常常被查询很多次(比如对非常长的基因序列的查询)。针对这种情况,Manber.U和E.W.Myers提出建立后缀数组(suffixarrays)〔1〕来提高查询的性能,而后缀数组最大的不足是它的构造时间过长。因此一直以来,如何快速有效地构造后缀数组成了提高基于后缀数组的串匹配算法性能的关2USAA算法假设N,M为文本串和模式串的长度,P为处理器数,算法设计思路如下:(1)将长为N的文本串A均匀划分成互不重盛的P段,分布于处理器。~(P一l)中,且使相邻的文本段分布在相邻的处理器中,显然每个处理器中局部文本段的长度为〔N/P〕。(2)除了处理器O外,其它每个处理器利用KMP算法计算分配到自己的文本串的头个字符与模式串,基金项目:国家自然科学基金重点项目(60533020)的匹配信息。如果存在匹配情况,就向相邻的前一个处理器发送最大匹配后缀长度Maxsuffixlen,否则就发送一个负数。每个处理器可独立地计算和发送该值,所以这一步的计算复杂度为O(M),通信复杂度为O(1)。(3)处理器1~(P-l)接收前一个处理器的信息。(4)利用Manber.U和E.W.Myers在文献〔〔1〕中的算法各处理器并行地构造局部文本段的后缀数组。(5)利用Manber.U和E.W.Myers在文献〔1〕中的算法各处理器并行地进行模式申的匹配。算法的计算复杂度为O((N/P(109109(N/P))),通信复杂度为0(1),大大降低了通信复杂度。3实验结果及分析我们在基于分布存储的32节点HPRX2600高性能机群系统上测试了上述算法,比较了USAA和目前理论值最好的MMsortlz〕算法之间的性能,其计算复杂度为,通信复杂度为。图1给出了当M一16、P~2时,N的取值对算法执行时间的影响。从图中看出当时,由于N、P的取值成了影响算法复杂度的主项,因此在实际应用中USAA算法比MMsort算法表现要好。图2给出了当N变大时,USAA算法和MMsort算法的通信时间比较。可以看出,随着文本串的规模变大,由于处理器间需要进行的通信量增加,MMsort算法的通信时间有明显的上升,而USAA算法的上升幅度要显著小于MMsort。4结论本文提出的USAA算法通过采取均匀的后缀分配方式来降低处理段间匹配时的通信消耗,在(N/P)M的情况下使算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论