[0001] The present invention is directed to an automated rule based process control method
and apparatus that include feedback and, more particularly, to a system in which rules
concerning the operation of a process are inferred from data samples of the process
being controlled. The rules are used to move the process toward the desired goal and,
as the process operates, new data samples allow the inference of new rules, so that
the process is automatically optimized and the rules for controlling the process are
automatically generated.
[0002] Process control, when attempting to optimize toward a desired goal, has been characterized
by statistical analysis methods which analyze the behavior of a process and attempt
to predict process behavior when controllable variables of the process are modified.
In processes such as performed in a chemical plant, the control variables relate to
the chemical process under consideration such as water temperature and chemical flow
rates. In a process such as a commercial or individual loan analysis system, the variables
relate to economic considerations such as whether a bank reference is good or bad.
[0003] In prior art plant process control systems, plant experimentation programs have been
used to examine a system when it is perturbed and, from the examination, to discover
new characteristics leading to system optimization. Plant experimentation is a form
of controlled interference used to learn more about the process without radically
upsetting it. One approach to plant experimentation involves executing one or more
sets of experiments in a limited amount of time to get process improvement information
on selected sets of variables, the experimental case history is then analyzed using
statistical analysis techniques such as a regression or correlation analysis to determine
which variables significantly control a desired output such as yield. These prior
art methods are very unwieldy in practice and result in an extended amount of time
elapsing between the experiment and a determination to adjust the variables which
control the desired output.
[0004] A primary object, of invention is to provide a system which includes feedback to
a rules inference system to induce new rules for controlling a process toward the
desired goal or goals.
[0005] Accordingly, with this object in view, the present invention resides in a method
of adaptively controlling a process having control settings, comprising the steps
of operating the process at existing control settings in accordance with a pre-selected
rule establishing a pre-selected process output, sampling the process output and determining
whether a present sample output representing a present state of the process is predicted
by the pre-selected rule, characterized by inducing a new rule establishing a new
process output if the sample output is not predicted by the pre-selected rule, changing
the control settings in accordance with the new rule, and operating the process at
the changed control settings.
[0006] The present invention also resides in a process control system apparatus using control
settings, comprising process sensing means for sensing values of controllable variables
and goals in the process, and process control means for controlling the process in
dependence on the control settings, characterized by control setting means for controlling
the process in dependence on a current control rule having control settings, said
control setting means having new control settings induced whenever a data sample of
the controllable variables and goals is not predicted by the current control rule,
said control setting means outputting the new control settings to said process control
means to control the process.
[0007] The preferred embodiment of the invention will be described, by way of example, with
reference to the accompanying drawings, in which:
Figure 1 illustrates an industrial process to which the present invention can be applied;
Figure 2 depicts the development of the control rules for a process in accordance
with the present invention;
Figure 3 illustrates the steps performed by a system designer during development of
initial control rules;
Figure 4 is a flowchart of the control system task associated with collecting and
testing samples;
Figure 5 illustrates the step of determining whether to perturb the system being controlled;
Figure 6 is a flowchart of the steps taken to change control settings for the process;
Figure 7 illustrates the steps in a decision to change the control rules;
Figure 8, including 8(A) and 8(B), is a flowchart of the process for creating a decision
tree from which rules are produced;
Figure 9 depicts a simple decision tree produced in accordance with the algorithm
of Fig. 8;
Figure 10 is a decision tree including an example of the data structure for a tree
produced in accordance with the present invention for a process control plant such
as a chemical plant; and
Figure 11 is a decision tree for a credit evaluation process at a bank from which
rules for granting a loan are produced.
[0008] An application of the present invention to a chemical plant is illustrated in Fig.
1. In this system, controllable units 10-24 in the process are monitored by a sensing
unit 26 which samples various controllable variables associated with the process such
as temperature and flow. The sensing unit 26 sends the data samples to a control computer
28 which produces and transmits control values to a control unit 30 using rules induced
from the process. The control unit 30 adjusts the controllable variables associated
with the process. Process control systems such as depicted in Fig. 1 have extensive
application. However, such an adaptive process control system as shown in Fig. 1 and
described below having capability to define both the control variables and their hierarchy
in the control process according to the desired process goal has not been heretofore
available.
[0009] Figure 2 depicts both the system designer tasks and control system tasks in developing
and controlling a process in accordance with the present invention. An important aspect
of controlling a process is properly defining the control structure and hierarchy.
The control structure and hierarchy define the controllable variables and their position
in the process with respect to the goal or goals of the process. For example, in a
chemical process, temperature and flow rate can be the controllable variables while
high yield and consistency in product quality can be the goals. Once the designer
defines the control structure and hierarchy, the initial rules for operating the system
must be defined 42.
[0010] Once the initial rules are defined, the control system itself takes over and the
process is operated 44 in accordance with the current rules. During operation, data
samples are collected and tested 46 against the current rules. It is also possible
to perturb the system 48, and even which can occur due to normal drift of the controllable
variables or can be an intentional adjustment or change 50 in one of the controllable
variables causing the process to change. If such a perturbation loop is executed,
the system will again be operated 44 for a period of time during which samples are
collected and tested. If the system is not perturbed, a decision must be made 52 whether
to change the operating rules. For example, one decision making strategy is to change
the rules each time a sample is not predicted by the current control rules. Another
strategy is to change the rules when a specified error threshold is exceeded. The
threshold could be defined as the percent of samples not predicted, or when the absolute
deviation from the goal exceeds a certain value. To change the rules, new rules are
induced 54 from the collection of samples. If the new rules require different controllable
variable settings, then the settings must be changed 50.
[0011] Figure 2 also includes optional stages 58 and 60 at which human review can be provided
to prevent a catastrophic system change. If the system is critical in nature or includes
a long response time, the human review stages could and should be added. In an automated
process as intended by present invention, in the human review stages the system would
notify the operator that a change is recommended by printing out or displaying the
various changes which will occur in the system if the operator allows the system to
change automatically.
[0012] Figure 3 illustrates the system designer tasks of Fig. 2 in more detail. Once the
control structure and hierarchy of the system are defined 62, then the attributes
and classes for the system must be defined and selected and a weight value for each
selected. Classes and attributes must be properly defined 64 and 66 with respect to
their relationship to the structure being controlled and the hierarchy of the system.
A class represents a goal or an answer that is to be produced by the process such
as yield in a chemical process control environment or whether or not to grant a loan
in a financial analysis environment. Attributes are the independent variables which
determine the value of the class or dependent variable, such as temperature and flow
rate in a chemical process and whether bank references are favorable in a financial
situation. All important attributes or controllable variables and class values or
goals must be selected 68 by the user or systems designer. In a situation where there
is a high degree of uncertainty concerning whether a particular controllable variable
affects the output or goal, all controllable variables should be selected as attributes.
An interesting benefit of the present invention is that attributes which are not important
to obtaining the goal will be automatically identified so that they can be eliminated
from the data to be sampled if desired.
[0013] It is possible within a particular hierarchy that attributes or class values are
determined in accordance with a substructure or subproblem. That is, an attribute
may actually be a goal or class value of a previous stage in the process and the attribute
or class value would require the solution of a subproblem to obtain the necessary
variable value. If such subproblems exist, these must also be defined.
[0014] In inducing the control rules in accordance with the present invention, a decision
tree, which tends to be the minimum size decision tree, is generated. However, such
a minimum size tree may be undesirable because of cost or other considerations. For
example, in a chemical process, the minimum size tree may always require that the
temperature of a fluid be kept very high to obtain a satisfactory yield and this will
raise fuel bills. In contrast, a non-minimum tree may allow lower temperature but
more of an expensive catalyst thereby reducing overall costs. By attaching weights
to attributes, cost or time considerations can be introduced into the rules induction
process to find a minimum decision tree which reflects such considerations. A high
weight causes an attribute to be more likely to be selected as a high node in the
decision tree during the induction process. If minimum cost rules are desired, controllable
variables or attributes which have the lowest costs should be given higher weights.
[0015] Once the above-listed values are selected the initial operating rules can be defined
by referring to process control history from which the designer himself can produce
76 the rules. The initial rules can also be developed from physical constraints such
as laws of nature. In a more efficient manner, however, the initial rules can be induced
78 from historical data or samples of the controllable variables or attributes of
the process from the recent past, such as during a start-up or debug phase of process
development. As a result, the system designer need not be an expert in the process.
[0016] Figure 4 illustrates the process of collecting and testing samples. First, the input
variables of the process and the output goal are sampled 80 by a sensing unit 26,
as depicted in Fig.. 1 for a chemical process or a case history of a loan transaction
is selected in a loan analysis system. The sample is tested 82 against the current
rules and if the sample is predicted by the current rules, the process continues.
If the sample is not predicted 84 by the current rules a decision can be made to discontinue
the system. Such a decision to stop the process would be made, for example, when the
sample indicates that the process has reached a point where an alarm should be issued
and the process shut down. If, however, the system should continue, the sample is
saved as a part of a sample data set in, for example, an array type structure and
a current rule evaluation flag can be set which indicates that a decision needs to
be made concerning whether to change the operating rules. Once the flag is set the
process continues. An alternate sample collection strategy would be to save only those
samples which show improvement toward the goal.
[0017] Next, as illustrated in Fig. 5, the decision to perturb the system is made by determining
whether the results of the process being controlled are those desired 94. That is,
the class value of the current sample is examined to determine whether the goal is
being met. This determination can be made based on designer selected criteria such
as in a chemical process by determining whether current yield is greater than or equal
to the previous sample's yield. That is, the question at this point is whether the
system is approaching the desired goal. The results may be acceptable but not optimal.
If optimal results are desired, then the control settings can be changed. If the results
are acceptable, the process moves on to the decision concerning whether to change
the operating rules. If the current results are not yet optimum, the control settings
are changed. The option also exists to intentionally make small changes in the control,
settings from the current state to determine if the performance of the system changes'.
The systematic perturbation of the system may give samples which allow performance
to be improved.
[0018] Figure 6 illustrates the process of changing the control settings. First, from the
list of rules, the rules which will allow improvement towards the goal or goals are
selected 96. That is, associated with each rule is a class value which will result
if the rule is followed. The class value, for example yield, of each rule is compared
with the class value of the current sample (current yield) and the rules which will
maintain or improve yield, that is, maintain or improve the process toward the goal,
are selected. The rules that do not satisfy this criteria can be discarded. Since
each class value can represent a different goal (that is, the output for different
stages of the.process or the satisfaction of plural goals) the rules must be examined
to select only those rules which will allow satisfaction of all the goals. These rules
are then combined 98. After the rules are combined, the settings for the attributes
or dependent controllable variables of each rule are compared 100 with the system
constraints. System constraints can be items such as range limits for a particular
controllable variable or limitations that prevent simultaneously changing two or more
controllable variables. After comparing the settings of the rules with the system
constraints, the rules which do not meet the constraints can be discarded 102. Next,
the changes dictated by the remaining rules are evaluated and new control settings
are selected.
[0019] Various strategies are available to the system designer in determining how to evaluate
and select new control settings, for example: (a) the control rule and associated
settings which will require the minimum change from present conditions can be selected;
(b) the control rule which will allow the changes in the minimum time from the present
conditions can be selected; (c) the rule which is supported by the most number of
data samples set can be selected or (d) some other selection criteria provided by
the designer which is dependent on the process being controlled can be selected.
[0020] Once the settings are selected, the settings must be physically changed 106 by adjusting
the control dependent variables indicated. These adjustments preferably are made by
a process control unit 30, as illustrated in Fig. 1, which can control servos which
change the position of valves, etc. However, when a system is in the development stages
or when the system designer chooses not to install a completely automated control
system the system can output rule based instructions which tell the process control
operator the values for the various controllable variables.
[0021] If the decision to perturb the system, as previously discussed, is negative, the
decision to change the operating rules is made next, as illustrated in Fig. 7. First,
the current rule is evaluated 108 by querying whether the current rule predicts the
current sample. That is, the decision tree of the current rule is traversed using
the current values of the attributes and the current class value or current goal is
compared to the class value specified by the rule, and if the current and predicted
class values are not coincident the rule does not predict the current sample. If a
current rule evaluation flag is used, as illustrated in Fig. 4, the flag only needs
to be tested at this stage. If the rule is predicted by the current sample, no further
action is taken and process control using the current control settings is continued.
Criteria for rules induction should be tested 109. In most situations it may be too
costly or time consuming to change the rules when a single sample is not predicted.
The rules change criteria may require that several samples be in error, or the magnitude
of the error to be above some value, prior to inducing new rules. A user defined function
including rule change criteria would be specified to decide when to re-induce the
rules. If the current sample is not predicted and the rules induction criteria are
satisfied, a new sample set for rule induction may be selected.
[0022] Various strategies are also available for selecting the contents of the sample set
data base, so that the sample set data base does not grow beyond the storage capability
of the computer 28 or the cycle time restraints on process control. For example, the
oldest sample or the sample which produces a decision tree branch that minimizes improvement
in the goal could be discarded.
[0023] Once the sample set is selected, new rules are induced as illustrated in Fig. 8.
First, the samples are input 112 and stored in a data structure, such as an array,
matrix or list which is suitable for storing samples having multiple attributes where
the samples must be sorted and subdivided during processing. Next, an attribute is
chosen 114 for testing to determine whether it is an appropriate split node for the
decision tree. The attribute to be tested can be chosen arbitrarily, such as choosing
the first attribute in the sample. The attribute is tested 116 to determine whether
it is numeric. Assuming that the attribute is numeric, a determination 118 is made
concerning whether the attribute has a value in each sample. If each attribute does
not have a value, a suitable value for that sample is generated 120 by, for example,
averaging the attribute values or randomly picking an attribute value. Another strategy
for handling absent values is to create pseudo samples to substitute for the sample
with the missing attribute. The missing attribute value for the pseudo samples can
be generated based on the distribution of the attribute values for other samples in
the sample set or on a distribution such as a bell curve.
[0024] The records are sorted 122 in ascending sequence according to the attribute value
for the attribute selected, and then the sample set is split 124 into two sets between
the first and second samples producing a split value and a split index. Next, an information
gain function for creating a decision tree is evaluated 126 to produce the information
gain for the split previously selected. the information gain will be used to determine
whether the tested attribute is appropriate as the split node for the current level
in the decision tree. The resulting information gain along with split values and split
index are stored 128.
' If the last sample has not been reached 130, the index is advanced 132 and the sample
set is split between the next two samples and the decision tree generation function
is again evaluated. Once the end of the samples is reached, the split which produces
the maximum information gain, along with the split value and split index, is saved
134. If the end of the attributes has not been reached 136, then the next attribute
is chosen and the process continues again.
[0025] After a similar process is performed for each symbolic attribute, the numeric or
the symbolic attribute having the highest information gain and the corresponding indices
are chosen 158 by comparing the information gain for each attribute. Next, the maximum
numeric and symbolic information gain values are compared 160 with each other, the
attribute with the maximum is chosen and a decision tree record entry is created.
[0026] After the maximum is chosen, the samples are again sorted 162, based on the selected
attribute, into ascending sequence if numeric and according to symbolic name if symbolic.
Then the sample set is divided into subsets based on the attribute with the maximum
information gain and the corresponding split value and split index. If all the samples
in each subset have the same class values, then the decision tree for the subset structure
and the corresponding rule are saved. If each sample in a subset does not have the
same class values, then the algorithm is then executed for the subset as if it were
the set. That is, the subset is treated as a set and the process of choosing attributes,
sorting into ascending sequence, splitting and producing the information gain is executed.
[0027] If, during the execution of the above-discussed rules induction algorithm, ,an attribute
is encountered which requires the solution of a subproblem to produce a subrule, the
subrule is produced in the same manner as previously described. In the preferred embodiment,
the subproblems which appear in the primary problem are rule induced prior to primary
problem rule induction, so that when a subproblem indicator is encountered, the rule
for that subproblem can be made available immediately. An alternative to performing
subproblem induction before primary problem induction, is to temporarily halt rules
production based on the primary sample set while a rule is produced for a subproblem
sample set. Either the preferred or alternate approach can be applied whenever a particular
class value requires the solution of a subproblem.
[0028] To illustrate the operation of the rules production algorithm of Fig. 8 using the
preferred function, a simple symbolic sample set will be used to generate the appropriate
decision tree and the general data structure of the decision tree will also be illustrated.
The calculation for the function which is used to classify the samples in a sample
set and to inductively create a rule from the sample set will be discussed.
[0029] A classification rule or process operation rule, in the form of a decision tree,
can be constructed for any collection of C objects. M(C) is defined as the expected
information content from a decision tree for the set of C objects where M(C) is defined
as:

