EP0314650A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Method for optimized rete pattern matching in pattern-directed, rule-based artificial intelligence production systems
Assignee: International Business Machines Corp
•
Filing: 1988-10-14
•
Granted: —
•
Expires: 2008-10-14
Abstract
Abstract A demand-driven AI production system utilizing a RETE network for comparison matching in a condition/data match, rule-selection, and rule-firing execution cycle in which the RETE network is modified to maintain a list of instantiations satisfying the match conditions expressed in each node of the RETE network, passing of tokens to descendant nodes upon a comparison match, maintaining patterns to all ancestor nodes through which the tokens have passed, and traversing the patterns as a path for avoiding those RETE pattern matchings redundant between a previous match and a current match in progress.
Inventors
- 👤 David Jerome Loeb
- 👤 Keith Robert Milliken
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-11-07 14:47
CPC Classifications
G; G06; G06N; G06N5/00; G06N5/04; G06N5/046; G06N5/047; Y; Y10; Y10S; Y10S706/00; Y10S706/902; Y10S706/903; Y10S706/904
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
170 words
A computer-implemented method for minimizing the number of data objects and pattern matchings occurring at the nodes of a flowgraph of the type in which the elements of a pattern are compiled into an acyclic-directed graph of entry and join nodes, the entry nodes representing the single elements of the pattern, and join nodes representing compound elements, said entry and join nodes being connected in pattern-directed association, comprising the steps of: (a) applying the data objects to the entry nodes of said flowgraph, at each node (entry nodes and join nodes): (b) performing a comparison match between the attributes of the data objects and the node pattern elements; (c) maintaining a list of instantiations satisfying the match conditions expressed at that node and passing tokens to descendant nodes; (d) maintaining pointers to all ancestor nodes through which the token for each object passed; and (f) traversing said pointers as a path for avoiding those flowgraph node pattern/object matchings redundant between a previously matched object and an object currently being processed.
Claim 2
Dependent Claim
170 words
A computer-implemented method for minimizing the number of data objects and pattern matchings occurring at the nodes of a flowgraph of the type in which the elements of a pattern are compiled into an acyclic-directed graph of entry and join nodes, the entry nodes representing the single elements of the pattern, and join nodes representing compound elements, said entry and join nodes being connected in pattern-directed association, comprising the steps of: (a) applying the data objects to the entry nodes of said flowgraph, at each node (entry nodes and join nodes): (b) performing a comparison match between the attributes of the data objects and the node pattern elements; (c) maintaining a list of instantiations satisfying the match conditions expressed at that node and passing tokens to descendant nodes; (d) maintaining pointers to all ancestor nodes through which the token for each object passed; and (f) traversing said pointers as a path for avoiding those flowgraph node pattern/object matchings redundant between a previously matched object and an object currently being processed.
Claim 3
Independent Claim
240 words
A method for optimizing a cyclic, rule-based, data object sensitive production system, said system including means for storing data objects and rules, and means cooperating with the storage means for executing a control cycle, each rule having pattern indication and action specifying parts thereof, comprising the cyclic steps of: (a) identifying an executable subset of rules by matching the pattern parts of the rules to those data objects in the storage means modified or created during a preceding cycle; (b) selecting a rule from the identified rules; and (c) executing th. action prescribed by the selected rule; wherein identification step (a) further comprises: (a1) compiling a data flowgraph of the condition elements of the pattern portion of the rule being matched, said flowgraph being formed from entry nodes and join nodes, the entry nodes representing counterpart individual condition elements and join nodes representing compound condition elements arranged in a pattern-determined associative manner; (a2) applying those data objects created or modified in a preceding cycle to said flowgraph, and at each node (entry nodes and join nodes): maintaining a list of instantiations satisfying the match conditions expressed at that node, passing tokens to descendant nodes, maintaining pointers to all ancestor nodes through which the token for each object passed, and responsive to indication of object change, traversing said pointers as a path for avoiding those flowgraph node pattern/object matchings redundant between a previously matched object and an object currently being processed.
Claim 4
Independent Claim
240 words
A method for optimizing a cyclic, rule-based, data object sensitive production system, said system including means for storing data objects and rules, and means cooperating with the storage means for executing a control cycle, each rule having pattern indication and action specifying parts thereof, comprising the cyclic steps of: (a) identifying an executable subset of rules by matching the pattern parts of the rules to those data objects in the storage means modified or created during a preceding cycle; (b) selecting a rule from the identified rules; and (c) executing th. action prescribed by the selected rule; wherein identification step (a) further comprises: (a1) compiling a data flowgraph of the condition elements of the pattern portion of the rule being matched, said flowgraph being formed from entry nodes and join nodes, the entry nodes representing counterpart individual condition elements and join nodes representing compound condition elements arranged in a pattern-determined associative manner; (a2) applying those data objects created or modified in a preceding cycle to said flowgraph, and at each node (entry nodes and join nodes): maintaining a list of instantiations satisfying the match conditions expressed at that node, passing tokens to descendant nodes, maintaining pointers to all ancestor nodes through which the token for each object passed, and responsive to indication of object change, traversing said pointers as a path for avoiding those flowgraph node pattern/object matchings redundant between a previously matched object and an object currently being processed.
Claim 5
Dependent Claim
28 words
The method according to claim 2, wherein the data flowgraph is a RETE network and wherein the pattern-directed associative manner for arranging the join nodes is left associative.
Claim 6
Dependent Claim
57 words
The method according to claim 2, wherein the indication of object change includes creation, modification, or deletion of an object occasioned during the preceding cycle and applied to the flowgraph during the current cycle, and further wherein the deletion of an object includes deletion of instantiations maintained at the nodes visited by any traverse of the pointers.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.