Inference Rules In Expert Systems
Expert systems capture rules, which associate known values of
some attributes with assertions that can be made about other attributes.
The orderly processing of these rules dictates the user dialog.
This process includes:
- Knowledge acquisition
- Inference
A knowledge engineer represents an expert's knowledge declarations
and uses an inference engine used to process that knowledge.
Knowledge Acquistion
The knowledge acquisition component of the expert system serves
to input the characteristics known to be appropriate to a good inference
technique.
A good inference technique is independent of the problem domain.
Instead, it must strip away the domain specific expertise to realize
the benefits of explanation, knowledge transparency, and reusability
of the programs in a new problem domain.
Inference Rule
The "inference rule" concept is fundamental to understanding
expert systems. An inference rule is a statement that has two parts:
IF [clause] and THEN [clause]
Using this rule, the expert system has the ability to find solutions
to diagnostic and prescriptive problems.
In a travel scenario:
- If the destination choice includes French speaking
countries, and the occasion is romantic, then
the destination is Paris.
- If the destination choice includes French speaking
countries, and the occasion is boating, then
the destination is Nice or Monaco.
- If the destination choice also includes the
Grand Prix, then the final choice of destination
could only be Monaco....and it would have to be the beginning
of May [the time the Grand Prix is held in Monaco each year]
An expert system's rulebase is made up of many such inference
rules. They are entered as separate rules and it is the inference
engine that uses them together to draw conclusions.
- Each rule is a unit
- Rules may be deleted or added without affecting other rules
(though it will affect which conclusions are reached).
- Programming using inference rules over traditional programming
provides a solution that more closely resembles human reasoning.
- When a conclusion is drawn, it is possible to understand how
this conclusion was reached.
Furthermore, because the expert system uses knowledge in a form
similar to the expert, it may be easier to retrieve this information
from the expert.
Inference techniques may be specific to a particular task, such
as diagnosis of hardware configuration. Other techniques may be
committed only to a particular processing technique.
Inference techniques are always specific to the knowledge structures.
There are two main methods of reasoning when using inference rules:
- Forward chaining
- Backward chaining
Forward Chaining
- Forward chaining starts with the data available and uses the
inference rules to conclude more data until a desired goal is
reached.
- The inference engine, using forward chaining, searches the inference
rules until it finds one in which the if-clause is known to be
true.
- It then concludes the then-clause and adds this information
to its data. It would continue to do this until a goal is reached.
The data available determines which inference rules are used. For
this reason, this method is also called data driven.
Backward Chaining
- Backward chaining starts with a list of goals and works backwards
to see if there is data which will allow it to conclude any of
these goals.
- An inference engine, using backward chaining, searches the inference
rules until it finds one which has a then-clause that matches
a desired goal.
- If the if-clause of that inference rule is not known to be true,
it is added to the list of goals.
Whilst an expert system consists primarily of a knowledge base
and an inference engine, it must also manage reasoning with uncertainty,
and be capable of explaining the line of reasoning used.
Confidences
Knowledge is almost always incomplete and uncertain. Rules may
therefore possess a confidence factor or a weight.
Conclusions in expert systems are awarded confidences designed
to imitate the confidences humans use in reasoning; rather than
the mathematical definitions used in calculating probabilities.
Uncertainty
The set of methods for using uncertain knowledge in combination
with uncertain data in the reasoning process is called reasoning
with uncertainty. This subclass of methods for reasoning with uncertainty
is called 'fuzzy logic', and the systems that use them are commonly
known as 'fuzzy systems'.
Rationale
Expert system based on uncertain knowledge, are often required
to rationalize their decision. If the rationale seems plausible,
we tend to believe the answer.
Most expert systems have the ability to answer questions of the
form: "Why is the answer X?" Explanations can be generated
by tracing the line of reasoning used by the inference engine.
As the rationale is continually tested, the knowledge domain expert
may decide that certain pieces of knowledge are wrong. Thus expert
systems are organic in nature, and continually evolving. With each
refinement, the expert system gradually gains competence, and confidence
factors improve.
NEXT: Expert System
Architecture
Back To Top
|