Skip to main content

Average case complexity analysis of the RETE multi-pattern match algorithm

  • Conference paper
  • First Online:

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

Abstract

The Rete multi-pattern match algorithm [Forg 82] is an efficient method for comparing a large collection of patterns to a large collection of objects. It finds all the combinations of objects which match with a conjunction of patterns. This algorithm is widely used to improve the run-time performance of rule-based expert systems. In this paper we employ generating functions theory in order to perform a precise average case complexity analysis of Rete algorithm. Our results are first established under a “simple” random term model, and later extended to take into account different frequency coefficients for symbols in a way that can closely model real-life applications.

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.

8. References

  1. L. Albert “Présentation et évaluation de la complexité de l'algorithme RETE de multi-pattern matching dans les systèmes de règles de production”, rapport de DEA Universite de PARIS XI, ENS, rapport de recherche 87-8 LCR Thomson-CSF, 1987.

    Google Scholar 

  2. NG de Bruijn Asymptotic Methods in Analysis Dover 1958.

    Google Scholar 

  3. C.Choppy,S.Kaplan,M.Soria “Algorithmic complexity of term rewriting systems”, proceedings of the first Conference on Rewriting Techniques and Applications, Dijon, France. 1986.

    Google Scholar 

  4. D.W. Clark “Measurements of Dynamic List Structures Use in Lisp”. IEEE Transactions on Software Engineering SE-5(1), pp.51–59. (Jan. 1979).

    Google Scholar 

  5. J. Dieudonné Calcul infinitésimal Hermann 1968.

    Google Scholar 

  6. P. Dufresne “Contribution algorithmique à l'inférence par règles de production", Thèse Université Paul Sabatier Toulouse 1984.

    Google Scholar 

  7. F. Fages “On the proceduralization of rules in expert systems”, First France-Japan Symposium on Artificial Intelligence, Tokyo, Nov. 86. In Programming of Future Generation Computers, Addison-Wesley, Eds. M. Nivat and K. Fuchi.

    Google Scholar 

  8. P. Flajolet “Mathematical methods in the analysis of algorithms and data structures”, INRIA, Research Report 400,1985. To appear in the Mathematical Handbook of Theoretical Computer Science, North-Holland.

    Google Scholar 

  9. P. Flajolet “The symbolic operator method”, in Mathematical methods in the analysis of algorithms and data structure, L.N.C.S., Springer Verlag, to appear 1987.

    Google Scholar 

  10. C. Forgy “On the efficient implementation of production systems”, PhD Thesis Carnegie Mellon University 1979.

    Google Scholar 

  11. C. Forgy “OPS-V user's manual”, Computer Science Department, Carnegie Mellon University, Pittsburgh, MA, 1981.

    Google Scholar 

  12. C. Forgy “Rete, a fast algorithm for the many patterns many objects Match problem”, Artificial Intelligence 19, 1982,pp 17–37.

    Google Scholar 

  13. P. Flajolet, R. Sedgewick “Mathematical analysis of algorithms”, Computer Science 504, lecture Notes for Princeton University 1986.

    Google Scholar 

  14. P. Flajolet, P. Sipala et J.M. Steyaert “The analysis of tree compaction in symbolic manipulations”, preprint.

    Google Scholar 

  15. M. Ghallab, P. Dufresne “Moteurs d'inférences pour systèmes de règles de production: techniques de compilation et d'interprétation”, LAAS Toulouse 1987,pp 89–103.

    Google Scholar 

  16. A. Gupta et C.L. Forgy “Measurements on production systems”, Carnegie Mellon University Technical Report CMU-CS-83-167,1983.

    Google Scholar 

  17. A. Gupta “Parallelism in production Systems: the sources and the expected Speed-up”, Carnegie Mellon University Technical Report CMU-CS-84-169,1984.

    Google Scholar 

  18. P. Henrici Applied and Computational complex Analysis Volumes 1–3 Wiley New-York.

    Google Scholar 

  19. F. Hayes-Roth, D.A. Waterman and D.A. Lenat. Building Expert Systems. Addison-Wesley, Reading, M.A. (1983).

    Google Scholar 

  20. J.E. Laird, A. Newell and P.S. Rosenbloom. “SOAR: An Architecture for General Intelligence”, Artificial Intelligence 33, pp 1–64. (1987).

    Google Scholar 

  21. B.W. Char, K.O. Geddes, G.H. Gonnet, S.M. Watt, MAPLE: Reference Manual, University of Waterloo, 1985.

    Google Scholar 

  22. D.P. Miranker “TREAT: A Better Match Algorithm for AI Production Systems” Proceedings of the 1987 National Conference on Artificial Intelligence. Seattle, Washington. (1987).

    Google Scholar 

  23. A. Meier, J.W. Moon “On the altitude of nodes in random trees”, Canadian Journal of Math 30,1978,pp 997–1015.

    Google Scholar 

  24. Stefik M., Bobrow D., Mittal S. and Conway L “Knowledge Programming in LOOPS: Report on an Experimental Course” The AI magazine Fall 83, pp 3–13. (1983).

    Google Scholar 

  25. Schang T. and Fages F “A Real-Time Expert System for On-Board Radar Identification” 55th Symposium AVP-AGARD on Software Engineering and its Applications to Avionics.(1988).

    Google Scholar 

  26. J.M. Steyaert, P. Flajolet “Patterns and Pattern Matching in trees: an analysis”, Information and Control 58,1983,pp 19–58.

    Google Scholar 

  27. J.M. Steyaert “Complexité et structures des algorithmes”, Thèse d'Etat Université de Paris 7 1984.

    Google Scholar 

  28. G. Viennot “La combinatoire bijective par l'example”, Université de Bordeaux 1, 1986.

    Google Scholar 

  29. Warren D.H.D. An abstract Prolog Instruction Set. Technical Note 309, SRI International. 1985.

    Google Scholar 

  30. Wright, M.L., Green M.W., Fiegl G., Cross P.F., “An Expert System for Real-Time Control” SRI International, in IEEE Software. (March 1986).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Timo Lepistö Arto Salomaa

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Albert, L., Fages, F. (1988). Average case complexity analysis of the RETE multi-pattern match algorithm. In: Lepistö, T., Salomaa, A. (eds) Automata, Languages and Programming. ICALP 1988. Lecture Notes in Computer Science, vol 317. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19488-6_104

Download citation

  • DOI: https://doi.org/10.1007/3-540-19488-6_104

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19488-0

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics