Lecture19 - γ xy if character x is matched to character y...

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
CSE 421 Algorithms Richard Anderson Lecture 19 Longest Common Subsequence
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Longest Common Subsequence C=c 1 …c g is a subsequence of A=a 1 …a m if C can be obtained by removing elements from A (but retaining order) LCS(A, B): A maximum length sequence that is a subsequence of both A and B ocurranec occurrence attacggct tacgacca
Background image of page 2
Determine the LCS of the following strings BARTHOLEMEWSIMPSON KRUSTYTHECLOWN
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
String Alignment Problem Align sequences with gaps Charge δ x if character x is unmatched • Charge γ xy if character x is matched to character y CAT TGA   AT CAGAT AGGA Note: the problem is often expressed as a minimization problem, with γ xx = 0 and δ x > 0
Background image of page 4
LCS Optimization A = a 1 a 2 …a m • B = b 1 b 2 …b n Opt[ j, k] is the length of LCS(a 1 a 2 a j , b 1 b 2 …b k )
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Optimization recurrence If a j = b k , Opt[ j,k ] = 1 + Opt[ j-1, k-1 ] If a j != b k , Opt[ j,k] = max(Opt[ j-1,k], Opt[ j,k-1])
Background image of page 6
Give the Optimization Recurrence for the String Alignment Problem Charge δ x if character x is unmatched • Charge
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Background image of page 8
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Background image of page 10
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Background image of page 12
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: γ xy if character x is matched to character y xy x y Opt[ j, k] = Let a j = x and b k = y Express as minimization Dynamic Programming Computation Code to compute Opt[j,k] Storing the path information A[1. .m], B[1. .n] for i := 1 to m Opt[i, 0] := 0; for j := 1 to n Opt[0,j] := 0; Opt[0,0] := 0; for i := 1 to m for j := 1 to n if A[i] = B[j] { Opt[i,j] := 1 + Opt[i-1,j-1]; Best[i,j] := Diag; } else if Opt[i-1, j] >= Opt[i, j-1] { Opt[i, j] := Opt[i-1, j], Best[i,j] := Left; } else { Opt[i, j] := Opt[i, j-1], Best[i,j] := Down; } a 1 …a m b 1 …b n How good is this algorithm? • Is it feasible to compute the LCS of two strings of length 100,000 on a standard desktop PC? Why or why not. Observations about the Algorithm • The computation can be done in O(m+n) space if we only need one column of the Opt values or Best Values • The algorithm can be run from either end of the strings...
View Full Document

{[ snackBarMessage ]}

Page1 / 12

Lecture19 - γ xy if character x is matched to character y...

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online