计算机问题求解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机问题求解

Open Topics: Correctness of the prefix-function computation Correctness of the KMP algorithm 课外作业 TC Ex.32.1-: 2, 3, 4 TC Ex.32.2-: 1, 2, 3, 4 TC Ex.32.3-: 2, 3, 5 值匹配仅仅是必要条件! 如果值不匹配,一定不是match 但如果值相同,可能不是valid * Valid hits is few! Spurious hits: Assumption : Reducing valued modulo q acts like a random mapping from Σ^? ???? ?_?? Then the number of spurious hits is ??(??/??) ??(??)+??(??(??+??/??)) * 有多少个有效偏移出现,就有多少个“可接受”的语句。(当然,这些语句都是输入的T的某个“前缀”) * 终态函数:每个状态下,需要计算出下一个输入导致的格局,拥有多长的pk,如果k=m,匹配成功。 * X的最后一位向前数,有多少位形成的子串(后缀)是模式P的前缀。 如果这个数字是k,意味著:如果x后面出现的m-k位恰好是模式P的后几位,匹配成功 西格玛(x)=m表明什么? * 最终目的 * 定义西格玛(Pqa)可以通过计算西格玛(xa) * 考察所有可能的状态q,看在任意输入下a下,德尔塔(q,a)是什么?转到哪个状态去 K是某个状态,如果a是模式P的下一位,k在q的基础上增加1,否则要回退,直到找到模式P的最大前缀。 不计算转移函数意味着:没有返回的边 * 没有返回边,无法进行匹配。是否可以实时计算该返回到哪里? 如果能够实时计算,比如KMP采用π数组存储每个q的有关信息,计算π只需m量级。而计算德尔塔函数却需要m西格玛量级。 * Max k = min s’ * 第8行特别有意思:不再寻找新的s’了,直接比较P[q+1]和T[i] * 与KMP算法极为相似! 一个是在T中找P,一个是P同自身比较 一个利用\pi,一个计算\pi * 计算机问题求解 – 论题4-11 - 串匹配 2017年5月3日 检查 模式P在文本T中以偏移3、11、35有效出现,是什么意思? 如果我们说,一个有限自动机M接受字符串w。这是什么意思? 最容易想到的算法 最容易想到的算法 Preprocessing Matching 什么意思? 递推的方法 有限状态机 ?语句?::=?前缀? a ?前缀?::=? ?前缀?::=?前缀?b | ?前缀?aa 欲匹配的pattern一定是可接受的“语句”的后缀! Whenever its current state q is a member of A, the machine M has accepted the string read so far. An input that is not accepted is rejected. 待匹配的pattern 告诉我们“退”到那里。 如何构建自动机 后缀函数的意义不仅仅是告诉我们“退到哪里”! 后缀函数递归引理 确定?(Pqa)与x无关,即与T无关。 可能需要代价m KMP算法的基本思想 很显然,在我们只比较了5个字符,掌握了这些信息的基础上: 偏移量s+1是必定是无效的!Why? 我们有没有办法确定哪个s’偏移量可能是有效偏移? 为什么要问这个问题? 找到那个计算最小的s’的线索 我们真正找的是P[1..k]在文本P[1..q]中的线索 s’ = s+(q-k) 模式的前缀函数 KMP算法 KMP VS 有限状态机 值匹配仅仅是必要条件! 如果值不匹配,一定不是match 但如果值相同,可能不是valid * Valid hits is few! Spurious hits: Assumption : Reducing valued modulo q acts like a random mapping from Σ^? ???? ?_?? Then the number of spurious hits is ??(??/??) ??(??)+??(??(??+??/??)) * 有多少个有效偏移出现,就有多少个“可接受”的语句。(当然,这些语句都是输入的T的某个“前缀”) * 终态函数:每个状态下,需要计算出下一个输入导致的格局,拥有多长的pk,如果k=m,匹配成功。 * X的最后一位向前数,有多少位形成的子串(后缀)是模式P的前缀。 如果这个数字是k,意味著:如果x后面出现的m-k位恰好是模式P的后几位,匹配成功 西

文档评论(0)

laolao123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档