jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Kursinformation
Outline Om oss Om kursen i allmänhet Om den individuella uppgiften Om det gemensamma projektet Diskussion och frågor Lagom detaljerat: Mer information på nätet / senare möten Jonas Kvarnström Mattias Tiger Fredrik Präntare Examinator, FÖ + SE Tar över kursen i år (2018) FÖ + SE + LA Med sedan kursstart (2015) FÖ + SE + LA Ny för i år (2018)
Examinator, kursledare: Jonas Kvarnström
1996-2018: AIICS avd. för AI och integrerade datorsystem Avdelningens fokus: Autonomi, intelligenta artefakter
Fokus Ett av mina fokus: automatisk planering Using knowledge about the world, including possible actions and their results, to decide what to do and when in order to achieve an objective, before you actually start doing it Mattias och Fredrik presenterar sig lite senare Mer om detta i TDDC17 (snart), TDDD48
0: Kursmålen 7 Lärandemål: Efter kursen ska studenten kunna: Identifiera relevanta AI-tekniker och litteratur som beskriver dem Jämföra AI-relaterade tekniker för integration i ett system Implementera och integrera en AI-teknik i ett system Utvärdera AI-relaterade tekniker och hur de påverkar ett system Skriftligen beskriva tekniska lösningar, jämförelser och utvärderingar av tekniska lösningar Icke-mål: Uppfinna helt egna tekniker istället: använd existerande, anpassa dem, skapa en helhet som till stor del baseras på teknikerna
0b: Kursmålen varför? Varför är detta målen? Identifiera relevanta AI-tekniker och litteratur som beskriver dem Jämföra AI-relaterade tekniker för integration i ett system Implementera och integrera en AI-teknik i ett system Utvärdera AI-relaterade tekniker och hur de påverkar ett system Skriftligen beskriva tekniska lösningar, jämförelser och utvärderingar av tekniska lösningar 8 Fördjupning inom AI: Använda någon teknik på riktigt Ta åt sig av existerande material, inte återuppfinna hjulet, bedöma vilket existerande hjul som passar Beskriva och förklara motivationen: Varför gör vi som vi gör? Förstå specifikationer tillräckligt bra för att kunna välja + implementera dem korrekt Arbeta med existerande system, ta reda på hur de fungerar, anpassa sig till ramar / ramverk Samarbeta i ett projekt med både eget ansvarsområde och gemensam del (integration)
1: System? 10 Jämföra tekniker för integration i Integrera tekniker i Ett system Utvärdera hur tekniker påverkar Kan inte göra allt själva vi hjälper till
1b: Gammalt system 11 Ursprungligt system: RoboCup, humanoida robotar / fotboll Hårdvara ger ofta problem
1c: Nytt system 12 Nytt system: Starcraft II Learning Environment
1d: Nytt material 13 Nyutvecklat material inför årets omgång Arbetat hårt med att polera labbar, instruktioner och mjukvara, men: labb studenten Ingen plan överlever första kontakten med fienden -- parafraserat från Helmuth von Moltke den äldre Omöjligt att förutse alla sätt att använda systemet Svårt att anpassa exakt till era förkunskaper Ge oss omedelbar feedback om det uppstår oklarheter / problem!
1e: Introduktion till system 14 Inledande labbserie för att bekanta sig med systemet Relativt kortfattad, i tutorial-form introduktion, inte ett resultat i sig Installation Labb 0 utför några uppgifter själva ( spela spelet ) Labb 1 intro till automatisering/ai Labb 2 försvar, basexpansion Labb 3 mer avancerade uppgifter Börja idag! Existerar men poleras fortfarande Kommer upp inom kort
1f: Labbtider och handledning 15 Labbtider, handledning Första labben i eftermiddag Två labbar nästa vecka Arbeta även utanför bokad tid, så ni hinner klart till nästa onsdag Även egenstudier vecka 1 Läs på, spela lite StarCraft, Instruktioner / länkar på webben Mer om StarCraft i andra halvan!
2: Tema 16 Vi behöver ett tema som vägleder oss Sequential Decision Making under Uncertainty Skapa en agent som spelar StarCraft II, som själv bestämmer vad den ska göra
3: Agenter 17 Men vad är en agent? Hur skapar man en agent? Informellt: skriv ett program som spelar StarCraft, som: Känner av sin omgivning genom (virtuella) sensorer Bestämmer vad den ska göra (relativt ett mål) Agerar i StarCraft-världen Mer formellt, mer vägledning: Första föreläsningen och labben i TDDC17
2 (igen): Tema 18 Vi behöver ett tema som vägleder oss Sequential Decision Making under Uncertainty Agenten kan gärna tänka på framtiden, välja handlingar som verkar leda till långsiktiga framsteg Men den kan inte bestämma en fullständig plan i förväg! Fundera, agera, se vad som hände, fundera igen Skapa en agent som spelar StarCraft II Agenten behöver bestämma sig för vad den ska göra En anledning till sequential: Vi vet inte allt, ser inte allt Andra spelare agerar också i världen, och vi vet inte heller vad de tänker göra Realistiskt antagande: Osäkerhet om världen Centralt inom artificiell intelligens!
4: AI-tekniker 19 Identifiera Jämföra AI-tekniker men vi har ju just vår första AI-kurs! Implementera, integrera Utvärdera Utvärdera Individuell rapport (period 1), parallellt med AI-kursen Känns ändå tidigt? Gemensamt projekt (period 2), efter AI-kursen
4b: Stöd för individuell rapport 20 Fredag 180907: Föreläsning om teknikområden Vilka generella områden är av intresse i StarCraft? Varför? Förberedelse: An Introduction to Game-Playing Systems and StarCraft II (kursinfo) Fredag 180914: Diskussion om teknikområden Seminarie, studentdrivet Ta upp alla frågor ni har Dags att bilda projektgrupper, välja områden: Medlemmar i en grupp (ca 6 personer) ska arbeta inom tillräckligt olika områden! Måndag 180917: Diskussion om utvärdering och utredning Förberedelse för att planera egen utvärdering, veta mer om vad ni ska åstadkomma
4c: Stöd för individuell rapport 21 Måndag 180924: Färdig utredningsplan Problem(klass) som du ska ta dig an, varför detta är viktigt för projektet, specifika tekniker/algoritmer att utvärdera, valda utvärderingskriterier Presentera + lämna in för feedback Måndag 181001: Diskussion 30 minuter per projektgrupp, tillsammans Framsteg, problem, frågor, Måndag 181008: Diskussion 30 minuter per projektgrupp, tillsammans Måndag 181015: Presentation av resultatet Även inlämning av en utvärderingsrapport (4-6 sidor)
5: Implementera och integrera 22 Implementera och integrera? Specifika tekniker Specifika tekniker Alla behöver egna ansvarsområden Specifika tekniker Agentens kärna, som driver allt framåt Specifika tekniker Alla behöver ta gemensamt ansvar för kärnan, limmet, integrationen till en helhet Specifika tekniker
6: Ta ansvar 23 Efter kursen ska studenten kunna : Detta är en projektkurs Ni är proaktiva, driver projektet framåt Vi ger stöd, men skedmatar er inte Vi svarar på många frågor, men inte alla Ni ska träna på att: Hitta information av hög kvalitet (vetenskapliga artiklar) Planera ert arbete Arbeta i grupp Implementera något avancerat Presentera och reflektera
7: Projektet 24 Om projektet: Ett självgående genomförande Handledare tillgängliga ett labbtillfälle per vecka Statusrapport varje fredag, tekniskt / introspektivt Reflektera, dra lärdomar, dela lärdomar med andra Turnering mot andra lag på slutet Visa upp vad ni har gjort påverkar inte betyget Presentation av färdiga projekt på ett slutseminarium Teknisk rapport lämnas in i slutet av tentaperioden (januari) Mer detaljer kommer detta räcker för i dag