Whether you
use forward or backwards reasoning to solve a problem depends on the properties
of your rule set and initial facts. Sometimes, if you have some particular goal
(to test some hypothesis), then backward chaining will be much more efficient,
as you avoid drawing conclusions from irrelevant facts. However, sometimes
backward chaining can be very wasteful - there may be many possible ways of trying
to prove something, and you may have to try almost all of them before you find
one that works. Forward chaining may be better if you have lots of things you
want to prove (or if you just want to find out in general what new facts are
true); when you have a small set of initial facts; and when there tend to be
lots of different rules which allow you to draw the same conclusion. Backward
chaining may be better if you are trying to prove a single fact, given a large
set of initial facts, and where, if you used forward chaining, lots of rules
would be eligible to fire in any cycle.
Forward Reasoning
|
Backward Reasoning
|
Forward:
from the start states.
|
Backward:
from the goal states.
|
Forward
rules: to encode knowledge about how to respond to certain input.
|
Backward
rules: to encode knowledge about how to achieve particular goals.
|
Combining
forward and backward reasoning
¬ A1, …, Ak-1,
achieved by achieved
by
forward reasoning backward reasoning
|
No comments:
Post a Comment