knowledge based expert system

44
Chapter 1: Introduction to Expert Systems KNOWLEDGE BASED EXPERT SYSTEM 1 06/15/22

Upload: vssaini

Post on 22-Dec-2015

28 views

Category:

Documents


10 download

DESCRIPTION

Learn the meaning of an expert systemUnderstand the problem domain and knowledge domainLearn the advantages of an expert systemUnderstand the stages in the development of an expert systemExamine the general characteristics of an expert systemExamine earlier expert systems which have given rise to today’s knowledge-based systemsExplore the applications of expert systems in use todayExamine the structure of a rule-based expert systemLearn the difference between procedural and nonprocedural paradigmsWhat are the characteristics of artificial neural systems

TRANSCRIPT

Page 1: Knowledge based Expert system

Chapter 1:

Introduction to Expert Systems

KNOWLEDGE BASED EXPERT SYSTEM

104/18/23

Page 2: Knowledge based Expert system

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

04/18/23

Page 3: Knowledge based Expert system

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

04/18/23

Page 4: Knowledge based Expert system

4

Artificial Intelligence

• AI = “Making computers think like people.”

04/18/23

Page 5: Knowledge based Expert system

5

Areas of Artificial Intelligence

04/18/23

Page 6: Knowledge based Expert system

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

04/18/23

Page 7: Knowledge based Expert system

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.

04/18/23

Page 8: Knowledge based Expert system

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)

04/18/23

Page 9: Knowledge based Expert system

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.

04/18/23

Page 10: Knowledge based Expert system

10

Basic Functions of Expert Systems

04/18/23

Page 11: Knowledge based Expert system

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.04/18/23

Page 12: Knowledge based Expert system

12

Problem Domain vs. Knowledge Domain

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

04/18/23

Page 13: Knowledge based Expert system

13

Problem and Knowledge Domain Relationship

04/18/23

Page 14: Knowledge based Expert system

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

04/18/23

Page 15: Knowledge based Expert system

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

04/18/23

Page 16: Knowledge based Expert system

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

04/18/23

Page 17: Knowledge based Expert system

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.

04/18/23

Page 18: Knowledge based Expert system

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.

04/18/23

Page 19: Knowledge based Expert system

19

Development of an Expert System

04/18/23

Page 20: Knowledge based Expert system

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

04/18/23

Page 21: Knowledge based Expert system

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.

04/18/23

Page 22: Knowledge based Expert system

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.

04/18/23

Page 23: Knowledge based Expert system

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

04/18/23

Page 24: Knowledge based Expert system

24

Broad Classes of Expert Systems

04/18/23

Page 25: Knowledge based Expert system

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.

04/18/23

Page 26: Knowledge based Expert system

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?

04/18/23

Page 27: Knowledge based Expert system

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)

04/18/23

Page 28: Knowledge based Expert system

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.

04/18/23

Page 29: Knowledge based Expert system

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.

04/18/23

Page 30: Knowledge based Expert system

30

Structure of a Rule-Based Expert System

04/18/23

Page 31: Knowledge based Expert system

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.

04/18/23

Page 32: Knowledge based Expert system

32

Inference engine operates on recognize-act cycle

While not done

conflict resolution:

act:

match:

check for halt:

End-while

04/18/23

Page 33: Knowledge based Expert system

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.

04/18/23

Page 34: Knowledge based Expert system

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.

04/18/23

Page 35: Knowledge based Expert system

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.

04/18/23

Page 36: Knowledge based Expert system

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.

04/18/23

Page 37: Knowledge based Expert system

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.

04/18/23

Page 38: Knowledge based Expert system

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.

04/18/23

Page 39: Knowledge based Expert system

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.

04/18/23

Page 40: Knowledge based Expert system

40

Procedural Languages

04/18/23

Page 41: Knowledge based Expert system

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.

04/18/23

Page 42: Knowledge based Expert system

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.

04/18/23

Page 43: Knowledge based Expert system

43

Nonprocedural Languages

04/18/23

Page 44: Knowledge based Expert system

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.

04/18/23