CS 440 / ECE 448 Introduction to Artificial Intelligence Spring 2010 Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Artificial Intelligence (AI) Natural Language Reasoning Vision Knowledge Decision Making Learning Robotics AI Applications Econometrics Natural Languag Medicin Reasoning Databases Vision Networks Knowledge Decision Autonomous Making Vehicles Social Learning Science Robotics Electronic Commerce Today Artificial Intelligence Applications Artificial Intelligence Basics What you think you know Logic Probabilities AI Search What is Artificial Intelligence? Examples: Game playing? (chess) Robots? (Roomba) Learning? (Amazon) Autonomous space crafts? (NASA) What should AI have? Saw in Yonatan’s Presentation Robotics Vision A little bit of Natural-Language Processing Game Playing: Chess May 1997 2006: Anthony Cozzie’s (UIUC) ZAPPA wins World Computer-Chess Championship Decision Making: Scrabble Daily Illini Feb 2007: Winning computer program created by graduate student beats world champion Scrabble player (Graduate Student = Mark Richards) Collaborative Filtering Classification Planning Robotics 1971: Shakey Mobile Robots 2001 DARPA Grand Challenge 2003-2007 Econometrics Example: A Recession Model of a country What is probability of recession, when a bank(bm) goes into bankruptcy? Recession: Recession of a country in [0,1] Market[X]: Quarterly market (X) index Loss[X,Y]: Loss of a bank (Y) in a market (X) Social Networks Example: school friendships and their effects Friend(A,B) Attr(A) Measuremt(A) Friend(A,C) Attr(B) Measuremt(B) Friend(B,C) Attr(C) Measuremt(C) shorthand for Friend(., .), Atrr(.), and Measuremt(.) potential func-tions f bob f tom; f bo b; joe ; tom f joe; bob f bob f ann; bo b ; ann f bo f lia; b; lia bo b f ann; f lia; lia f bo ann f ann; f val; bob val b; val f val; bo b ann f lia; f val; val hbo bbo bjo bto ban bli bva b b e m n a l lia hval hjoe hlia htom f joe; f ann; ann f joe; tom f tom; joe f joe; joe lia f tom; f lia; lia tom f lia; f joe; joe val f tom; f val; val tom hann f val; joe f tom; f ann; ann tom Application: Hardware Verification x 1 x f AND 1 2 n ot x 3 f n ot 3 f AND f 5 2 OR f 4 Question: Can we set this boolean cirtuit to TRUE? f5(x1,x2,x3) = a function of the input signal Application: Hardware Verification x 1 x f AND 1 2 n ot f n ot 3 f AND f 5 2 OR SAT(f5) 3 4 ? TRUE? Question: Can we set this boolean cirtuit to x f5(x1,x2,x3) = f3 f4 = f1 = (x1 x2) ( x2 x3) f (f2 x3) M[x1] =FALSE M[x2] Finding the “best” path between two points Classic computer science problem: many algorithms, applications “best” generally means minimizing some sort of cost 1 0 sourc e s 1 0 1 0 cost ofedge each pathhas generally some cost associated sum etc. of cost with of it edges along path 1 0 t sin k Stochastic setting Edges fail probabilistically Goal: find most reliable path Directed Acyclic Graph G edge reliability 0.8 5 s 0.9 5 t 0. 9 path reliability = 0.95 x 0.9 x 0.85 = 0.73 assumption: independent!!! not very realistic... Stochastic setting Consider a richer structure using a graphical model X (discrete) hidden variable e s e 1 e 3 2 the hidden variable allows us to model correlations and dependencies between edge failures binary random variables: 1 if edge survives, 0 if edge fails t Stochastic setting Specified: prior probability on X conditional probabilities for each edge Pr[X=1] = 0.4 Pr[X=2] = 0.1 Pr[X=3] = 0.2 Pr[X=4] = 0.3 s e 1 Pr[e1 survives | X=1] = 0.9 Pr[e1 fails | X=1] = 0.1 ... etc. X e e 2 3 t Stochastic setting Graphical model defines joint distribution: Pr[X,e1,e2,e3,...] = Pr[X] Pr[e1|X] Pr[e2|X]... Reliability of path is marginal Pr[e1,e2,e3] Can compute by summing... X e s e 1 e 2 3 t Many applications Just to name a few: Network QoS routing [citations] routers fail stochastically links fail stochastically Failures are typically correlated: if two machines run the same version of unpatched Windows, and one gets infected by a virus... Many applications Just to name a few: Network QoS routing [citations] Parsing w/ weighted FSAs FSA where edges have probabilities assigned to them (from Smith + Eisner ACL’05 best paper) Many applications Just to name a few: Network QoS routing Parsing w/ weighted FSAs Robot navigation e.g., DARPA Grand Challenge Motivation of AI Autonomous computers Embedded computers Programming by telling Human-like capabilities – vision, natural language, motion and manipulation Applications: learning, media, www, manipulation, verification, robots, cars, help for disabled, dangerous tasks Long-Term Goals Computers that can accept advice Programs that process rich information about the everyday world Programs that can replace experts Computer programs that can decide on actions: control, planning, experimentation Programs that combine knowledge of different types and sources Programs that learn Short-Term Goals Knowledge & reasoning – acquire, represent, use, answer questions Planning & decision making Diagnosis & analysis Learning, pattern recognition Inferring state of the world from sensors Vision Natural-language text What This Course Covers Major techniques in artificial intelligence Search in large spaces and game search Logical reasoning Planning and sequential decision making Knowledge representation - logic & probability Probabilistic reasoning Machine Learning Robotic control, Stimulus-Response Machine Vision What you should know Matrix Algebra Probability and Statistics Logic Data structures C++, Java, Python, or Matlab What You Will Know Matlab Building and reasoning with complex probabilistic and logical knowledge Build autonomous agents Create vision/sensing routines for simple detection, identification, and tracking Create programs that make decisions autonomously or semi-autonomously Administration Office Hours, Late policy, homework deadlines, syllabus, and how to make a home-cooked meal – check the website: http://www.cs.uiuc.edu/class/cs440