home *** CD-ROM | disk | FTP | other *** search
- ;;;; This file contains sample data and procedures for
- ;;;; demonstrating a simple forward-chaining, rule-based expert
- ;;;; system programs.
-
- ;;; This section contains rules.
-
- (SETQ RULES '(
- (RULE IDENTIFY1
- (IF ((> ANIMAL) HAS HAIR))
- (THEN ((< ANIMAL) IS A MAMMAL)))
- (RULE IDENTIFY2
- (IF ((> ANIMAL) GIVES MILK))
- (THEN ((< ANIMAL) IS A MAMMAL)))
- (RULE IDENTIFY3
- (IF ((> ANIMAL) HAS FEATHERS))
- (THEN ((< ANIMAL) IS A BIRD)))
- (RULE IDENTIFY4
- (IF ((> ANIMAL) FLIES)
- ((< ANIMAL) LAYS EGGS))
- (THEN ((< ANIMAL) IS A BIRD)))
- (RULE IDENTIFY5
- (IF ((> ANIMAL) EATS MEAT))
- (THEN ((< ANIMAL) IS A CARNIVORE)))
- (RULE IDENTIFY6
- (IF ((> ANIMAL) HAS POINTED TEETH)
- ((< ANIMAL) HAS CLAWS)
- ((< ANIMAL) HAS FORWARD EYES))
- (THEN ((< ANIMAL) IS A CARNIVORE)))
- (RULE IDENTIFY7
- (IF ((> ANIMAL) IS A MAMMAL)
- ((< ANIMAL) HAS HOOFS))
- (THEN ((< ANIMAL) IS A UNGULATE)))
- (RULE IDENTIFY8
- (IF ((> ANIMAL) IS A MAMMAL)
- ((< ANIMAL) CHEWS CUD))
- (THEN ((< ANIMAL) IS A UNGULATE)
- ((< ANIMAL) IS A EVEN TOED)))
- (RULE IDENTIFY9
- (IF ((> ANIMAL) IS A MAMMAL)
- ((< ANIMAL) IS A CARNIVORE)
- ((< ANIMAL) HAS TAWNY COLOR)
- ((< ANIMAL) HAS DARK SPOTS))
- (THEN ((< ANIMAL) IS A CHEETAH)))
- (RULE IDENTIFY10
- (IF ((> ANIMAL) IS A MAMMAL)
- ((< ANIMAL) IS A CARNIVORE)
- ((< ANIMAL) HAS TAWNY COLOR)
- ((< ANIMAL) HAS BLACK STRIPES))
- (THEN ((< ANIMAL) IS A TIGER)))
- (RULE IDENTIFY11
- (IF ((> ANIMAL) IS A UNGULATE)
- ((< ANIMAL) HAS LONG NECK)
- ((< ANIMAL) HAS LONG LEGS)
- ((< ANIMAL) HAS DARK SPOTS))
- (THEN ((< ANIMAL) IS A GIRAFFE)))
- (RULE IDENTIFY12
- (IF ((> ANIMAL) IS A UNGULATE)
- ((< ANIMAL) HAS BLACK STRIPES))
- (THEN ((< ANIMAL) IS A ZEBRA)))
- (RULE IDENTIFY13
- (IF ((> ANIMAL) IS A BIRD)
- ((< ANIMAL) DOES NOT FLY)
- ((< ANIMAL) HAS LONG NECK)
- ((< ANIMAL) HAS LONG LEGS)
- ((< ANIMAL) IS BLACK AND WHITE))
- (THEN ((< ANIMAL) IS A OSTRICH)))
- (RULE IDENTIFY14
- (IF ((> ANIMAL) IS A BIRD)
- ((< ANIMAL) DOES NOT FLY)
- ((< ANIMAL) SWIMS)
- ((< ANIMAL) IS BLACK AND WHITE))
- (THEN ((< ANIMAL) IS A PENGUIN)))
- (RULE IDENTIFY15
- (IF ((> ANIMAL) IS A BIRD)
- ((< ANIMAL) FLIES WELL))
- (THEN ((< ANIMAL) IS A ALBATROSS)))
- (RULE IDENTIFY16
- (IF ((> ANIMAL) IS A (> TYPE))
- ((< ANIMAL) IS A PARENT OF (> CHILD)))
- (THEN ((< CHILD) IS A (< TYPE))))
- ))
-
- ;;; This section contains assertions.
-
- (SETQ ASSERTIONS
- '((ROBBIE HAS DARK SPOTS) ;Robbie must be a cheetah.
- (ROBBIE HAS TAWNY COLOR)
- (ROBBIE EATS MEAT)
- (ROBBIE HAS HAIR)
- (ROBBIE IS A PARENT OF BOZO) ;So Bozo must be a cheetah too.
- (SUZIE GIVES MILK) ;Suzie seems to be a tiger.
- (SUZIE HAS POINTED TEETH)
- (SUZIE HAS CLAWS)
- (SUZIE HAS FORWARD EYES)
- (SUZIE HAS TAWNY COLOR)
- (SUZIE HAS BLACK STRIPES)
- (SUZIE IS A PARENT OF BILLY) ;And Billy must be one too.
- ))