Lecture19 - • 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

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

View Full Document Right Arrow Icon
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
Background image of page 1

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

View Full DocumentRight Arrow Icon
2 Give the Optimization Recurrence for the String Alignment Problem • Charge δ x if character x is unmatched
Background image of page 2
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

This note was uploaded on 02/25/2012 for the course CSE 421 taught by Professor Richardanderson during the Fall '06 term at University of Washington.

Page1 / 2

Lecture19 - • 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

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

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