1. Pacman 2D con ML-AGENTS
GRUPPO 19:
Angela Vecchione 0522500814
Gianmarco Beato 0522500782
DOCENTI:
Andrea Francesco Abate
Ignazio Passero
Corso di Information Visualization
Anno Accademico 2020/2021
2. INDICE
• Introduzione
• Descrizione del gioco
• Replica del gioco di base
• Costruzione dell’agente
• Demo addestramento
• Demo inferenza
• Risultati dell’addestramento
• Conclusioni e sviluppi futuri
3. INTRODUZIONE
• Realizzazione del gioco Pacman in versione 2D.
• Realizzazione di un agente intelligente mediante ML-
Agents.
• Varie fasi di implementazione: studio del gioco
originale, implementazione in Unity del gioco 2D e
implementazione di ML-Agents.
4. DESCRIZIONE DEL GIOCO
• Videogioco ideato da Toru Iwatani nel 1980.
• Il giocatore deve guidare una creatura sferica che
deve mangiare tutti i pacdots nel labirinto evitando i
fantasmini.
5. REPLICA DEL GIOCO DI BASE
• Nella prima fase della progettazione è stato replicato
il gioco di base, in una versione 2D.
• Gli elementi di gioco sono:
Pacman Blinky Pinky Inky Clyde Pacdots Maze
6. COSTRUZIONE DELL’AGENTE
Nella seconda fase è stato utilizzato ML-AGENTS che supporta due tipi di apprendimento:
REINFORCEMENT LEARNING IMITATION LEARNING
Un agente impara ricevendo
delle ricompense
Un agente impara imitando ciò
che fa il giocatore umano
7. COSTRUZIONE DELL’AGENTE
• Controlliamo il personaggio usando l’euristica.
• Un agente è un “attore” che osserva e agisce
nell’ambiente.
• L’Agente di base ha alcune proprietà che ne
influenzano il comportamento (Behaviour
Parameters).
• L’agente utilizza un vettore delle osservazioni
composto dalla posizione di Pacman, dei 4 fantasmini
e dei pacdots.
• Il vettore delle azioni è composto da un array di floats
che rappresentano il movimento del player.
8. COSTRUZIONE DELL’AGENTE
REWARD:
✓ Ogni volta che il player perde una vita gli viene
sottratto un valore pari a 0.3;
✓ Se perde tutte le vite gli viene sottratto -2;
✓ Ad ogni vittoria al reward viene aggiunto 2;
✓ Ad ogni episodio il reward viene settato a 0;
✓ Per ogni pacdot al reward viene aggiunto 0.005;
✓ Quando Pacman sta fermo per troppo tempo al
reward viene sottratto 0.01;
13. CONCLUSIONI E SVILUPPI
FUTURI:
• Siamo riusciti ad addestrare un agente capace di giocare a Pacman 2D.
• Siamo riusciti a muovere i primi passi con ML-Agent per quanto riguarda
l’apprendimento per imitazione.
• Come sviluppi futuri si può provare ad addestrare l’agente con altri tipi di
training, come ad esempio SAC.
• Si può provare a migliorare la fluidità dei movimenti di Pacman.
• Si potrebbe usare altri tipi di osservazioni, visto che quelle usate sono state le
vettoriali che hanno fatto «esplodere» la dimensione del problema. Quindi si
potrebbero utilizzare i Ray Perception Sensor.