Forward Chaining and Backward
Chaining
Tushar B. Kute,
http://tusharkute.com
Inference engine
• The inference engine is the component of the
intelligent system in artificial intelligence, which
applies logical rules to the knowledge base to infer
new information from known facts.
• The first inference engine was part of the expert
system. Inference engine commonly proceeds in
two modes, which are:
– Forward chaining
– Backward chaining
Horn Clause and Definite clause
• Horn clause and definite clause are the forms of
sentences, which enables knowledge base to use a
more restricted and efficient inference algorithm.
• Logical inference algorithms use forward and
backward chaining approaches, which require KB in
the form of the first-order definite clause.
Horn Clause and Definite clause
• Definite clause: A clause which is a disjunction of
literals with exactly one positive literal is known as
a definite clause or strict horn clause.
• Horn clause: A clause which is a disjunction of
literals with at most one positive literal is known as
horn clause. Hence all the definite clauses are horn
clauses.
Example: (¬ p V ¬ q V k). It has only one positive
literal k.
It is equivalent to p ∧ q → k.
Forward Chaining
• Forward chaining is also known as a forward deduction
or forward reasoning method when using an inference
engine.
• Forward chaining is a form of reasoning which start
with atomic sentences in the knowledge base and
applies inference rules (Modus Ponens) in the forward
direction to extract more data until a goal is reached.
• The Forward-chaining algorithm starts from known
facts, triggers all rules whose premises are satisfied,
and add their conclusion to the known facts. This
process repeats until the problem is solved.
Forward Chaining: Properties
• It is a down-up approach, as it moves from bottom
to top.
• It is a process of making a conclusion based on
known facts or data, by starting from the initial
state and reaches the goal state.
• Forward-chaining approach is also called as data-
driven as we reach to the goal using available data.
• Forward -chaining approach is commonly used in
the expert system, such as CLIPS, business, and
production rule systems.
Forward Chaining
• Example:
– "As per the law, it is a crime for an American to sell
weapons to hostile nations. Country A, an enemy
of America, has some missiles, and all the missiles
were sold to it by Robert, who is an American
citizen."
– Prove that "Robert is criminal."
• To solve the above problem, first, we will
convert all the above facts into first-order
definite clauses, and then we will use a forward-
chaining algorithm to reach the goal.
Forward Chaining
• Facts Conversion into FOL:
– It is a crime for an American to sell weapons to
hostile nations. (Let's say p, q, and r are variables)
• American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r)
→ Criminal(p) ...(1)
• Country A has some missiles. ?p Owns(A, p) ∧
Missile(p). It can be written in two definite clauses by
using Existential Instantiation, introducing new
Constant T1.
• Owns(A, T1) ......(2)
• Missile(T1) .......(3)
Forward Chaining
• All of the missiles were sold to country A by Robert.
• ?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)
• Missiles are weapons.
• Missile(p) → Weapons (p) .......(5)
• Enemy of America is known as hostile.
• Enemy(p, America) →Hostile(p) ........(6)
• Country A is an enemy of America.
• Enemy (A, America) .........(7)
• Robert is American
• American(Robert). ..........(8)
Forward Chaining Proof
• Step-1:
•
• In the first step we will start with the known
facts and will choose the sentences which do
not have implications, such as:
American(Robert), Enemy(A, America), Owns(A,
T1), and Missile(T1). All these facts will be
represented as below.
•
Forward Chaining Proof
• At the second step, we will see those facts which infer from available
facts and with satisfied premises.
•
• Rule-(1) does not satisfy premises, so it will not be added in the first
iteration.
•
• Rule-(2) and (3) are already added.
•
• Rule-(4) satisfy with the substitution {p/T1}, so Sells (Robert, T1, A) is
added, which infers from the conjunction of Rule (2) and (3).
•
• Rule-(6) is satisfied with the substitution(p/A), so Hostile(A) is added
and which infers from Rule-(7).
Forward Chaining Proof
Forward Chaining Proof
• Step-3:
• At step-3, as we can check Rule-(1) is satisfied with the
substitution {p/Robert, q/T1, r/A}, so we can add
Criminal(Robert) which infers all the available facts. And
hence we reached our goal statement.
Hence it is proved that Robert is Criminal using forward chaining approach.
Backward Chaining
• Backward-chaining is also known as a backward
deduction or backward reasoning method when
using an inference engine. A backward chaining
algorithm is a form of reasoning, which starts
with the goal and works backward, chaining
through rules to find known facts that support
the goal.
Backward Chaining: Properties
•
• It is known as a top-down approach.
• Backward-chaining is based on modus ponens inference rule.
• In backward chaining, the goal is broken into sub-goal or sub-
goals to prove the facts true.
• It is called a goal-driven approach, as a list of goals decides
which rules are selected and used.
• Backward -chaining algorithm is used in game theory,
automated theorem proving tools, inference engines, proof
assistants, and various AI applications.
• The backward-chaining method mostly used a depth-first
search strategy for proof.
•
Backward Chaining: Example
• In backward-chaining, we will use the same above example, and
will rewrite all the rules.
•
• American (p) ∧ weapon(q) ∧ sells (p, q, r) ∧ hostile(r) →
Criminal(p) ...(1)
• Owns(A, T1) ........(2)
• Missile(T1)
• ?p Missiles(p) ∧ Owns (A, p) → Sells (Robert, p, A) ......(4)
• Missile(p) → Weapons (p) .......(5)
• Enemy(p, America) →Hostile(p) ........(6)
• Enemy (A, America) .........(7)
• American(Robert). ..........(8)
•
Backward Chaining: Proof
• In Backward chaining, we will start with our goal
predicate, which is Criminal(Robert), and then infer
further rules.
•
• Step-1:
•
• At the first step, we will take the goal fact. And from
the goal fact, we will infer other facts, and at last, we
will prove those facts true. So our goal fact is "Robert
is Criminal," so following is the predicate of it.
Backward Chaining: Proof
• Step-2:
•
• At the second step, we will infer other facts form goal
fact which satisfies the rules. So as we can see in Rule-
1, the goal predicate Criminal (Robert) is present with
substitution {Robert/P}. So we will add all the
conjunctive facts below the first level and will replace
p with Robert.
•
• Here we can see American (Robert) is a fact, so it is
proved here.
Backward Chaining: Proof
Backward Chaining: Proof
• Step-3:t At step-3, we will extract further fact
Missile(q) which infer from Weapon(q), as it
satisfies Rule-(5). Weapon (q) is also true with
the substitution of a constant T1 at q.
Backward Chaining: Proof
• Step-4:
•
• At step-4, we can infer facts Missile(T1) and
Owns(A, T1) form Sells(Robert, T1, r) which
satisfies the Rule- 4, with the substitution of A
in place of r. So these two statements are
proved here.
Backward Chaining: Proof
• Step-5:
•
• At step-5, we can infer the fact Enemy(A,
America) from Hostile(A) which satisfies Rule- 6.
And hence all the statements are proved true
using backward chaining.
Comparison
Comparison
Thank you
This presentation is created using LibreOffice Impress 7.0.1.2, can be used freely as per GNU General Public License
/mITuSkillologies @mitu_group /company/mitu- MITUSkillologies
skillologies
Web Resources
https://mitu.co.in
http://tusharkute.com
[email protected]
[email protected]