A MapReduce-Based Architecture for Rule Matching in Production System

Production system which accepts the facts and draws conclusions by repeatedly matching facts with rules plays an important role of improving the business by providing agility and flexibility. However, rule matching in production is badly time-consuming, and single computer limits the improvement for current matching algorithm. To address these problems, we proposed a MapReduce-based architecture to implement the distributed and parallel matching in different computers running with Rete algorithm. The architecture would benefit production system in performance, large scale of rules and facts are for special. This paper firstly formalizes some definitions for an accurate description, then not only discusses the details of implementation for different stages of the architecture but also shows the high efficiency through the experiment. At the end, we mention some complex factors which will be considered in the future for better performance.

[1]  Salvatore J. Stolfo,et al.  Towards the Parallel Execution of Rules in Production System Programs , 1985, ICPP.

[2]  Z An The Improvement And Implementation of RETE Algorithm , 2006 .

[3]  James A. R. Marshall,et al.  The execution kernel of RC++: RETE*, a faster RETE with TREAT as a special case , 2003, Int. J. Intell. Games Simul..

[4]  Daniel P. Miranker TREAT: A new and efficient match algorithm for AI production systems , 1988 .

[5]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[6]  Les Gasser,et al.  An Organizational Approach to Adaptive Production Systems , 1990, AAAI.

[7]  Chao-Chin Wu,et al.  Parallelizing CLIPS-Based Expert Systems by the Permutation Feature of Pattern Matching , 2010, 2010 Second International Conference on Computer Engineering and Applications.

[8]  Toru Ishida A transaction model for multiagent production systems , 1992, Proceedings Eighth Conference on Artificial Intelligence for Applications.

[9]  Milind Tambe,et al.  An efficient algorithm for production systems with linear-time match , 1992, Proceedings Fourth International Conference on Tools with Artificial Intelligence TAI '92.

[10]  Toru Ishida,et al.  Parallel, Distributed and Multi-Agent Production Systems - A Research Foundation for Distributed Artificial Intelligence , 1995, ICMAS.

[11]  Allen Newell,et al.  Parallel OPS5 on the Encore Multimax , 1988, ICPP.

[12]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[13]  Bruno Berstel,et al.  Extending the RETE algorithm for event management , 2002, Proceedings Ninth International Symposium on Temporal Representation and Reasoning.

[14]  Les Gasser,et al.  A Dynamic Organizational Architecture for Adaptive Problem Solving , 1991, AAAI Conference on Artificial Intelligence.

[15]  Toru Ishida,et al.  Parallel, Distributed and Multiagent Production Systems , 1994, Lecture Notes in Computer Science.

[16]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.