Worksheet #8, 2nd Quarter
Linneus, Per 5
Name ______________
1. Linneus (pronounced "lynn a us") is on /home/atlas1/ai/linneus.lsp
The newer version is on /home/atlas1/ai/linneus2000.lsp
NOTE: The newer version also needs match2000.lsp to be loaded.
SEE A SAMPLE LINNEUS DIALOG HERE.
2. Extend the LINNEUS program to handle has links.
"Has" is used to mean has as parts.
Allowable inputs should include expressions such as:
(DOG HAS SNOUT) or (A DOG HAS A SNOUT)
which expresses the fact that a dog has a snout, and
(DOG HAS LEG) or (A DOG HAS A LEG)
which says a dog has (at least one) leg. Questions can be asked as:
(HAS DOG PAW) or (HAS A DOG A PAW)
which asks "Does a dog have a paw?" or the equivalent.
3. Expressing inheritance and transitivity with ISA and HAS.
Using the rules:
RULE I: If x is a member of y, and z has an x, then z has a y.
(X isa Y) and (Z has X) implies (Z has Y) --> (HAS Z Y) is True
RULE II: If x is a member of y, and y has a z, then x has a z.
(X isa Y) and (Y has z) implies (X has Z) --> (HAS X Z) is True
Examples: For Rule I, if your data base contains:
a house has a door (HOUSE HAS DOOR) or (A HOUSE HAS A DOOR)
and a door is a portal (A DOOR IS A PORTAL)
then a house has a portal (HAS A HOUSE A PORTAL) --> True
is a true statement
For Rule II, if your data base contains:
a dog is an animal
an animal has a heart
then the question --> has a dog a heart
is true.