1 / 22

Pattern Matching Longest Common Subsequence

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.

creda
Download Presentation

Pattern Matching Longest Common Subsequence

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pattern MatchingLongest Common Subsequence Bill Robertson Zac Livingston John Garvin Bradley Wagner Nick Becker

  2. Agenda • Introduction • Pattern Matching • String Matching • Dynamic Programming • Longest Common Subsequence • Application 1 • Application 2 • Application n • Future Areas of Interest

  3. Introduction • Present real-world scenario or interesting application • Grab audience

  4. Pattern Matching • Main objective • Issues to be solved • Basic overview

  5. History • Timeline preferable • History of problems solved by pattern matching

  6. Areas of Application • Application areas • Types of pattern matching

  7. 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

  8. Dynamic Programming • Overview • Motivation of Area • Key requirements • Alternatives (greedy algorithms)

  9. Longest Common Subsequence • Algorithm intro • Analysis • Correctness? …proofs, etc. • Walk through pseudocode • Step through example

  10. LCS algorithm, step one LCS(X=“All your base”, Y=“are belong to us”)

  11. LCS algorithm, step one Len(Y) “A” + LCS(X=“ll your base”, Y=“re belong to us”) Len(X) LCS(X=“All your base”, Y=“are belong to us”) ‘A’=’a’

  12. LCS algorithm, step one Len(Y) LCS(X=“ll your base”, Y=“are belong to us”) max Len(X) LCS(X=“All your base”, Y=“re belong to us”) LCS(X=“All your base”, Y=“are belong to us”) ‘A’≠’a’

  13. LCS algorithm, step one Len(Y) LCS(“ll your base”, “are belong to us”) “A” + LCS(“ll your base”, “re belong to us”) Len(X) LCS(X=“All your base”, Y=“are belong to us”) LCS(“All your base”, “re belong to us”)

  14. LCS algorithm--building table LCS-Length: len[0,length(X)]  0 len[length(Y),0]  0 for 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 1 1 1 1 0 0 0

  15. LCS algorithm--finding length LCS-find: ... ... ... 0 0 0 0 0 0 1 1 1 1 0 0 0

  16. Asymptotic complexity LCS-length: ... O(?) ... O(?) ... O(?) Total: O(mn)

  17. Asymptotic complexity LCS-find: ... O(?) ... O(?) ... Total: O(m+n)

  18. Correctness • Proof sketch

  19. 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

  20. 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

  21. Conclusion • Summarize what the audience should have learned

  22. Bibliography

More Related