Göm menyn

TDDD92 AI-projekt

Kursinformation


Syftet med kursen är att genomföra ett fördjupat tekniskt projekt relaterat till artificiell intelligens. Kursen innehåller en individuell utredande del som följs av ett utvecklingsprojekt i grupp. Båda examineras genom skriftliga tekniska rapporter.

Under 2018 har vi utvecklat nytt material för projektarbetet, baserat på StarCraft II Learning Environment. Samtliga projektgrupper kommer att arbeta med denna typ av projekt.

Föreläsningsmaterial

Nytt föreläsningsmaterial kommer upp inom kort.

Inledande laborationsserie

Den inledande laborationsserien är relativt kort och genomförs under de första två veckorna. Målet med labbarna är att samtliga kursdeltagare ska ges en möjlighet att:

  • Undersöka hur StarCraft II fungerar i praktiken.

  • Lära sig arbeta med programmeringsgränssnittet till StarCraft.

  • idéer och inspiration inför den individuella utredningen (examinationsmoment UPG2) och det gemensamma utvecklingsprojektet (examinationsmoment UPG1), samt en bättre förståelse för vad som faktiskt är möjligt och rimligt att genomföra inom kursen.

Ytterligare stöd för detta ges i kursmaterial som länkas från labbinstruktionerna.

Labbarna genomförs i par – i undantagsfall enskilt, när vi har ett udda antal kursdeltagare. Ni anmäler er till labbserien i WebReg och ser själva till att bilda jämna par så långt detta är möjligt. Labbgrupperna kommer inte att påverka sammansättningen i de slutliga projektgrupperna!

Individuell utredning (2 hp)

Under första kursperioden genomförs även en självständig och individuell teknisk utredning för att utvärdera en eller flera existerande AI-tekniker inom vissa givna ramar. Varje kursdeltagare kommer själv att:

  • Definiera ett problem eller en klass av problem som kan vara relevant för projektarbetet inom StarCraft.

  • Välja ut en eller flera AI-tekniker som kan tänkas användas för att lösa detta problem,

  • Välja en uppsättning rimliga kriterier som kan användas för att avgöra hur väl en specifik teknik faktiskt uppfyller behoven hos projektet, och

  • Utvärdera de valda teknikerna enligt de valda kriterierna, med vetenskapliga artiklar som den huvudsakliga källan till information om teknikerna.

