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

  • Luc Albert
  • François Fages
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 317)


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.


Expert System Local Memory Memory Element Pattern Match Algorithm Simple Family 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8. References

  1. [Alb 87]
    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. [dB 58]
    NG de Bruijn Asymptotic Methods in Analysis Dover 1958.Google Scholar
  3. [CKS]
    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. [Clark 79]
    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. [Dieu 68]
    J. Dieudonné Calcul infinitésimal Hermann 1968.Google Scholar
  6. [Duf 84]
    P. Dufresne “Contribution algorithmique à l'inférence par règles de production", Thèse Université Paul Sabatier Toulouse 1984.Google Scholar
  7. [Fag 86]
    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. [Fla 85]
    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. [Fla 87]
    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. [Forg 79]
    C. Forgy “On the efficient implementation of production systems”, PhD Thesis Carnegie Mellon University 1979.Google Scholar
  11. [Forg 81]
    C. Forgy “OPS-V user's manual”, Computer Science Department, Carnegie Mellon University, Pittsburgh, MA, 1981.Google Scholar
  12. [Forg 82]
    C. Forgy “Rete, a fast algorithm for the many patterns many objects Match problem”, Artificial Intelligence 19, 1982,pp 17–37.Google Scholar
  13. [FS 86]
    P. Flajolet, R. Sedgewick “Mathematical analysis of algorithms”, Computer Science 504, lecture Notes for Princeton University 1986.Google Scholar
  14. [FSS]
    P. Flajolet, P. Sipala et J.M. Steyaert “The analysis of tree compaction in symbolic manipulations”, preprint.Google Scholar
  15. [GD 87]
    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. [GF 83]
    A. Gupta et C.L. Forgy “Measurements on production systems”, Carnegie Mellon University Technical Report CMU-CS-83-167,1983.Google Scholar
  17. [Gupt 84]
    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. [Henr 74]
    P. Henrici Applied and Computational complex Analysis Volumes 1–3 Wiley New-York.Google Scholar
  19. [HWL 83]
    F. Hayes-Roth, D.A. Waterman and D.A. Lenat. Building Expert Systems. Addison-Wesley, Reading, M.A. (1983).Google Scholar
  20. [LNR 87]
    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. [MAPLE 85]
    B.W. Char, K.O. Geddes, G.H. Gonnet, S.M. Watt, MAPLE: Reference Manual, University of Waterloo, 1985.Google Scholar
  22. [Mir 87]
    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. [MM 78]
    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. [SBM 83]
    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. [SF 88]
    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. [SF 83]
    J.M. Steyaert, P. Flajolet “Patterns and Pattern Matching in trees: an analysis”, Information and Control 58,1983,pp 19–58.Google Scholar
  27. [Stey 84]
    J.M. Steyaert “Complexité et structures des algorithmes”, Thèse d'Etat Université de Paris 7 1984.Google Scholar
  28. [Vien 86]
    G. Viennot “La combinatoire bijective par l'example”, Université de Bordeaux 1, 1986.Google Scholar
  29. [War 86]
    Warren D.H.D. An abstract Prolog Instruction Set. Technical Note 309, SRI International. 1985.Google Scholar
  30. [WGF 86]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Luc Albert
    • 1
  • François Fages
    • 2
  1. 1.Institut National de Recherche en Informatique et AutomatiqueDomaine de RocquencourtLe ChesnayFrance
  2. 2.Laboratoire Central de Recherches Thomson-CSFDomaine de CorbevilleOrsayFrance

Personalised recommendations