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.
References
A. V. Aho, and M. J. Corasick. Efficient string matching: an aid to bibliographic search. Communications of the ACM, 18:333–340, 1975.
A. Amir and M. Farach. Adaptive dictionary matching. In IEEE Symposium on Foundations of Computer Science, 760–766, 1991.
A. Amir, M. Farach, Z. Galil, R. Giancarlo, and K. Park. Dynamic dictionary matching. Journal of Computer and System Science, 49:208–222, 1994.
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.
A. Amir, M. Farach, and Y. Matias. Efficient randomized dictionary matching algorithms. In Combinatorial Pattern Matching, 259–272, 1992.
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.
B. S. Baker. A theory of parameterized-pattern matching: Algorithms and applications. In ACM Symposium on Theory of Computing, 71–80, 1993.
R. S. Boyer and J. S. Moore. A fast string searching algorithm. Communications of the ACM, 20:762–772, 1977.
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.
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.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. MIT Press, 1990.
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.
M. Farach and S. Muthukrishnan. Optimal parallel dictionary matching and compression. In ACM Symposium on Parallel Algorithms and Architectures, 244–253, 1995.
P. Ferragina. A simple parallel dictionary matching algorithm. In EURO-PAR 96 Parallel Processing, 1996 (to appear).
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).
P. Ferragina and R. Grossi. A fully-dynamic data structure for external substring search. In ACM Symposium on Theory of Computing, 693–702, 1995.
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.
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.
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.
R. M. Idury and A. A. Schäffer. Dynamic dictionary matching with failure functions. Theoretical Computer Science, 131:295–310, 1994.
R. M. Idury and A. A. Schäffer. Multiple matching of parameterized patterns. In Theoretical Computer Science, 154:203–224, 1996.
J. Já Já. An introduction to parallel algorithms. Addison-Wesley, 1992.
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.
D. E. Knuth, J. H. Morris, and V. R. Pratt. Fast pattern matching in strings. SIAM Journal on Computing, 6(2):63–78, 1977.
U. Manber and G. Myers. Suffix arrays: a new method for on-line string searches. SIAM Journal on Computing, 22: 935–948, 1993.
E. M. McCreight. A space-economical suffix tree construction algorithm. Journal of the ACM, 23(2):262–272, 1976.
S. Muthukrishnan and K. Palem. Highly efficient dictionary matching in parallel. In ACM Symposium on Parallel Algorithms and Architectures, 69–78, 1993.
M. H. Overmars. The design of Dynamic Data Structures. Springer-Verlag Lecture Notes in Computer Science #156, 1983.
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.
P. Weiner. Linear pattern matching algorithm. In IEEE Symp. on Switch. Autom. Th., 1–11, 1973.
Author information
Authors and Affiliations
Editor information
Rights 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