{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

# Lecture19 - • Charge γ xy if character x is matched to...

This preview shows pages 1–2. Sign up to view the full content.

1 CSE 421 Algorithms Richard Anderson Lecture 19 Longest Common Subsequence 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 Determine the LCS of the following strings BARTHOLEMEWSIMPSON KRUSTYTHECLOWN 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 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 ) 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])

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

View Full Document
2 Give the Optimization Recurrence for the String Alignment Problem • Charge δ x if character x is unmatched • Charge
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: • Charge γ xy if character x is matched to character 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 ]}