Where N equals the number of classes that the objects can be divided into, and Pi
is the probability of the occurrence of a particular class where Pi is estimated by
the relative frequency of the class.
[0030] When a particular attribute is chosen as the test attribute, the expected information
content based on the use of the attribute as the node in the tree and the resultant
splitting of the sample set based on that attribute are defined by:

where W
i is the weight for the particular attribute.
[0031] The choice of the attribute for the particular node in the decision tree is the attribute
which produces the most information gain which is calculated in accordance with:

[0032] A more detailed discussion of this preferred classification procedure can be found
in "Machine Learning, An Artificial Intelligence Approach" by Michalski et al., Tioga
Publishing Co., Palo Alto, CA, 1983, in Chapter XV entitled "Learning Efficient Classification
Procedures And Their Application to Chess End Games" by J. Ross Quinlan.
[0033] Given the following data sample set which includes attributes for height, hair and
eyes, and a class which arbitrarily indicates the represented people should fall into
one of two groups, and assuming a weight of 1 for each attribute, the above-discussed
procedure as set forth in Fig. 8 will be performed.

[0034] Height will be chosen arbitrarily as the attribute for testing. If the data set records
are sorted on the height variable into the classifications short and tall, the following
will result:

[0035] The information content for a split between the two variables having record numbers
3 and 4 is calculated in accordance with Equation 1 to produce:

