Average case complexity analysis of RETE pattern-match algorithm and average size of join in Databases

  • Luc Albert
Complexity And Analysis Of Algorithms
Part of the Lecture Notes in Computer Science book series (LNCS, volume 405)


The Rete algorithm [Forg 82] is a very efficient method for comparing a large collection of patterns with a large collection of objects. It is widely used in rule-based expert systems. We studied ([AF 88] or [Alb 88]) the average case complexity of the Rete algorithm on collections of patterns and objects with a random tree structure. Objects and patterns are often made up of a head-symbol and a list of variable or constant arguments (OPSV [Forg

CR classification

F.2 (Analysis of algorithms) I.2 (Artificial Intelligence) H.2 (Database) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

IX. Bibliography

  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, Université de PARIS XI, ENS, rapport de recherche 87-8 LCR Thomson-CSF, 1987.Google Scholar
  2. [Alb 88]
    L. Albert, “Présentation et évaluation de la complexité en moyenne d'algorithms de filtrage dans les moteurs d'inférences (Rete et arbre d'unification)”, Revue d' intelligence artificielle, volume 2, Hermes, 1988, pp. 7–40.Google Scholar
  3. [Alb 89]
    L. Albert, “Complexité en moyenne de l'algorithme de multi-pattern matching RETE sur des ensembles de patterns et d'objets de profondeur 1”, INRIA Research Report 1009, 1989.Google Scholar
  4. [AF 88]
    L. Albert, F. Fages, “Average case complexity analysis of the RETE pattern match algorithm”, proceedings of the 15th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, 317, Springer-Verlag, Tampere, Finland, July 1988.Google Scholar
  5. [dB 58]
    NG de Bruijn, Asymptotic Methods in Analysis, Dover 1958.Google Scholar
  6. [CKS 86]
    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
  7. [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
  8. [Dieu 68]
    J. Dieudonné, Calcul infinitésimal, Hermann, 1968.Google Scholar
  9. [Dufr 84]
    P. Dufresne, “Contribution algorithmique à l'inférence par règles de production”, Thèse Université Paul Sabatier, Toulouse, 1984.Google Scholar
  10. [DNM 78]
    J. McDermott, A. Newell, J. Moore, “The efficiency of certain production system implementations”, in Pattern-Directed Inference Systems (Waterman et Hayes-Roth ed.) Academic Press, New York, 1978, pp. 155–176.Google Scholar
  11. [Fag 86]
    F. Fages, “On the proceduralization of rules in expert systems”, First France-Japan Symposium on Artificial Intelligence, Programming of Future Generation Computers, Addison-Wesley, Eds. M. Nivat and K. Fuchi, Tokyo, Nov., 1986.Google Scholar
  12. [Fag 88]
    F. Fages, “Rulebased extension of programming langages”, Proceedings of Les systèmes experts et leurs applications, Avignon, 1988.Google Scholar
  13. [Fla 85]
    P. Flajolet, “Mathematical methods in the analysis of algorithms and data structures”, INRIA, Research Report 400, 1985. To appear in A Graduate Course in Computer Science, Computer Science Press, 1987.Google Scholar
  14. [Fla 87]
    P. Flajolet, “The symbolic operator method”, Mathematical methods in the analysis of algorithms and data structure, L.N.C.S., Springer Verlag, to appear, 1987.Google Scholar
  15. [Forg 79]
    C. Forgy, “On the efficient implementation of production systems”, PhD Thesis, Carnegie Mellon University, 1979.Google Scholar
  16. [Forg 81]
    C. Forgy, “OPS-V user's manual”, Computer Science Department, Carnegie Mellon University, Pittsburgh, MA, 1981.Google Scholar
  17. [Forg 82]
    C. Forgy, “Rete, a fast algorithm for the many patterns many objects Match problem”, Artificial Intelligence 19, 1982, pp. 17–37.CrossRefGoogle Scholar
  18. [FS 86]
    P. Flajolet, R. Sedgewick, “Mathematical analysis of algorithms”, Computer Science 504, Lecture Notes for Princeton University, 1986.Google Scholar
  19. [FSS]
    P. Flajolet, P. Sipala et J.M. Steyaert, “The analysis of tree compaction in symbolic manipulations”, preprint.Google Scholar
  20. [FV 87]
    P. Flajolet, J. Vitter, “Average Case Analysis of Algorithms and Data Structures”, in A Handbook of Theoretical Computer Science, North-Holland, 1987.Google Scholar
  21. [GD 84]
    M. Ghallab, P. Dufresne, “Moteurs d'inférences pour systèmes de règles de production: techniques de compilation et d'interprétation”, Colloqu d'Intelligence Artificielle, Marseille, Oct. 1984, pp. 89–103.Google Scholar
  22. [GF 83]
    A. Gupta et C.L. Forgy, “Measurements on production systems”, Carnegie Mellon University, Technical Report CMU-CS-83-167, 1983.Google Scholar
  23. [Gha 80]
    M. Ghallab, “New optimal decision tree for matching patterns in inference and planning system”, 2nd Int. Meeting on Artificial Intelligence, Leningrad, Oct. 1980.Google Scholar
  24. [GP 84]
    D. Gardy, C. Puech, “On the size of projection: a generating function approach”, Information Systems, Vol. 9, No 3/4, pp. 231–235, 1984.CrossRefGoogle Scholar
  25. [GP 88]
    D. Gardy, C.Puech, “On the effect of join operations on relation sizes”, to appear in ACM Transactions On Database Systems.Google Scholar
  26. [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
  27. [Henr 74]
    P. Henrici, Applied and Computational complex Analysis, Volumes 1–3, Wiley, New-York.Google Scholar
  28. [LCR 88]
    Laboratoire central de Recherches, Xrete: manuel de référence, Thomson-CSF, domaine de Corbeville 91401 Orsay Cedex France, 1988.Google Scholar
  29. [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
  30. [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
  31. [Rosen 81]
    A.S. Rosenthal, “Note on the expected size of a join”, SIGMOD Record 11(4), pp. 19–25, july 1981.Google Scholar
  32. [RS 89]
    M. Regnier, E. Simon, “Efficient evaluation of production rules in a DBMS”, Proceedings of V ièmes Journées Bases de Données Avancées, Genève, 1989.Google Scholar
  33. [SF 83]
    J.M. Steyaert, P. Flajolet, “Patterns and pattern match in trees: an analysis”, Information and Control 58, 1983, pp. 19–58.CrossRefGoogle Scholar
  34. [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
  35. [Stey 84]
    J.M. Steyaert, “Complexité et structures des algorithmes”, Thèse d'Etat, Université de Paris 7, 1984.Google Scholar
  36. [Vien 86]
    G. Viennot, “La combinatoire bijective par l'exemple”, Université de Bordeaux 1, 1986.Google Scholar
  37. [WGF 86]
    M.L. Wright, M.W. Green, G.Fiegl, P.F. Cross, “An Expert System for Real-Time Control”, SRI International, in IEEE Software, March 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Luc Albert
    • 1
    • 2
  1. 1.Institut National de Recherche en Informatique et Automatique, Domaine de Voluceau, RocquencourtLe Chesnay CedexFrance
  2. 2.Laboratoire Central de Recherches, Thomson-CSF, Domaine de CorbevilleOrsay CedexFrance

Personalised recommendations