Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Backward chaining 1

Backward chaining
Backward chaining (or backward reasoning) is an inference method used in automated theorem provers, proof
assistants and other artificial intelligence applications. It is one of the two most commonly used methods of
reasoning with inference rules and logical implications – the other is forward chaining. Backward chaining is
implemented in logic programming by SLD resolution. Both rules are based on the modus ponens inference rule.
Backward chaining starts with a list of goals (or a hypothesis) and works backwards from the consequent to the
antecedent to see if there is data available that will support any of these consequents. An inference engine using
backward chaining would search the inference rules until it finds one which has a consequent (Then clause) that
matches a desired goal. If the antecedent (If clause) of that rule is not known to be true, then it is added to the list of
goals (in order for one's goal to be confirmed one must also provide data that confirms this new rule).
For example, suppose that the goal is to conclude the color of my pet Fritz, given that he croaks and eats flies, and
that the rule base contains the following four rules:
1. If X croaks and eats flies – Then X is a frog
2. If X chirps and sings – Then X is a canary
3. If X is a frog – Then X is green
4. If X is a canary – Then X is yellow
This rule base would be searched and the third and fourth rules would be selected, because their consequents (Then
Fritz is green, Then Fritz is yellow) match the goal (to determine Fritz's color). It is not yet known that Fritz is a
frog, so both the antecedents (If Fritz is a frog, If Fritz is a canary) are added to the goal list. The rule base is again
searched and this time the first two rules are selected, because their consequents (Then X is a frog, Then X is a
canary) match the new goals that were just added to the list. The antecedent (If Fritz croaks and eats flies) is known
to be true and therefore it can be concluded that Fritz is a frog, and not a canary. The goal of determining Fritz's
color is now achieved (Fritz is green if he is a frog, and yellow if he is a canary, but he is a frog since he croaks and
eats flies; therefore, Fritz is green).
Note that the goals always match the affirmed versions of the consequents of implications (and not the negated
versions as in modus tollens) and even then, their antecedents are then considered as the new goals (and not the
conclusions as in affirming the consequent) which ultimately must match known facts (usually defined as
consequents whose antecedents are always true); thus, the inference rule which is used is modus ponens.
Because the list of goals determines which rules are selected and used, this method is called goal-driven, in contrast
to data-driven forward-chaining inference. The backward chaining approach is often employed by expert systems.
Programming languages such as Prolog, Knowledge Machine and ECLiPSe support backward chaining within their
inference engines.

See also
• Backward induction
• Forward chaining
• Opportunistic reasoning
• Working backward from the goal
Article Sources and Contributors 2

Article Sources and Contributors


Backward chaining  Source: http://en.wikipedia.org/w/index.php?oldid=377725884  Contributors: Brighterorange, Chalst, Classicalecon, Dangiankit, Dblanchard, Dr jkl, Gregbard, Gschadow,
Haemo, Hans Adler, History2007, Insanity Incarnate, J. Finkelstein, Japanese Searobin, Jeff3000, JetLover, Joydurgin, Kku, Kotasik, Kpmiyapuram, Logperson, Maschelos, Mgreenbe, Michael
Hardy, Notreadbyhumans, Pakcw, Pavel Vozenilek, Qwertyus, Robofish, Rotring, Rufous, Simeon, Styrofoam1994, The Rambling Man, Tomaxer, Wavelength, Wikidea, Yayay, 27 anonymous
edits

License
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/

You might also like