introduction to expert systems kostas kontogiannis

25
Introduction to Expert Systems Kostas Kontogiannis

Upload: hilda-polly-kelley

Post on 04-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Expert Systems Kostas Kontogiannis

Introduction to Expert Systems

Kostas Kontogiannis

Page 2: Introduction to Expert Systems Kostas Kontogiannis

Other Resources

• http://www.cee.hw.ac.uk/~alison/ai3notes/chapter2_5.html

• Handout at ECE Office

Page 3: Introduction to Expert Systems Kostas Kontogiannis

What is an Expert System

• An Expert System is a computer program that simulates human intelligence and behavior in specific and limited domains

• It is composed of three major modules:

– A Knowledge Base

– An Inference Engine

– A User Interface

Page 4: Introduction to Expert Systems Kostas Kontogiannis

Expert Systems are Good For

• Limited domains where expert knowledge is available

• Providing expert opinion in remote sites• Enhance the performance of tasks by applying

heuristic expert knowledge• Planning, Troubleshooting, Robotic manipulation,

Exploration, Process Control

Page 5: Introduction to Expert Systems Kostas Kontogiannis

Expert Systems Are Not Good For

• Representing temporal knowledge• Representing spatial knowledge• Performing commonsense reasoning• Recognizing the limits of their ability• Handling inconsistent knowledge

Page 6: Introduction to Expert Systems Kostas Kontogiannis

Conventional vs. Symbolic Programming

• Representations and use of data vs. Representations and use of knowledge

• Algorithmic processing vs. Heuristic processing

• Repetitive vs. Inferential process

• Effective manipulation of large data bases vs. Effective manipulation of large knowledge bases

Page 7: Introduction to Expert Systems Kostas Kontogiannis

Overall Architecture

Inference Engine

KnowledgeBase

Interface

Working Memory

Page 8: Introduction to Expert Systems Kostas Kontogiannis

Terminology• Knowledge Engineering: The discipline of acquiring, encoding and

using human domain knowledge to develop a computer application• Expert System: A computer program that uses domain knowledge to

perform a specific task usually human experts perform• Knowledge Base: A set of rules and facts describing the domain of

an application• Inference Engine: A program that imposes a general control strategy

on how the system is working• Working Memory: A set of facts describing a particular consultation• Interface: A program that links the user with the Expert System

Page 9: Introduction to Expert Systems Kostas Kontogiannis

Knowledge Base

• Models domain knowledge usually in the form of rules, frames, or semantic nets

• Probabilistic models and fuzzy models can be used to model uncertainty

• A typical Expert System has several hundred rules

• A Knowledge base can become very complex and its has to be consistent at all times

• Knowledge acquisition tools can be used to build and maintain a Knowledge Base

Page 10: Introduction to Expert Systems Kostas Kontogiannis

Rules

IF the infection is pimary-bacteremia

AND the site of the culture is one of the sterile sites

AND the suspected portal of entry is the gastrointestinal tract

THEN there is suggestive evidence (0.7) that infection is bacteroid.

Page 11: Introduction to Expert Systems Kostas Kontogiannis

Semantic Networks

Ship

OceanLiner

Oil Tanker

Engine Hull

BoilerLiverpoolSwimming

PoolQueenMary

isa has-part

has-partisa

has-part isa isa has-part

Page 12: Introduction to Expert Systems Kostas Kontogiannis

Frames

Author: John Allen (default)

Topic: Due Date:Length: 2 pages (default)

Progress Report

Author: Mary Smith Topic: Biological Classification Project Due Date: Sept. 30, 2000Length:40 pages

isa

If-added

If-removed

If-needed

Page 13: Introduction to Expert Systems Kostas Kontogiannis

Inference Engine• Considering that the Knowledge Base encodes domain knowledge and

expertise in terms of rules and facts there are three variations for the inference engine:

– Forward Chaining or Data Driven (essentially Modus Ponens)– Backward Chaining or Hypothesis Driven– Mixed (i.e. Forward and Backward Chaining combined)

• Most Expert Systems assume that the Inference Engine strategy is monotonic

• Several Expert Systems allow for reasoning under uncertainty– Probabilistic (MYCIN, Bayes, Demster-Shafer)– Fuzzy– Non-monotonic (Truth Maintenance Systems)

Page 14: Introduction to Expert Systems Kostas Kontogiannis

Inference and Logic

• Modus Ponens:

A1, A2, A1 & A2 => B

B

• Modus Tolens:

not A2, A1 => A2

not A1

Page 15: Introduction to Expert Systems Kostas Kontogiannis

Issues on Building Expert Systems

• Lack of Resources – Personnel

