Posting is the same as in forward chaining, and all posted rules start in the Ready state. Since backward chaining is goal-driven, however, the engine processes rules a little differently-it starts by creating a goal list. Initially, the goal list contains only the main goal as specified by the chaining statement.
The engine visits the first rule in priority order and ascertains if the rule action contains an assignment to the goal attribute. If not, the engine moves on to the next rule in priority order.
If so, the engine tries to evaluate the premise:
The engine proceeds through the Ready rules in priority order. With each rule, it checks to see if the action contains assignments to any of the attributes in the goal list. If so, the engine tries to evaluate the rule premise. If not, the rule is passed over.
The engine starts back at the top of the priority order whenever the following happens:
As in forward chaining, the engine continues until the main goal is assigned, no Ready rules remain, or you issue the stopchain command. Backward chaining requires, however, that you specify a goal attribute.
| Copyright © 2009 CA. All rights reserved. | Send E-mail to CA about this topic |