1 / 16

String Matching Chapter 32 Highlights

String Matching Chapter 32 Highlights. Charles Tappert Seidenberg School of CSIS, Pace University. String Matching Problem in this chapter. Problem: Find all valid shifts s with which a given pattern P occurs in a given text T

ryann
Download Presentation

String Matching Chapter 32 Highlights

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. String MatchingChapter 32 Highlights Charles Tappert Seidenberg School of CSIS, Pace University

  2. String Matching Problemin this chapter • Problem: Find all valid shifts s with which a given pattern P occurs in a given text T • This problem occurs in text editing, DNA sequence searches, and Internet search engines • Example:

  3. String Matching AlgorithmsPreprocessing & Matching Times

  4. Notation and Terminology • (Sigma-star) = set of all finite-length strings of alphabet sigma (eta is empty string) • String w is a prefix of string x, denoted w[x, if x = wy for some string y • String w is a suffix of string x, denoted w]x, if x = ywfor some string y • Example: ab[abcca and cca]abcca

  5. Problem Re-statementin notation/terminology • Denote a k-char prefix P[1..k] of pattern P by Pk • Similarly, denote a k-char prefix of text T by Tk • Matching problem: Given n = T.length and m = P.length, find all shifts s in range 0<=s<=n-m such that P]Ts+m

  6. Naïve String Match Algorithmsliding “template” pattern match

  7. Naïve String Match Algorithmsliding “template” pattern match • Problem 1-1 • How many template comparisons are made? • How many were matches and how many non-matches? • How many computation units are used? • Problem 1-2 • How many computation units are used?

  8. Finite Automata Algorithm • Efficient – examine each text char only once

  9. Finite Automata Algorithm • Example: simple two-state finite automaton: State transition diagram Transition function (delta)

  10. Finite Automata AlgorithmFinal-state function Final-state function (phi)

  11. Finite Automata AlgorithmConstruct the automaton Suffix function (small sigma)

  12. Finite Automata AlgorithmConstruct the automaton • Example: State m P = a b a b a c a

  13. Finite Automata AlgorithmCritical transition function (delta) Transition function (delta) obtained from Suffix function (small sigma)

  14. Finite Automata AlgorithmMatching operation Transition function (delta)

  15. Finite Automata AlgorithmCompute transition function Transition function (delta)

  16. Finite Automata Algorithm • Problem 3-1 • Problem 3-2

More Related