44
Chapter 1: Introduction to Expert Systems Expert Systems: Principles and Programming, Fourth Edition

Expert system 21 sldes

Embed Size (px)

Citation preview

Page 1: Expert system 21 sldes

Chapter 1:

Introduction to Expert Systems

Expert Systems: Principles and Programming, Fourth Edition

Page 2: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 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: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 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

• What are the characteristics of artificial neural systems

Page 4: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 4

Artificial Intelligence

• AI = “Making computers think like people.”

Page 5: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 5

Areas of Artificial Intelligence

Page 6: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 6

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

• Expert Systems = knowledge-based systems = knowledge-based expert systems

Page 7: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 7

What is an expert system?

• Emulation (mimics cause/process) is stronger than simulation (mimics outward appearance) which is required to act like the real thing in only some aspects.

• The basic idea is that if a human expert can specify the steps of reasoning by which a problem may be solved, so too can an expert system.

• Restricted domain expert systems (extensive use of specialized knowledge at the level of human expert) function well which is not the case of general-purpose problem solver.

Page 8: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 8

Expert system technology may include:

• Special expert system languages – CLIPS

• Programs

• Hardware designed to facilitate the implementation of those systems (e.g., in medicine)

Page 9: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 9

Expert System Main Components

• Knowledge base – obtainable from books, magazines, knowledgeable persons, etc; or expertise knowledge.

• Inference engine – draws conclusions from the knowledge base.

Page 10: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 10

Basic Functions of Expert Systems

Page 11: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 11

Problem Domain vs. Knowledge Domain

• In general, the first step in solving any problem is defining the problem area or domain to be solved.

• 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.

• Expert system reasons from knowledge domain.

Page 12: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 12

Problem Domain vs. Knowledge Domain

• Example: infections diseases diagnostic system does not have (or require) knowledge about other branches such as surgery.

Page 13: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 13

Problem and Knowledge Domain Relationship

Page 14: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 14

Advantages of Expert Systems

• Increased availability: on suitable computer hardware

• Reduced cost

• Reduced danger: can be used in hazardous environment.

• Permanence: last for ever, unlike human who may die, retire, quit.

• Multiple expertise: several experts’ knowledge leads to• Increased reliability

Page 15: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 15

Advantages Continued

• Explanation: explain in detail how arrived at conclusions.

• Fast response: (e.g. emergency situations).

• Steady, unemotional, and complete responses at all times: unlike human who may be inefficient because of stress or fatigue.

• Intelligent tutor: provides direct instructions (student may run sample programs and explaining the system’s reasoning).

• Intelligent database: access a database intelligently (e.g. data mining).

Page 16: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 16

Representing the Knowledge

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

IF the light is red THEN stop

Page 17: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 17

Representing the Knowledge Car Failure Diagnosis

IF the selection is 2 "Run-Stable State"AND the fuel is not burning wellAND the engine running cycle is okAND there is no blue gasAND the advance is bad

THENThere is a Dirt in the injections/carburetoror The adjustment of ear and gasoline is not good, clear injections/carburetor and adjust the ear.

Page 18: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 18

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 19: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 19

Development of an Expert System

Page 20: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 20

The Role of AI

• An algorithm is an ideal solution guaranteed to yield a solution in a finite amount of time.

• When an algorithm is not available or is insufficient, we rely on artificial intelligence (AI).

• Expert system relies on inference – we accept a “reasonable solution.”

Page 21: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 21

Limitations of Expert Systems

• Uncertainty = having limited knowledge (more than possible outcomes)

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

• Limitation 1: most expert systems deals 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 22: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 22

Limitations of Expert Systems

• Limitation 2: typical expert systems cannot generalize through analogy to reason about new situations in the way people can.

• Solution 1 for limitation 2: repeating the cycle of interviewing the expert.

• Limitation raised form Solution 1: A knowledge acquisition bottleneck results from the time-consuming and labor intensive task of building an expert system.

Page 23: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 23

Early Expert Systems

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

• MYCIN – medical diagnosis of illness

• DIPMETER – geological data analysis for oil• PROSPECTOR – geological data analysis for

minerals• XCON/R1 – configuring computer systems

Page 24: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 24

Broad Classes of Expert Systems

Page 25: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 25

Problems with Algorithmic Solutions

• Conventional computer programs generally solve problems having algorithmic solutions.

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

• Classic AI languages include LISP and PROLOG.

Page 26: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 26

Considerations for Building Expert Systems

• Can the problem be solved effectively by conventional programming? (expert systems are suited for ill-structured problems- problems with no efficient algorithmic 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 in a way that can understand it.• Is the problem-solving knowledge mainly heuristic

and uncertain?

Page 27: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 27

Languages, Shells, and Tools

• Expert system languages are post-third generation.• Expert system languages (e.g. CLIPS) focus on

ways to represent knowledge.

• Tool = language + utility program (code generator, graphics editor, debuggers, etc.).

• Shell: is a special purpose tool designed for certain types of applications in which the user must supply the knowledge base. Example, EMYCIN (empty MYCIN)

Page 28: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 28

Elements of an Expert System

• User interface – mechanism by which user and system communicate.

• Exploration 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 prioritizing.

Page 29: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 29

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 bypassing the explicit coding by knowledge engineer.

Page 30: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 30

Structure of a Rule-Based Expert System

Page 31: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 31

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 32: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 32

Inference engine operates on recognize-act cycle

While not done

conflict resolution:

act:

match:

check for halt:

End-while

Page 33: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 33

Inference engine operates on recognize-act cycle

- conflict resolution: if there are activations then select the one with the highest priority. Else done.

- act: sequentially perform the actions. Update the working memory. Remove the fired activations.

- match: Update the agenda by checking if there are activation or remove activations if there LHS is no longer satisfied.

- check for halt: if an halt action is performed or break command given, then done.

Page 34: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 34

General Methods of Inferencing

• Forward chaining – reasoning from facts to the conclusions resulting from those facts – best for prognosis, monitoring, and control.

• Backward chaining – reasoning in reverse from a hypothesis, a potential conclusion to be proved to the facts that support the hypothesis – best for diagnosis problems.

Page 35: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 35

Production Systems

• Rule-based expert systems – most popular type today.

• Knowledge is represented as multiple rules that specify what should/not be concluded from different situations.

• Forward chaining – start w/facts and use rules do draw conclusions/take actions.

• Backward chaining – start w/hypothesis and look for rules that allow hypothesis to be proven true.

Page 36: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 36

Post Production System

• Basic idea – any mathematical / logical system is simply a set of rules specifying how to change one string of symbols into another string of symbols.

• Basic limitation – lack of control mechanism to guide the application of the rules.

Page 37: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 37

Markov Algorithm

• An ordered group of productions applied in order or priority to an input string.

• If the highest priority rule is not applicable, we apply the next, and so on.

• An inefficient algorithm for systems with many rules.

Page 38: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 38

Rete Algorithm

• Functions like a net – holding a lot of information.

• Much faster response times and rule firings can occur compared to a large group of IF-THEN rules which would have to be checked one-by-one in conventional program.

• Takes advantage of temporal redundancy and structural similarity.

• Drawback is high memory space requirements.

Page 39: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 39

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 40: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 40

Procedural Languages

Page 41: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 41

Imperative Programming

• Focuses on the concept of modifiable store – variables and assignments.

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

• Provide for top-down-design.• Not efficient for directly implementing expert

systems.

Page 42: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 42

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 43: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 43

Nonprocedural Languages

Page 44: Expert system 21 sldes

Expert Systems: Principles and Programming, Fourth Edition 44

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.