Information Technology Reference
In-Depth Information
(This is the first matching conditional found. When looking for a sentence, back-
chaining always considers the KB in its entirety from top to bottom.)
3.
Work on the two if-parts of the matching conditional:
Establish the query
jane is male
.
1.
Look for
jane is male
in the KB.
Nothing found.
2.
Look for
If . . . then jane is male
in the KB.
Nothing found.
Return
failure
for
jane is male
.
Since the first part was not successful, skip the second one.
4.
The attempt to establish the two if-parts was not successful.
So go back to step 2 to see if there is another matching conditional.
2.
Look again for
If . . . then jane is of opposite sex from george
in the KB.
Found:
If X is male and Y is female then Y is of opposite sex from X.
This matches for
Y=jane
and
X=george
.
(This is the second of the two matching conditionals in the KB.)
3.
Work on the two if-parts of the matching conditional:
Establish the query
george is male
.
1.
Look for
george is male
in the KB.
Found.
Return
success
for
george is male
.
Establish the query
jane is female
.
1.
Look for
jane is female
in the KB.
Found.
Return
success
for
jane is female
.
Since both parts were successful, return
success
for the original query
jane is of opposite sex from george
.
You should reread these four examples carefully and make sure that you follow each
of the steps.
They are crucial to understanding how back-chaining works.
Note in particular how the procedure works backward from the query at step 3
using other queries, and depending on how
they
turn out, either returns
success
or (at
step 4) goes back to step 2 to see if there are other conditional sentences that can be
used. (Only when there are no more sentences will it return
failure
.)
Although this is a computational procedure, and you do not need to know what the
symbols mean, it is absolutely critical to keep track of your place in the procedure. At
step 3, you may need to work on another subquery, which itself could get to another
step 3, and which could invoke yet another subsubquery. In tracing the procedure,