Artificial Intelligence project involving the Mrs. Pac-Man vs Ghost Team competition held at IEEE CEC 2011. A controller for Mrs. Pac-Man was developed and optimized using different artificial intelligence algorithms.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Mrs Pac Man vs Ghost Team
1. Università degli studi di Salerno
Corso di Laurea Magistrale in Ingegneria Informatica
Anno 2015/2016
Corso di Intelligenza Artificiale
Presentazione progetto Mrs. PacMan vs Ghosts Team
Gruppo: Capozzoli Settimio – Di Gruttola Carmine – Esposito Emiddio
3. Introduzione (1/2)
• Obiettivo: Sviluppare un controllore per Mrs. PacMan.
• Gioco a livelli, con quattro ambienti ciclici, dove attraverso pillole si
accumulano punti.
• Nell’ambiente un gruppo di fantasmi attacca Mrs. PacMan, se viene toccato
per tre volte il gioco finisce.
• Ogni livello finisce quando finiscono le pillole.
3
4. Introduzione (2/2)
• Si accumulano punti anche mangiando i fantasmi, dopo aver mangiato
apposite power pill.
• Il controllore dovrà decidere le mosse al fine di massimizzare il punteggio.
• Vincolo: la decisione dovrà essere presa in 40ms.
• I fantasmi possono essere controllati con quattro strategie diverse: Legacy,
Starter, Random, Aggressive.
• Si è presa in considerazione la strategia Starter.
4
5. Agente basato su utilità (1/4)
• Massimizza una funzione di utilità nello spazio degli stati.
• Strategia di ricerca: branching factor, profondità, vincoli temporali.
• Si è scelta la strategia Breadth First per esplorare tutte le possibili mosse
iniziali.
• Si termina la ricerca solo allo scadere dei 40ms.
• Si seleziona la mossa che porta allo stato trovato con la massima utilità.
5
7. Agente basato su utilità (3/4)
• I contributi positivi sono i contributi che l’agente deve aumentare, ad
esempio il punteggio
• I contributi negativi sono i contributi da annullare, ad esempio numero di
pillole o distanza di fantasmi mangiabili.
• Sono stati aggiunte penalizzazioni o premi costanti per alcuni eventi, quali
perdita di vite o mosse opposte.
• I pesi di ogni contributo sono stati identificati in maniera empirica.
7
8. Agente basato su utilità (4/4)
• L’agente, pur avendo un comportamento medio accettabile, presenta
comportamenti problematici che ne limitano le prestazioni.
• La struttura ha limitato la possibilità di intervenire per eliminare questi
comportamenti.
• Si è quindi valutato un secondo approccio: un agente basato su obiettivo.
8
9. Agente basato su obiettivo (1/4)
• Diviso in due livelli: scelta dell’obiettivo e scelta del percorso per
raggiungerlo.
• Primo livello: si seleziona l’obiettivo attraverso un albero decisionale.
• Secondo livello: si sceglie il percorso attraverso un A* sul grafo
dell’ambiente.
• Si seleziona la prima mossa da effettuare per seguire il percorso trovato.
9
10. Agente basato su obiettivo (2/4)
• Il primo livello decide sulla
base di distanze da alcuni
elementi quali distanze dalla
pillola più «vicina», dal
fantasma più vicino, dal
fantasma mangiabile più
«vicino» e dalla power pill più
vicina.
10
11. Agente basato su obiettivo (3/4)
• Il secondo livello assegna ad ogni nodo un peso sulla base della posizione e del
contenuto e calcola il percorso a peso minimo attraverso un A*.
• ℎ 𝑛 = 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡𝑃𝑎𝑡ℎ𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑛, 𝑔𝑜𝑎𝑙
• 𝑔 𝑛 = 𝑔 𝑛 − 1 + 𝑐𝑜𝑠𝑡 𝑛 , 𝑔 0 = 0
• 𝑐𝑜𝑠𝑡 𝑛 =
𝑐𝑜𝑠𝑡 𝑒𝑙𝑒𝑚𝑒𝑛𝑡∗𝑤 𝑡𝑢𝑛𝑛𝑒𝑙
𝑑𝑖𝑠𝑡 𝑛,𝑔ℎ𝑜𝑠𝑡 ∗𝑐1
𝑤𝑡𝑢𝑛𝑛𝑒𝑙 = min
junctions
𝑑𝑖𝑠𝑡 𝑛, 𝑗𝑢𝑛𝑐𝑡𝑖𝑜𝑛 ∗ 𝑐2
11
12. Agente basato su obiettivo (4/4)
• Attraverso diverse prove empiriche sono state fissati dei valori per i
parametri sia del primo che del secondo livello.
• Sono state effettuate 1000 prove e sono stati calcolati i punteggi minimo,
massimo e medio.
12
Risultati
Minimo 1.120
Media 6.295
Massimo 23.640
13. Ottimizzazione (1/3)
• Nel corso delle prove empiriche si è notato un comportamento sensibile ai
parametri dell’algoritmo.
• Si è quindi pensato di ottimizzare le prestazioni in maniera automatica.
• Si è deciso di utilizzare un Random Mutation Hill Climbing per
identificare i parametri ottimali.
13
14. Ottimizzazione (2/3)
• Il valore di ogni soluzione (combinazione di parametri) è stato valutato
utilizzando la media del punteggio su 100 partite.
• La soluzione di partenza è stata generata in due modi distinti: in maniera
casuale e a partire dai valori trovati empiricamente.
• Il vicino è stato generato a caso tra tutti i possibili spostamenti di passo ∆
fissato, e selezionato il primo con valore maggiore.
• Si è imposto il limite a 20 spostamenti non migliorativi per risolvere il
problema delle spalle.
14
15. Ottimizzazione (3/3)
• Il miglior risultato è stato ottenuto partendo dalla soluzione generata in
modo casuale.
• In seguito ne sono state valutate le prestazioni effettuando una ulteriore
prova di 1000 partite e selezionando punteggio minimo, massimo e medio.
15
Risultati
Minimo 1.100
Media 6.525
Massimo 23.750
16. Conclusioni
• Sono stati valutati diversi approcci per sviluppare un agente intelligente in
un ambiente competitivo.
• Sono state valutate le caratteristiche dell’approccio selezionato ed è stato
utilizzato un ulteriore livello di intelligenza per ottimizzarne le prestazioni.
16