Top Banner
Chapter 1: Introduction to Expert Systems
52

Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

Apr 01, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

Chapter 1:

Introduction to Expert Systems

Page 2: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

2

Objectives

• Learn the meaning of an expert system• Understand the problem domain and knowledge

domain• Learn the advantages of an expert system• Understand the stages in the development of an

expert system• Examine the general characteristics of an expert

system

Page 3: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

3

Objectives

• Examine earlier expert systems which have given rise to today’s knowledge-based systems

• Explore the applications of expert systems in use today

• Examine the structure of a rule-based expert system

• Learn the difference between procedural and nonprocedural paradigms

Page 4: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

4

What is an expert system?

“An expert system is a computer system that emulates, or acts in all respects, with the decision-making capabilities of a human expert.”

Professor Edward Feigenbaum

Stanford University

Page 5: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

5

Fig 1.1 Areas of Artificial Intelligence

Page 6: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

6

Expert system technology may include:

• Special expert system languages – CLIPS

• Programs

• Hardware designed to facilitate the implementation of those systems

Page 7: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

7

Expert System Main Components

• Knowledge base – obtainable from books, magazines, knowledgeable persons, etc.

• Inference engine – draws conclusions from the knowledge base

Page 8: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

8

Figure 1.2 Basic Functions of Expert Systems

Page 9: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

9

Problem Domain vs. Knowledge Domain

• An expert’s knowledge is specific to one problem domain – medicine, finance, science, engineering, etc.

• The expert’s knowledge about solving specific problems is called the knowledge domain.

• The problem domain is always a superset of the knowledge domain.

Page 10: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

10

Figure 1.3 Problem and Knowledge Domain Relationship

Page 11: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

11

Advantages of Expert Systems

• Increased availability

• Reduced cost

• Reduced danger

• Performance

• Multiple expertise

• Increased reliability

Page 12: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

12

Advantages Continued

• Explanation

• Fast response

• Steady, unemotional, and complete responses at all times

• Intelligent tutor

• Intelligent database

Page 13: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

13

Representing the Knowledge

The knowledge of an expert system can be represented in a number of ways, including IF-THEN rules:

IF you are hungry THEN eat

Page 14: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

14

Knowledge Engineering

The process of building an expert system:

1. The knowledge engineer establishes a dialog with the human expert to elicit knowledge.

2. The knowledge engineer codes the knowledge explicitly in the knowledge base.

3. The expert evaluates the expert system and gives a critique to the knowledge engineer.

Page 15: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

15

Development of an Expert System

Page 16: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

The development of ES technology• The roots of ES lie in many disciplines. In

particular one of the major roots of ES is the area of human information processing called Cognitive science

• Cognition is the study of how humans process information. In other words cognition is the study of how people think especially when solving problems.

• The study of cognition is very important if we want to make computers emulate human experts.

Page 17: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

• One of the most significant results demonstrated by Newell and simon was that much of human problem solving or cognition could be expressed by IF........THEN type production rules.

• eg.IF it looks like its going to rain THEN carry an umbrella

• A rule corresponds to a small, modular collection of knowledge called a chunk.

• One theory is that all human memory is organized in chunks.

• An example of a rule representing a chunk of knowledge is

• IF the car doesn't run and the fuel gauage reads empty THEN fill the gas tank.

Page 18: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

• The basic idea is that sensory input provides stimuli to the brain. The stimuli triggers the appropriate rule which produces the appropriate response.

• The other element necessary for human problem solving is cognitive processor. The cognitive processor tries to find the rules that will be activated by the appropriate stimuli.

• for eg. you wouldn't want to fill your gas tank every time you heard a siren. only a rule that matched the stimuli would be activated. The inference engine of modern expert systems corresponds to the cognitive processor.

Page 19: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

Application Domains of ES• ES are designed for symbolic reasoning while

conventional programming languages are for problems which have algorithmic solutions and the problems are numeric calculations.

• Languages such as LISP and prologe are designed for symbolic manipulation and they are more general purpose than other ES language shells

• It does not mean that it is not possible to build ES using this languages

19

Page 20: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

20

Table 1.3 Broad Classes of Expert Systems

Page 21: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

21

Early Expert Systems

• DENDRAL – used in chemical mass spectroscopy to identify chemical constituents

*interprets molecular structure(chemistry expert system)

• MYCIN – Diagnose/remedy bacterial infection(Medical expert system)

• DIPMETER – geological data analysis for oil(Geology Expert System)

• PROSPECTOR – geological data analysis for minerals(Geology Expert System)

• XCON/R1 – configuring computer systems

Page 22: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

22

Considerations for Building Expert Systems

• Can the problem be solved effectively by conventional programming?

if the answer is yes the ES is not the best choice.ES are best suited for problems which there is no efficient algorithm for the solution and reasoning is needed for the solution

• Is there a need and a desire for an expert system?

• Is there at least one human expert who is willing to cooperate?

