Collection oriented match

Match algorithms capable of handling large amounts of dat% without giving up expressiveness are a key requirement for successful integration of relational database systems and powerful rule-based systems. Algorithms that have been used for database rule systems have usually been unable to support large and complex rule sets, while the algorithms that have been used for rule-based expert systems do not scale welt with data. Furthermore% these algorithms do not ~ovide support for collection (or set) oriented production languages. This paper ~oposes a basic shift in the nature of match algorithms: from tuple-oriented to collectwn-oriented. A collection-oriented match algorithm matches each condition in a production with a collection of tuples and generatea collection-oriented instarrtiutwns, i.e., instantiation that have collection of tuples corresponding to each condition. This approach shows great promise for efllciently matching expressive productions against large amounts of data. In addition, it provides direct support for collection-oriented production languages. We have found that many existing tuple-oriented match algorithms can be easily rmnsfonned to their collection-oriented analogues. This paper presents the transformation of Rete to Collection Rete as an example and compares the two based on a set of benchmarks. Results presented in this paper show tha~ for large amounts of data, a relatively underoptitnized implementation of Collection Rete achieves orders of magnitude improvement in time and space over an optimized version of Rete. The results establish the feasibility of collection-oriented match for integrated database-production systems.*

[1]  Milind Tambe Eliminating combinatorics from production match , 1991 .

[2]  Eric N. Hanson,et al.  Rule condition testing and action execution in Ariel , 1992, SIGMOD '92.

[3]  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.

[4]  Daniel P. Miranker,et al.  On the Performance of Lazy Matching in Production Systems , 1990, AAAI.

[5]  Charles L. Forgy,et al.  The OPS83 report , 1984 .

[6]  Allen Newell,et al.  Parallel algorithms and architectures for rule-based systems , 1986, ISCA '86.

[7]  Eric K. Clemons,et al.  Efficiently monitoring relational databases , 1979, ACM Trans. Database Syst..

[8]  Michael Stonebraker,et al.  The Integration of Rule Systems and Database Systems , 1992, IEEE Trans. Knowl. Data Eng..

[9]  Timos K. Sellis,et al.  Data intensive production systems: the DIPS approach , 1989, SGMD.

[10]  John P. McDermott,et al.  Rule-Based Interpretation of Aerial Imagery , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[11]  Daniel P. Miranker,et al.  Effects of Database Size on Rule System Performance: Five Case Studies , 1991, VLDB.

[12]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

[13]  Franz Barachini The evolution of PAMELA , 1991 .

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

[15]  Anoop Gupta Parallelism in production systems , 1987 .

[16]  Allen Newell,et al.  SOAR: An Architecture for General Intelligence , 1987, Artif. Intell..

[17]  Daniel J. Scales Efficient matching algorithms for the Soar/OPS5 production system , 1986 .

[18]  Daniel P. Miranker,et al.  The Organization and Performance of a TREAT-Based Production System Compiler , 1991, IEEE Trans. Knowl. Data Eng..

[19]  Douglas N. Gordin,et al.  Set-oriented constructs: from Rete rule bases to database systems , 1991, SIGMOD '91.

[20]  Daniel P. Miranker TREAT: a better match algorithm for AI production systems , 1987, AAAI 1987.

[21]  Timos K. Sellis,et al.  Performance of DBMS implementations of production systems , 1990, [1990] Proceedings of the 2nd International IEEE Conference on Tools for Artificial Intelligence.

[22]  Jennifer Widom,et al.  A syntax and semantics for set-oriented production rules in relational database systems , 1989, SGMD.

[23]  Roger King,et al.  MOBY: An Architecture for Distributed Expert Database Systems , 1987, VLDB.

[24]  Leonard Moskowitz,et al.  Rule-based programming , 1986 .

[25]  Nancy Martin,et al.  Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1) , 1985, Int. CMG Conference.

[26]  Milind Tambe,et al.  Collection-Oriented Match: Scaling Up the Data in Production Systems, , 1992 .

[27]  Anoop Gupta,et al.  Comparison of the RETE and TREAT production matchers for soar (A summary) , 1988, AAAI 1988.

[28]  Milind Tambe,et al.  A Frameworkfor Investigating Production System Formulations with Polynomially Bounded Match , 1990, AAAI.

[29]  Lois M. L. Delcambre,et al.  The Relational Production Language: A Production Language for Relational Databases , 1988, Expert Database Conf..

[30]  Jaideep Srivastava,et al.  Grid Match: a basis for integrating production systems with relational databases , 1990, [1990] Proceedings of the 2nd International IEEE Conference on Tools for Artificial Intelligence.

[31]  A. Acharya,et al.  PPL: an explicitly parallel production language for large scale parallelism , 1992, Proceedings Fourth International Conference on Tools with Artificial Intelligence TAI '92.