[0036] When the information content for splitting between tall and short is calculated the
tall side information content equals:

[0037] And the information content of the short side is:

[0038] The expected information content B(C, height) can be calculated in accordance with
Equation 2 and is:

[0039] Once the expected information content is produced, the maximum information content
or information gain in accordance with Equation 3 can be calculated.

[0040] When the information content for hair is calculated by sorting the data samples into
groups according to the hair attribute and performing Equations 1 and 2:

resulting in information gain for hair of:

In the same way, the maximum information content for the remaining attributes, Eyes,
results in Max.Info.Gain (eyes) - .047. Reviewing the information gain for the three
dependent attributes, hair is the appropriate attribute to be use for dividing the
data set into three branches. A decision tree created for the above-discussed example
using the classification procedure discussed above is depicted in Fig. 9, where the
single line squares indicate attributes and the double line squares indicate the class
values, while the labels associated with a particular branch of the tree indicate
the value associated with that branch.
[0041] Even though a classification algorithm for producing a decision tree by calculating
maximum information gain is preferred, other classification algorithms could be used.
[0042] The sample data set below is an example of data samples for ten attributes taken
from, for example, a chemical plant where the class value is the yield of the process.
The asterisk in the data indicate the absence of values for the attributes in the
particular records and substitute values, are generated by for example averaging.

