Skip to main content

On the Parallel Dynamic Dictionary Matching problem: New results with applications

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1136))

Abstract

In the Parallel Dynamic Dictionary Matching (DDM) problem, a dictionary \(\mathcal{D}\)contains a set of patterns that can change over time under insertion and deletion of individual patterns. \(\mathcal{D}\)has to be properly maintained such that, given an arbitrary text T, for each position in T we have to list in parallel the longest pattern of \(\mathcal{D}\)occurring there. In this paper, we follow a completely new approach thus providing the first parallel algorithm for the DDM problem which achieves optimal (amortized) work for the update operations in the case of both a constant sized and an unbounded alphabet. It requires small space and still preserves the same time and work of the best known CRCW-PRAM algorithm [27] for answering queries on an arbitrary text.

Furthermore, our parallel approach gives new useful insights for the sequential solution of the DDM problem both in main memory and in secondary storage, and either on strings or on parameterized strings [7].

Partially supported by MURST of Italy.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, and M. J. Corasick. Efficient string matching: an aid to bibliographic search. Communications of the ACM, 18:333–340, 1975.

    Google Scholar 

  2. A. Amir and M. Farach. Adaptive dictionary matching. In IEEE Symposium on Foundations of Computer Science, 760–766, 1991.

    Google Scholar 

  3. A. Amir, M. Farach, Z. Galil, R. Giancarlo, and K. Park. Dynamic dictionary matching. Journal of Computer and System Science, 49:208–222, 1994.

    Google Scholar 

  4. A. Amir, M. Farach, R. M. Idury, H. La Poutré, and A. A. Schäffer. Improved dictionary matching. Information and Computation, 119:258–282, 1995.

    Google Scholar 

  5. A. Amir, M. Farach, and Y. Matias. Efficient randomized dictionary matching algorithms. In Combinatorial Pattern Matching, 259–272, 1992.

    Google Scholar 

  6. A. Apostolico, C. Iliopoulos, G. M. Landau, B. Schieber, and U. Vishkin. Parallel construction of a suffix tree with applications. Algorithmica, 3:347–365, 1988.

    Article  Google Scholar 

  7. B. S. Baker. A theory of parameterized-pattern matching: Algorithms and applications. In ACM Symposium on Theory of Computing, 71–80, 1993.

    Google Scholar 

  8. R. S. Boyer and J. S. Moore. A fast string searching algorithm. Communications of the ACM, 20:762–772, 1977.

    Google Scholar 

  9. W. L. Chang and E. L. Lawler. Approximate string matching in sublinear expected time. In IEEE Symposium on Foundations of Computer Science, 116–124, 1990.

    Google Scholar 

  10. Y. Chiang, M. T. Goodrich, E. F. Grove, R. Tamassia, D. E. Vengroff, and J. S. Vitter. External-memory graph algorithms. In ACM-SIAM Symposium on Discrete Algorithms, 139–149, 1995.

    Google Scholar 

  11. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, 1990.

    Google Scholar 

  12. P. F. Dietz and D. D. Sleator. Two algorithms for maintaining order in a list. In ACM Symposium on Theory of Computing, 365–372, 1987.

    Google Scholar 

  13. M. Farach and S. Muthukrishnan. Optimal parallel dictionary matching and compression. In ACM Symposium on Parallel Algorithms and Architectures, 244–253, 1995.

    Google Scholar 

  14. P. Ferragina. A simple parallel dictionary matching algorithm. In EURO-PAR 96 Parallel Processing, 1996 (to appear).

    Google Scholar 

  15. P. Ferragina. Incremental Text Editing: a new data structure. In European Symposium on Algorithms, Lecture Notes in Computer Science, 495–507, 1994. Also: Dynamic Text Indexing under string updates, Journal of Algorithms, 1996 (to appear).

    Google Scholar 

  16. P. Ferragina and R. Grossi. A fully-dynamic data structure for external substring search. In ACM Symposium on Theory of Computing, 693–702, 1995.

    Google Scholar 

  17. P. Ferragina and R. Grossi. Fast string searching in secondary storage: Theoretical developments and experimental results. In ACM-SIAM Symposium on Discrete Algorithms, 373–382, 1996.

    Google Scholar 

  18. J. Gil, Y. Matias, and U. Vishkin. Towards a theory of nearly constant time parallel algorithms. In IEEE Symposium on Foundations of Computer Science, 698–710, 1991.

    Google Scholar 

  19. M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter. External-memory computational geometry. In IEEE Symposium on Foundations of Computer Science, 714–723, 1993.

    Google Scholar 

  20. R. M. Idury and A. A. Schäffer. Dynamic dictionary matching with failure functions. Theoretical Computer Science, 131:295–310, 1994.

    Article  Google Scholar 

  21. R. M. Idury and A. A. Schäffer. Multiple matching of parameterized patterns. In Theoretical Computer Science, 154:203–224, 1996.

    Google Scholar 

  22. J. Já Já. An introduction to parallel algorithms. Addison-Wesley, 1992.

    Google Scholar 

  23. R. Karp, R. Miller, and A. Rosenberg. Rapid identification of repeated patterns in strings, arrays and trees. In ACM Symposium on Theory of Computing, 125–136, 1972.

    Google Scholar 

  24. D. E. Knuth, J. H. Morris, and V. R. Pratt. Fast pattern matching in strings. SIAM Journal on Computing, 6(2):63–78, 1977.

    Google Scholar 

  25. U. Manber and G. Myers. Suffix arrays: a new method for on-line string searches. SIAM Journal on Computing, 22: 935–948, 1993.

    Google Scholar 

  26. E. M. McCreight. A space-economical suffix tree construction algorithm. Journal of the ACM, 23(2):262–272, 1976.

    Article  Google Scholar 

  27. S. Muthukrishnan and K. Palem. Highly efficient dictionary matching in parallel. In ACM Symposium on Parallel Algorithms and Architectures, 69–78, 1993.

    Google Scholar 

  28. M. H. Overmars. The design of Dynamic Data Structures. Springer-Verlag Lecture Notes in Computer Science #156, 1983.

    Google Scholar 

  29. S. Subramanian and S. Ramaswamy. The P-range tree: A new data structure for range searching in secondary memory. In ACM-SIAM Symposium on Discrete Algorithms, 378–387, 1995.

    Google Scholar 

  30. P. Weiner. Linear pattern matching algorithm. In IEEE Symp. on Switch. Autom. Th., 1–11, 1973.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Josep Diaz Maria Serna

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ferragina, P., Luccio, F. (1996). On the Parallel Dynamic Dictionary Matching problem: New results with applications. In: Diaz, J., Serna, M. (eds) Algorithms — ESA '96. ESA 1996. Lecture Notes in Computer Science, vol 1136. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61680-2_61

Download citation

  • DOI: https://doi.org/10.1007/3-540-61680-2_61

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61680-1

  • Online ISBN: 978-3-540-70667-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics