Data-driven, functional expert system shell
First Claim
1. An expert system shell comprising:
- (a) a computer having a display device, an entry device, and a memory for string a knowledge base;
said knowledge base comprising;
(1) variables having values represented by tables of probabitlity distributions keyed by zero, one or more formal parameters;
(2) functions defining relationships between the values of each dependent variable and the values of its corresponding argument variables;
(3) means for computing the probability distribution of the values of a dependent variable from the probability distribution of the values of the corresponding argument variables; and
(b) means for propagating the consequences of a change in the value of a variable to maintain the functional relationships among a selected subset of the dependent variables.
5 Assignments
0 Petitions
Accused Products
Abstract
An expert system shell efficiently computes functions of variables in response to numeric or symbolic data values input by a user. The system comprises a Knowledge Base in the form of a network of functions, an Inference Engine for efficiently updating values in the knowledge base in response to changes in entered data, and a Forms System that manages interaction with the user. A knowledge engineer creates the network of functions, and defines the user screens and the connection between screen objects and variables in the function network. The system allows many different types of variables, including numeric and symbolic types. The system associates a probability distribution with every variable, and computes the probability distributions for the dependent variables from the probability distributions for the independent variables. A variable can store multiple values as tables of probability distributions keyed by one or more key variables. When a user action changes the probability distributions for any variable, the system automatically maintains the specified functional relationships among all the related variables.
178 Citations
31 Claims
-
1. An expert system shell comprising:
-
(a) a computer having a display device, an entry device, and a memory for string a knowledge base; said knowledge base comprising; (1) variables having values represented by tables of probabitlity distributions keyed by zero, one or more formal parameters; (2) functions defining relationships between the values of each dependent variable and the values of its corresponding argument variables; (3) means for computing the probability distribution of the values of a dependent variable from the probability distribution of the values of the corresponding argument variables; and (b) means for propagating the consequences of a change in the value of a variable to maintain the functional relationships among a selected subset of the dependent variables. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
2. The system of claim I further comprising means for creating and deleting instances of variables, either statically at compile time or dynamcially at run time.
-
27. An expert system shell comprising:
-
(a) a computer having a memory for storing a knowledge base, display means for displaying data, and entry means for entering data; said knowledge base comprising; (1) variables having a values represented by tables of probability distributions keyed by zero, one or more formal parameters; (2) functions defining relationships between the values of each dependent variable and the values of its corresponding argument variables; and (3) means for computing the probability distribution of the values of a dependent variable from the probability distribution of the values of the corresponding argument variables; (b) means for propagating the consequences of a change in the value of any variable to maintain the defined functional relationships among a selected subset of the dependent variables; and (c) an interface between the end user and the variables in the knowledge base, said interface comprising; (1) means for allowing the end user to override the computed values of a dependent variable; (2) means for restoring the overridden variable to its unoverridden state; (3) means for specifying a set of screens accessible to the end user, and the layout, contents and appearance of the specified screens, as a function of the states of certain variables in the knowledge base; (4) means for specifying a set of variables whose values are displayed to the end user on said specified screens; and (5) means for specifying a set of variables whose values can be entered or changed by the end user. - View Dependent Claims (28, 29, 30, 31)
-
Specification