Forward and Backward Chaining
Forward-chaining and backward-chaining are properties of an
architecture
that refer to the maintenance of knowledge, while
forward-planning and backward-planning
refer to methods of planning usually utilizing
means-ends analysis.
Forward-chaining by an
architecture means that upon assertion of new knowledge, all relevant
inductive and deductive rules
are fired to quiescence, effectively making
all knowledge about the current state explicit within the state.
Forward chaining may be regarded as progress from a known state (the
original knowledge) towards a goal state(s).
Backward-chaining by an architecture means that no rules are fired
upon assertion of new knowledge, but when an unknown predicate about a
known piece of knowledge is detected in an operator's condition list, all
rules relevant to the knowledge in question are fired until the question
is answered or until quiescence. Thus, backward chaining systems normally
work from a goal state back to the original state.
From this admittedly superficial description,
it seems that backward-chaining, since it saves computation
is superior to forward-chaining. However, since knowledge cascades, certain
pieces of inductive knowledge can be missed.
Additionally, the branching factor (the number of considerations at each state)
may vary between forward and backward chaining and thus also drive a
consideration of which method is the more efficient. This trade-off between
computation and assuredness of knowledge must be measured and decided by the
architect of the agent.
Architectures that utilize forward chaining engines:
Architectures that utilize backward chaining engines:
Press
UP to return to the properties list.
Return to the Table of Contents.