0% found this document useful (0 votes)
88 views49 pages

Introduction To Expert Systems

This document introduces expert systems by defining what they are, their main components, and how they work. It discusses the problem domain vs knowledge domain, advantages of expert systems, and how knowledge is represented. It also examines early expert systems, the role of artificial intelligence, limitations, and elements of an expert system like the knowledge base, inference engine, rules, and inference cycles. Finally, it covers different inferencing methods, production systems, and algorithms like Markov and Rete used in expert systems.

Uploaded by

Shashank Rohit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views49 pages

Introduction To Expert Systems

This document introduces expert systems by defining what they are, their main components, and how they work. It discusses the problem domain vs knowledge domain, advantages of expert systems, and how knowledge is represented. It also examines early expert systems, the role of artificial intelligence, limitations, and elements of an expert system like the knowledge base, inference engine, rules, and inference cycles. Finally, it covers different inferencing methods, production systems, and algorithms like Markov and Rete used in expert systems.

Uploaded by

Shashank Rohit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 49

Introduction to

Expert Systems
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

2
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

3
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

4
Fig 1.1 Areas of Artificial
Intelligence

5
Expert system technology
may include:
• Special expert system languages – CLIPS

• Programs

• Hardware designed to facilitate the


implementation of those systems

6
Expert System Main Components

• Knowledge base – obtainable from books,


magazines, knowledgeable persons, etc.

• Inference engine – draws conclusions from the


knowledge base

7
Figure 1.2 Basic Functions
of Expert Systems

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

9
Figure 1.3 Problem and
Knowledge Domain Relationship

10
Advantages of Expert Systems

• Increased availability
• Reduced cost
• Reduced danger
• Performance
• Multiple expertise
• Increased reliability

11
Advantages Continued

• Explanation

• Fast response

• Steady, unemotional, and complete responses at


all times

• Intelligent tutor

• Intelligent database

12
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

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

14
Development of an Expert System

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

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

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

18
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

19
Table 1.3 Broad Classes
of Expert Systems

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

21
Considerations for Building
Expert Systems
• Can the problem be solved effectively by
conventional programming?
• 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.
• Is the problem-solving knowledge mainly
heuristic and uncertain?

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

23
Expert systems Vs
conventional programs I

24
Expert systems Vs
conventional programs II

25
Expert systems Vs
conventional programs III

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

27
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.
• Knowledge Base – includes the rules of the
expert system

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

29
Figure 1.6 Structure of a
Rule-Based Expert System

30
Rule-Based ES

31
Example Rules

32
Inference Engine Cycle

33
Foundation of Expert Systems

34
General Methods of Inferencing

• Forward chaining (data-driven)– reasoning from


facts to the conclusions resulting from those facts
– best for prognosis, monitoring, and control.
– Examples: CLIPS, OPS5
• Backward chaining (query/Goal driven)–
reasoning in reverse from a hypothesis, a
potential conclusion to be proved to the facts that
support the hypothesis – best for diagnosis
problems.
– Examples: MYCIN

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.

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.
• these rules are also known as rewrite rules
• simple syntactic string manipulation
• no understanding or interpretation is required\also used to
define grammars of languages
– e.g BNF grammars of programming languages.

• Basic limitation – lack of control mechanism to


guide the application of the rules.
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.
• inefficient algorithm for systems with many
rules.
• Termination on (1) last production not applicable
to a string, or (2) production ending with period
applied
• Can be applied to substrings, beginning at left
38
Markov Algorithm

39
Rete Algorithm
• Markov: too inefficient to be used with many rules
• 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.
• Looks only for changes in matches (ignores static data)
• Drawback is high memory space requirements.

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

41
Figure 1.8 Procedural
Languages

42
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.
43
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

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

45
Figure 1.9 Nonprocedural
Languages

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

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

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

49

You might also like