Applying the rules production strategy previously discussed to the above-mentioned
data (Table 3) set by sorting on each of the attributes and calculating the information
gain for each attribute while assuming equal weights for the attributes produces the
following:

[0043] As can be seen the attribute which should be used for the binary split is the A3
attribute because the information gain obtained by splitting on the A3 attribute is
the highest (.22). The split value within the attribute providing the highest information
gain is 1.725, so that all the records with an A3 attribute less than 1.725 are grouped
into one subset and all other records are grouped into another subset.
[0044] When this data set is used to induce the rules, a tree with a data structure as illustrated
in Fig. 10 is created. Each attribute record in the data structure, for example, record
186, includes a previous record pointer 188, a definition field 190 which indicates
whether the record is an attribute record or a class record, an attribute name 192
and a split value 194. Also included are pointers 196 and 198 to the next record associated
with the data split. The left-hand pointer points to a subset branch including records
with attribute values less than the split value and the right-hand corner points to
a subset branch for attribute values greater than or equal to the split value. A class
record is different from an attribute record in that the type of the record type 204
is class. Only two other fields are provided, a field 206 for indicating the value
of the class and a field 208 for indicating how many records fall within this leaf
of the decision tree. The top node in the decision tree includes a top node flag 212
which is used when scanning the tree from the leaves to the top to determine that
the top of the tree has been reached and one rule has been produced.
[0045] Comparison of the tree of Fig. 10 with the data set of Table 3 illustrates how the
present invention ignores those controllable variables (attributes) that are not significant
with respect to the goal. The variables that do not contribute do not get entered
as part of the decision tree because the information gain for the subset of records
associated with that attribute becomes equal to the information content. That is,
all the records in the subset, even though they may have different attribute values,
have the same class value.
[0046] After the tree is completed, several different strategies are available for producing
the rules. In addition, several formats for the rule are possible depending upon whether
the method of control is automatic or includes human intervention. For example, if
the data structure of the Fig. 10 is used to produce a top down rule which indicates
both positive rules (rules which, if followed, will result in goal accomplishment)
and negative rules (rules which indicate the setting for control variables which will
not result in goal satisfaction). The following rule will result:

