Problem Solving Strategies::: Forward Chaining & Backward Chaining
The selection of which direction of chaining is proper depends on the topology of the problem space. There are a few factors to influence such decision: First, in which direction is the branching factor greater? Second, will the program be asked to justify its reasoning process to a user?, if so, it is important to proceed in the direction that corresponds more closely with the way the user will think. Third, what kind of event is going to trigger a problem solving episode? If it is the arrival of a new fact, forward chaining makes sense. If it is a query to which a response is desired, backward chaining is more natural.
Architectures using forward chaining:
Architectures using backward chaining:
Architectures using both chainings: