210 likes | 418 Views
Expert Systems and Artificial Intelligence. Gerard Tel. 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.
E N D
Expert Systems and Artificial Intelligence Gerard Tel
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 World War II as the AI Big Bang Expert Systems 1
Music classification by Compression • Music interpretation problem:Assign unknown symphony tocomposer. • 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
Isosceles triangles are equiangular:if AT = BT then <(A) = <(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=wuthen Δ(xyz) = Δ(uvw). 20-30 axioms, theorems, and steps. Mathematics: Triangle Theorem T B A Expert Systems 1
Given AT = BT, Prove that <(A) = <(B). Proof (Euclid): Take M to bisect AB. AT = BT (Given) TM = TM (Trivial) MA = MB (From 1) Δ(MAT) = Δ(MBT) (SSS) <(A) = <(B) (congruence) Found in all textbooks for 2500 years since Euclid. The Human Proof T B M A Expert Systems 1
Clever trick: Use possibility of a non-trivial self-congruence. Given AT = BT, Prove that <(A) = <(B). Proof: AT = BT (Given) TB = TA (Given) BA = AB (Trivial) Δ(BAT) = Δ(ABT) (SSS) <(A) = <(B) (congruence) The Computer Proof T B A Expert Systems 1
Start state QED The search for a proof: State Space Exploration General Problem Solver • Model problem:states and transitions. • Search in induced graph. • Search Strategies: • Depth-First • Breadth-First • Best-First • Heuristic Expert Systems 1
Why couldn’t a human find the short proof? Tendency to overlook simple and special cases Why couldn’t the computer find the long proof? It it too complicated!! Combinatorial ExplosionBranching 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 Where Computers and Humans differ Expert Systems 1
What does it mean to understand? • Jackson: The Romantic period in Artificial IntelligenceOverdragen: Chinese Room argument • Understanding is INTENTIONAL:Computers and Humans work IN THE SAME WAYArgument: make the same mistakes, etc • Understanding is BEHAVIORAL:Computers and Humans produce the same resultsTuring test • Why is it difficult tomimic human behaviorin a computer? Expert Systems 1
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 themNormative DescriptiveLimitive Definition of Expert System: Understanding in Expert Systems? An Expert System is a computer program that represents and reasons withknowledge 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
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 pairsxAy 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, … Understanding Geometry: Represent knowledge Expert Systems 1
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
Synonyms: Sam is the father of Bill Sam is Bill’s father Bill is Sam’s son 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 Uniform representation of facts Expert Systems 1
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: (deffactsthe-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
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
Characteristics of Expert Systems: Expert systems: Knowledge Based Systems • Separation of facts, knowledge, and inferenceknowledge is explicit, not hidden in algorithm • Simulates Human reasoningBuilt 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
Parties in XS world • Human ExpertCan solve problems; we desire to solve the problems without her. • Knowledge EngineerCan communicate with HE to obtain and model the knowledge that we need in the system • ProgrammerBuilds and maintains all the necessary computer programs • UserWants to use expertise to solve problems (better, cheaper) Expert Systems 1
Explanation facilities System makes explicit why the conclusion is reached • For User:increases confidenceincreases 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
Main challenges in Expert Systems field • Acquiring knowledgeExpert is unaware, uncommunicative, busy, unwilling • Representing knowledgeFacts, Relations, Conclusions, Meta-knowledge • Controlling reasoningSelection 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
The Expert Systems course • www.cs.uu.nl/docs/vakken/exp/ • Teacher: Gerard TelPracticals: 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