The above rule would be appropriate in a process that does not include a control unit
30, where an operator must set the control settings. This rule indicates to the operator
which settings will provide a bad yield and thus should be avoided.
[0047] Another rules production strategy suitable for a completely automated process, that
does contain a control unit 30, generates the rules by starting only at the leaves
of the decision tree which indicate goal satisfaction and traversing up the tree until
the top node is reached and storing the settings for the control variables as the
tree is bottom to top traversed. Such a set of rules produced by a traverse traversal
of Fig. 10 is illustrated below:
Rule 1 A6 > 2.945, A2. < 134.5, A3 < 1.725
Rule 2 A2 > 134.5, A3 < 1.725
Rule 3 A2 > 131, A7 < 1.435, A2 > 127.5, A3 > 1.725
Rule 4 A7 > 1.435, A2 > 237.5, A3 > 1.725
[0048] After the constraints of the system (see Fig. 6) are used to eliminate the inappropriate
rules and the rules necessary to reach other possible goals are also considered, and
after additional rules are further discarded because of particular setting change
control strategies, a single rule can be used to actually set the controllable variables
in the process by the process control unit 30 of Fig. 1. For example, if, after the
rule elimination process, Rule 2 remains, then the first temperature (A2) would be
set greater than 134.4 degrees and the first flow (A3) at less than 1.725.
[0049] The following data set (Table 4) is an example of the application of the present
invention to a financial analysis system whereby determinations are made concerning
whether loans should be granted. Such a sample set can be produced by obtaining case
histories from a credit agency, including examples of loans for both good and bad
customers, and assigning as attributes all the variables considered by loan managers
in granting a loan. This example includes the solution of a subproblem associated
with determining the value of an attribute and a subproblem for determining the value
of a class.

