Backward chaining
Encyclopedia : B : BA : BAC : Backward chaining
Backward chaining is one of the two main methods of reasoning when using inference rules. The other is forward chaining.
Backward chaining starts with a list of goals (or a hypothesis) and works backwards to see if there are data available that will support any of these goals. An inference engine using backward chaining would search the inference rules until it finds one which has a Then clause that matches a desired goal. If the If clause of that inference rule is not known to be true, then it is added to the list of goals (in order for your goal to be confirmed you 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 rulebase contains the following two rules:
- If Fritz croaks and eats flies - Then Fritz is a frog
- If Fritz is a frog - Then Fritz is green
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. This bottom-up appoach is often employed by expert systems.
The programming language Prolog supports backward chaining.
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
