Method and apparatus for detecting an endless loop in a rules-based expert system
First Claim
Patent Images
1. A method for determining if a rules based expert system is stuck in a loop, the method comprising the steps of:
- a. maintaining a count for each of a number of rules, the count indicating the number of times a corresponding rule is executed by the rules based expert system; and
b. interrupting the rules based expert system if the count corresponding to any of the rules exceeds a predetermined value.
12 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for detecting an endless loop in a rules-based expert system. This is preferably accomplished by maintaining a count for each of the rules during rule processing. The count indicates the number of times a corresponding rule is executed by the rules based expert system. If the count corresponding to any of the rules exceeds a predetermined value, it is concluded that the rules-based expert system is stuck in an endless loop, and the rules-based expert system is interrupted.
38 Citations
23 Claims
-
1. A method for determining if a rules based expert system is stuck in a loop, the method comprising the steps of:
-
a. maintaining a count for each of a number of rules, the count indicating the number of times a corresponding rule is executed by the rules based expert system; and
b. interrupting the rules based expert system if the count corresponding to any of the rules exceeds a predetermined value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for determining if a rules based expert system is stuck in a loop, the rules based expert system executing a number of rules wherein each of the rules includes an if type clause which specifies an expression, and a then type clause that is executed only if the expression of the if type clause is true, the expression of the if type clause of selected rules being dependent on one or more parameters, the then type clause of selected rules changing one or more parameters, the method comprising the step of:
-
a. executing a number of selected rules;
b. maintaining a count for each of the number of selected rules, wherein the count indicates the number of times that the then type clause of the corresponding rule is executed;
c. maintaining a listing of updated parameters, wherein the listing of updated parameters includes those parameters that are changed by the execution of a then type clause of the selected rules;
d. determining which of the number of rules have an if type clause that is dependent on one or more of the parameters in the listing of updated parameters;
e. re-executing those rules that are determined to have an if type clause that is dependent on one or more of the parameters in the listing of updated parameters;
f. updating the listing of updated parameters as a result of the re-executing step 12(e);
g. updating the count for those rules re-executed in step 12(e); and
h. repeating steps 12(d)-12(g) until either the listing of updated parameters becomes empty or the count corresponding to any of the number of selected rules exceeds the predetermined value.
-
-
13. Apparatus for determining if a rules based expert system is stuck in a loop, comprising:
-
a. counting means for maintaining a count for each of a number of rules, the count indicating the number of times a corresponding rule is executed by the rules based expert system;
b. comparing means for comparing the count for each of the number of rules to a predetermined value; and
c. interrupting means for interrupting the rules based expert system if the count corresponding to any of the number of rules exceeds the predetermined value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
Specification