ΠΛΗ513 – ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ 2012 Ακασιάδης Χαρίλαος
Το Παιχνίδι.. Έτοιμη πλατφόρμα σε Java, στα πλαίσια διαγωνισμού ○ URL: ○ Παρουσίαση αποτελεσμάτων στο WCCI 2012 Ζητούμενο: Υλοποίηση ελεγκτών για την Ms. Pac-man ή για την ομάδα των φαντασμάτων
Το Πρόβλημα Πρόβλημα καθολικής ρομποτικής πλοήγησης ○ Γνωστός χάρτης ○ Γνωστή θέση ○ Ζητούμενο: -ο σχεδιασμός διαδρομής -ο έλεγχος κίνησης Περιορισμός στον χρόνο απόκρισης, max 40ms
Ο Controller DynamicPac [1/3] Οι διαθέσιμες κινήσεις σε κάθε θέση που βρίσκεται (min 2, max 4) είναι όσες και τα δυνατά μονοπάτια μήκους range Στόχος: Έλεγχος περιεχομένου των range κόμβων κάθε μονοπατιού και ανάθεση τιμής δυναμικού στις δυνατές κινήσεις Περιεχόμενα: Empty, Pill, Power Pill, Ghost, Edible Ghost
Ο Controller DynamicPac [2/3] Μεγάλο range οδηγεί σε μεγάλη πολυπλοκότητα - χρονοβόρο Εξαγωγή μέσου όρου και ανάθεση δυναμικού σε κάθε δυνατή κίνηση Επιλογή της κίνησης με τη μεγαλύτερη τιμή δυναμικού
Ο Controller DynamicPac [3/3] public MOVE getMove(){ float[availableMoves.length()] dynamic=computemovedynamic(range); return indexOf(max:dynamic) } public float[] computeMoveDynamic(int range){ for each possible move: dfield[j]=computeRouteDynamic(startingNode,move,range); return dfield; } public float computeRouteDynamic(int nodeid, MOVE direction, int range) { // check each node in route and assign value based to it’s content if (node==crossroad), for each direction!=lastmove.Opposite() nodescore[direction]=computeRouteDynamic(startingNode,move,range-depth); return average score of nodes; }
Πειραματικά Αποτελέσματα Ανάθεση Αξιών στα Περιεχόμενα Εύρεση Βέλτιστου Εύρους Παρατήρησης Vs. 4 Ομάδων Αντιπάλων Avg: Max: vs. Aggressive
Προοπτικές Εξέλιξης Αποφυγή Περικυκλώσεων Διεύρυνση Εύρους Ελέγχου Κόμβων σε Ειδικές Περιπτώσεις Μεταβαλλόμενες τιμές δυναμικού (Power Pill πιο ισχυρό όταν υπάρχουν κοντά φαντάσματα)
Video από Gameplay Vs. RandomGhosts Vs. StarterGhosts
Ευχαριστώ πολύ! Ερωτήσεις;