The text describes and evaluates the BF, KMP, BM, and KR algorithms, discusses improvements for string pattern matching machines, and details a technique for detecting and removing the redundant operation of the AC machine. Also explored are typical problems in approximate string matching . In addition, the reader will find a description for applying string pattern matching algorithms to multidimensional matching problems, an investigation of numerous hardware–based solutions for pattern matching, and an examination of hardware approaches for full text search.
The first chapter′s survey paper describes the basic concepts of algorithm classifications. The five chapters that follow include 15 papers further illustrating these classifications:
- Single keyword matching
- Matching sets of keywords
- Approximate string matching
- Multidimensional matching
- Hardware matching
CHAPTER 1: SINGLE KEYWORD MATCHING.
Fast Pattern Matching in Strings (D.E. Knuth, J.H. Morris, and V.R. Pratt from SIAM Journal of Computing, June 1977).
A Fast String Searching Algorithm (R.S. Boyer and J.S. Moore from Communications of the ACM, October 1977).
Algorithms for Pattern Matching (G. Davies and S. Bowsher from Software –
Practice and Experience, June 1986).
CHAPTER 2: MATCHING SETS OF KEYWORDS.
Efficient String Matching: An Aid to Bibliographic Search (A.V. Aho and M.J. Corasick from Communications of the ACM, June 1975).
A Method for Improving String Pattern Matching Machines (J. Aoe, Y. Yamamoto, and R. Shimada from IEEE Trans. on Software Engineering, January 1984).
An Efficient Algorithm for Matching Multiple Patterns (J.–J. Fan and K.–Y. Su from IEEE Trans. on Knowledge and Data Engineering, April 1993).
CHAPTER 3: APPROXIMATE STRING MATCHING.
Approximate String Matching (P.V. Hall and G.R. Dowling from ACM Computing Surveys, December 1980).
Optimal Correspondence of String Subsequences (Y.P. Wang and T. Pavlidis from IEEE Trans. on Pattern Analysis and Machine Intelligence, Nov. 1990).
The Noisy Substring Matching Problem (R.L. Kashyap and B.J. Oommen from IEEE Trans. on Software Engineering, May 1983).
CHAPTER 4: MULTIDIMENSIONAL MATCHING.
Pattern Matching in Trees (C.M. Hoffmann and M.J. O′Donnell from Journal of the ACM, January 1982).
Code Generation Using Tree Matching and Dynamic Programming (A.V. Aho, M. Ganapathi, and S.W.K. Tjiang from ACM Trans. on Programming Languages and Systems, Oct. 1989).
The Tree–to–Tree Correction Problem (K.–C. Tai from Journal of the ACM, July 1979).
A Technique for Two–Dimensional Pattern Matching (R.F. Zhu and T. Takaoka from Communications of the ACM, September 1989).
CHAPTER 5: HARDWARE MATCHING.
Performance and Architectural Issues for String Matching (M.E. Isenman and D.E. Shasha from IEEE Trans. on Computers, February 1990).
A Hybrid Text–Retrieval Machine for Large Databases (D.L. Lee and F.H. Lochovsky from IEEE Trans. on Computers, January 1990).
ABOUT THE AUTHOR.