Advertisement

Reducing the Cost of the Linear Growth Effect Using Adaptive Rules with Unlinking and Lazy Rule Evaluation

  • Mark Proctor
  • Mario Fusco
  • Davide Sottara
  • Tibor Zimányi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11230)

Abstract

The match cost of Rete [8] increases significantly and approximately linearly with the number of rules [2]. A major part of that cost is the eager creation of cross products within the join nodes in an attempt to materialize rule instantiations. This paper builds on the idea of adaptive rules [1] using the unlinking of nodes, segments of nodes and rules to delay join attempts, which helps mitigate some aspects of the linear growth effect. By delaying the evaluation of a rule until after it’s linked and restricting the propagation to a single path, a lazy goal-driven evaluation behaviour is introduced. The algorithm also preserves node sharing by organising the network into segments and paths of segments; with memory now at node, segment and path levels. This paper presents the design and implementation of this work within the popular Open Source Drools rule engine. Drools also provides a baseline Rete implementation, without these enhancements, against which this work can be benchmarked. The evaluation of the results shows positive improvements over Rete, with no downsides.

Keywords

RETE Production rules Pattern matching Rule engines Refraction 

References

  1. 1.
    Acharya, A.: scaling up production systems: issues, approaches and targets 9(01), 67 (1994).  https://doi.org/10.1017/s0269888900006603CrossRefGoogle Scholar
  2. 2.
    Acharya, A., Tambe, M.: Collection oriented match (1993)Google Scholar
  3. 3.
    Brownston, L., et al.: Programming Expert Systems in OPS5. Addison-Wesley Publishing Co. Inc., Reading (1985)Google Scholar
  4. 4.
    Bassiliades, N., Antoniou, G., Vlahavas, I.: DR-DEVICE: a defeasible logic system for the semantic web. In: Ohlbach, H.J., Schaffert, S. (eds.) PPSWR 2004. LNCS, vol. 3208, pp. 134–148. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-30122-6_10CrossRefGoogle Scholar
  5. 5.
    Browne, J.C., et al.: A new approach to modularity in rule-based programming. In: 1994 Proceedings of the Sixth International Conference on Tools with Artificial Intelligence, pp. 18–25. IEEE (1994)Google Scholar
  6. 6.
    Doorenbos, R.B.: Combining left and right unlinking for matching a large number of learned rules (1994)Google Scholar
  7. 7.
    Doorenbos, R.B.: Production matching for large learning systems (1995)Google Scholar
  8. 8.
    Forgy, C.L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19(1), 17–37 (1982).  https://doi.org/10.1016/0004-3702(82)90020-0CrossRefGoogle Scholar
  9. 9.
    McDermott, J., Newell, A., Moore, J.: The efficiency of certain production system implementations (63), 38 (1977).  https://doi.org/10.1145/1045343.1045366
  10. 10.
    Miranker, D.P.: TREAT: a better match algorithm for AI production systems; long version. Technical report, Austin, TX, USA (1987)Google Scholar
  11. 11.
    Miranker, D.P., Brant, D.A., Lofaso, B.J., Gadbois, D.: On the performance of lazy matching in production systems, pp. 685–692 (1990)Google Scholar
  12. 12.
    Nayak, P.P., Gupta, A., Rosenbloom, P.S.: Comparison of the rete and treat production matchers for soar, pp. 693–698 (1988)Google Scholar
  13. 13.
    Perlin, M.: Arc consistency for factorable relations. Artif. Intell. 53(2–3), 340–345 (1991)MathSciNetGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.Department of Electrical and Electronic EngineeringImperial College LondonLondonUK
  2. 2.Red Hat Inc.RaleighUSA
  3. 3.Biomedical Informatics Department.Arizona State UniversityScottsdaleUSA

Personalised recommendations