Introduktion 729G43 Artificiell intelligens Introduktion Kursöversikt Mål med AI Historia Intelligenta agenter Arne Jönsson HCS/IA Kursöversikt Intelligenta agenter 1 Fö, 2+3 Lab Problemlösning och sökning 2 Fö, 3 Lab Kunskapsrepresentation 3 Fö, 4 Lab Planering 2 Fö, 3 Lab Probabilistisk logik 2 Fö, 2 Lab Maskininlärning, ANN 3 Fö, 3+3 Lab Projektseminarier Kursens organisation Föreläsningar (Arne & Marco) Labbar (Jonas, Robin, Evelina) Fördjupningsarbete (Arne mfl)
Tidsplan 26 h föreläsning ca 120 h egen tid för inläsning av teori 46 h schemalagda laborationer 12 h laborationsförberedande lektioner Ca 150 h av egen tid för laborationerna, mycket beroende på hur bra du klarade programmeringskursen 16 h handledning och redovisning av projekt ca 120 h egen tid på projekt Kursens examination Tenta (4 hp) Laborationer (5 hp) Fördjupningsarbete/Projekt (3 hp) Kursens examination Tenta G/VG Laborationer G/VG Fördjupningsarbete G/VG VG på kurs = VG på tenta + VG på labbar eller VG på projekt Möjligt att komplettera laborationer till VG eadlines! Fusk = isciplinnämnd! Förkunskaper och Påbyggnad Psykologi Logik Programmering Lingvistik Interaktionsdesign Kognitiv modellering Medvetandefilosfi Språkteknologi AI Programmerings -fördjupning
Vad är AI? Artificial Intelligence is the art of making computers work the way they do in the movies Artificial Intelligence is the study of how to make computers do things at which, at the moment, people are better. (Elaine Rich) Artificial Intelligence is the study of mental faculties through the use of computational models. (Eugene Charniak & rew Mcermott) Vad är AI? Få fram intelligenta program som kan hantera oväntade situationer och kommunicera bättre. (Erik Sandewall) The branch of Computer Science that is concerned with the automation of intelligent behavior. (Luger & Stubblefield) Understand and build intelligent entities (Russel & Norvig) Mål med AI AI:s historia System som kan: Tänka som en människa Tänka rationellt Stora förväntningar Bakslag Kunskapsbaserade Mogen vetenskap Kommersiella tillämpningar Neurala nät Intelligenta agenter Big ata Handla som en människa Handla rationellt
Historia 1 Komplexitetsanalys, 1 i0 = t i1 i2 ij w0 w1 w2 : w j S y = f ( w k i k ) j k=0 y Förhistoria: 1943 neuronmodell Kopplade ihop kunskap om hjärnans uppbyggnad med neurala nät och logik 1952-69 stora förväntningar. SHRLU, Blocks World, GPS, mikrovärldar. artmouth 1956. 1966-74 bakslag. Ingen kunskap, ex Eliza, MT Fundamentala begränsningar, ex perceptroner Uppskatta komplexiteten hos ett program Ex. def summa(l): if l==[]: return 0 else: return l[0] + summa(l[1:]) Antal operationer: (1 test + 1 addition)/varv + sluttesten Tiden T(n) = 2n + 1, dvs växer linjärt T Kan inte skala upp, komplexitetsproblem n Komplexitetsanalys, 2 Asymptotisk analys Försöker uppskatta vad som kan hända för stora n, Ordo, O(n). Ex 1. T(n) = 2n + 1. För stora n dominerar n, O(n). Polynomiskt problem. Ex 2. T(n) = n 4 + 600n ger O(n 4 ) Ex 3. Sökträd med förgreningsfaktor b och sökdjup d, O(b d ). Exponentiellt problem. 1 3 T Komplexitetsanalys Enkla problem är polynomiska, P, t ex O(log n), O(n), O(n 100 ) Svåra problem är ickepolynomiska, NP, t ex O(e n )... 9 27 n
Historia 2 1969-79 Kunskapsbaserade system ex. ENRAL, MYCIN, Conceptual dependencies Konceptuella handlingar grupperade till ACTIONS, ex INGEST = intagande av något (äta, dricka, röka etc), ATRANS = överföring av abstrakt relation, ex ger, får ACTIONS används vid tolkning. Roller kopplade till ACTIONS. Per p o INGEST groda Munnen Y I Per MOVE endral C 8 H 16 O Syntetiskt spektrogram Strukturskapare Spektrogramskapare Lista med nödvändiga bindningar Lista med förbjudna bindningar Experimentellt spektrogram Per HEALTH(<a) HEALTH(a) Hand o Matchare Y Munnen Lista med acceptabla kemiska strukturer Historia 3 1980-88 Industrin kommer Expertsystem, 5:e generationen 1986- Neurala nät 1987- Mogen vetenskap Formella bevis Empiriska studier Verkliga problem 1995- Intelligenta agenter 2001- Stora datamängder Miljarder istället för miljoner exempel Tillämpningar Autonom planering, ex WITAS, NASA Spel, ex IBM eep Blue Autonom kontroll, ex Google car iagnos, ex medicin, finans ata and text analytics, ex beslutsfattande Logistik, ex tåg Robotik, ex kirurgi Naturligt språk, ex Watson, Siri
Intelligenta agenter Vad är en intelligent agent Typer av intelligenta agenter Enkel reflexstyrd Modellbaserad Målstyrd Nyttostyrd som lär sig Intelligent agent Rationell Handla så bra som möjligt Mäta agentens utförande Mappa från varseblivningssekvenser till handlingar Autonom Vad agenten vet om omgivningen Varseblivningshistoria Handlingar ens handlingar beror bara på agentens kunskap samt vad den varseblir Intelligent agent Ex. ammsugaragent Percept typ Utförandemått Handlingar ammsugaragent Städa rent och gå hem, effektivt Rum, damm, hinder Suga, framåt, vänster, höger, stäng av Väggsensor, dammsensor, hemmasensor? Handlingar A
Andra exempel på agenter Egenskaper hos omgivningar typ Utförandemått Medicinsk diagnos Satellit bildanalys Plockrobot Interaktiv lärare Frisk patient min. kostnad Riktig kategorisering Antal delar i rätt låda Maximal renhet, avkastning, säkerhet Maximera studentens poäng Patient, sjukhus, personal Bilder från satellit Rullband med delar, lådor Raffinaderi, operatörer Studenter Ställa frågor, tester, diagnoser, behandlingar Visa kategorisering Robotarm Ventiler, pumpar, displayer, värmare Visa övningar, föreslå, rätta Symptom, patientsvar, datainmatning Bildpunkter Kamera, robotsensorer Temperatur, tryck, kemiska sensorer Tangentbord Partiellt observerbar na ger inte allt. Kan också vara icke-observerbar Stokastisk Kan inte vara säker på utfallet av en handling Sekvensiell Beslut om val av handling i ett tillstånd kan påverka framtida val ynamisk/semidynamisk en kan ändras medans agenten fattar beslut Kontinuerlig Tillstånd och tid kontinuerliga Multiagent Helt observerbar na ger allt som behövs för att välja handling eterministisk Nästa tillstånd beror bara av agentens handling och nuvarande tillstånd Episodisk Handling beror inte av vad som hänt tidigare Statisk en ändras inte medans agenten fattar beslut iskret Tid och tillstånd diskreta En agent Exempel på omgivningar Enkel reflexstyrd agent Observerbar eterm. Episodisk Statisk iskret er Schack Helt eterm. Sekventiell Semi iskret Multi Taxikörning Partiellt Stokastisk Sekventiell ynamisk Kontinuerlig Multi Hur världen ser ut nu Plockrobot Partiell Stokastisk Episodisk ynamisk Kontinuerlig En agent Instruktör Partiell Stokastisk Sekventiell ynamisk iskret Multi Bildanalys Helt eterm. Episodisk Semi Kontinuerlig En agent Poker Partiell Stokastisk Sekventiell Statisk iskret Multi Raffinaderikontroll Raffinaderikontroll Partiell Stokastisk Sekventiell ynamisk iskret Multi Villkors-handlingsregler Vad jag skall göra nu
Enkel reflexstyrd agent Problem rules = { dirt : suck, bump : turn-left, } en kan inte gå systematiskt def reflex(percept): state = interpretinput(percept) rule = rulematch(state, rules) action = ruleaction(rule) return action A A Modellbaserad reflexstyrd agent Modellbaserad reflexstyrd agent rules = { } Tillstånd state = [ ] Hur världen utvecklas Hur världen ser ut nu def reflexwithstate(percept): Vad mina handlingar medför state = updatestate(state, action, percept) rule = rulematch(state, rules) action = ruleaction(rule) return action Villkors-handlingsregler Vad jag skall göra nu
Målstyrd agent Nyttobaserad agent Tillstånd Tillstånd Hur världen utvecklas Hur världen ser ut nu Hur världen utvecklas Hur världen ser ut nu Vad mina handlingar medför Hur den blir om jag gör A Vad mina handlingar medför Hur den blir om jag gör A Hur glad jag blir i det tillståndet Nytta Mål Vad jag skall göra nu Vad jag skall göra nu som lär sig Yttre standard Kritiserare Återkoppling Utförandeelement Inlärningselement Mål Förändringar Kunskap Problemgenerator