[0050] The primary data set of Table 4 from which the principle rule for - granting the
load illustrated above includes five attributes. The values of the first attribute
Al indicate whether or not a bank reference is favorable or unfavorable. The values
of the second attribute A2 indicate whether the supplier reference for the company
is favorable and the third attribute A3 value indicates whether the credit bureau
rating is favorable. The fourth attribute A4 indicates whether a company is a closely
held company and the fifth attribute A5, by using the pound sign in front of the attribute,
indicates that this is an attribute subproblem that must be evaluated to determine
the credit ratings of the principals in a closely held company. The class represents
the overall evaluation and thus whether or not the loan should be granted. In the
class column for record six the pound sign associated with the name indicates that
a class subproblem must be solved to determine the rules for obtaining the class value
of a further supplier evaluation (FSE).
[0051] The subproblem data set for evaluating the principals in a closely held company is
as follows:

[0052] The definitions of the attributes Al and A2 in Table 5 have already been defined.
The subproblem data set for evaluating the further supplier evaluation class subproblem
is as follows:

[0053] Attribute Al indicates whether the situation is common in the industry and attribute
A2 indicates whether the supplier still supplies the customer.
[0054] When executing the algorithms of the present invention using the data sets (Tables
4-6) listed above, the subproblem rule is retrieved whenever a subproblem is encountered.
The subproblem, in the alternative, can act like a subroutine call which returns a
rule for the class or attribute making the call. During the subproblem execution,
the rule is generated in the same manner as in a principle data set. The execution
of the algorithms of the present invention results in a decision tree as illustrated
in Fig. 11. For simplicity purposes this decision tree does not illustrate the record
formats and pointers for the various nodes in the decision tree. If this decision
tree is used to generate a primary rule, a rule for principals in a closely held corporation
and a rule for a further supplier evaluations the following rules will result. The
format of these rules allows people in a credit department of a corporation or bank
to determine whether or not to grant a loan.

