1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy...

24
1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics) Machine Learning Fuzzy, NN, GA, etc. Diagnosis (Decision Making) • Advice (Recommendations) Automatic Control Pattern Recognition Data Mining, etc. Problem Solving Predicate Logic Reasoning/ Proof Search Methods

Transcript of 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy...

Page 1: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

1

Chapter 9

Rules and Expert Systems

Expert System(Rule Based Inference)

Bayesian Network

Fuzzy Theorem

Probability (statistics)

Uncertainty (cybernetics)

Machine LearningFuzzy, NN, GA, etc.

• Diagnosis (Decision Making)• Advice (Recommendations)• Automatic Control

Pattern RecognitionData Mining, etc.

Problem Solving Predicate Logic

Reasoning/ ProofSearch Methods

Page 2: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

2

Deduction over FOPC --- ResolutionBarks_at(Snoopy,John) False Dog(X) ^ Meets(X,Y)^Dislikes(X,Y) Barks_at(X,Y)

Dog(Snoopy) ^ Meets(Snoopy,John)^Dislikes(Snoopy,John) F

{X/Snoopy, Y/John}

T Dog(Snoopy)

Meets(Snoopy,John)^Dislikes(Snoopy,John) False

Close_to(Z,DormG) Meets(Snoopy, Z)

Close_to(John,DormG)^Dislikes(Snoopy,John) False

{Z/John}

True Close_to(John, DormG)

Dislikes(Snoopy,John) False

Man(John) False

{W/John}

True Man(John)

True False

Man(W) Dislikes(Snoopy,W)

此為 “ Implies” Normal Form了解此法可以銜接 “ Expert System”

Recall:

Page 3: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

3

Refutation Proofs in Tree Form

PQ

TrueP QFalse

TrueQ

TrueFalse

P, PQ Should Q be true?

¬P VQ P ¬Q

Q 這兩種形式 皆有相關研究採用

Forward Chaining + Refutation

Recall:

PFalse

TrueFalse

¬P

Backward Chaining (Resolution)

QFalse PQ TrueP ¬P VQ P¬Q

Page 4: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

4

Chapter 9 Contents

Rules for Knowledge Representation

Rule Based Production Systems

Forward Chaining Conflict Resolution Meta Rules Backward Chaining

The Architecture of Expert Systems

Expert System Shells The Rete Algorithm Knowledge Engineering CLIPS: C Language Integrated

Production System Backward Chaining in

Expert Systems CYC System

Page 5: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

5

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

Page 6: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

6

Example (Rule Based Inference)

rains_on(x) wet(x)

rains_on(x) ^ ¬coat(x) wet(x)

Truerains_on(John)

Truewet(John) wet(John)False

{x/John}

Truerains_on(John)

¬coat(John) wet(John)

{x/John}

¬ wet(John)False

…wet(John) 是否成立 ?

… ¬ wet(John) 如何能成立 ?

p.s. 不穿雨衣一定溼,但穿雨衣不保證不溼

如果 ¬coat(John) 會導致 wet(John) 成立

Trure ¬coat(John)

Truewet(John)

Page 7: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

7

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.

Page 8: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

8

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.

Page 9: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

9

Example (Forward Chaining)

Man(W) Dislikes(Snoopy, W)

{W/John}TMan(John)

TDislikes(Snoopy, John)

Close_to(Z,DormG) Meets(Snoopy, Z)

{Z/John} TClose_to(John, DormG)

TMeets(Snoopy, John)

Dog(X) ^ Meets(X,Y)^Dislikes(X,Y) Barks_at(X,Y) TDog(Snoopy)

Meets(Snoopy,Y)^Dislikes(Snoopy,Y) Barks_at(Snoopy,Y)

{Y/John}

Meets(Snoopy,John) Barks_at(Snoopy,John)

TBarks_at(Snoopy,John)

(1) (2)

(3)

(4)

(5)

Barks_at(Snoopy,John) False?

Page 10: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

