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

[所有分类]第四章动态规划法.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[所有分类]第四章动态规划法

算法设计与分析 * DNA序列的相似性 若给定两个DNA序列: AGCTACGTACACTACC AGCTATCGTACTAGC 下面是其一个相似性序列: AGCTA–CGTACACTACC AGCTATCGTAC– –TAGC 其中有13个匹配、1个不匹配、一个长度为1的插入空白和一个长度为2的删除空白。 若:a = b时 σ (a, b) = 10; a ? b时σ (a, b) = –20; q = 40;r = 2。该相似性序列的得分为 10 * 13 – 20 – (40 + 2) – (40 + 2 * 2) = 24 算法设计与分析 * 递归求序列相似性 设A = a1a2…am,B = b1b2…bn。令S(m, n)为A和B的相似性,即各种对偶序列最大的得分。 为了采用递归方法来求解此问题,我们从序列尾部来考虑,那么有三种方案: ①尾部用替换,即最后一个对偶为(am, bn); ②尾部用删除空白,即最后一个对偶为(am, –); ③尾部用插入空白,即最后一个对偶为(–, bn)。 令S(m, n)、D(m, n)和I(m, n)分别为三种方案的得分,则其相似性应为三种方案的最大得分。 算法设计与分析 * 递归求序列相似性 S(m, n) = S(m – 1, n – 1) + σ(am, bn)。 若用方案①,即尾部用替换,则 D(m, n) = S(m – 1, n) – q – r 或者,D(m, n) = D(m – 1, n) – r 若用方案②,即尾部用删除空白,则 I(m, n) = S(m, n – 1) – q – r 或者,I(m, n) = I(m, n – 1) – r 若用方案③,即尾部用插入空白,则 算法设计与分析 * 递归求序列相似性 现在考虑非递归分支: S(0, 0) = 0、S(m, 0) = D(m, 0)、S(0, n) = I(0, n)。 对方案①,有 D(m, 0) = D(m – 1, 0) – r、D(0, n) = S(0, n) – q。 对方案②,有 I(m, 0) = S(m, 0) – q、I(0, n) = S(0, n – 1) – q。 对方案③,有 算法设计与分析 * 递归求序列相似性 S(m,n) = 0 m = 0, n = 0 D(m, 0) for n ? 0 I(0, n) for m ? 0 max{S(m–1,n–1)+σ(am,bn), D(m,n), I(m,n)} D(m,n) = S(0, n) – q for n ? 0 D(m – 1, 0) – r for m ? 0 max{S(m–1,n) – q - r, D(m – 1,n) – r} I(m,n) = S(m, 0) – q for m ? 0 I(0, n – 1) – r for n ? 0 max{S(m,n–1) – q - r, I(m – 1,n) – r} 算法设计与分析 * 动态规划求序列相似性 如果用递归算法求序列的相似性,其时间复杂性显然是指数级的。 考虑采用动态规划法。为此,需要 ⑴用矩阵S[0:m, 0:n]、D[0:m, 0:n]和I[0:m, 0: n]来分别记载对应于子序列Ai和Bj的得分S(i, j)、D(i, j)和I(i, j),0 ? i ? m,0 ? j ? n。 ⑵从(0, 0)开始逐个计算S(i, j)、D(i, j)和I(i, j)并将结果记入S[i, j]、D[i, j]和I[i, j]。 ⑶必要时,是用辅助矩阵记载每步的方案。 算法设计与分析 * 动态规划法的递归式 S(i, j) = 0 m = 0, n = 0 D(i, 0) for j ? 0 I(0, j) for i ? 0 max{S(i–1, j–1)+σ(ai,bj), D(i, j), I(i, j)} D(i, j) = S(0, j) – q for j ? 0 D(i – 1, 0) – r for i ? 0 max{S(i–1, j) – q - r, D(i – 1, j) – r} I(i, j) = S(i, 0) – q for i ? 0

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档