home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e070 / 5.ddi / EXPLORER / VIEWER / CHAINING.D < prev    next >
Encoding:
Text File  |  1984-10-13  |  3.2 KB  |  99 lines

  1. ;;;; This file contains sample data and procedures for
  2. ;;;; demonstrating a simple forward-chaining, rule-based expert
  3. ;;;; system programs.
  4.  
  5. ;;; This section contains rules.
  6.  
  7. (SETQ RULES '(
  8.   (RULE IDENTIFY1
  9.       (IF ((> ANIMAL) HAS HAIR))
  10.       (THEN ((< ANIMAL) IS A MAMMAL)))
  11.   (RULE IDENTIFY2
  12.       (IF ((> ANIMAL) GIVES MILK))
  13.       (THEN ((< ANIMAL) IS A MAMMAL)))
  14.   (RULE IDENTIFY3
  15.       (IF ((> ANIMAL) HAS FEATHERS))
  16.       (THEN ((< ANIMAL) IS A BIRD)))
  17.   (RULE IDENTIFY4 
  18.       (IF ((> ANIMAL) FLIES)
  19.           ((< ANIMAL) LAYS EGGS))
  20.       (THEN ((< ANIMAL) IS A BIRD)))
  21.   (RULE IDENTIFY5 
  22.       (IF ((> ANIMAL) EATS MEAT))
  23.       (THEN ((< ANIMAL) IS A CARNIVORE)))
  24.   (RULE IDENTIFY6
  25.       (IF ((> ANIMAL) HAS POINTED TEETH)
  26.           ((< ANIMAL) HAS CLAWS)
  27.           ((< ANIMAL) HAS FORWARD EYES))
  28.       (THEN ((< ANIMAL) IS A CARNIVORE)))
  29.   (RULE IDENTIFY7
  30.       (IF ((> ANIMAL) IS A MAMMAL)
  31.           ((< ANIMAL) HAS HOOFS))
  32.       (THEN ((< ANIMAL) IS A UNGULATE)))
  33.   (RULE IDENTIFY8 
  34.       (IF ((> ANIMAL) IS A MAMMAL)
  35.           ((< ANIMAL) CHEWS CUD))
  36.       (THEN ((< ANIMAL) IS A UNGULATE)
  37.             ((< ANIMAL) IS A EVEN TOED)))
  38.   (RULE IDENTIFY9
  39.       (IF ((> ANIMAL) IS A MAMMAL)
  40.           ((< ANIMAL) IS A CARNIVORE)
  41.           ((< ANIMAL) HAS TAWNY COLOR)
  42.           ((< ANIMAL) HAS DARK SPOTS))
  43.       (THEN ((< ANIMAL) IS A CHEETAH)))
  44.   (RULE IDENTIFY10
  45.       (IF ((> ANIMAL) IS A MAMMAL)
  46.           ((< ANIMAL) IS A CARNIVORE)
  47.           ((< ANIMAL) HAS TAWNY COLOR)
  48.           ((< ANIMAL) HAS BLACK STRIPES))
  49.       (THEN ((< ANIMAL) IS A TIGER)))
  50.   (RULE IDENTIFY11
  51.       (IF ((> ANIMAL) IS A UNGULATE)
  52.           ((< ANIMAL) HAS LONG NECK)
  53.           ((< ANIMAL) HAS LONG LEGS)
  54.           ((< ANIMAL) HAS DARK SPOTS))
  55.       (THEN ((< ANIMAL) IS A GIRAFFE)))
  56.   (RULE IDENTIFY12
  57.       (IF ((> ANIMAL) IS A UNGULATE)
  58.           ((< ANIMAL) HAS BLACK STRIPES))
  59.       (THEN ((< ANIMAL) IS A ZEBRA)))
  60.   (RULE IDENTIFY13 
  61.       (IF ((> ANIMAL) IS A BIRD)
  62.           ((< ANIMAL) DOES NOT FLY)
  63.           ((< ANIMAL) HAS LONG NECK)
  64.           ((< ANIMAL) HAS LONG LEGS)
  65.           ((< ANIMAL) IS BLACK AND WHITE))
  66.       (THEN ((< ANIMAL) IS A OSTRICH)))
  67.   (RULE IDENTIFY14
  68.       (IF ((> ANIMAL) IS A BIRD)
  69.           ((< ANIMAL) DOES NOT FLY)
  70.           ((< ANIMAL) SWIMS)
  71.           ((< ANIMAL) IS BLACK AND WHITE))
  72.       (THEN ((< ANIMAL) IS A PENGUIN)))
  73.   (RULE IDENTIFY15
  74.       (IF ((> ANIMAL) IS A BIRD)
  75.           ((< ANIMAL) FLIES WELL))
  76.       (THEN ((< ANIMAL) IS A ALBATROSS)))
  77.   (RULE IDENTIFY16 
  78.       (IF ((> ANIMAL) IS A (> TYPE))
  79.           ((< ANIMAL) IS A PARENT OF (> CHILD)))                
  80.       (THEN ((< CHILD) IS A (< TYPE))))
  81. ))
  82.  
  83. ;;; This section contains assertions.
  84.  
  85. (SETQ ASSERTIONS
  86.   '((ROBBIE HAS DARK SPOTS)      ;Robbie must be a cheetah.
  87.     (ROBBIE HAS TAWNY COLOR)
  88.     (ROBBIE EATS MEAT)
  89.     (ROBBIE HAS HAIR)
  90.     (ROBBIE IS A PARENT OF BOZO) ;So Bozo must be a cheetah too.
  91.     (SUZIE GIVES MILK)           ;Suzie seems to be a tiger.
  92.     (SUZIE HAS POINTED TEETH)
  93.     (SUZIE HAS CLAWS)
  94.     (SUZIE HAS FORWARD EYES)
  95.     (SUZIE HAS TAWNY COLOR)
  96.     (SUZIE HAS BLACK STRIPES)
  97.     (SUZIE IS A PARENT OF BILLY) ;And Billy must be one too.
  98. ))
  99.