Lektion 1 729G43 Artificiell intelligens Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm
Dagens lektion Kort om laborationsserien Introduktion till laboration 1 Live-kodning Börja arbeta med laboration 1
Om lektioner Lektioner i SU-sal Laborationsförberedande Lektionsövningar Se upp för schemaändringar!
Om laborationerna Viktigt att komma igång med labbarna när hjälp finns Assistenter hjälper till med aktuell labb i första hand Arbete utöver laborationstillfällena kommer att krävas ThinLinc finns att tillgå för de som bill jobba hemma eller från egen dator Laborationer uppdateras varje år Feedback viktigt om något inte fungerar All information finns på hemsidan https://www.ida.liu.se/~729g43/labbar/index.sv.shtml Frågor: robin.keskisarkka@liu.se
Laborationspersonal Labbassistenter Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm
Grupper Anmäl er grupp i Webreg Länk finns på hemsidan Labba i grupper om 2 Uppdelade labbassistentgrupper för muntlig redovisning Delas upp mellan assistenter vid behov
Inlämning av laboration Inlämning skickas till: labbass.ai@gmail.com Rättning sker inom 10 arbetsdagar från deadline Om något inte rättats så hör av er! Kompletteringar rättas vid uppsamlingstillfällen
Betyg Man kan få Godkänt och Väl Godkänt på labbarna. För att få VG på labbserien måste man ha VG på alla labbar (där VG-krav finns). Med det sagt, över till första laborationen
Laborationsserien Lab 1: Intelligenta agenter Lab 2: Sökagenter Lab 3: Kunskapsrepresentation Lab 4: Planering Lab 5: Probabilistisk logik Lab 6: Beslutträdsinlärning Lab 7: ANN
Laboration 1: Intelligenta agenter
Översikt Vad? Utforma och implementera en agent som kan genomsöka en hinderfri värld, samt resonera kring vad ni gjort Varför? För att få insikt i vad en agent är och vad som egentligen menas med intelligens i kursboken och inom AI För att lära er använda AI-fältets begreppsapparat Hur? Genom att utgå från en befintlig omgivningssimulator och ett programskelett Genom att läsa och reflektera
En agent Agenten uppfattar sin omgivning på något sätt Agenten agerar utifrån percept Agenten agerar i en omgivning Agenten agerar i omgivningen med effektorer Agentens beteende = agentfunktion Implementation av agentfunktionen = agentprogram
Miljösimulering: PacMan-värld Tom yta Percept = None Agent Mat Vägg Percept = bump Agentens riktning OBS! PacMan uppfattar bara nuvarande ruta Prestationsmått Startposition (1,1) Labb-miljö ursprungligen från Stanford.
Agentens effektorer Agenten kan utföra fem handlingar GoForward GoRight GoLeft GoBack Stop
Tre typiska typer av agenter RandomAgent SimpleReflexAgent AgentWithState Bearbetar percept? Deterministiska regler för beslut av handling? Kan komma ihåg vad den gjort (state)?
Agerar enbart utifrån slumpvis valda handlingar! RandomAgent
Får percept men har inget internt tillstånd (state) SimpleReflexAgent
Får percept, uppdaterar internt tillstånd, väljer handling utifrån tillstånd AgentWithState (labb 1 & 2)
Flöde för AgentWithState 1. (vald handling utförs i omgivningen) 2. update_state_with_percept( ): Agenten varseblir aktuell nuvarande och effekterna av föregående handling Uppdaterar internt tillstånd (state) med vad den uppfattar (t.ex. bump ) 3. choose_action( ): Agenten väljer ny handling att utföra utifrån sitt interna tillstånd OBS! State kan ej ändras i choose_action 4. update_state_with_action( ): Uppdatera internt tillstånd med senast valda handling OBS! Handlingen har ännu inte utförts.
Laboration 1: Mål Bygga en PacMan-agent som ska äta all mat i en godtyckligt stor rektangulär värld Agenten ska stanna när allt är uppätet Agenten ska ha en systematisk strategi för att besöka hela världen (slump är inte tillåtet) Diskussionen ska vara relevant med tydliga kopplingar mellan teori och praktik
Att tänka på Agenten startar alltid i ruta (1,1) riktad mot öster Agenten ska klara alla världar: 1x1, 1x3, 3x1, etc. Testa att definiera egna världar
Strategiska förberedelser Läs i kapitel 2 i kursboken Läs igenom instruktionerna på hemsidan Gör klart för er själva hur er agent interagerar med sin omgivning Välj en strategi och rita upp den på papper. Översätt den sedan i termer av handlingsregler. Fundera på vilken information som måste finnas i det interna tillståndet samt hur/när denna ska uppdateras i flödet
Praktiska förberedelser Spara ned alla filer från labbsidan/ kursbiblioteket https://www.ida.liu.se/~729g43/kursbibliotek/lab1/ Öppna lab1.py och studera koden Om ni vill använda IDLE men det inte startar prova med idle -n &
Dags att spana in kod! Live-kodning