ONT Re: Zeroth Order Theories (ZOT's)
¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤
I turn now to another golden oldie of a constraint satisfaction problem
that I would like to give here a slightly new spin, but not so much for
the sake of these trifling novelties as from a sense of old time's ache
and a duty to -- well, what's the opposite of novelty?
Phobic Apollo
| Suppose Peter, Paul, and Jane are musicians. One of them plays
| saxophone, another plays guitar, and the third plays drums. As
| it happens, one of them is afraid of things associated with the
| number 13, another of them is afraid of cats, and the third is
| afraid of heights. You also know that Peter and the guitarist
| skydive, that Paul and the saxophone player enjoy cats, and
| that the drummer lives in apartment 13 on the 13th floor.
|
| Soon we will want to use these facts to reason
| about whether or not certain identity relations
| hold or are excluded. Assume X(Peter, Guitarist)
| means "the person who is Peter is not the person who
| plays the guitar". In this notation, the facts become:
|
| 1. X(Peter, Guitarist)
| 2. X(Peter, Fears Heights)
| 3. X(Guitarist, Fears Heights)
| 4. X(Paul, Fears Cats)
| 5. X(Paul, Saxophonist)
| 6. X(Saxophonist, Fears Cats)
| 7. X(Drummer, Fears 13)
| 8. X(Drummer, Fears Heights)
|
| Exercise attributed to Kenneth D. Forbus, pages 449-450 in:
| Patrick Henry Winston, 'Artificial Intelligence', 2nd ed.,
| Addison-Wesley, Reading, MA, 1984.
Here is one way to represent these facts in the form of a ZOT
and use it as a logical program to draw a succinct conclusion:
Logical Input File: ConSat.Log
o-----------------------------------------------------------------------o
| |
| (( pete_plays_guitar ),( pete_plays_sax ),( pete_plays_drums )) |
| (( paul_plays_guitar ),( paul_plays_sax ),( paul_plays_drums )) |
| (( jane_plays_guitar ),( jane_plays_sax ),( jane_plays_drums )) |
| |
| (( pete_plays_guitar ),( paul_plays_guitar ),( jane_plays_guitar )) |
| (( pete_plays_sax ),( paul_plays_sax ),( jane_plays_sax )) |
| (( pete_plays_drums ),( paul_plays_drums ),( jane_plays_drums )) |
| |
| (( pete_fears_13 ),( pete_fears_cats ),( pete_fears_height )) |
| (( paul_fears_13 ),( paul_fears_cats ),( paul_fears_height )) |
| (( jane_fears_13 ),( jane_fears_cats ),( jane_fears_height )) |
| |
| (( pete_fears_13 ),( paul_fears_13 ),( jane_fears_13 )) |
| (( pete_fears_cats ),( paul_fears_cats ),( jane_fears_cats )) |
| (( pete_fears_height ),( paul_fears_height ),( jane_fears_height )) |
| |
| (( |
| |
| ( pete_plays_guitar ) |
| ( pete_fears_height ) |
| |
| ( pete_plays_guitar pete_fears_height ) |
| ( paul_plays_guitar paul_fears_height ) |
| ( jane_plays_guitar jane_fears_height ) |
| |
| ( paul_fears_cats ) |
| ( paul_plays_sax ) |
| |
| ( pete_plays_sax pete_fears_cats ) |
| ( paul_plays_sax paul_fears_cats ) |
| ( jane_plays_sax jane_fears_cats ) |
| |
| ( pete_plays_drums pete_fears_13 ) |
| ( paul_plays_drums paul_fears_13 ) |
| ( jane_plays_drums jane_fears_13 ) |
| |
| ( pete_plays_drums pete_fears_height ) |
| ( paul_plays_drums paul_fears_height ) |
| ( jane_plays_drums jane_fears_height ) |
| |
| )) |
| |
o-----------------------------------------------------------------------o
Sense Outline: ConSat.Sen
o-----------------------------o
| pete_plays_drums |
| paul_plays_guitar |
| jane_plays_sax |
| pete_fears_cats |
| paul_fears_13 |
| jane_fears_height |
o-----------------------------o
¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤~~~~~~~~~¤