Knowledge Seeking

Theoretical Background for Drools – Expert Systems – part 4 January 7, 2011

Filed under: Drools — nicozan @ 5:06 pm

Well, we have reach the part number four of these posts related with Expert Systems. In this post we’ll be seeing the concept of INFERECE and some METHODS OF INFERENCE.


In the knowledge domain that it knows about, the expert system “reasons” or makes inferences in the same way a human expert would infer the solution of a problem. That is, given some facts, a conclusion that follows is inferred.

For example, if your spouse hasn’t spoken to you in months, you may infer that he or she had nothing worthwhile to say. However, this is only one of several possible inferences.

In a rule-based system, the inference engine determines which rule antecedents, if any, are satisfied by the facts. Two general methods of inferencing are commonly used as the problem-solving strategies of expert systems: forward chaining and backward chaining.


Is the standard technique by which expert systems solve problems. Expert Systems are commonly used when an inadequate algorithm or no algorithmic solution exists and inference offers the only possibility of a solution.

Decision structures, like binary trees, can be mechanically translated into production rules. This can be easily be done by a breath-first searching of the structure and by generating IF…THEN rules at every node. The breath-first search begins at the root node and explores all the neighboring nodes. Then for each of those nearest nodes, it explores their unexplored neighbor nodes, and so on, until it finds a terminal node.


There are many types: deduction, induction, intuition, heuristics, generate and test, abduction, default, auto-epistemic, nonmonotonic and analogy. The Commonsense knowledge could be a combination of any of these types. One of the most frequently used methods of drawing inferences is deductive logic, which has been used since ancient times to determine the validity of an argument. The meaning of argument in logic is a group of statements in which the last is claimed to be justified on the basis of the previous ones in the chain of reasoning.

Before we continue, we need to define one important term: Syllogism. Is a kind of logical argument in which one proposition (the conclusion) is inferred from two others (the premises) of a certain form.

Although Venn diagrams are a decision for syllogisms , the diagrams are inconvenient for more complex arguments because they become more difficult to read. Propositional Logic offers another means of describing arguments. In fact, we often use propositional logic without realizing it.
For example: If there is water and gas, I can cook the pasta. This argument can be expressed in a formal way by using letters to represent the proposition as follows:
A= There is water.
B= There is gas.
C= I can cook the pasta.

A ^ B —> C

The representation above, it might look familiar to you. Because it’s a representation of knowledge using production rules, like we explained in a previous post.


Chain: a group of multiple inferences that connects a problem with its solution.
Forward Chain : a chain that is searched or traversed from a problem to its solution. Another way to describe it is, reasoning from facts to the conclusions that follow from facts.
Backward Chain: a chain that is traversed from a hypothesis back to the facts that support the hypothesis.

Some Characteristics of Forward and Backward Chaining:

Planning, monitoring , control Diagnosis
Present to future Present to past
Antecedent to consequent Consequent to antecedent
Data driven, bottom up reasoning. Goal driven, top-down reasoning
Work forward to find what solutions follow from the facts. Work backward to find facts that support the hypothesis.
Breath-first search facilitated Depth-first search facilitated
Antecedents determine search Consequents determine search
Explanation not facilitated Explanation facilitated (Very Important in Exp Systems)


-Term inferencing is generally used for mechanical systems such as expert systems. Reasoning is for human thinking.
-The result of the inference depends on the knowledge base (rules) and the information we obtain from the real world (facts).
-The inferencing doesn’t pass rule by rule sequentially, like an algorithm that has a sequence of steps to reach an objective.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s