Abstract
In [8] we described a nonlinear pattern-matching algorithm with the best known worst-case and optimal average-case time complexity. In this paper we first report on some experiments conducted on our algorithm. Based on these experiments we believe that our algorithm is useful in speeding up normalization of nonlinear rewrite systems even when it has a small number (≥5) of rewrite rules.
In order to find matches quickly our algorithm operates in two phases. In the first phase it scans the subject tree to collect some “information” which is then used to find matches quickly in the second phase. Scanning can become very expensive especially for large subject trees. However the normalization process is “incremental” in nature. After each reduction step the subject tree is altered and this modified tree is usually not completely different from the old tree. Hence it should be possible to avoid scanning and searching the entire tree for new matches. We describe general techniques to exploit the incremental nature of normalization to speed up each reduction step. Specifically, using these techniques we show that the search for new matches in the subject tree following a replacement can be made independent of the size of the subject tree.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A.V. Aho and M.J. Corasick, “Efficient String Matching: An Aid to Bibliographic Search”, CACM, Vol 18 No. 6, June 1975, pp. 333–340.
C.M. Hoffmann and M.J. O'Donnell, “Pattern Matching in Trees”, JACM 29, 1, 1982 pp. 68–95.
D. E. Knuth and P. Bendix, “Simple word problems in Universal Algebras”, Computational Problems in Abstract Algebra, J. Leech, ed., Pergammon Press, Oxford 1970, pp. 263–297.
D.R. Chase, “An Improvement to Bottom-up Tree Pattern Matching”, Fourteenth Annual ACM Symposium on Principles of Programming Languages, Jan 1987.
M.J. O'Donnell, “Equational Logic as a Programming Language”, Foundations of Computation Series, MIT Press 1985.
P.J. Downey, R. Sethi and R.E. Tarjan, “Variations on the Common Subexpression Problem”, JACM Vol 24 No. 4, 1980, pp. 758–771.
Jean-Marie Hullot, “A Catalogue of Canonical Term Rewriting Systems”, Technical Report CSL-113, SRI International, April 1980.
R. Ramesh and I.V. Ramakrishnan, “Nonlinear Pattern Matching in Trees”, Proceedings of the 15th International Colloquium on Automata, Languages and Programming, LNCS, Vol 317, Springer Verlag, pp. 473–488, July 1988. (Also to appear in JACM).
J. Hsiang and J. Mzali, “SbReve Users Guide”, Technical Report, LRI 1988.
P. Lescanne, “REVE: A Rewrite Rule Laboratory”, 8th Int'l Conference on Automated Deduction, LNCS 230, July 1986.
J. Cai, R. Paige and R.E. Tarjan, “More Efficient Bottom-Up Tree Pattern Matching”, European Symposium on Programming, 1990.
D. Kapur and H. Zhang, “RRL: A Rewrite Rule Laboratory”, 9th Int'l Conference on Automated Deduction, May 1988.
J. Hsiang, “Refutational Theorem Proving using Term Rewriting Systems”, Artificial Intelligence 25, 1985, pp. 255–300.
R. Ramesh and I.V. Ramakrishnan, “Incremental Techniques for Efficient Normalization of Nonlinear Rewrite Systems”, Technical Report No. UTDCS-38-90, Department of Computer Science, University of Texas at Dallas, Richardson, TX 75083.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ramesh, R., Ramakrishnan, I.V. (1991). Incremental techniques for efficient normalization of nonlinear rewrite systems. In: Book, R.V. (eds) Rewriting Techniques and Applications. RTA 1991. Lecture Notes in Computer Science, vol 488. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53904-2_108
Download citation
DOI: https://doi.org/10.1007/3-540-53904-2_108
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53904-9
Online ISBN: 978-3-540-46383-2
eBook Packages: Springer Book Archive