Presentation on theme: "CS 484 – Artificial Intelligence1 Announcements Choose Research Topic by today Project 1 is due Thursday, October 11 Midterm is Thursday, October 18 Book."— Presentation transcript:
CS 484 – Artificial Intelligence1 Announcements Choose Research Topic by today Project 1 is due Thursday, October 11 Midterm is Thursday, October 18 Book Review is due Thursday, October 25
Rules and Expert Systems Lecture 8
CS 484 – Artificial Intelligence3 Rules for Knowledge Representation IF… THEN Rules can be used to represent knowledge: 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 Intelligence4 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 Intelligence5 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 Intelligence6 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 database.
CS 484 – Artificial Intelligence7 Examples IF patient has pain THEN prescribe pain killers (priority 10) IF patient has chest pain THEN treat for heart disease (priority 100) IF patient has pain AND patient is over 60 AND patient has a history of heart conditions THEN take to emergency room
CS 484 – Artificial Intelligence8 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 Intelligence9 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 database.
CS 484 – Artificial Intelligence10 Forward Chaining Rules 1.A Λ B → C 2.A → D 3.C Λ D → E 4.B Λ E Λ F → G 5.A Λ E → H 6.D Λ E Λ H → I Facts 1.A 2.B 3.F Goal H Facts Rules triggered Rule fired A,B,F
CS 484 – Artificial Intelligence11 Backward Chaining Rules 1.A Λ B → C 2.A → D 3.C Λ D → E 4.B Λ E Λ F → G 5.A Λ E → H 6.D Λ E Λ H → I Facts 1.A 2.B 3.F Goal H FactsGoals Matching Rules A,B,F How do the methods compare?
CS 484 – Artificial Intelligence12 The Architecture of Expert Systems (1) Expert knowledge derived from human experts Purpose: Diagnose illnesses Provide recommendations Solve other problems
CS 484 – Artificial Intelligence13 The Architecture of Expert Systems (2) Knowledge base: database of rules (domain knowledge). 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 Intelligence14 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 Intelligence15 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 Intelligence16 Knowledge Engineering Takes knowledge from experts and inputs it into the expert system. Usually choose which expert system shell to use. Responsible for entering meta-rules.
CS 484 – Artificial Intelligence17 CLIPS CLIPS is C Language Integrated Production System – an expert system shell. CLIPS uses a LISP-like notation to enter rules.
CS 484 – Artificial Intelligence18 Backward Chaining in Expert Systems 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 Intelligence19 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 fever 4.If tired and sore throat then diagnose tonsillitis 5.If tired than diagnose stress
CS 484 – Artificial Intelligence20 Simple Medical Expert System User interaction Patient: I have a headache System: I suggest you take a pain killer. Do you have a sore throat? 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 tonsillitis.
CS 484 – Artificial Intelligence21 CYC A frame based production system. Uses a database of over 1,000,000 facts and rules, encompassing all fields of human knowledge. CYC can answer questions about all kinds of knowledge in its database, and can even understand analogies, and other complex relations.