You are on page 1of 20

CS62S: Expert Systems

Based on:
The Engineering of Knowledge-based
Systems: Theory and Practice
A. J. Gonzalez and D. D. Dankel

Introduction to Knowledge-based
Systems

General problem solving knowledge


Intelligent program

Inference engine
Knowledge base
Data / Fact base

Separation of knowledge from its use


For a new problem domain change
knowledge base

Knowledge Representation

Logic
Rules
Associative (semantic) networks
Frames
Objects

Traditional Computer Programming

Structured sequence of steps

Algorithm

Finite amount of time

Search alternative to algorithmic


solution

Path connecting problem to the


solution
Problem space

Procedurally defined
Network
Tree

Solution space (problem space examined)

Search Methods

Random

Blind

Directed

Search Types

Depth-first
Breath-first
Beam
Hill-climbing
Branch and bound
Best-first
A* (best-first and branch and bound)

Heuristics vs. algorithm

Specific knowledge
Rule of thumb
Prior knowledge
Expertise
Timely solution
Estimation

Gonzalez and Dankel describes


knowledge-based systems as:

A computerized system that uses


knowledge about some domain to
arrive at a solution to a problem from
that domain. This solution is
essentially the same as that
concluded by a person knowledgeable
about the domain of the problem
when confronted with the same
problem

Expert systems

Separation of knowledge from how


it is used
Use of highly specific domain
knowledge
Heuristic rather than algorithms

MYCIN
Used to diagnose blood disorder
Incorporates all three elements

Types of expertise

Associational

The internal workings of a system


are not understood. The behaviour
is used to solve problems

Motor skills expertise

Practice makes perfect (sports,


physical tasks, etc)

Theoretical expertise

The internal workings of a device or


system are well understood. The
expert can solve problems never
seen before.

Advantages of Expert Systems

Wide distribution of scarce expertise


Ease of modification
Consistency of answers
Perpetual accessibility
Preservation of expertise
Solution of Problem involving
incomplete data
Explanation of solution

Disadvantages

Answers may not always be correct


Knowledge limited to the domain
of expertise
Lack of common sense

Expert systems architecture

User

Knowledge engineer

Tool builder