Aυτόνομοι Πράκτορεσ Ενισχυτική μαθηση σto Peg Solitaire Εργασία Εξαμήνου Μαρίνα Μαυρίκου 2007030102
Το παιχνιδι Peg Solitaire Γενικά: Παιχνίδι 1 ατόμου Κίνηση μέσω πουλιών Ξεκινάει από την ίδια αρχική κατάσταση Το μεσαίο πούλι φεύγει Σκοπός: Να αδειάσει το ταμπλό και να μείνει με ένα μόνο πούλι.
Το παιχνιδι Peg Solitaire Υποθέσεις για την εργασία: Πιθανότητα το μεσαίο πούλι να μη φύγει (~0.1) Ο πράκτορας επιλέγει πιο συχνά να κάνει κινήσεις προς τα πάνω (p=0.3) και λιγότερες προς τα κάτω ή οριζόντια (p=0.1).
Σκοποσ του Project Σκοπός της εργασίας: Εύρεση βέλτιστης πολιτικής, για να φτάσουμε στη σωστή τελική κατάσταση. Οι καταστάσεις που δεν καταλήγουμε με ένα μόνο πούλι είναι λανθασμένες τελικές καταστάσεις Μέσω του Value Iteration βρίσκω τις βέλτιστες ενέργειες, που έχει να κάνει ο πράκτορας, για να φτάσει στην σωστή τελική κατάσταση με τη μέγιστη χρησιμότητα. Μέσω του Q – learning, ο πράκτορας μαθαίνει τι ενέργειες πρέπει να κάνει ανάλογα σε ποια κατάσταση βρίσκεται.
Value Iteration Υπολογισμός βέλτιστης πολιτικής Υπολογισμός χρησιμοτήτων κάθε κατάστασης Επιλογή μέγιστων χρησιμοτήτων Τύπος υπολογισμού χρησιμοτήτων κάθε κατάστασης:
Value Iteration To Value Iteration για το Peg Solitaire: Εύρεση και αποθήκευση, μέσω των δυνατών ενεργειών, όλων των καταστάσεων του παιχνιδιού, αναδρομικά. Σε κάθε κατάσταση: Βρίσκω τα παιδιά της Υπολογίζω τη χρησιμότητα όλων των παιδιών με βάση τον τύπο Επιλέγω την ενέργεια με τη μέγιστη χρησιμότητα. Χρησιμοποιώ γ=1 και R=0.04. Για κάθε σωστή τελική κατάσταση, η χρησιμότητα ορίζεται με 2 Για κάθε λάθος τελική κατάσταση, η χρησιμότητα ορίζεται με -1. Για οποιαδήποτε άλλη κατάσταση ,ορίζεται με 0. Aριθμός Επαναλήψεων=100
Αποτελεσματα του Value Iteration Για 100 επαναλήψεις Με το πέρας των επαναλήψεων οι τιμές τους παραμένουν σταθερές
Αποτελεσματα του Value Iteration Kάθε φορά καταλήγει στη σωστή τελική κατάσταση Ο πράκτορας στην πρώτη επανάληψη: Ο πράκτορας στην 100στή επανάληψη:
Q- Learning Mάθηση μίας αναπαράστασης αξίας ενεργειών αντί για χρησιμότητες. Δε χρειάζεται μοντέλο για τη μάθηση και την επιλογή ενέργειας Υπολογισμός των τιμών Q: όπου Q(s,a)=τιμή Q κάθε κατάστασης α=ρυθμός μάθησης γ=discount factor Q(s’,a’)=η τιμή Q της κατάστασης s’ αν κάνω την ενέργεια a’.
Q- Learning Σχετικά με το παιχνίδι: Αρχικά ο πράκτορας επιλέγει τυχαία ενέργειες δοκιμάζοντας πολύ λίγο να παίξει με τις δικές του γνώσεις. Υπολογίζει την τιμή Q. Kαταλήγει σε τελικές καταστάσεις. Μετά από 100 επαναλήψεις: Τα τυχαία παιχνίδια γίνονται λιγότερα και ο πράκτορας επιλέγει καταστάσεις με βάση τη γνώση. Βασίζεται στις τιμές των Q που έχει υπολογίσει κατά την εξερεύνηση
Q- Learning Ψευδοκώδικας που υλοποιεί το πώς ο πράκτορας σταματά να επιλέγει τυχαίες κινήσεις: Choose_Play: randomOrknowledge=0; Random r=new Random(); iterations=1000; counter=0; while(counter!=iterations){ if (randomOrknowledge> r.random(100);){ Choose by knowledge } else{ Choose Randomly randomOrknowledge++; Αφού το 100 είναι ένας σχετικά μεγάλος αριθμός , αρχικα διασφαλίζουμε ότι ο πράκτορας θα παίζει τυχαία. Η μεταβλητή randomOrknowledge αυξάνεται κάθε φορά που κάνουμε μια τυχαία επιλογή. Δηλαδή προστίθεται λίγη γνώση.
Αποτελεσματα Q-Learning 8 στα 10 παιχνίδια ο πράκτορας νικάει Mετά από μία επανάληψη: Μετά από 1000 επαναλήψεις:
Προβληματα-Μελλοντικη Δουλεια Όσο αυξάνουμε την πιθανότητα να μη φεύγει ένα πούλι, οι καταστάσεις αυξάνονται εκθετικά: Έλλειψη μεγέθους μνήμης Σύνδεση με το γραφικό περιβάλλον, έτσι ώστε να βλέπουμε και οπτικά τα αποτελέσματα Για το Q-learning: Ο πράκτορας να υπολογίζει πιο σωστά την τιμή Q ώστε μετά από επαναλήψεις να επιλέγει πάντα τη σωστή τελική κατάσταση.
Σας ευχαριστώ! Απορίες?? Σας ευχαριστώ! Απορίες??