0% found this document useful (0 votes)
23 views37 pages

Chaining

Forward chaining and backward chaining are two strategies used in rule-based expert systems for artificial intelligence. Forward chaining starts with known facts and applies rules to deduce new facts until a goal is reached, while backward chaining starts with the goal and works backwards to find known facts that support the goal. These strategies influence the type of expert system that is built and can use either a top-down or bottom-up approach to problem solving.

Uploaded by

Rajdeep Banik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views37 pages

Chaining

Forward chaining and backward chaining are two strategies used in rule-based expert systems for artificial intelligence. Forward chaining starts with known facts and applies rules to deduce new facts until a goal is reached, while backward chaining starts with the goal and works backwards to find known facts that support the goal. These strategies influence the type of expert system that is built and can use either a top-down or bottom-up approach to problem solving.

Uploaded by

Rajdeep Banik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

Forward and Backward Chaining Techniques of

Reasoning in Rule-Based Systems

Forward chaining and backward chaining are two strategies used in


designing expert systems for AI. Forward chaining is a form of
reasoning that starts with simple facts in the knowledge base and
applies inference rules in the forward direction to extract more data
until a goal is reached. Backward chaining starts with the goal and
works backward, chaining through rules to find known facts that
support the goal.
They influence the type of expert system you’ll build for your AI. An
expert system is a computer application that uses rules, approaches and
facts to provide solutions to complex problems.
Forward Chaining vs. Backward Chaining Defined

• Forward chaining: Forward chaining is a form of reasoning for an AI


expert system that starts with simple facts and applies inference rules to
extract more data until the goal is reached.

• Backward chaining: Backward chaining is another strategy used to shape


an AI expert system that starts with the end goal and works backward
through the AI’s rules to find facts that support the goal.
Forward chaining
Forward chaining
• Forward chaining is also known as a forward deduction or forward
reasoning method when using an inference engine. The forward-
chaining algorithm starts from known facts, triggers all rules whose
premises are satisfied and adds their conclusion to the known facts.
This process repeats until the problem is solved.
• In this type of chaining, the inference engine starts by evaluating
existing facts, derivations, and conditions before deducing new
information. An endpoint, or goal, is achieved through the
manipulation of knowledge that exists in the knowledge base.
Properties of Forward-Chaining:

• 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
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
Forward chaining example
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.
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)
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.
Step-2:
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).
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.
Backward chaining
Backward chaining
• Backward chaining is also known as a backward deduction or
backward reasoning method when using an inference engine. In this,
the inference engine knows the final decision or goal. The system
starts from the goal and works backward to determine what facts must
be asserted so that the goal can be achieved.

• For example, it starts directly with the conclusion (hypothesis) and


validates it by backtracking through a sequence of facts. Backward
chaining can be used in debugging, diagnostics and prescription
applications.
Properties of backward chaining:

• 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
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
Backward chaining example
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.
Step-2:
At the second step, we will infer other facts from 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.
Step-3:
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.
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.
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.

You might also like