Associative program control
First Claim
1. A method for rapidly processing expert system rules in computing machinery comprising the steps of:
- a. determining all conditions that define knowledge within a domain boundary, said conditions defined by n different binary valued variables;
b. numbering said variables sequentially 1 through n;
c. for each said condition;
defining a rule word and an associated validity word, said rule word and said validity word containing bits numbered sequentially 1 through n;
d. defining a data word containing bits numbered sequentially 1 through n;
e. in all said words;
assigning said bits numbered 1 through n to represent said variables of corresponding number;
f. for each said rule word;
defining a value for said rule word by assigning a 1 to a bit in said rule word if the variable said bit represents is true or present in the condition said rule word represents, assigning a 0 to said bit otherwise;
g. for each said rule word;
defining a value for said associated validity word by assigning a 1 to a bit in said validity word if the variable said bit represents has an effect in the condition said rule word represents, assigning a 0 to said bit otherwise;
h. defining a value for said data word by assigning a 1 to a bit in said data word if the variable said bit represents is true or present, assigning a 0 to said bit otherwise;
i. storing said rule words and said associated validity words in a content addressable memory (CAM), said CAM performing the steps of;
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and an arrangement providing improved expert system performance. A mathematically based method is used in building a rule base that guarantees a complete and consistent rule set, providing an aid for identifying missing rules. The method is used in recognizing input variable patterns in parallel to provide rapid inferencing. An arrangement based on the method is given for a content addressable memory capable of returning an address of an executable routine for each rule of a rule set given the system state variables. The method is employed to provide associative program control, in which program control flow adapts to changing system state variables. A method is described for associative database management, using the new content addressable memory arrangement.
48 Citations
23 Claims
-
1. A method for rapidly processing expert system rules in computing machinery comprising the steps of:
-
a. determining all conditions that define knowledge within a domain boundary, said conditions defined by n different binary valued variables; b. numbering said variables sequentially 1 through n; c. for each said condition;
defining a rule word and an associated validity word, said rule word and said validity word containing bits numbered sequentially 1 through n;d. defining a data word containing bits numbered sequentially 1 through n; e. in all said words;
assigning said bits numbered 1 through n to represent said variables of corresponding number;f. for each said rule word;
defining a value for said rule word by assigning a 1 to a bit in said rule word if the variable said bit represents is true or present in the condition said rule word represents, assigning a 0 to said bit otherwise;g. for each said rule word;
defining a value for said associated validity word by assigning a 1 to a bit in said validity word if the variable said bit represents has an effect in the condition said rule word represents, assigning a 0 to said bit otherwise;h. defining a value for said data word by assigning a 1 to a bit in said data word if the variable said bit represents is true or present, assigning a 0 to said bit otherwise; i. storing said rule words and said associated validity words in a content addressable memory (CAM), said CAM performing the steps of; - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15)
-
-
2. logically ANDing said data word with each said validity word, forming masked data words;
- and
2. declaring a match when one of said masked data words and the rule word associated with the validity word forming said one of said masked data words are equal; and j. applying said data word to said CAM, said CAM reporting said rule word for which said match is declared.
- and
-
12. A rule based expert system comprising:
-
rule memory means for storing rules, each said rule composed of bits, each said bit representing one state of a binary valued condition variable; mask memory means for storing masks, one said mask associated with each said rule, each said mask comprising binary indicators, one said indicator for each said bit of said rule; rule applying means for reporting a matching rule when all bits of a data word coupled to said rule applying means equal the corresponding bits of said matching rule, said matching rule being one of said rules stored in said rule memory means; and rule masking means for coupling said data word, wherein for each said mask associated with each said rule, each said indicator stored in said mask couples a different said bit of said data word to said rule applying means when said indicator is in one given state, said bit of said data word is not coupled when said indicator is in a second state. - View Dependent Claims (14, 16, 17, 19, 20, 22, 23)
-
-
18. A rule based expert system comprising a programmable content addressable memory (PCAM) containing:
-
rule memory means for storing rules, each said rule composed of bits, each said bit representing one state of a binary valued condition variable; rule applying means for reporting a matching rule when all selected bits of a data word applied to said rule applying means equal the corresponding bits of said matching rule, said matching rule being one of said rules stored in said rule memory means; and rule masking means for selecting said selected bits applied to said rule applying means, each said rule having an independent set of said selected bits.
-
-
21. A rule based expert system comprising a maskable content addressable memory (MCAM) containing:
-
rule memory means for storing rules, each said rule composed of bits, each said bit representing one state of a binary valued condition variable; rule applying means for reporting a matching rule when all selected bits of a data word applied to said rule applying means equal the corresponding bits of said matching rule, said matching rule being one of said rules stored in said rule memory means; and rule masking means for selecting said selected bits applied to said rule applying means, each said rule having an independent set of said selected bits.
-
Specification