Konkret förväntas du göra följande:

  1. Välja ett lämpligt teknikområde. Du väljer själv vilka problem(klasser) och vilka tekniker du vill studera, men tänk på att det är till stor fördel om du sedan kan utgå från den gjorda utredningen när du deltar i det gemensamma projektet. Under projektet kommer varje gruppmedlem att behöva ett eget ansvarsområde, med ett tydligt huvudansvar för någon AI-teknik eller något problemområde. Trots att utredningen i sig är en individuell uppgift kommer varje projektgrupp därför att behöva samordna medlemmarnas val av problem(klass), så att det inte blir onödiga överlapp mellan de tekniker som gruppmedlemmarna utreder.

    • Under föreläsning 2 (180907) presenteras ett antal intressanta problem- och teknikområden. Presentationen ska ge ett första underlag för att du ska kunna se vilka områden som verkar mer eller mindre intressanta för din egen del och för projektet. Sedan behöver du givetvis själv följa upp och undersöka potentiellt intressanta områden närmare så att du kan göra ditt val. För en översikt över existerande tekniker, se även kursboken i AI-kursen!

      Som förberedelse inför föreläsningen läser du An Introduction to Game-Playing Systems and StarCraft II.

    • Ungefär samtidigt är det dags att bilda projektgrupper om cirka 6 personer (beroende på exakt antal kursdeltagare detta år), för att kunna samordna utredningsområden inom gruppen enligt ovan. Börja gärna i samband med föreläsning 2 och/eller labbarna i andra kursveckan!

    • Under det första seminariet (180914, tidigare markerat som föreläsning) kommer vi att ha en studentdriven diskussion av problemklasser och teknikområden med inriktning på det individuella arbetet. Här har du chansen att diskutera frågor som har uppkommit medan du planerar din utredning, och få ett bättre underlag för det fortsatta arbetet.

  2. Bestämma exakt vad du tänker undersöka, så att du kan presentera i mer detalj:

    1. Problemet du önskar lösa / problemklassen du tar dig an (mål),
    2. Anledningen till att det är viktigt att lösa det givna problemet inom gruppens projekt (syfte),
    3. Vilka specifika tekniker, algoritmer eller liknande som du tänker utvärdera (inklusive referenser till de vetenskapliga artiklar du tänker utgå ifrån), och
    4. Enligt vilka kriterier du tänker utvärdera teknikerna.

    Detta sker också i flera steg:

    • Under det andra seminariet (180917) kommer vi att diskutera vad det betyder att utvärdera och utreda ett teknikval och vilka kriterier som kan vara rimliga. Vi inleder med en allmän diskussion om detta och tar därefter upp specifika frågor från deltagarna.

    • Du funderar, läser på, och skriver en plan för den tänkta utredningen, på cirka 1 A4-sida. Dokumentet ska beskriva mål, syfte, tekniker att utvärdera, och utvärderingskriterier enligt ovan. Diskutera mål och syfte med övriga gruppmedlemmar för att förankra detta i gruppen och underlätta det senare projektarbetet.

    • Under seminariet 180924 ska samtliga projektgrupper presentera gruppen och de enskilda utredningsplanerna. Varje projektgrupp presenterar tillsammans, och har cirka 15-20 minuter att ge:

      • En kort intro till gruppen, inklusive en kort översikt över områdena medlemmarna tänker utreda; typiskt 1-3 bilder. Det är bra att visa ungefär hur de valda ämnena kommer att kunna bidra till projektets helhet.

      • En kort beskrivning av varje individuell utredningsplan (cirka 1-2 bilder per person). Tänk på att ta med samma information som i den skriftliga beskrivningen: Mål, syfte, vilket problem och tekniker du tänker studera, samt hur du tänker utvärdera det hela.

    • 180924 lämnas utredningsplanen även in till en handledare. Om vi ser uppenbara problem, potentiella eller definitiva, ger vi feedback på detta inom några dagar. Som alltid har du ändå kvar huvudansvaret för inriktningen: Avsaknad av feedback är ingen definitiv garanti för att utredningen kommer att gå smidigt.

  3. Genomföra undersökningen med stöd av dina inledande undersökningar från skrivandet av utredningsplanen. Du kommer också att få stöd på följande sätt:
    • På seminariet 181001 bokar vi in ett 30-minuterspass per projektgrupp. Här kan du ställa frågor och få feedback kring det du har gjort hittills och det du kommer att göra. Gruppmedlemmar som inte har frågor bör också närvara, både för att ge egen feedback och för att se vad som är på gång: Det enskilda arbetet ska ju i slutet vara till hjälp för hela gruppen.

    • På seminariet 181008 har vi återigen ett 30-minuterspass per projektgrupp enligt ovan.

  4. Mot slutet av första perioden är det dags för examination:

    • På seminariet 181015 presenterar du resultatet. Mer instruktioner kommer att ges senare.

    • 181015 lämnar du också in din utvärderingsrapport på 4-6 A4-sidor. Rapporten ska definiera problemet, beskriva teknikerna så att dina kurskamrater kan förstå hur de fungerar, redovisa kriterierna du har valt att utvärdera efter, presentera själva utvärderingen enligt de valda kriterierna, samt ge dina rekommendationer för hur lämpliga teknikerna är för att lösa det givna problemet inom ramen för det större projektet.

      Du måste skriva på svenska eftersom detta ingår i kursplanen.

      Betyget baseras på hur tydligt och välmotiverat problemet är, hur tekniskt avancerade tekniker som valts, hur väl utvärderingen är gjord och hur väl rapporten är skriven.

      Använd sunt förnuft när det gäller exakt format på rapporten -- marginaler, textstorlek, radavstånd, med mera. Försök inte anpassa detta för att få en alltför kort rapport att se större ut eller tvärtom. Det minskar bara läsbarheten.

Projektarbete (3 hp)

Målet med projektarbetet är att ni i grupper om cirka 6 studenter ska designa, implementera och utvärdera ett större system som kräver automatiserat beslutsfattande. Följande är några relevanta punkter:

  • Ni kommer att få genomföra projektarbetet på ett självgående sätt. Handledarna kommer att finnas tillgängliga på ett labbtillfälle per vecka. Utnyttja detta för att få hjälp eller utvärdera möjligheter – men jobba också på egen hand och driv själva projektet framåt.

  • Varje fredag i andra perioden har vi ett seminarium där ni ger en statusrapport för ert projekt. Syftet är att reflektera över projektets genomförande, att dra lärdomar samt att dela dessa lärdomar med övriga studenter i kursen.

  • I slutet kommer ni att få utvärdera ert lag mot andra lag i en turnering. Placeringen i turneringen kommer inte att ha en direkt påverkan på betyget, eftersom placeringen även kan bero på faktorer som är svåra för er att påverka.

  • Ni kommer även att presentera de färdiga projekten för övriga grupper på ett seminarium. Varje grupp får 15 minuter för sin presentation.

  • Examinationen innehåller också en teknisk rapport. Rapporten ska ta upp mål, syfte, teknisk beskrivning av systemet med fokus på de delar ni själva gjort särskilt beslutsfattandet, utvärderingen, resultat och slutsatser. Ni måste skriva på svenska.

    Se den detaljerade beskrivningen av slutrapporten.


Sidansvarig: Daniel de Leng
Senast uppdaterad: 2019-08-27