ΠΛΗ513 - Αυτόνομοι Πράκτορες Αναφορά Εργασίας Ομάδα εργασίας: LAB51315282 Φοιτητής: Μάινας Νίκος ΑΦΜ: 2007030088 ΠΕΡΙΓΡΑΦΗ ΙΔΕΑΣ Η ιδέα της εργασίας βασίζεται στην εύρεση της καλύτερης πολιτικής για ένα πράκτορα, ο οποίος τοποθετείται σε ένα Grid World έχοντας ως αποστολή να βρεθεί στο κελί-στόχο που του υποδεικνύεται, αποφεύγοντας παράλληλα την συνάντηση με έναν άλλο πράκτορα που έχει το ρόλο του κυνηγού. Στην ουσία ο πράκτορας προσπαθεί, για κάθε θέση που μπορεί να βρεθεί μέσα στο κόσμο, να υπολογίσει την καλύτερη κίνηση που πρέπει να εκτελέσει, λαμβάνοντας υπόψιν όλες τις πιθανές θέσεις που μπορεί να βρεθεί ο αντίπαλός του καθώς και τις πιθανές ενέργειές του. Για να πραγματοποιηθεί ο υπολογισμός της βέλτιστης πολιτικής εφαρμόζεται ο αλγόριθμος του Value Iteration. Ο αλγόριθμος βασίζεται στην επαναληπτική επίλυση των εξισώσεων βελτιστότητας Bellman, με αποτέλεσμα την εξαγωγή της βέλτιστης πολιτικής με άπληστη βελτίωση. Για την εφαρμογή του αλγορίθμου απαιτείται η μετατροπή του προβλήματος σε Μαρκωβιανή Διεργασία Απόφασης (Markov Decision Process - MDP). Ένα MDP είναι μια διεργασία στοχαστικού ελέγχου διακριτού χρόνου. Παρέχει ένα μαθηματικό πλαίσιο, το οποίο μοντελοποιεί τη λήψη αποφάσεων σε καταστάσεις όπου το αποτέλεσμα είναι μερικώς τυχαίο αλλά και εξαρτάται από ένα πρόγραμμα λήψης αποφάσεων. ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΒΛΗΜΑΤΟΣ Για να μετατραπεί το πρόβλημα, που εξετάζεται, σε MDP πρέπει να καθοριστούν πλήρως οι παράμετροι της διεργασίας. Πιο συγκεκριμένα, ο χώρος καταστάσεων καθορίζεται από τον συνδυασμό όλων των θέσεων που μπορούν να βρεθούν τόσο ο πράκτορας όσο και ο αντίπαλος μέσα στο κόσμο (Σχήμα 1). Αυτό οφείλεται στην κίνηση του αντιπάλου, που κάθε χρονική στιγμή διαμορφώνει διαφορετικά τον κόσμο, επομένως πρέπει να ληφθούν υπόψιν όλες οι περιπτώσεις. Ως τελικές καταστάσεις χαρακτηρίζονται οι καταστάσεις όπου ο πράκτορας βρίσκεται στο κελί-στόχο, καθώς και όλες οι καταστάσεις όπου η θέση του πράκτορα και του αντιπάλου ταυτίζονται μέσα στο κόσμο. 1
Σχήμα 1: Πιθανές θέσεις αντιπάλου Ο χώρος ενεργειών καθορίζεται από το σύνολο των επιτρεπτών κινήσεων που μπορεί να εκτελέσει ο πράκτορας μέσα στον κόσμο. Για το πρόβλημα που μελετάται, οι δυνατές κινήσεις ανήκουν στο σύνολο {FORWARD, BACK, LEFT, RIGHT}. Έπειτα είναι αναγκαίο να οριστεί και το μοντέλο μετάβασης, ο καθορισμός του οποίου είναι πιο σύνθετος. Για την μελέτη του προβλήματος έχει καθοριστεί ότι πρώτα ενεργεί ο πράκτορας και έπειτα ο αντίπαλος. Επομένως σε πρώτη φάση μελετάται το αποτέλεσμα της ενέργειας του πράκτορα και έπειτα του αντιπάλου. Και αυτό διότι πρέπει να συμπεριληφθούν και οι περιπτώσεις όπου η μετάβαση του πράκτορα οδηγεί σε τελική κατάσταση. Σε αυτές τις περιπτώσεις η μετάβαση ζυγίζεται σύμφωνα με το μοντέλο κίνησης του πράκτορα. Για όλες τις άλλες περιπτώσεις πρέπει να ληφθεί υπόψη και η κάθε ενέργεια του αντιπάλου ώστε να προκύψουν νέες καταστάσεις. Αυτές οι μεταβάσεις ζυγίζονται συνδυάζοντας το μοντέλο κίνησης του πράκτορα αλλά και το μοντέλο κίνησης του αντιπάλου. 2
Από την στιγμή που το πρόβλημα έχει εκφραστεί ως MDP μπορεί να εφαρμοστεί ο αλγόριθμος του Value Iteration ώστε να προκύψει η βέλτιστη πολιτική. Ο αλγόριθμος κάνει χρήση της εξίσωσης Βελτιστότητας Bellman V π (s) = max {R(s, α) + γ Π(s s, α)v π (s )} (1) α A s S Όπου α είναι η κάθε ενέργεια, Π(s s, α) είναι το μοντέλο μετάβασης, R(s, α) είναι το μοντέλο ανταμοιβής και γ ο παράγοντας έκπτωσης. Για το πρόβλημα όμως χρησιμοποιείται η εξής παραλλαγή της παραπάνω εξίσωσης V π (s) = R(s) + γ max { Π(s s, α)v π (s )} (2) α A s S 3
ΥΛΟΠΟΙΗΣΗ Η εργασία υλοποιήθηκε στην γλώσσα προγραμματισμού Java, χρησιμοποιώντας το βοηθητικό υλικό GridWorld από την ιστοσελίδα του μαθήματος. Πιο συγκεκριμένα διατηρήθηκε το γραφικό περιβάλλον που παρείχε, ώστε ο χρήστης να μπορεί να συνθέτει διαφορετικούς κόσμους με διαφορετικές παραμέτρους, αλλά και να υπάρχει οπτικοποίηση του αποτελέσματος για δεδομένη κατάσταση. Από εκεί και πέρα ακολουθείται διαφορετική προσέγγιση για την υλοποίηση του αλγορίθμου Value Iteration σε σχέση με την υπάρχουσα υλοποίηση. Επιπλέον έχει καθοριστεί ότι τόσο ο πράκτορας όσο και ο αντίπαλος έχουν το ίδιο σύνολο δυνατών ενεργειών καθώς και το ίδιο μοντέλο κίνησης. Οι βασικότερες μέθοδοι της υλοποίησης είναι: initworldstates(): Πραγματοποιεί τον καθορισμό των καταστάσεων του κόσμου, δηλαδή την εξαγωγή όλων των δυνατών θέσεων που μπορούν να βρεθούν ο πράκτορας και ο αντίπαλος μέσα στον κόσμο που έχει οριστεί. computeutility(): Υπολογίζει το Utility κάθε κατάστασης. Πρώτα υπολογίζει την βέλτιστη ενέργεια του πράκτορα για την κατάσταση αυτή λαμβάνοντας υπόψιν και κάθε πιθανή ενέργεια του αντιπάλου και έπειτα υπολογίζει το Utility της κατάστασης. computestrategy(): Πραγματοποιεί τον έλεγχο σύγκλισης για κάθε κατάσταση ώστε να προκύψει η βέλτιστη πολιτική. ΑΠΟΤΕΛΕΣΜΑΤΑ Με την ολοκλήρωση του αλγορίθμου του Value Iteration προκύπτει και η βέλτιστη πολιτική. Η οπτικοποίηση της οποίας δεν είναι δυνατή λόγω της ύπαρξης του κινούμενου αντιπάλου. Για τον λόγο αυτό όταν ο έλεγχος σύγκλισης στην μέθοδο comptutestrategy() ολοκληρωθεί προκύπτει ένα αρχείο στο οποίο τυπώνεται για κάθε κατάσταση του κόσμου η βέλτιστη ενέργεια που μπορεί να εκτελέσει ο πράκτορας (Σχήμα 3). Επιπλέον κατά την αρχικοποίηση του κόσμου ο χρήστης τοποθετεί τον αντίπαλο σε κάποια θέση, και με την ολοκλήρωση του αλγορίθμου εμφανίζεται στο χρήστη η πολιτική για την δεδομένη κατάσταση του κόσμου (Σχήμα 2). 4
Σχήμα 2: Εμφάνιση βέλτιστης πολιτικής για τη συγκεκριμένη κατάσταση Σχήμα 3: Η βέλτιστη πολιτική όπως καταγράφεται στο αρχείο για κάθε κατάσταση 5
ΣΥΜΠΕΡΑΣΜΑΤΑ Ένα από τα βασικότερα συμπεράσματα που προκύπτει από την μελέτη του συγκεκριμένου προβλήματος είναι η εκθετική αύξηση του χώρου καταστάσεων που προκύπτει. Όπως αναφέρεται και παραπάνω ο χώρος καταστάσεων προκύπτει από τον συνδυασμών όλων των δυνατών θέσεων μεταξύ του πράκτορα και του αντιπάλου του. Επομένως για ένα κόσμο μεγέθους n x m, ο χώρος καταστάσεων θα έχει μέγεθος n 2 x m 2 (υποθέτοντας την μη-ύπαρξη εμποδίων στο κόσμο) (Σχήμα 1). Γίνεται έτσι εύκολα κατανοητό ότι η προσθήκη επιπλέον πρακτόρων στον κόσμο δεν είναι εύκολο να μοντελοποιηθεί και να υπολογιστεί λόγω του μεγάλου αριθμού καταστάσεων που προκύπτει. Εξίσου σημαντικό είναι και ο ακριβής καθορισμός του προβλήματος αλλά και η μετατροπή του σε MDP. Αν δεν περιγραφούν σωστά οι παράμετροι της διεργασίας τότε και τα αποτελέσματα που προκύπτουν δεν είναι αξιόπιστα. 6