Method of rule execution in an expert system using equivalence classes to group database objects
First Claim
1. A method of rule execution for an expert system comprising the steps of:
- storing a plurality of objects in a database stored in a computer memory;
inputting a set of constraints to the computer memory, the set of constraints mapping to a plurality of rules stored in the computer memory;
identifying a plurality of inter-object constraints among the plurality of objects in the database;
generating a set of equivalence classes from the plurality of objects in the database in accordance with the inter-object constraints, the set of equivalence classes including an equivalence class number and a table having objects associated with the equivalence class number, the equivalence class number being generated by a hashing technique contained in the computer memory;
grouping the set of equivalence classes into a plurality of subsets, each of the subsets being mapped to one of the plurality of rules contained in the computer memory; and
executing each of the plurality of rules in the computer memory that is mapped to one of the subsets.
2 Assignments
0 Petitions
Accused Products
Abstract
A pattern match method is the primary component of any rule-based inference engine or database search method. Equivalence class projection is used in a discrimination match network, such that only equivalence class tokens (and not working memory objects) are propagated down the network, then only the first object which is a member of any specific equivalence class will cause an actual propagation down through the net. Subsequent changes which are either the creation of new objects which are members of a known equivalence class or the removal of any object but the last member of that equivalence class can totally avoid propagation downward in that section of the discrimination network.
53 Citations
2 Claims
-
1. A method of rule execution for an expert system comprising the steps of:
-
storing a plurality of objects in a database stored in a computer memory; inputting a set of constraints to the computer memory, the set of constraints mapping to a plurality of rules stored in the computer memory; identifying a plurality of inter-object constraints among the plurality of objects in the database; generating a set of equivalence classes from the plurality of objects in the database in accordance with the inter-object constraints, the set of equivalence classes including an equivalence class number and a table having objects associated with the equivalence class number, the equivalence class number being generated by a hashing technique contained in the computer memory; grouping the set of equivalence classes into a plurality of subsets, each of the subsets being mapped to one of the plurality of rules contained in the computer memory; and executing each of the plurality of rules in the computer memory that is mapped to one of the subsets.
-
-
2. A method of grouping database objects comprising the steps of:
-
storing a database in a computer memory, the database containing a plurality of database objects; inputting a set of constraints to the computer memory; identifying significant constraints from the set of constraints; generating equivalence classes from the plurality of database objects based on the significant constraints, each of the equivalence classes including an equivalence class number and a table having database objects associated with the equivalence class number, the equivalence class number being generated by a hashing technique contained in the computer memory; evaluating the equivalence classes to find a combination of equivalence classes whose associated database objects all satisfy the set of constraints; and mapping the combination of equivalence classes back to the plurality of database objects to find a tuple of database objects from the plurality of database objects that satisfy the set of constraints.
-
Specification