Week 10 - CLIPS, Case Based Reasoning and Neural Networks


Review this document.

Read Chapter 10 (Modular Design and Execution Control) and pages 47-54 in the text "Expert Systems: Principles and Programming."

Tillage Equipment Selection Problem - Due Nov 10

You have read about the use of uncertain reasoning within ES applications. One of the most common techniques is the use of certainty factors such as those used in the MYCIN ES application. Use CLIPS to implement a tillage equipment selection ES that uses uncertain reasoning in the form of certainty factors given the following information.

Additional information about the MYCIN approach to certainty factors and CLIPS code to implement this approach is available. Use the CLIPS code provided to assist with certainty factors in this problem.

After initial interviews with the domain expert, the knowledge engineer decided a small prototype should be constructed that would recommend tillage systems on a field by field basis. Four possible tillage systems were chosen: No-till, Chisel/disk, Ridge-till and Conventional (plow, disk, etc.). The primary concern for this system is reduction of soil erosion potential.

The knowledge engineer and domain expert decided that many of the rules would contain uncertainty. Belief that a tillage system should be recommended will be accumulated and reported to the user along with the recommended tillage system(s). Only tillage systems with a final certainty greater than 40 should be reported to the user. MYCIN-like (see mosaic notes in week 11) certainty factors were selected for the prototype. The rules for combining certainty factors are implemented in a separate file called cf.clp (copy it from ~engelb/565/cf.clp) to allow their re-use in this and other projects.

The following parameters were determined to be important:

slope - representative slope profile of the field
possible values:  slight

erosion class - degree of erosion for the field
possible values:  severe

current equipment - the current tillage equipment system that
                    is owned
possible values:  Conventional	
		  Don't own equipment

The following relationships between input parameters and the recommended tillage system were derived:
If a tillage system is recommended and that tillage system is currently owned,
then increase the belief in that tillage system with a certainty factor of 40.
This can be written in CLIPS as:

(defrule increase-belief
  (oav (object equipment) (attribute owned) (value ?x))
  (oav (object equipment) (attribute recommended)(value ?x)
       (cf ?cf&:(> ?cf 0)))
  (assert (oav (object equipment)(attribute recommended)(value ?x)
          (cf 40))))

No-till is the recommended tillage system for the following conditions:

erosion class is severe	        certainty 70
slope is steep                  certainty 80
erosion class is moderate and   certainty 60
  slope is moderate
erosion class is moderate and   certainty 40
  slope is slight

A conventional tillage system is recommended for the following conditions:

slope is slight    certainty 50
slope is steep     certainty -90

A chisel-disk tillage system is recommended for the following conditions:

erosion class is severe	        certainty 30
erosion class is moderate       certainty 40
erosion class is slight         certainty 60
slope is steep                  certainty -95

A ridge-till system is recommended for the following set of conditions:

slope is steep            certainty -40
slope is moderate         certainty 20
slope is slight           certainty 40
erosion class is severe   certainty 25

A rule recommending ridge-till for steep slopes might be written as:

(defrule ridge-till-1
        (oav (object field)(attribute slope)(value steep))
        (assert (oav (object equipment)((attribute recommended) 
                (value ridge-till) (cf -40)

Since only tillage systems with final certainty factors greater than 40 will be reported, a rule should be written to recommend tillage systems only when certainty factors are greater than 40.

Turn in (email) a file listing of the rules and facts that you used. Also turn in an example run (UNIX script command can be used to create such a file).

Important Terms and Concepts:

Case Based Reasoning

Introduction to Case Based Reasoning