170 likes | 434 Views
Chapter 9 Rules and Expert Systems. Chapter 9 Contents (1). Rules for Knowledge Representation Rule Based Production Systems Forward Chaining Conflict Resolution Meta Rules Backward Chaining The Architecture of Expert Systems Expert System Shells. Chapter 9 Contents (2).
E N D
Chapter 9 Rules and Expert Systems
Chapter 9 Contents (1) • Rules for Knowledge Representation • Rule Based Production Systems • Forward Chaining • Conflict Resolution • Meta Rules • Backward Chaining • The Architecture of Expert Systems • Expert System Shells
Chapter 9 Contents (2) • The Rete Algorithm • Knowledge Engineering • CLIPS • Backward Chaining in Expert Systems • CYC
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
Rule Based Production Systems • A production system is a system that uses knowledge in the form of rules to provide diagnoses or advice on the basis of input data. • The system consists of a database of rules (knowledge base), a database of facts, and an inference engine which reasons about the facts using the rules.
Forward Chaining • Forward chaining is a reasoning model that 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, the rule fires, and the conclusion of the rule is added to the database of facts.
Conflict Resolution • Sometimes more than one rule will fire at once, and a conflict resolution strategy must be used to decide which conclusions to use. • One strategy is to give rules priorities and to use the conclusion that has the highest priority. • Other strategies include applying the rule with the longest antecedent, or applying the rule that was most recently added to the database.
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.
Backward Chaining • In cases where a particular conclusion is to be proved, backward chaining can be more appropriate. • 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.
The Architecture of Expert Systems (1) • An expert system uses expert knowledge derived from human experts to diagnose illnesses, provide recommendations and solve other problems.
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.
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.
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.
Knowledge Engineering • A knowledge engineer takes knowledge from experts and inputs it into the expert system. • A knowledge engineer will usually choose which expert system shell to use. • The knowledge engineer is also responsible for entering meta-rules.
CLIPS • CLIPS is C Language Integrated Production System – an expert system shell. • CLIPS uses a LISP-like notation to enter rules.
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.
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.