Theory of Inference Engines
What is an inference engine?
An inference engine is the
processing part of an expert system, a system that will derive answers and
conclusions from various facts and rules stored in its database. These facts
and rules are known as the knowledge base and the whole idea is based on
artificial intelligence methods and techniques.
The knowledge base may be very
large. Hence the reason why the inference rules are needed to help deduce
answers from the vast amounts of information. Building an inference engine
could be thought of as trying to emulate the human ability to evaluate
information and come to reasonable conclusions.
Examples:
1. I am a man.
2. All men are mortal.
Therefore I am mortal!
1. Sarah is either happy or
angry.
2. Sarah is not happy.
Therefore we can infer that
Sarah is angry!
Types of inferencing
There are two different types
of inferencing that we will consider. These are forward chaining, or data
driven as it is also know, or backward chaining, also known as goal driven.
Forward chaining
Forward chaining inferencing
refers to when a conclusion is reached based on an event. For example, a boy
runs in front of your car so you put your foot on the brake.
The idea here is that new
information causes us to examine a specific rule without having to consider
other rules not relevant to the situation.
Backward chaining
Backward chaining inferencing
refers to the types of situations where you are trying to explain what
caused a present situation that has been observed. For example, if the car
does not start then you would have to deduce why this is the case.
The idea here is that since the
cause of the situation is unknown or unclear, then questions and tests have
to be used to come to a reasonable explanation as to the cause of the
situation.
In general, forward chaining is
a more direct approach to use as it is less complex and involves less
variables. |