• Can the expert explain the knowledge to the knowledge engineer can understand it. Even if the expert is willing to cooperate there may be difficulty in expressing in explicit terms. It may a year or longer for the knowledge engineer to even understand what the expert is talking about , let alone translating the knowledge into explicit computer code.

• Is the problem-solving knowledge mainly heuristic and uncertain?

In other words is the knowledge based on experience and the expert system may have to try various approaches in case one doesn’t work(trial and error) than one based on logic and algorithm. If the problem can simply solved by logic and alg. conventional programming

Page 23: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

23

Uncertainty

• Both human experts and expert systems must be able to deal with uncertainty.

• It is easier to program expert systems with shallow knowledge than with deep knowledge.

• Shallow knowledge – based on empirical and heuristic knowledge.

• Deep knowledge – based on basic structure, function, and behavior of objects.

Page 24: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

24

Limitations of Expert Systems

• Typical expert systems cannot generalize through analogy to reason about new situations in the way people can.

• A knowledge acquisition bottleneck results from the time-consuming and labor intensive task of building an expert system.

Page 25: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

25

Problems with Algorithmic Solutions

• Conventional computer programs generally solve problems having algorithmic solutions.

• Algorithmic languages include C, Java, and C#.

• Classical AI languages include LISP and PROLOG.

Page 26: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

26

Languages, Shells, and Tools

• Expert system languages are post-third generation.

• Procedural languages (e.g., C) focus on techniques to represent data.

• More modern languages (e.g., Java) focus on data abstraction.

• Expert system languages (e.g. CLIPS) focus on ways to represent knowledge.

Page 27: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

27

Expert systems Vs conventional programs I

Page 28: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

28

Expert systems Vs conventional programs II

Page 29: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

29

Expert systems Vs conventional programs III

Page 30: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

30

Elements of an Expert System• User interface – mechanism by which user and system

communicate.

• Explanation facility – explains reasoning of expert system to user.

• Working memory – global database of facts used by rules.

• Inference engine – makes inferences deciding which rules are satisfied and prioritizes the satisfied rules. and executes the rules with the highest priority

Page 31: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

31

Elements Continued

• Agenda – a prioritized list of rules created by the inference engine, whose patterns are satisfied by facts or objects in working memory.

• Knowledge acquisition facility – automatic way for the user to enter knowledge in the system instead of the explicit coding by knowledge engineer.

• Knowledge Base – includes the rules of the expert system

Page 32: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

32

Figure 1.6 Structure of a Rule-Based Expert System

Page 33: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

33

Production Rules

• Knowledge base is also called production memory.

• Production rules can be expressed in IF-THEN pseudocode format.

• In rule-based systems, the inference engine determines which rule antecedents are satisfied by the facts.

Page 34: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

34

Page 35: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

35

Page 36: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

36

Page 37: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

37

Page 38: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

38

Page 39: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

39

Page 40: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

40

Rule-Based ES

Page 41: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

41

Example Rules

Page 42: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

42

Inference Engine Cycle

Page 43: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

43

Foundation of Expert Systems

Page 44: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

44

Procedural Paradigms

• Algorithm – method of solving a problem in a finite number of steps.

• Procedural programs are also called sequential programs.

• The programmer specifies exactly how a problem solution must be coded.

Page 45: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

45

Figure 1.8 Procedural Languages

Page 46: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

46

Imperative Programming

• Also known as statement-oriented

• During execution, program makes transition from the initial state to the final state by passing through series of intermediate states.

• Provide rigid control and top-down-design.

• Not efficient for directly implementing expert systems.

Page 47: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

47

Functional Programming

• Function-based (association, domain, co-domain); f: S T

• Not much control• Bottom-up combine simple functions to yield

more powerful functions.• Mathematically a function is an association or

rule that maps members of one set, the domain, into another set, the codomain.

• e.g. LISP and Prolog

Page 48: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

48

Nonprocedural Paradigms

• Do not depend on the programmer giving exact details how the program is to be solved.

• Declarative programming – goal is separated from the method to achieve it.

• Object-oriented programming – partly imperative and partly declarative – uses objects and methods that act on those objects.

• Inheritance – (OOP) subclasses derived from parent classes.

Page 49: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

49

Figure 1.9 Nonprocedural Languages

Page 50: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

50

What are Expert Systems?

Can be considered declarative languages:

• Programmer does not specify how to achieve a goal at the algorithm level.

• Induction-based programming – the program learns by generalizing from a sample.

Page 51: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

51

Summary

• During the 20th Century various definitions of AI were proposed.

• In the 1960s, a special type of AI called expert systems dealt with complex problems in a narrow domain, e.g., medical disease diagnosis.

• Today, expert systems are used in a variety of fields.

• Expert systems solve problems for which there are no known algorithms.

Page 52: Chapter 1: Introduction to Expert Systems. 2 Objectives Learn the meaning of an expert system Understand the problem domain and knowledge domain Learn.

52

Summary Continued

• Expert systems are knowledge-based – effective for solving real-world problems.

• Expert systems are not suited for all applications.• Future advances in expert systems will hinge on

the new quantum computers and those with massive computational abilities in conjunction with computers on the Internet.