网站大量收购独家精品文档,联系QQ:2885784924

通用后缀树并行化构建算法.PDF

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三届全国高校云计算应用创新大赛 技能赛命题二 技能赛命题二 通用后缀树并行化构建算法 题目描述 序列分析是数据处理过程中一种典型分析方法,实际应用中很多数据都可以 用序列的方式描述,例如生物的 DNA 或者蛋白质序列、文本中的字符串序列、 具有时序特征的事件序列等。 随着序列规模的越来越大,传统的序列分析方法,例如序列查找、序列匹配 以及最长公共子序列查找等所需要的时间开销越来越大。为了提升大规模序列分 析的计算性能,不少学者采用了将序列转化为后缀树,并基于后缀树进行序列分 析的方式。后缀树不仅能够快速解决字符序列查找匹配的问题,而且能够应用在 1 DNA 序列模式查找、数据压缩、频繁长序列挖掘、代码克隆等领域 。 后缀树构建是基于后缀树进行序列分析过程中计算量最大、时间开销最长的 一个步骤,特别是在大规模序列分析场景下,传统的单机后缀树构建算法已不能 满足实际需求。本题希望选手利用Spark 平台实现通用后缀树的并行化构建方法 和算法,使后缀树构建操作能高效地在大规模序列数据集上完成。 1.1 通用后缀树并行化构建问题定义 在本题中,主要考虑字符序列的后缀树构建任务。 假设序列S 为BANANA 。构建后缀树时,首先需要在序列末尾补上终结符 $ (某个在序列中未出现过的字符,这里使用$表示),形成带终结符的序列 “BANANA$” 。在此基础上,就可以将序列S 所包含的6 个后缀子序列分别表示 为: A$ NA$ ANA$ NANA$ ANANA$ BANANA$ 后缀树:后缀树包含了序列所有的后缀子序列,它通过压缩表现形式来提升 1 后缀树介绍 /wiki/Suffix_tree 1 第三届全国高校云计算应用创新大赛 技能赛命题二 2 空间使用率 。序列S 对应的后缀树T 如图1 所示。其中,从根节点到叶子节点 (如方框所示)的每条路径分别代表每个后缀序列,非叶子节点表示某个后缀 列的前缀序列。叶子节点中的数字表示对应的后缀序列在原始序列的起始位置。 对于一个长度为n 的原始序列S,其后缀树具有以下几个特点: 1、后缀树的叶子节点个数为n ,即S 的每个后缀都对应于一个后缀树的叶 子结点。 2 、除了根节点之外,每个内部节点至少包含两个子节点。 3、后缀树中的每条边的标签为原始序列的非空子序列。 4 、同一个节点所有出边的标签首字符一定不同。 A BANANA$ NA 0 $ NA $ NA$ 5 4 2 $ NA$ 3 1

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档