[0055] The control settings in the above rules for a loan analysis are the attribute values,
favorable or unfavorable, for each branch of the rule/decision tree. The rules produced
include both the negative and positive rules so that bad loans can be eliminated.
In automating a financial process as discussed above, the rules could be used to generate
questions for the loan manager based on the attribute values for each branch, for
example, "What is the bank reference?, (favorable/unfavorable)". The answers would
then be used to traverse the tree until a class value indicating whether the load
should be granted is encountered.
[0056] A new sample can be collected and a new rule produced for such a financial analysis
system whenever a loan is granted based on an existing rule and the loan subsequently
goes into default. The sample would include the particular attribute values for that
loan and a class value of unfavorable. A new rule would be generated which would cover
the latest criteria in discovering problem loans as well as the prior problem loans.
[0057] As can be seen from the prior discussion, the present invention provides a process
control system which develops rules for governing the process which are themselves
adaptive over time to changing conditions in the process itself. The rules developed
also allow the process to be fine tuned for the particular goal and for economic as
well as other considerations. Fine tuning can be performed by making minor perturbations
in the controllable variables and sampling when progress toward the goal is made.
[0058] When applying this system to a process to be controlled, the portion of the system
which evaluates the data sets and induces the necessary rules can be an IBM PC XT
or AT if it includes an 8087 and 80827 math comprocessor. The minimum memory requirements
are 320 K with additional memory requirements being dictated by the number of samples
in the sample data set and the number of attributes in each sample. If the number
of samples times the number of attributes equals 1000 approximately 64 K of additional
memory will be required. If an interpreted LISP language is used, the induction of
rules for a problem having 12 data samples and 5 attributes takes approximately 10
seconds. If a compiled LISP language is used or another language such as C or PASCAL,
the execution would be an order of magnitude faster. If even faster execution and
rules production is necessary, a faster processor with expanded mathematic capability
and memory will be necessary. Thus, when applying the present invention to a particular
process, consideration must be given to the number of attributes and the cycle time
necessary to produce a control rule.
1. A method of adaptively controlling a process having control settings, comprising
the steps of
(a) operating the process at existing control settings in accordance with a pre-selected
rule establishing a pre-selected process output;
(b) sampling the process output and determining whether a present sample output representing
a present state of the process is predicted by the pre-selected rule, characterized
by
(c) inducing a new rule establishing a new process output if the sample output is
not predicted by the pre-selected rule;
(d) changing the control settings in accordance with the new rule; and
(e) operating the process at the changed control settings.
2. A method as recited in claim 1, wherein step (b) is further characterized by
(bl) comparing the current sample goal with a rule goal;
(b2) discarding the current sample if the current sample goal indicates the rule goal
is satisfied; and
(b3) saving the current sample in a rule sample data set if the current sample goal
indicates rule goal is not satisfied.
3. A method as recited in claim 2, wherein step (c) is further characterized by
(cl) applying a classification function to the rule sample data set to produce a decision
tree;
(c2) generating a rule from the decision tree.
4. A process as recited in claim 3, wherein step (cl) is further characterized by
i) calculating information gain for each attribute using a weighting factor for each
attribute;
ii) selecting as a decision tree node the attribute with the greatest information
gain;
iii) subdividing the rule sample data set into subsets in dependence on the attribute
selected; and
iv) repeating steps i)-iii) for each subset.
5. A process as recited in claim 4, wherein step (cl) is further characterized by
determining whether rules induction constraints have been met.
6. A method as recited in claim 3, wherein step (d) is further characterized by
(dl) discarding rules which do not satisfy the goal;
(d2) discarding rules which do not satisfy system constraints;
(d3) selecting a rule which allows improvements in the goal; and
(d4) changing the control settings in accordance with a change control strategy for
the rule selected.
7. A process control system apparatus using control settings, comprising
process sensing means for sensing values of controllable variables and goals in the
process; and
process control means for controlling the process in dependence on the control settings,
characterized by
control setting means for controlling the process in dependence on a current control
rule having control settings, said control setting means having new control settings
induced whenever a data sample of the controllable variables and goals is not predicted
by the current control rule, said control setting means outputting the new control
settings to said process control means to control the process.
8. An apparatus as recited in claim 7 further characterized by said control setting
means storing plural data samples and including
classification means for applying a classification function to the data samples and
producing a decision tree; and
means for generating a rule from the decision tree.
9. An apparatus as recited in claim 8 further characterized by said classification
means including information gain means for calculating the information-gain of each
controllable variable using a weighting factor for each variable and for selecting
attributes for nodes of the tree that provide the greatest information gain.