← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 connec­ted 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 satis­fying 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 match­ings 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 connec­ted 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 satis­fying 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 match­ings 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 flow­graph, 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 previ­ously 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 flow­graph, 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 previ­ously 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, modifica­tion, 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.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag