ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Παράδοση: 5 Απριλίου 2012 Μιχελιουδάκης Ευάγγελος 2007030014 ΠΛΗ513: Αυτόνομοι Πράκτορες ΑΝΑΦΟΡΑ ΕΡΓΑΣΙΑΣ Εισαγωγή Η εργασία με τίτλο Grid World με δύο πράκτορες υλοποιήθηκε στα πλαίσια του μαθήματος Αυτόνομοι Πράκτορες στο χειμερινό εξάμηνο 2011-12 και βασίζεται στο κλασικό ακολουθιακό πρόβλημα απόφασης του Grid World, με την διαφορά ότι υπάρχουν δύο πράκτορες στο περιβάλλον αυτό, που συνεργάζονται για να μεγιστοποιήσουν την συνολική χρησιμότητα τους. Κάθε ένας από τους δύο πράκτορες έχει την δική του κατάσταση στόχο και ο συνδυασμός των δύο αποτελεί τερματική κατάσταση, δηλαδή η κατάσταση στόχος του ενός πράκτορα δεν αποτελεί από μόνη της τερματική κατάσταση. Συνεπώς για να τερματίσει η αλληλεπίδραση τους με το περιβάλλον πρέπει να συνεργαστούν ώστε ο καθένας από τους δύο να φτάσει στην κατάσταση στόχο του. Η ιδέα βασίζεται στην μοντελοποίηση του προβλήματος σαν μαρκωβιανή διεργασία απόφασης MDP (Mrkov Desicion Process) και επίλυσης του με τον αλγόριθμο Vlue Itertion ώστε να προκύψει η βέλτιστη πολιτική για έναν δεδομένο κόσμο. Για την επίλυση του προβλήματος χρησιμοποιήθηκε η γλώσσα Jv στην οποία υλοποιήθηκε ο αλγόριθμος Vlue Itertion και δημιουργήθηκε ένα γραφικό περιβάλλον GUI για αλληλεπίδραση με τον χρήση. Περιγραφή Για την επίλυση του προβλήματος και την μοντελοποίηση του σαν μαρκωβιανή διεργασία απόφασης, θεωρήσαμε τους πράκτορες σαν δύο πιόνια του κόσμου όπου ο κάθε συνδυασμός των θέσεων τους είναι μία κατάσταση της MDP, με s 1, s 2 να προσδιορίζουν τις θέσεις τους στον κόσμο. s = [s 1, s 2 ] (1) 1
Σύμφωνα με τον ορισμό αυτό η τερματική κατάσταση θα αποτελείται, όπως ήδη αναφέραμε από τον συνδυασμό των θέσεων που βρίσκονται οι καταστάσεις στόχοι των δύο πρακτόρων. Επιπλέον τερματικές καταστάσεις θεωρούνται όλες εκείνες όπου ο ένας εκ των δύο πρακτόρων βρίσκεται σε τελική αρνητική κατάσταση, ανεξαρτήτως της θέσης του άλλου. Με αυτό τον τρόπο αναγκάζουμε τους δύο πράκτορες να συνεργαστούν για να πετύχουν (Σχήμα 1). Σχήμα 1: Grid World Στην συνέχεια ορίσαμε με αντίστοιχο τρόπο τις επιτρεπτές ενέργειες του κόσμου ως τον κάθε συνδυασμό ενεργειών των δύο πρακτόρων, = [ 1, 2 ] (2) όπου 1, 2 παίρνουν τιμές από ένα σύνολο επιτρεπτών ενεργειών (Forwrd, Left, Right, Bck και Wit) δηλαδή, 1, 2 (F orwrd, Left, Right, Bck, W it) χρησιμοποιώντας τις σχέσεις (1) και (2) το πρόβλημα ανάγεται σε πρόβλημα εύρεσης βέλτιστης πολιτικής ενός πράκτορα με καταστάσεις s και ενέργειες που προσπαθεί να μεγιστοποιήσει την χρησιμότητα του επιλέγοντας τις βέλτιστες ενέργειες για τα δύο ρομπότ του κόσμου. Επιπλέον χρειαζόμαστε και το μοντέλο μετάβασης T (s,, s ) της MDP το οποίο σε αντίθεση με το κλασικό Grid World δεν ταυτίζεται με το μοντέλο κίνησης και είναι αρκετά πιο περίπλοκο. Πιο συγκεκριμένα για την ενέργεια το μοντέλο μετάβασης στο συγκεκριμένο πρόβλημα μπορεί να μας οδηγήσει 2
σε 32 διαφορετικές καταστάσεις αν κανένα από τα δύο ρομπότ δεν εκτελέσει ενέργεια Wit, η οποία δεν συμπεριλαμβάνεται στο μοντέλο κίνησης και επιτυγχάνει με πιθανότητα 1 και σε 4 διαφορετικές αν κάποιο από τα δύο την εκτελέσει, σε αυτό το σημείο να προσθέσουμε ότι δεν θεωρούμε έγκυρη την ενέργεια = [W it, W it] καθώς δεν επηρεάζει τον κόσμο αφού με πιθανότητα 1 τα ρομπότ θα μείνουν στην ίδια θέση και για τον λόγο αυτό δεν υλοποιήθηκε. Ο πράκτορας για να εκτελέσει μια ενέργεια επιλέγει τυχαία ένα από τα δύο ρομπότ του κόσμου, ρίχνοντας ένα νόμισμα, και εκτελεί τις 1, 2 με την ανάλογη σειρά, οπότε η μπορεί να εκτελεστεί ισοπίθανα είτε ως = [ 1, 2 ] είτε ως = [ 2, 1 ]. Συνεπώς σε κάθε περίπτωση αν κανένα από τα δύο ρομπότ δεν εκτελέσει ενέργεια Wit τότε η ενέργεια του πρώτου μπορεί να οδηγήσει σε 4 διαφορετικές καταστάσεις, ζυγισμένες με τις πιθανότητες του μοντέλου κίνησης και κάθε μία από αυτές μπορεί να οδηγήσει σε άλλες 4 από την ενέργεια του δεύτερου ρομπότ, η οποία ζυγίζεται επίσης με το μοντέλο κίνησης (Σχημα 2). Σε περίπτωση που κάποιο από τα δύο ρομπότ εκτελέσει ενέργεια Wit τότε οδηγούμαστε σε συνολικά 8 διαφορετικές καταστάσεις, με αντίστοιχο τρόπο, καθώς η ενέργεια Wit επιτυγχάνει με πιθανότητα 1 (Σχήμα 3). Χρησιμοποιώντας όλα όσα περιγράψαμε πιο πάνω υλοποιήσαμε τον αλγόριθμο Vlue Itertion ο οποίος υπολογίζει την βέλτιστη πολιτική του πράκτορα για κάποιο δεδομένο κόσμο κάνοντας χρήση της εξίσωσης βελτιστώτητας Bellmn, V (s) = R(s) + γ mx T (s,, s )V (s ) (3) s στην οποία η συνάρτηση ανταμοιβής καθώς και ο συντελεστής έκπτωσης παρέχονται σαν παράμετροι από το γραφικό περιβάλλον που υλοποιήθηκε. Το γραφικό περιβάλλον (GUI) παρέχει δυνατότητες δημιουργίας κόσμων και παραμετροποίηση του προβλήματος και του αλγορίθμου καθώς και πληροφορίες σχετικά με την επίλυση του. Επιπλέον παρέχει λειτουργία Animtion για οπτικοποίηση της πολιτικής που υπολογίστηκε για κάποιο δεδομένο κόσμο. Προβλήματα - Συμπεράσματα Μετά τον υπολογισμό της βέλτιστης πολιτικής ένα πρόβλημα που παρουσιάστηκε ήταν η αδυναμία οπτικοποίησης του αποτελέσματος, για τον λόγο αυτό δημιουργήθηκε μια λειτουργία Animtion, την οποία αναφέραμε πιο πάνω, στην οποία για δεδομένες θέσεις των ρομπότ του κόσμου μπορούμε να δούμε την ε- κτέλεση της πολιτικής που υπολογίστηκε. 3
Forth S 1 Forth Left S 2 Right S 3 Bck S 4 Forth S 5 Left Left S 6 Right S 7 ( 1, 2 ) Bck S 8 Forth S 9 Right Left S 10 Right S 11 Bck S 12 Forth S 13 Bck Left S 14 Right S 15 Bck S 16 Forth S 17 Forth Left S 18 Right S 19 Bck S 20 Forth S 21 Left Left S 22 Right S 23 ( 2, 1 ) Bck S 24 Forth S 25 Right Left S 26 Right S 27 Bck S 28 Forth S 29 Bck Left S 30 Right S 31 Bck S 32 Σχήμα 2: Μοντέλο μετάβασης χωρίς Wit 4
Forth Wit S 1 ( 1, 2 ) Left Wit S 2 Right Wit S 3 Bck Wit S 4 Forth S 5 ( 2, 1 ) Wit Left S 6 Right S 7 Bck S 8 Σχήμα 3: Μοντέλο μετάβασης με Wit Επιπλέον πρόβλημα αποτελεί το γεγονός ότι έχουμε εκθετική αύξηση καταστάσεων όσο μεγαλώνει ο κόσμος με αποτέλεσμα να έχουμε μεγάλη πολυπλοκότητα στον υπολογισμό της πολιτικής. Συμπεραίνουμε λοιπόν ότι το πρόβλημα δεν μπορεί να επεκταθεί με τον συγκεκριμένο τρόπο επίλυσης για περισσότερους πράκτορες γιατί θα υπάρχει μεγάλο πρόβλημα στον υπολογισμό λόγο καταστάσεων και ακόμα πιο περίπλοκο μοντέλο μετάβασης της MDP. 5