FREE online courses on Expert Systems - Data Driven Reasoning
For many problems it is not possible to enumerate all of the
possible answers before hand and have the system select the correct one. For
example, configuration problems fall in this category. These systems might put
components in a computer, design circuit boards, or lay out office space. Since
the inputs vary and can be combined in an almost infinite number of ways, the
goal driven approach will not work.
The data driven approach, or forward chaining, uses rules
similar to those used for backward chaining, however, the inference process is
different. The system keeps track of the current state of problem solution and
looks for rules which will move that state closer to a final solution.
A system to layout living room furniture would begin with a
problem state consisting of a number of unplaced pieces of furniture. Various
rules would be responsible for placing the furniture in the room, thus changing
the problem state. When all of the furniture was placed, the system would be
finished, and the output would be the final state. Here is a rule from such a
system which places the television opposite the couch.
IF
unplaced tv and
couch on wall(X) and
wall(Y) opposite wall(X)
THEN
place tv on wall(Y).
This rule would take a problem state with an unplaced
television and transform it to a state that had the television placed on the
opposite wall from the couch. Since the television is now placed, this rule will
not fire again. Other rules for other furniture will fire until the furniture
arrangement task is finished.
Note that for a data driven system, the system must be
initially populated with data, in contrast to the goal driven system which
gathers data as it needs it. Figure 1.2 illustrates the difference between
forward and backward chaining systems for two simplified rules. The forward
chaining system starts with the data of a=1 and b=2 and uses the
rules to derive d=4. The backward chaining system starts with the goal of
finding a value for d and uses the two rules to reduce that to the
problem of finding values for a and b.
Figure 1.3: Four levels of data representation