Home

backwardchaining

Backward chaining is a goal-driven inference technique used in rule-based expert systems and logic programming. Unlike forward chaining, which starts from known data and derives new facts, backward chaining begins with a hypothesis or query and works backward to determine whether it can be supported by the available rules and facts.

Mechanism: given rules of the form If A and B then C, to prove C the system

Implementation: Prolog is a well-known language that employs backward chaining in evaluating queries against a database

Advantages and limitations: It is efficient when the goal is specific and the rule base is large,

attempts
to
prove
A
and
B.
Each
subgoal
is
recursively
expanded
using
rules
whose
conclusions
match
the
subgoal,
or
by
consulting
known
facts.
The
procedure
continues
until
the
goal
is
proven
or
no
support
remains.
If
a
subgoal
matches
a
fact,
it
is
considered
proven;
if
multiple
rules
could
derive
a
subgoal,
branches
are
explored
in
search
of
a
proof.
Cycles
must
be
avoided
to
prevent
infinite
loops.
of
Horn
clauses.
Backward
chaining
is
particularly
suitable
for
situations
where
the
set
of
possible
goals
is
limited
or
where
the
cost
of
proving
individual
goals
is
high
but
their
subgoals
are
manageable.
since
only
relevant
rules
are
considered.
However,
it
can
suffer
from
nontermination
in
the
presence
of
recursive
or
cyclic
rules,
and
in
some
cases
may
explore
many
irrelevant
subgoals
if
not
well-pruned.
The
approach
is
common
in
diagnostic
reasoning,
planning,
and
troubleshooting
domains.