Efficient randomized dictionary matching algorithms

Amihood Amir, Martin Farach, Yossi Matias

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

17 Scopus citations

Abstract

The standard string matching problem involves finding all occurrences of a single pattern in a single text. While this approach works well in many application areas, there are some domains in which it is more appropriate to deal with dictionaries of patterns. A dictionary is a set of patterns; the goal of dictionary matching is to find all dictionary patterns in a given text, simultaneously. In string matching, randomized algorithms have primarily made use of randomized hashing functions which convert strings into “signatures” or “finger prints”. We explore the use of finger prints in conjunction with other randomized and deterministic techniques and data structures. We present several new algorithms for dictionary matching, along with parallel algorithms which are simpler of more efficient than previously known algorithms.

Original languageEnglish
Title of host publicationCombinatorial Pattern Matching - 3rd Annual Symposium, Proceedings
EditorsAlberto Apostolico, Maxime Crochemore, Zvi Galil, Zvi Galil, Udi Manber
PublisherSpringer Verlag
Pages262-275
Number of pages14
ISBN (Print)9783540560241
DOIs
StatePublished - 1992
Externally publishedYes
Event3rd Annual Symposium on Combinatorial Pattern Matching, 1992 - Tucson, United States
Duration: 29 Apr 19921 May 1992

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume644 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference3rd Annual Symposium on Combinatorial Pattern Matching, 1992
Country/TerritoryUnited States
CityTucson
Period29/04/921/05/92

Bibliographical note

Publisher Copyright:
© Springer-Verlag Berlin Heidelberg 1992.

Funding

While the case of a pattern/text pair is of fundamental importance, the single pattern model is not always appropriate. One would often like to find all occurrences in a given text of patterns from a given set of patterns, called a dictionary. This is the dictionary matching problem. In addition to its theoretical importance, dictionary matching has many applications. For example, in molecular biology, one is often concerned with determining the sequence of a piece of DNA. Having found the sequence (which is simply a string of symbols) the next step is to compare the string t College of Computing, Georgia Institute of Technology, Atlanta, GA 30332-0280; (404) 853-0083; [email protected]; partially supported by NSF grant IRI-90-13055. DIMACS, Box 1179, Rutgers University, Piscataway, NJ 08855; (908) 932-5928; [email protected]; supported by DIMACS under NSF contract STC-88-09648. w Institute for Advanced Computer Studies, University of Maryland, College Park, MD 20742; [email protected]; partially supported by NSF grants CCR-9111348 and CCR-8906949.

FundersFunder number
National Science FoundationIRI-90-13055
Center for Discrete Mathematics and Theoretical Computer ScienceSTC-88-09648, CCR-9111348, CCR-8906949

    Fingerprint

    Dive into the research topics of 'Efficient randomized dictionary matching algorithms'. Together they form a unique fingerprint.

    Cite this