Introduction to Artificial Intelligence headache

•   Choose Research Topic by today
•   Project 1 is due Thursday, October 11
•   Midterm is Thursday, October 18
•   Book Review is due Thursday, October 25

                 CS 484 – Artificial Intelligence   1
Rules and Expert Systems

         Lecture 8
Rules for Knowledge Representation
   • IF… THEN Rules can be used to represent
     • IF it rains, then you will get wet
   • Rules can also be recommendations:
     • IF it rains, then you should wear a coat

                     CS 484 – Artificial Intelligence   3
 Rule Based Production Systems
• Production system - uses knowledge in the form of
  rules to provide diagnoses or advice on the basis
  of input data.
• Parts
   • Database of rules (knowledge base)
   • Database of facts
   • Inference engine which reasons about the facts using
     the rules

                    CS 484 – Artificial Intelligence        4
             Forward Chaining
• Works from a set of facts and rules towards a set
  of conclusions, diagnoses or recommendations.
• When a fact matches the antecedent of a rule
   • Rule fires
   • Conclusion added to facts

                    CS 484 – Artificial Intelligence   5
             Conflict Resolution
• Problem: more than one rule fires at once
• Conflict resolution strategy decides which
  conclusions to use.
   • Give rules priorities and to use the conclusion that has
     the highest priority.
   • Apply the rule with the longest antecedent
   • Apply the rule that was most recently added to the

                     CS 484 – Artificial Intelligence           6
• IF patient has pain               • IF patient has pain
  THEN prescribe pain                 AND patient is over
  killers (priority 10)               60
• IF patient has chest                AND patient has a
  pain                                history of heart
  THEN treat for heart                conditions
  disease (priority 100)              THEN take to
                                      emergency room

                  CS 484 – Artificial Intelligence          7
                 Meta Rules
• The rules that determine the conflict resolution
  strategy are called meta rules.
• Meta rules define knowledge about how the
  system will work.
• For example, meta rules might define that
  knowledge from Expert A is to be trusted more
  than knowledge from Expert B.
• Meta rules are treated by the system like normal
  rules, but are given higher priority.

                  CS 484 – Artificial Intelligence   8
          Backward Chaining
• Use backward chaining when proving a
  particular conclusion
• Works back from a conclusion towards the
  original facts.
• When a conclusion matches the conclusion
  of a rule in the database, the antecedents of
  the rule are compared with facts in the

                 CS 484 – Artificial Intelligence   9
               Forward Chaining
•   Rules          •   Facts         Facts
                                                                    Rule fired
    1.   AΛB→C         1. A
    2.   A→D           2. B
    3.   CΛD→E         3. F
    4.   BΛEΛF→G   •   Goal
    5.   AΛE→H
                       •     H
    6.   DΛEΛH→I

                       CS 484 – Artificial Intelligence                      10
               Backward Chaining
•   Rules          •   Facts         Facts                Goals
    1.   AΛB→C         1. A
    2.   A→D           2. B
    3.   CΛD→E         3. F
    4.   BΛEΛF→G   •   Goal
    5.   AΛE→H
                       •     H
    6.   DΛEΛH→I

                                             How do the methods compare?

                       CS 484 – Artificial Intelligence                  11
The Architecture of Expert Systems (1)
    • Expert knowledge
      derived from human
    • Purpose:
       • Diagnose illnesses
       • Provide
       • Solve other problems

                          CS 484 – Artificial Intelligence   12
The Architecture of Expert Systems (2)
  • Knowledge base: database of rules (domain
  • Explanation system: explains the decisions the
    system makes.
  • User Interface: the means by which the user interacts
    with the expert system.
  • Knowledge base editor: allows the user to edit the
    information in the knowledge base.

                         CS 484 – Artificial Intelligence   13
         Expert System Shells
• The part of an expert system that does not contain
  any domain specific or case specific knowledge is
  the expert system shell.
• A single expert system shell can be used to build a
  number of different expert systems.
• An example of an expert system shell is CLIPS.

                  CS 484 – Artificial Intelligence   14
            The Rete Algorithm
• A rete is a directed, acyclic, rooted graph (a tree).
• A path from the root node to a leaf represents the
  left hand side of a rule.
• Each node stores details of which facts have been
  matched so far.
• As facts are changed, the changes are propagated
  through the tree.
• This makes an efficient way for expert systems to
  deal with environments which change often.

                   CS 484 – Artificial Intelligence   15
      Knowledge Engineering
• Takes knowledge from experts and inputs it
  into the expert system.
• Usually choose which expert system shell to
• Responsible for entering meta-rules.

               CS 484 – Artificial Intelligence   16
• CLIPS is C Language
  Integrated Production
  System – an expert
  system shell.
• CLIPS uses a LISP-like
  notation to enter rules.

                CS 484 – Artificial Intelligence   17
Backward Chaining in Expert
 • Backward chaining is often used in expert systems
   that are designed for medical diagnosis:
 • For each hypothesis, H:
  If H is in the facts database, it is proved.
  Otherwise, if H can be determined by asking a question,
   then enter the user’s answer in the facts database.
   Hence, it can be determined whether H is true or false,
   according to the user’s answer.
  Otherwise, find a rule whose conclusion is H. Now apply
   this algorithm to try to prove this rule’s antecedents.
  If none of the above applies, we have failed to prove H.
 • Usually backward chaining is used in conjunction with
   forward chaining.
                    CS 484 – Artificial Intelligence       18
Simple Medical Expert System
•    Rules
    1. If headache then prescribe pain killer
    2. If headache and sore throat and coughing than
       diagnose flu
    3. If tired and headache then diagnose glandular
    4. If tired and sore throat then diagnose
    5. If tired than diagnose stress
                  CS 484 – Artificial Intelligence   19
Simple Medical Expert System
• User interaction
   • Patient: I have a headache
   • System: I suggest you take a pain killer. Do you have a sore
   • Patient: Yes, I do.
   • System: Have you been coughing?
   • Patient: No, why do you ask?
   • System: If you had a head ache and a sore throat and had been
     coughing, I would have to conclude you might have the flu. It
     doesn't sound as though you have the flu? Have you been feeling
     tired recently?
   • Patient: Yes, I have.
   • System: It sounds as though you may have glandular fever or

                       CS 484 – Artificial Intelligence            20
• A frame based production system.
• Uses a database of over 1,000,000 facts and
  rules, encompassing all fields of human
• CYC can answer questions about all kinds
  of knowledge in its database, and can even
  understand analogies, and other complex

                CS 484 – Artificial Intelligence   21