– Expert System tools

• Inherent limitations of Expert System tools– Performing knowledge acquisition

– Refining Knowledge Bases

– Handling mixed representation schemes

• Expert Systems take long time to build

Page 16: Introduction to Expert Systems Kostas Kontogiannis

Pitfalls in Choosing Problems

• Difficult problem chosen and inadequate resources available

• The problem the Expert System is about to solve does not warrant the development effort

• The problem the Expert System addresses is very general or complex

Page 17: Introduction to Expert Systems Kostas Kontogiannis

Pitfalls on Resource Planning and Choosing Tools

• Adding personnel in order to speed up development time

• Management perceives that Expert Systems are “just another computer program”

• Difficult to model the domain using the chosen tool

• Knowledge engineer picks a tool that he/she is familiar without considering the problem specifics

• Decision to built the system using a conventional programming language

• The shell or tool that is used to build the system is not reliable

Page 18: Introduction to Expert Systems Kostas Kontogiannis

Pitfalls Dealing with Expert

• Interactions with expert are laborious with small payoff

• The expert can not find enough time for the interviews

• The experts can not understand the rules and the models used

• The rules provided by the expert are simplistic

• The expert is not excited about helping develop the system

• The expert is not familiar with computers and doubts that a computer program can address the problem

• So many experts involved, the Knowledge Engineer has difficulty modeling the domain

Page 19: Introduction to Expert Systems Kostas Kontogiannis

Pitfalls in the Development Process

• The expert knowledge and the inference strategy are not distinct

• After initial development the Knowledge Engineer finds that important parts of the domain are not addressed

• The system has been built using a shell that does not provide explanation facilities

• The system contains a very large number of specialized rules and its time related performance is poor

• The system during testing is found to be of low quality• The users do not understand error messages and can not edit

the rule base• Addition of new rules produces more errors that it fixes

Page 20: Introduction to Expert Systems Kostas Kontogiannis

Uncertainty and Evidential Support• In its simplest case, a Knowledge Base contains rules of the form :

A & B & C => D

where facts A, B, C are considered to be True (that is these facts hold with probability 1), and D is asserted in the Knowledge Base as being True (also with probability 1)

• However for realistic cases, domain knowledge has to be modeled in way that accommodates uncertainty. In other words we would like to encode domain knowledge using rules of the form:

A & B & C => D (CF:x1)

where A, B, C are not necessarily certain (i.e. CF = 1)

Page 21: Introduction to Expert Systems Kostas Kontogiannis

Issues in Rule-Based Reasoning Under Uncertainty

• Many rules support the same conclusion with various degrees of Certainty

A1 & A2 & A3 => H (CF=0.5)

B1 & B2 & B3 => H (CF=0.6)

(If we assume all A1, A2, A3, B1, B3, B3 hold then H is supported with CF(H) = CFcombine(0.5, 0.6))

• The premises of a rule to be applied do not hold with absolute certainty (CF, or probability associated with a premise not equal to 1)

Rule: A1 => H (CF=0.5)

However if during a consultation, A1 holds with CF(A1) = 0.3 the H holds with CF(H) = 0.5*0.3 = 0.15

Page 22: Introduction to Expert Systems Kostas Kontogiannis

The Certainty Factor Model

• The potential for a single piece of negative evidence should not overwhelm several pieces of positive evidence and vice versa

• the computational expense of storing MB’s and MD’s should be avoided and instead maintain a cumulative CF value

• Simple model:

CF = MB - MD

CFcombine = X + Y*(1-X)

• The problem is that a single negative evidence overwhelms several pieces of positive evidence

Page 23: Introduction to Expert Systems Kostas Kontogiannis

The Revised CF Model

MB - MD

1 - min(MB, MD)CF =

{X + Y(1 - X) X, Y > 0

X + Y

1 - min(|X|, |Y|)

One of X, Y < 0

- CFcombine(-X, -Y) X, Y < 0

CFcombine(X,Y) =

Page 24: Introduction to Expert Systems Kostas Kontogiannis

Additional Use of CFs

• Provide methods for search termination

A B C D E

• In the case of branching in the inference sequencing paths should be kept distinct

0.8 0.4 0.7 0.7

R1 R2 R3 R4

Page 25: Introduction to Expert Systems Kostas Kontogiannis

Cutoff in Complex Inferences

A B C

D E

0.8 0.4 F0.9

R30.7 0.7

R4

R5

R1 R2

We should maintain to paths for cutoff (0.2), one being (E, D, C, B, A) and the other (F, C, B, A). If we had one paththen E, D, C would drop to 0.19 and make C unusable later in path F, C, B, A.