pattern matching longest common subsequence
DESCRIPTION
Pattern Matching Longest Common Subsequence. Bill Robertson Zac Livingston John Garvin Bradley Wagner Nick Becker. Agenda. Introduction Pattern Matching String Matching Dynamic Programming Longest Common Subsequence Application 1 Application 2 Application n Future Areas of Interest. - PowerPoint PPT PresentationTRANSCRIPT
09/30/03
Pattern MatchingLongest Common SubsequenceBill RobertsonZac LivingstonJohn GarvinBradley WagnerNick Becker
09/30/03
Agenda
• Introduction
• Pattern Matching
• String Matching
• Dynamic Programming
• Longest Common Subsequence
• Application 1
• Application 2
• Application n
• Future Areas of Interest
09/30/03
Introduction
• Present real-world scenario or interesting application• Grab audience
09/30/03
Pattern Matching
• Main objective• Issues to be solved• Basic overview
09/30/03
History
• Timeline preferable• History of problems solved by pattern matching
09/30/03
Areas of Application
• Application areas• Types of pattern matching
09/30/03
String Matching
• History• Overview• Highlight various algorithms with respective applications
• Mention LCS problem briefly but need background on dynamic programming in order to fully understand
09/30/03
Dynamic Programming
• Overview• Motivation of Area• Key requirements• Alternatives (greedy algorithms)
09/30/03
Longest Common Subsequence
• Algorithm intro• Analysis• Correctness? …proofs, etc.
• Walk through pseudocode• Step through example
09/30/03
LCS algorithm, step one
LCS(X=“All your base”, Y=“are belong to us”)
09/30/03
LCS algorithm, step one
LCS(X=“All your base”, Y=“are belong to us”)
“A” + LCS(X=“ll your base”, Y=“re belong to us”)
‘A’=’a’
Len(Y)
Len(X)
09/30/03
LCS algorithm, step one
LCS(X=“All your base”, Y=“are belong to us”)
LCS(X=“ll your base”, Y=“are belong to us”)
LCS(X=“All your base”, Y=“re belong to us”)
max
‘A’≠’a’
Len(Y)
Len(X)
09/30/03
LCS algorithm, step one
LCS(X=“All your base”, Y=“are belong to us”)
“A” + LCS(“ll your base”, “re belong to us”)
LCS(“ll your base”, “are belong to us”)
LCS(“All your base”, “re belong to us”)
Len(Y)
Len(X)
09/30/03
LCS algorithm--building table
LCS-Length:
len[0,length(X)] 0len[length(Y),0] 0for i 1 to length(X):for j 1 to length(Y):
if X[i] = Y[j]:
len[i,j] len[i-1,j-1]dir[i,j] “”
else if len[i-1,j] len[i,j-1]:len[i,j] len[i-1,j]dir[i,j] “”
else:
len[i,j] len[i,j-1]dir[i,j] “”
0 0 0 0 0
0
0
0
0 1 1 1 1
09/30/03
LCS algorithm--finding length
LCS-find:.........
0 0 0 0 0
0
0
0
0 1 1 1 1
09/30/03
Asymptotic complexity
LCS-length:... O(?)... O(?)... O(?)
Total: O(mn)
09/30/03
Asymptotic complexity
LCS-find:... O(?)... O(?)...
Total: O(m+n)
09/30/03
Correctness
• Proof sketch
09/30/03
Applications
• Application 1• Application 2• Application n
• Bioinformatics– Sequence alignment
– Secondary protein structure comparison/prediction
– DNA microarrays (if we have time during presentation. would be good idea)
• Relevance of work and how related to LCS
09/30/03
Future Areas of Interest
• Current areas of research and possible directions for work
• Future of field and extensions of algorithm• Theoretical lower bound of LCS
09/30/03
Conclusion
• Summarize what the audience should have learned
09/30/03
Bibliography