ΠΛΗ 513-Αυτόνομοι Πράκτορες Χειμερινό εξάμηνο 2012 Εφαρμογή αλγορίθμων ενισχυτικής μάθησης στο παιχνίδι Βlackjack Χλης Νικόλαος-Κοσμάς Περιγραφή παιχνιδιού Βlackjack: Σκοπός του παιχνιδιού είναι ο παίκτης να τραβήξει όσα περισσότερα φύλλα μπορεί, φτάνοντας σε άθροισμα < 21. Κάθε παίκτης παίζει ενάντια στον dealer, ανεξάρτητα από τους υπόλοιπους παίκτες. Κάθε φύλλο έχει αξία στο άθροισμα όσο ο αριθμός του. Οι φιγούρες έχουν αξία 10 και ο άσσος έχει αξία είτε 11 (χρήσιμος άσσος) είτε 1 (μη χρήσιμος άσσος). Κάθε άσσος έχει αξία 11, εκτός και αν οδηγεί σε άθροισμα>21 οπότε σταματά να μετρά για 11 και πλέον αξίζει 1 έτσι ώστε το άθροισμα να παραμείνει κάτω από 21 προκειμένου να μην χάσει ο παίκτης. Στην αρχή του παιχνιδιού ο dealer μοιράζει 2 φύλλα στον παίκτη και τραβάει 2 ο ίδιος, με το ένα από τα 2 να είναι άγνωστο στον παίκτη (face-down). Στη συνέχεια ο παίκτης έχει 2 επιλογές. Να τραβήξει φύλλο (Hit) ή να σταματήσει (Hold). Αν τραβήξει φύλλο και ξεπεράσει στο άθροιμα το 21, τότε καίγεται και χάνει (player Bust). Στη συνέχεια παίζει ο dealer ντετερμινιστικά, όπου εμφανίζει το 2ο φύλλο του και συνεχίζει να τραβάει φύλλα μέχρι να φτάσει άθροισμα > 17 οπου και σταματάει, εκτός κι αν ξεπεράσει σε άθροισμα το 21 και χάσει (dealer Bust). Στο τέλος κερδίζει όποιος έχει άθροισμα πιο κοντά στο 21. Αν και οι 2 έχουν το ίδιο άθροισμα, το παιχνίδι λήγει ισόπαλο. Ειδική περίπτωση αποτελεί το λεγόμενο Blackjack όταν τα 2 πρώτα φύλλα που μοιράζονται στον παίκτη έχουν άθροισμα 21, τότε κερδίζει απ'ευθείας με καλύτερο συντελεστή κέρδους απ'ότι μία απλή νίκη, εκτός κι αν τα 2 φύλλα του dealer έχουν άθροισμα 21, οπότε το παιχνίδι λήγει ισόπαλο. Η περίπτωση του blackjack με τα 2 πρώτα φύλλα δεν έχει υλοποιηθεί στην παρούσα εργασία γιατί είναι τυχαία και ισοπίθανη για παίκτη και dealer, ενώ παράλληλα δεν έχει ενδιαφέρον από πλευράς ενισχυτικής μάθησης. Υπόθεση infinite deck (άπειρο σύνολο καρτών): Στην παρούσα υλοποίηση, γίνεται η υπόθεση του infinite deck. Δηλαδή, ο dealer τραβάει φύλλα από ένα σύνολο άπειρων καρτών. Συνεπώς η πιθανότητα να έρθει κάποιο φύλλο είναι ανεξάρτητη από τα φύλλα που έχουν μοιραστει ήδη. Επίσης, κάθε φύλλο έχει την ίδια πιθανότητα εμφάνισης. Η υπόθεση του infinite deck χρησιμεύει στο ότι δεν χρειάζεται να κρατείται ιστορικό με τα φύλλα που έχουν τραβηχθεί ήδη προκειμένου να ληφθεί απόφαση. Ίσως με πρώτη ματιά να μη φαίνεται ρεαλιστική αλλά αυτό δεν ισχύει. Πολλά καζίνο χρησιμοποιούν περισσότερα του ενός decks καρτών, ακριβώς για να μην είναι χρήσιμο για τον παίχτη να θυμάται πια φύλλα έχουν τραβηχθεί. Μοντελοποίηση παιχνιδιού Βlackjack: Το παιχνίδι blackjack μπορεί να μοντελοποιηθεί ως ντετερμινιστική μαρκωβιανή διεργασία απόφασης (Markov Decision Process - MDP) με ανταμοιβή r = +1,0,-1 για νίκη ισοπαλία ή ήττα αντίστοιχα και παράγοντα έπτωσης γ = 1 γιατί σημασία έχει η νίκη του γύρου και όχι ο αριθμός των κινήσεων. Κάθε training episode (trial) είναι ένας γύρος του παιχνιδιού. Δηλαδή ξεκινά με το μοίρασμα των πρώτων 2 φύλλων και λήγει με νίκη,ήττα ή ισοπαλία για τον παίκτη. Δείγμα (s,a,r,s') προκείπτει στο τέλος του training episode. Επίσης, ενδιάμεσα δείγματα με ανταμοιβή r=0 (πάντα) προκύπτουν κάθε φορά που ο παίκτης τραβάει φύλλο χωρίς να χάσει.
Καταστάσεις - s: Υπάρχουν 3 μεταβλητές κατάστασης (1) Το άθροισμα των φύλλων του παίκτη (τιμές 12-21), για άθροισμα <12 τραβάει φύλλο (Hit) σίγουρα, δεν χρειάζεται πολιτική. (2) Αν έχει χρήσιμο άσσο ή όχι. Κάθε άσσος θεωρείται χρήσιμος εκτός κι αν οδηγεί σε άθροισμα >21 οπότε θεωρείται μη χρήσιμος και μετράει για 1 (3) Η τιμή του φανερού φύλλου του dealer. Συνολικά είναι 10*2*10 = 200 διαφορετικές καταστάσεις. Ενέργειες - α: Σε κάθε κατάσταση ο παίκτης έχει 2 ενέργειες α = Hit ή α = Hold. Μοντελοποίηση συνάρτησης Q(s,a) H Συνάρτηση Q έχει τη μορφή πίνακα με 400 κελιά (200 καταστάσεις * 2 ενέργειες). Για να γίνει χρήση του αλγορίθμων που χρησιμοποιούν γραμμική αρχιτεκτονική προσέγγισης της συνάρτησης Q, απαιτείται μία γραμμική αρχιτεκτονική για αναπαράσταση πίνακα. Αυτό επιτυγχάνεται με χρήση indicator basis functions ως εξής: Q(s,α)=φ(s,α) T w Όπου φ(s,α) = [φ1(s,α) φ2(s,α)... φ399(s,α) φ400(s,α)] με φi(s,α) = 1 αν s = si, α = αi, αλλιώς φi(s,α) = 0. Για παράδειγμα, αν επιλεχθεί το κελί 3, τότε η συνάρτηση φ = [0 0 1 0... 0] με αποτέλεσμα μετά από το εσωτερικό γινόμενο να παραμένει μόνο η τιμή του w3 που ταυτίζεται με την τιμή του κελιού 3 του πίνακα. Ενισχυτική μάθηση ο αλγόριθμος LSPI O LSPI είναι ένας επαναληπτικός αλγόριθμος που χρησιμοποιεί γραμμική αρχιτεκτονική προσέγγισης της συνάρτησης Q. Συγκλίνει γρήγορα (σε 4 επαναλήψεις) σε καλή πολιτική, ακόμη και για σχετικά μικρό αριθμό δειγμάτων. Εκμεταλλεύτεται όλα τα δείγματα παράλληλα και η εξαγώμενη πολιτική δεν επηρεάζεται από τη σειρά εμφάνισης των δειγμάτων. Για πολύ μικρό αριθμό δειγμάτων ενδέχεται να μη συγκλίνει. Στη συγκεκριμένη εφαρμογή δεν υπήρχε σύγκλιση όταν δοκιμάστηκε για 10,000 δείγματα. Ενισχυτική μάθηση ο αλγόριθμος Q learning Στην παρούσα εργασία έγινε χρήση του αλγορίθμου Q learning με γραμμική προσέγγιση. Θα μπορούσε να χρησιμοποιηθεί και ο Q learning για αναπαράσταση πίνακα, αλλά προτιμήθηκε η γραμμική αρχιτεκτονική γιατί είχε γίνει ήδη υλοποίηση του αλγορίθμου LSPI. Δεν υπάρχει ποιοτική διαφορά γιατί ο Q learning για αναπαράσταση πίνακα και ο Q learning με γραμμική αρχιτεκτονική και indicator basis functions είναι ισοδύναμοι. Εκμεταλλεύτεται ένα δείγμα κάθε φορά με βάση τη σχέση: Όπου α ο ρυθμός μάθησης. Σύνολα δεδομένων (datesets) Κάθε dataset αποτελείται από δείγματα της μορφής (s,a,r,s') όπου: s: τρέχουσα κατάσταση, a: ενέργεια, r: ανταμοιβή, s': επόμενη κατάσταση. Έγινε χρήση 4 datasets 100,000 200,000 500,000 και 1,000,000 trials αντίστοιχα. Κάθε dataset είναι ανεξάρτητο από τα υπόλοιπα, αφού προέκυψε από ξεχωριστή διαδικασία δειγματοληψίας. Για παράδειγμα αφού έγινε η δειγματοληψία για το dataset των 100,000 trials, ξεκίνησε διαδικασία λήψης 200,000 καινούριων trials για το επόμενο dataset. Ο αριθμός των trials (training episodes) είναι μεγαλύτερος από τον αριθμό των δειγμάτων του αντίστοιχου dataset γιατί υπενθιμίζεται πως προκύπτουν και ενδιάμεσα
δείγματα όταν ο παίκτης τραβάει φύλλο χωρίς να χάσει. Q learning ρυθμός μάθησης Η επιλογή του ρυθμού μάθησης α έχει σημαντική επίδραση στην απόδοση του αλγορίθμου, τόσο στην τελική πολιτική που προκύπτει, όσο και στο αν ο αλγόριθμος συγκλίνει στη συγκεκριμένη πολιτική ή προκύπτουν ταλαντώσεις. Χρησιμοποιήθηκαν οι εξής τιμές του ρυθμού μάθησης α = 0.01, α=0.05, α = 0.5. Επίσης έγινε χρήση μεταβαλλόμενου ρυθμού μάθησης α = από 0.5 αρχικά ως 0.01 τελικά. Q learning Μεταβαλλόμενος ρυθμός μάθησης Έστω ότι υπάρχουν n=1,2,3,, Ν-1, Ν δειγματα συνολικά, τα οποία χωρίζονται σε Κ ίσα διαστήματα με βάση τους δείκτες κ_1, κ_2,..., κ_(κ-1). Θέλουμε ο ρυθμός μάθησης να ξεκινά από την τιμή α = α_start για το πρώτο διάστημα (n=1:k_1) και να καταλήγει στο α=α_end για το τελευταίο διάστημα (n=k_(k-1):n). Έστω ότι κάθε φορά που φτάνει σε κάποιον δείκτη κ, ο ρυθμός μάθησης πολλαπλασιάζεται με κάποιον παράγοντα συρρίκνωσης β. Σε αυτό το σημείο τα α_start, α_end, κ, Ν είναι γνωστά. Ο παράγοντας β υπολογίζεται ως εξής: α start = β Κ α end β= Κ α start α end Ακολουθεί το διάγραμμα μεταβολής του ρυθμού μάθησης στο dataset 1,000,000 trials για α_start = 0.5, α_end = 0.01, Κ = 10.
Q learning σύγκλιση βαρών και ρυθμός μάθησης Εξετάστηκε η σύκγλιση των βαρών του αλγορίθμου Q-learning ανάλογα με το ρυθμό μάθησης που χρησιμοποιήθηκε. Αναλυτικότερα, στο dataset 1,000,000 trials ανά 10,000 δείγματα ελεγχόνταν η διαφορά της νόρμας 2 της τρέχουσας τιμής των βαρών, με την προηγούμενη τιμή της. Σταθερός ρυθμός μάθησης: Μπλε: α = 0.01 Πράσινο: α = 0.05 Κόκκινο: α = 0.5 Παρατηρείται ότι όσο μικρότερος είναι ο ρυθμός μάθησης, τόσο μικρότερο είναι και το πλάτος των ταλαντώσεων. Για α=0.01 η μέθοδος συγκλίνει ικανοποιητικά. Για α = 0.05 έχει κάποιες μικρές ταλαντώσεις. Τέλος, για α=0.5 παρατηρούνται σημαντικές ταλαντώσεις στα βάρη και κατά πάσα πιθανότητα δεν υπάρχει σύγκλιση σε συγκεκριμένη πολιτική.
Μεταβαλλόμενος ρυθμός μάθησης από 0.5 σε 0.01: Στο δεύτερο διάγραμμα γίνεται σύγκριση με τους σταθερούς ρυθμούς μάθησης. Παρατηρείται τόσο στην αρχή όσο και σε ορισμένα σημεία στη συνέχεια γίνονται τοπικά μεγάλες ταλαντώσεις, οι οποίες αποσβαίνουν γρήγορα. Αυτές πιθανότατα εμφανίζονται κοντά στα σημεία όπου αλλάζει ο ρυθμός μάθησης.
Πολιτικές LSPI: Μπλε: ο παίκτης τραβάει φύλλο. Κόκκινο: ο παίκτης σταματά. Άξονας x: φύλλο dealer (τιμές 1-10). Άξονας y: άθροισμα φύλλων παίκτη (τιμές 12-21). Αριστερή στήλη: Ο παίκτης δεν έχει χρήσιμο άσσο (που να μετράει για 11). Δεξιά στήλη: Ο παίκτης έχει χρήσιμο άσσο (που να μετράει για 11). 1η γραμμή: 100,000 trials, 2η γραμμή: 200,000 trials, 3η γραμμή: 500,000 trials, 4η γραμμή: 1,000,000 trials Παρατηρείται ότι όταν έχει χρήσιμο άσσο, ο παίκτης ρισκάρει περισσότερο. Αφού ο χρήσιμος άσσος αποτελεί μία δικλείδα ασφαλείας.
Πολιτικές Q-learning, α=0.01:
Πολιτικές Q-learning, α=0.05:
Πολιτικές Q-learning, α=0.5: Σύμφωνα με τις παραπάνω πολιτικές, για τόσο μεγάλο ρυθμό μάθησης ο αλγόριθμος κατά πάσα πιθανότατα παρουσιάζει ταλαντώσεις και δε συγκλίνει σε συγκεκριμένα βάρη.
Πολιτικές Q-learning, α μεταβαλλόμενο από 0.01 σε 0.5:
Αποτελέσματα - Γραφήματα Αποτελούν μέσο όρο σε σύνολο 100,000 παιχνιδιών. 0 trials: Δεν έχει γίνει εκπαίδευση, επιλογή Hit ή Hold τυχαία, με ίση πιθανότητα.
Αποτελέσματα Πίνακες Νίκες trials 0 100,000 200,000 500,000 1,000,000 LSPI 26% 37.6% 37.6% 38.3% 38.4% Q-learning α=0.01 26% 41.9% 39.2% 37.3% 36% Q-learning α=0.05 26% 38.4% 39.3% 40% 35.8% Q-learning α=0.5 26% 36.7% 36.7% 36.7% 37% Q-learning α= από 0.5 ως 0.01 26% 38.3% 39.3% 38.8% 36.3% Ισοπαλίες trials 0 100,000 200,000 500,000 1,000,000 LSPI 5% 8% 8% 8.2% 8.3% Q-learning α=0.01 5% 8.8% 7.6% 7% 6.4% Q-learning α=0.05 5% 7.2% 8.1% 8.7% 7.5% Q-learning α=0.5 5% 7.8% 7.5% 8.1% 7.8% Q-learning α= από 0.5 ως 0.01 5% 7.2% 8.3% 8.8% 8.6% Ήττες trials 0 100,000 200,000 500,000 1,000,000 LSPI 69% 54.4% 54.4% 53.5% 53.3% Q-learning α=0.01 69% 49.3% 53.2% 55.7% 57.6% Q-learning α=0.05 69% 54.4% 52.6% 51.3% 56.7% Q-learning α=0.5 69% 55.5% 55.8% 55.2% 55.2% Q-learning α= από 0.5 ως 0.01 69% 54.5% 52.4% 52.4% 55.1% Για 100,000 και 200,000 trials κερδίζει πιο συχνά ο Q-learning με α = 0.01. Για 500,000 trials κερδίζει πιο συχνά ο Q-learning με α = 0.05. Για 1,000,000 trials κερδίζει πιο συχνά ο LSPI. Υπενθυμίζεται ότι τα datasets είναι ανεξάρτητα, επομένως κατά πάσα πιθανότητα η καλή συμπεριφορά του Q learning (α=0.01) για 100,000 και 200,000 trials οφείλεται στη μέθοδο και όχι στο ότι έτυχαν και τις 2 φορές καλά δείγματα. Σε βάθος δειγμάτων φαίνεται πως υπερισχύει o αλγόριθμος LSPI. Επίσης, ο LSPI ως προς το πλήθος των δειγμάτων είναι πιο ευσταθής τόσο ως προς την ποιότητα των αποτελεσμάτων όσο και στις εξαγόμενες πολιτικές. Τέλος, δεν παρατηρήθηκε ιδιαίτερη ευαισθησία του LSPI ως προς το κριτήριο σύγκλισης. Για μεταβολή του eps από 10^-2 σε 10^-4 στο dataset των 100,000 trials, ο αλγόριθμος κατέληγε σε σύγκλιση στον ίδιο αριθμό επαναλήψεων (4 επαναλήψεις).