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: