Expert Systems and Artificial Intelligence

advertisement
Expert Systems and Artificial Intelligence
Gerard Tel
World War II as the AI Big Bang
Development in 1940-45:
What to do after WWII?
Create Humanoid machines.
• AI is concerned with
programming computers to
perform tasks that are
presently better done by
humans. (Minsky)
• Games, Language, Vision,
Mathematics
Expert Systems 1
2
Music classification by Compression
• Music interpretation problem:
Assign unknown symphony to
composer.
• Human approach: extract style,
emotion, era…
• Compression by Lempel-Ziv
(as in ZIP):
After “training”, compactly code common patterns.
• Compress file B after training with A:
DAB = | Cp(AB) | - | Cp(A) |
Measure for similarity between A and B.
• From known musical scores Ai, select the one that
minimizes DAiB.
• Hmmm… Is this intelligent?
Outperforms the best human music experts!!
Expert Systems 1
3
Mathematics: Triangle Theorem
T
Isosceles triangles are equiangular:
if AT = BT then <(A) = <(B).
B
Reasoning steps of geometry:
• If Δ(xyz) = Δ(uvw)
then <(y) = <(v)
• Line bisection:
take m on xy st xm = my.
• Congruence rule SSS:
if xy=uv, yz=vw, zx=wu
then Δ(xyz) = Δ(uvw).
A
20-30 axioms, theorems, and steps.
Expert Systems 1
4
The Human Proof
Given AT = BT,
Prove that <(A) = <(B).
Proof (Euclid):
1. Take M to bisect AB.
2. AT = BT
3. TM = TM
4. MA = MB
5. Δ(MAT) = Δ(MBT)
6. <(A) = <(B)
T
B
(Given)
(Trivial)
(From 1)
(SSS)
(congruence)
M
A
Found in all textbooks for 2500 years
since Euclid.
Expert Systems 1
5
The Computer Proof
Clever trick: Use possibility of a nontrivial self-congruence.
T
Given AT = BT,
Prove that <(A) = <(B).
Proof:
1. AT = BT
2. TB = TA
3. BA = AB
4. Δ(BAT) = Δ(ABT)
5. <(A) = <(B)
B
(Given)
(Given)
(Trivial)
(SSS)
(congruence)
Expert Systems 1
A
6
The search for a proof: State Space Exploration
General Problem Solver
Start state
• Model problem:
states and transitions.
• Search in induced graph.
• Search Strategies:
• Depth-First
• Breadth-First
• Best-First
• Heuristic
QED
Expert Systems 1
7
Where Computers and Humans differ
Why couldn’t a human find
the short proof?
Why couldn’t the computer find
the long proof?
• Tendency to overlook
simple and special cases
• It it too complicated!!
• Combinatorial Explosion
Branching factor 13
5 steps: 402,234 nodes
9 steps: 11,488,207,654
• Exploring exponential spaces
is intractible.
• But humans dont work like
this… they understand math
Expert Systems 1
8
What does it mean to understand?
• Jackson: The Romantic period in Artificial Intelligence
Overdragen: Chinese Room argument
• Understanding is INTENTIONAL:
Computers and Humans work IN THE SAME WAY
Argument: make the same mistakes, etc
• Understanding is BEHAVIORAL:
Computers and Humans
produce the same results
Turing test
• Why is it difficult to
mimic human behavior
in a computer?
Expert Systems 1
9
Understanding in Expert Systems?
Understanding requires:
• Representation and
manipulation of
Domain Knowledge
• Perceive analogies
• Learn
Pragmatic view:
• Intentional intelligence
is not required
• Programs will work the
better if more human
domain knowledge is
encoded in them
Normative Descriptive
Limitive
Definition of Expert System:
An Expert System is a
computer program that
represents and reasons with
knowledge of some
specialist subject with a
view to solving problems or
giving advice
Expert Systems are a
subfield of Artificial
Intelligence.
Term:
Knowledge Based System
Expert Systems 1
10
Understanding Geometry: Represent knowledge
Mathematician solves proof:
• To conclude <(A) = <(B),
find Δ(xAy) and Δ(uBv);
prove congruence.
• To conclude <(A) = <(B),
construct <(C) = <(A);
prove <(C) = <(B).
• To prove congruence, use
SSS, ASA, SAS, …
• To construct …
• Triangle 1 is better than
triangle 2 because …
• I usually try SAS first
when…
Formalization of strategy:
• Consider triangle pairs
xAy and uBv
• Select a promising pair
• Select a promising rule R
• Prove antecedents of R
• Conclude congruence
• Conclude equality of
angles
Strategies can be
represented in STRIPS
Backtracking,
Ordering of alternatives,
Pruning,
Expert Systems 1
…
11
STRIPS Operator Tables
Robot moves object X from location Y to location Z:
Operator Table push(X, Y, Z)
• Pre:
at(robot, Y), at(X, Y)
• Post:
at(X, Z)
• Add list:
at(robot, Z), at(X, Z)
• Delete list:
at(robot, Y), at(X, Y)
STRIPS maintains a goal list.
Action:
• Pick goal G from goals
• Pick OT with G in Post
• Throw Pre of G in goals
Planning is at higher level than
individual actions.
Expert Systems 1
12
Uniform representation of facts
Synonyms:
1. Sam is the father of Bill
2. Sam is Bill’s father
3. Bill is Sam’s son
4. Sam is Bill’s mother’s
husband
Perceiving analogies
requires uniform
representation:
• sonOf(Sam, Bill)
SHRDLU World:
color(block1, red)
color(block2, green)
supports(table, block1)
supports(block1, block2)
Represent many facts with
simple fact structure
Expert Systems 1
13
Data representation: Relational Database
Define a relation in CLIPS
(deftemplate errand
(field name (type SYMBOL))
(field duration (type INTEGER) ) )
Relation errand with attributes name and duration.
Add tuples to relation errand:
(deffacts the-facts
(errand (name hospital) (duration 200) )
(errand (name doctor) (duration 100) ) )
CLIPS actions and rules as Database operations.
Update fact base when state is changed.
Expert Systems 1
14
Explicitation of Expert knowledge
Problem 1: What does it stand for in
• The ball hit the vase and it broke
• The vase hit the wall and it broke
Problem 2: Using hammer, string, and wrench, liberate
ball from tube in floor.
(Solution could never be found by computer!!)
Application of XS requires:
• restriction to a well-understood domain (ball?)
• someone who can perform the task
• knows how it is performed (it?)
• can explain how it is performed
• is willing to cooperate
Expert Systems 1
15
Characteristics of Expert Systems:
Expert systems: Knowledge Based Systems
• Separation of facts, knowledge, and inference
knowledge is explicit, not hidden in algorithm
• Simulates Human reasoning
Built from approach of Human Expert
• Uses approximate or heuristic search
Not the only approach to solving AI problems!
(Music classification, chess…)
Use: Legal, medical, scientific,
tech support, language, …
Expert Systems 1
16
Parties in XS world
• Human Expert
Can solve problems;
we desire to solve the problems without her.
• Knowledge Engineer
Can communicate with HE to obtain and
model the knowledge that we need in the system
• Programmer
Builds and maintains all the necessary computer
programs
• User
Wants to use expertise to solve problems
(better, cheaper)
Expert Systems 1
17
Explanation facilities
System makes explicit why the conclusion is reached
• For User:
increases confidence
increases transparance (legal domain!)
• For Human Expert/Knowledge Engineer:
see how knowledge is used, debug
• For Programmer:
Debug, Test, Improve
• For trainee:
have better understanding of expertise
Expert Systems 1
18
Main challenges in Expert Systems field
• Acquiring knowledge
Expert is unaware, uncommunicative, busy, unwilling
• Representing knowledge
Facts, Relations, Conclusions, Meta-knowledge
• Controlling reasoning
Selection between alternatives is guided by higher order
knowledge (meta rules)
• Explanation
• Sequence of reasoning steps?
• Interpretation at higher level
• Why were other steps NOT chosen?
• Quality evaluation; acceptance
Expert Systems 1
19
The Expert Systems course
• www.cs.uu.nl/docs/vakken/exp/
• Teacher: Gerard Tel
Practicals: Johan Kwisthout
• One or two papers per lecture
• Optional reading:
Peter Jackson, Introduction to Expert Systems
• Formal obligations: two exams,
two computer projects in teams of four.
MIN ≥ 4, WeightedAVG, 2nd chance.
• Prepare for working class:
read literature, try exercises (website)
• Prepare for tests:
Working class, previous tests (website)
Expert Systems 1
20
Download