1 chapter 9 rules and expert systems. 2 definition of expert system l an expert system is a computer...

32
1 Chapter 9 Rules and Expert Systems

Post on 21-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

1

Chapter 9

Rules and Expert Systems

Page 2: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

2

Definition of Expert System

An expert system is a computer program that represents and reasons with knowledge of some specialist subject with a view to solve problems or giving advice.

Page 3: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

3

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

Page 4: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

4

Chapter 9 Contents (2)

The Rete Algorithm Knowledge Engineering CLIPS Backward Chaining in Expert Systems CYC

Page 5: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

5

Rules for Knowledge Representation

IF… THEN Rules can be used to represent knowledge: IF it rains, then you will get wet IF A THEN B Can be expressed as: A B Here, A is called antecedent, and B is

called consequent. Rules can also be recommendations:

IF it rains, then you should wear a coat

Page 6: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

6

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: 1. A database of rules (knowledge base), 2. A database of facts, and 3. An inference engine which reasons

about the facts using the rules.

Page 7: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

7

Forward Chaining(Data Driven System)

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 is triggered, then the rule is fired, and the conclusion of the rule is added to the database of facts.

Page 8: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

8

Example Consider the rules that is used to control

an elevator in a 3-story building: Rule 1: IF on the first floor and button is pressed on first floor THEN open door Rule 2: IF on first floor AND button is pressed on second floor THEN goto second floor

Page 9: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

9

Example

Rule 3: IF on first floor AND button is pressed on third floor THEN go to third floor Rule 4: IF on second floor AND button is pressed on first floor AND already going to third floor THEN remember to go to first floor

later … , …

Page 10: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

10

The example only listed a subset of the rules (partial rules), we can keep doing the list of the rules to finish the control.

How do you finish the list?

Page 11: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

11

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.

Page 12: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

12

Example Consider the following rules: IF it is cold THEN wear a coat IF it is cold THEN stay at home IF it is cold THEN turn on the heat Obviously, one antecedent can trigger

three rules here. We might need to give the rules priorities to decide which one to pick first.

Or, we can add more conditions to make some antecedents longer than others.

Page 13: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

13

Example By applying priorities:

IF patient has pain THEN prescribe painkillers priority 10 … IF patient has chest pain THEN treat for heart disease priority 100

Page 14: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

14

Make Differences in Antecedents According Their Length

IF patient has pain THEN prescribe painkiller … IF patient has chest pain AND patient is over 60 AND patient has history of heart

conditions THEN take to emergency room

Page 15: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

15

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.

This kind of knowledge is called meta knowledge. It is knowledge about knowledge. Meta rules are treated by the system like normal

rules, but are given higher priority.

Page 16: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

16

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.

Page 17: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

17

Comparing Forward and Backward Chaining

Choose forward or backward chaining will depend on the specific problems.

Sometimes backward chaining is much faster and sometimes forward chaining is much faster.

Sometimes, they are about the same.

Page 18: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

18

Example

Rules: 1. A Λ B C 2. A B 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: to prove H.

Page 19: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

19

By using Forward Chaining

Facts Rules Triggered Rule Fired A, B, F 1, 2 1 A, B, C, F 2 2 A, B, C, D, F 3 3 A, B, C, D, E, F 4, 5 4 A, B, C, D, E, F, G 5 5 A, B, C, D, E, F, G, H 6 Stop

Page 20: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

20

Backward Chaining

Facts Goal Matching Rules A, B, F H 5 A, B, F E 3 A, B, F C, D 1 A, B, C, F D 2 A, B, C, D, F Stop This specific example has made us use 1 rule

less than forward chaining.

Page 21: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

21

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.

Page 22: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

22

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.

Page 23: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

23

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.

Page 24: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

24

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.

Page 25: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

25

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.

Page 26: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

26

CLIPS

CLIPS is C Language Integrated Production System – an expert system shell.

CLIPS uses a LISP-like notation to enter rules.

Page 27: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

27

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.

Page 28: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

28

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.

Page 29: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

29

What is CYC?

CYC is the name of a very large, multi-contextual knowledge base and inference engine, the development of which started at the Microelectronics and Computer Technology Corporation (MCC) in Austin, Texas during the early 1980s.

Page 30: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

30

CYC

Over the past eleven years the members of the CYC team have added to the knowledge base a huge amount of fundamental human knowledge: facts, rules of thumb, and heuristics for reasoning about the objects and events of modern everyday life.

Page 31: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

31

CYC CYC is an attempt to do symbolic AI on a massive

scale. It is not based on numerical methods such as

statistical probabilities, nor is it based on neural networks or fuzzy logic.

All of the knowledge in CYC is represented declaratively in the form of logical assertions.

CYC presently contains approximately 400,000 significant assertions, which include simple statements of fact, rules about what conclusions to draw if certain statements of fact are satisfied (true), and rules about how to reason with certain types of facts and rules.

New conclusions are derived by the inference engine using deductive reasoning.

Page 32: 1 Chapter 9 Rules and Expert Systems. 2 Definition of Expert System l An expert system is a computer program that represents and reasons with knowledge

32

CYC

Who is doing CYC? Much of the CYC work has been done at the

Microelectronics and Computer Technology Corporation in Austin, Texas.

As of the First of January in 1995, a new independent company named Cycorp has been created to further the work done on the CYC project.

Cycorp continues to be based in Austin, Texas. The development of CYC has been supported by

several organizations, including Apple, Bellcore, DEC, DoD, Interval, Kodak, and Microsoft.