10

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.

(1) 天氣好 , 睡得好 , 工作不忙 去打球; vs.“吃飽飯不打球”(2) 男生 , 穿拖鞋 , 靠近女生宿舍小花吠 ; vs.“吃飯中不吠人”

Priority?

Page 11: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

11

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.

Page 12: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

12

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 13: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

13

Example (Backward Chaining)

Barks_at(Snoopy,John) False Dog(X) ^ Meets(X,Y)^Dislikes(X,Y) Barks_at(X,Y)

Dog(Snoopy) ^ Meets(Snoopy,John)^Dislikes(Snoopy,John) F

{X/Snoopy, Y/John}

T Dog(Snoopy)

Meets(Snoopy,John)^Dislikes(Snoopy,John) False

Close_to(Z,DormG) Meets(Snoopy, Z)

Close_to(John,DormG)^Dislikes(Snoopy,John) False

{Z/John}

True Close_to(John, DormG)

Dislikes(Snoopy,John) False

Man(W) Dislikes(Snoopy, W)

Man(John) False

{W/John}

True Man(John)

True False

Page 14: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

14

Example (Forward Chaining)

Man(W) Dislikes(Snoopy, W)

{W/John}TMan(John)

TDislikes(Snoopy, John)

Close_to(Z,DormG) Meets(Snoopy, Z)

{Z/John} TClose_to(John, DormG)

TMeets(Snoopy, John)

Dog(X) ^ Meets(X,Y)^Dislikes(X,Y) Barks_at(X,Y) TDog(Snoopy)

Meets(Snoopy,Y)^Dislikes(Snoopy,Y) Barks_at(Snoopy,Y)

{Y/John}

Meets(Snoopy,John) Barks_at(Snoopy,John)

TBarks_at(Snoopy,John)

Recall:

Page 15: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

15

Chapter 9 Contents

Rules for Knowledge Representation

Rule Based Production Systems

Forward Chaining Conflict Resolution Meta Rules Backward Chaining

The Architecture of Expert Systems

Expert System Shells The Rete Algorithm Knowledge Engineering CLIPS: C Language Integrated

Production System Backward Chaining in

Expert Systems CYC System

Page 16: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

16

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 17: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

17

The Architecture of Expert Systems (2)

Knowledge base: database of rules (domain knowledge).

Explanation system: explains the decisions the system makes.

Knowledge base editor: allows the user to edit the information in the knowledge base.

User Interface: the means by which the user interacts with the expert system.

Page 18: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

18

Expert System Shells

The part of an expert system ( 內容不算 ) Neither domain specific nor case specific knowledge is

contained in 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 19: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

19

The Rete Algorithm

A rete is a directed, acyclic, rooted graph (i.e. a “Search 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 from the root to the leaves.

This makes an efficient way for expert systems to deal with environments which change often.

root

recommendations

dog(S)

man(J)

¬dog(S)

¬man(J)

Page 20: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

20

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. ( 整合 )

Expert System (Rule Based Production System)只是後來所謂「知識工程」的一個小部份

Page 21: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

21

CLIPS

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

CLIPS uses a LISP-like notation to enter rules.

Page 22: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

22

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 23: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

23

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 24: 1 Chapter 9 Rules and Expert Systems Expert System (Rule Based Inference) Bayesian Network Fuzzy Theorem Probability (statistics) Uncertainty (cybernetics)

24

Relevant Research

Expert System(Rule Based Inference)

Bayesian Network

Fuzzy Theorem

Probability (statistics)

Uncertainty (cybernetics)

Machine LearningFuzzy, NN, GA, etc.

• Diagnosis (Decision Making)• Advice (Recommendations)• Automatic Control

Pattern RecognitionData Mining, etc.

Problem Solving Predicate Logic

Reasoning/ ProofSearch Methods

評判 搜尋解答 邏輯推理記憶 控制 學習 創作

weak sub? strong

Fuzzy,NN,GA

In my opinion: