SlideShare a Scribd company logo
1 of 14
Download to read offline
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
INDICE
• Introduzione
• Descrizione del gioco
• Replica del gioco di base
• Costruzione dell’agente
• Demo addestramento
• Demo inferenza
• Risultati dell’addestramento
• Conclusioni e sviluppi futuri
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.
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.
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
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
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.
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;
COSTRUZIONE DELL’AGENTE
DEMO ADDESTRAMENTO:
TRAINING SENZA FANTASMINI IN MOVIMENTO TRAINING CON BLINKY IN MOVIMENTO
DEMO INFERENZA:
SENZA FANTASMINI IN MOVIMENTO CON BLINKY IN MOVIMENTO
RISULTATI DELL’
ADDESTRAMENTO :
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.
GRAZIE
PER
L’ATTENZIONE

More Related Content

More from Gianmarco Beato

More from Gianmarco Beato (12)

Presentazione del progetto SmartPark
Presentazione del progetto SmartPark Presentazione del progetto SmartPark
Presentazione del progetto SmartPark
 
Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero  Sfida CTF: Protostar Format Zero
Sfida CTF: Protostar Format Zero
 
GenerativeMap: visualizzazione ed esplorazione di una density map dinamica tr...
GenerativeMap: visualizzazione ed esplorazione di una density map dinamica tr...GenerativeMap: visualizzazione ed esplorazione di una density map dinamica tr...
GenerativeMap: visualizzazione ed esplorazione di una density map dinamica tr...
 
La mia tesi di laurea triennale - Beato Gianmarco
La mia tesi di laurea triennale  - Beato GianmarcoLa mia tesi di laurea triennale  - Beato Gianmarco
La mia tesi di laurea triennale - Beato Gianmarco
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4 La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Relazione progetto Compressione Dati
Relazione progetto Compressione DatiRelazione progetto Compressione Dati
Relazione progetto Compressione Dati
 
Dispensa del corso di Cybersecurity
Dispensa del corso di CybersecurityDispensa del corso di Cybersecurity
Dispensa del corso di Cybersecurity
 
Considerazioni di sicurezza per le reti IEEE 802.15.4
Considerazioni di sicurezza per le reti IEEE 802.15.4 Considerazioni di sicurezza per le reti IEEE 802.15.4
Considerazioni di sicurezza per le reti IEEE 802.15.4
 
Schema di watermarking robusto per un bitstream jpeg cifrato
Schema di watermarking robusto per un bitstream jpeg cifratoSchema di watermarking robusto per un bitstream jpeg cifrato
Schema di watermarking robusto per un bitstream jpeg cifrato
 
Web Application Coronavirus Regione Campania
Web Application Coronavirus Regione CampaniaWeb Application Coronavirus Regione Campania
Web Application Coronavirus Regione Campania
 
Presentazione Tesi di Laurea Triennale
Presentazione Tesi di Laurea Triennale Presentazione Tesi di Laurea Triennale
Presentazione Tesi di Laurea Triennale
 

Pacman 2D con ML-Agents

  • 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;
  • 10. DEMO ADDESTRAMENTO: TRAINING SENZA FANTASMINI IN MOVIMENTO TRAINING CON BLINKY IN MOVIMENTO
  • 11. DEMO INFERENZA: SENZA FANTASMINI IN MOVIMENTO CON BLINKY IN MOVIMENTO
  • 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.