AUTONOMOUS AGENTS IN GAMES
5 CFU al 2° anno di 10728 ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY) (LM/DS) GENOVA
PRESENTAZIONE
Il corso presenta il tema della realizzazione di algortimi e strategia per agenti intelligenti autonomi che si muovono e interagiscono in uno spazio incognito. In particolare lo spazio è rappresentato da un mondo virtuale realizzato tramite la tecnolgia dei videogiochi.
OBIETTIVI E CONTENUTI
OBIETTIVI FORMATIVI
Il corso fornisce metodologie e strumenti per lo sviluppo di sistemi software, secondo criteri di elevata efficienza e produttività. Viene offerta una panoramica generale sui sistemi multimediali e sulla modalità di interazione con gli utenti. Sono anche offerti elementi di programmazione di videogiochi e simulazione.
OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO
Scopo del corso è fornire le basi per la progettazione e lo sviluppo di algortimi software in grado di agire autonomamente all'interno di un mondo virtual. Lo studente viene introdotto a diversi concetti di intelligenza artificiale (path finding, decision tree, reinforcement learning, ecc.) e aiutato a comprenderli attraverso esercizi svolti al calcolatore durante le lezioni frontali. L'insegnamento si pone nella direzione di formare una figura professionale capace di progettare e realizzare complesse applicazioni software utilizzando tecnologie di videogioco e algoritmi di intelligenza artificiale.
PREREQUISITI
Lo studente deve possedere conoscenze avanzate di programmazione e statistica.
Modalità didattiche
Il corso è costruito da una parte di lezione frontale e una parte di esercitazione. Durante la lezione frontale, il docente presenta gli argomenti fornendo sempre esempi di codice che vengono provati sul game engine Unity 3D. Gli studenti possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante le esercitazioni, gli studenti devono affrontare al calcolatore problemi reali che possono essere risolti applicando le tecniche viste durante le lezioni frontali.
PROGRAMMA/CONTENUTO
Il seguente elenco riporta i contenuti affrontati a lezione, per ogni contenuto un link porta alle note di ogni lezione:
01 - Introduction [LINK]
02 - Unity Engine Recap [LINK]
03 - Path Finding [LINK]
04 - Steering [LINK]
05 - Influence Maps [LINK]
06 - Tree Search [LINK]
07 - Tic-Tac-Toe [LINK]
08 - Reinforcement Learning [LINK]
09 - Uncertain Reasoning [LINK]
10 - Genetic Algorithms [LINK]
11 - Decision Trees [LINK]
12 - Conversational Agents [LINK]
TESTI/BIBLIOGRAFIA
- Slide delle lezioni (scaricabili da AulaWeb)
- Per approfondire (solo per chi è interessato)
01 - B. Tristem, M. Geig. Unity Game Development in 24 Hours. Sams Teach Yourself
02 - J. Hocking. Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning
03 - M. Buckland. Programming Game AI By Example. Jones & Bartlett Learning.
04 - I. Millington, J. Funge. Artificial intelligence for games. CRC Press.
05 - S. Rabin. AI Game Programming Wisdom, Vol. 1-4, Charles River Media
06 - S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall
07 - G. N. Yannakakis, J. Togelius. Artificial Intelligence and Games. Springer.
DOCENTI E COMMISSIONI
Ricevimento: Il docente riceve su appuntamento, per prendere appuntamento è possibile scrivere a riccardo.berta@unige.it
Commissione d'esame
RICCARDO BERTA (Presidente)
ALESSANDRO DE GLORIA
LEZIONI
Modalità didattiche
Il corso è costruito da una parte di lezione frontale e una parte di esercitazione. Durante la lezione frontale, il docente presenta gli argomenti fornendo sempre esempi di codice che vengono provati sul game engine Unity 3D. Gli studenti possono utilizzare i propri calcolatori durante la lezione per mettere in pratica quanto proposto dal docente. Durante le esercitazioni, gli studenti devono affrontare al calcolatore problemi reali che possono essere risolti applicando le tecniche viste durante le lezioni frontali.
INIZIO LEZIONI
Come da calendario didattico
ESAMI
Modalità d'esame
L'esame consiste in una interrogazione orale sugli argomenti teorici presentati a lezione. In particolare, lo studente deve dimostrare di aver comprso appieno i concetti alla base dello sviluppo di agenti autonomi.
Modalità di accertamento
Durante l'orale, il docente chiede allo studente di illustrare alcuni concetti imparati a lezione. Per ogni concetto, lo studente deve anche presentare le condizioni per la sua applicazione, gli eventuali vantaggi e svantaggi. Durante la prova, il docente accerta che i concetti siano stati appresi ad un livello di conoscenza tale da permettere allo studente di applicarli in casi reali.
Calendario appelli
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
17/09/2021 | 09:00 | GENOVA | Esame su appuntamento |