Artificial Intelligence/expert systems
Expert: Saurabh Kudesia - 2/4/2005
QuestionI did a 8th grade science project on expert systems and programmed a simple forward chaining system using the e2glite applet from expertise2go.com. I had a difficult time understanding the concept of backward chaining. Would you explain it to me. Thanks!
AnswerHi Jacob,
By assuming a wanted outcome and then checking to see if the rules are met, an expert system would need to do fewer operations. This eliminates having to solve for every outcome possible based on a given set of rules.
Backward chaining is useful in situations where the quantity of data is potentially very large and where some specific characteristic of the system under consideration is of interest. Typical situations are various problems of diagnosis, such as medical diagnosis or fault-finding in electrical equipment.
In this method, one starts with the desired goal, and then attempts to find evidence for proving the goal.
Consider the following set of rules
Rule 1: IF A and C THEN F
Rule 2: IF A and E THEN G
Rule 3: IF B THEN E
Rule 4: IF G THEN D
Suppose it needs to be proved that D is true, given A and B are true. Start with Rule 1 and go on down till a rule that ''fires'' is found. In this case, Rule 3 is the only one that fires in the first iteration. At the end of the first iteration, it can be concluded that A, B and E are true. This information is used in the second iteration. This time Rule 2 fires adding the information that G is true. This extra information causes Rule 4 to fire, proving that D is true.
This is the method of forward chaining, where one proceeds from a given situation toward a desired goal, adding new assertions along the way. In expert systems, this strategy is especially appropriate in situations where data are expensive to collect, but few in quantity.
In backward chaining, the strategy to prove that D is true would be as follows.
First, find a rule that proves D. Rule 4 does so. This provides a sub-goal -- to prove that G is true. Now Rule 2 comes into play, and as it is already known that A is true, the new sub-goal is to show that E is true. Here, Rule 3 provides the next sub-goal of proving that B is true. But the fact that B is true is one of the given assertions. Therefore, E is true, which implies that G is true, which in turn implies that D is true.
I hope that this clears your doubt, feel free to contact for further discussion.
Regards
Saurabh