Θεωρία Παιγνίων Δρ. Τασσόπουλος Ιωάννης
1 η Διάλεξη Ορισμός Θεωρίας Παιγνίων και Παιγνίου Κατηγοριοποίηση παιγνίων Επίλυση παιγνίου Αξία (τιμή) παιγνίου Δίκαιο παίγνιο Αναπαράσταση Παιγνίου Με πίνακα Με δένδρο Με γράφημα Αλγόριθμος minimax-παραδείγματα παιγνίων Αλγόριθμος κλαδέματος Άλφα-Βήτα
Τι είναι η Θεωρία Παιγνίων Η Θεωρία Παιγνίων εστιάζει στην αλληλεπιδραστική συμπεριφορά λογικών όντων. Ένα λογικό ον δρα πάντα σκοπίμως και λογικά, έχει καλά ορισμένους στόχους, ενώ το κίνητρό του είναι η όσο το δυνατόν επιτυχέστερη επίτευξη των στόχων αυτών. Επίσης, το ον διαθέτει την υπολογιστική δυνατότητα που απαιτεί η διαδικασία επίτευξης των στόχων. (Aumann, 1985)
Οι πρωτοπόροι Πρωτοπόροι της Θεωρίας Παιγνίων υπήρξαν στις αρχές του 20 ου αιώνα οι Μαθηματικοί Ernst Zermelo (1913) και John von Neumann (1928). Ορόσημο υπήρξε η δημοσίευση του βιβλίου των John von Neumann και Oscar Morgenstern : Theory of games and economic behavior, το 1944. Ακολούθησε η σημαντική εργασία του John Nash (1950-51) και του Lloyd Shapley (1953).
Ο αντίκτυπος της Θεωρίας Παιγνίων Αν και η Θεωρία Παιγνίων αρχικά είχε επιρροή στην Οικονομία (βιομηχανική παραγωγή, Διεθνές εμπόριο, Μακροοικονομία κ.λ.π.) στην συνέχεια επηρέασε και άλλες επιστήμες όπως τις Πολιτικές Επιστήμες, Διεθνείς Σχέσεις, Φιλοσοφία, Κοινωνιολογία, Ανθρωπολογία, αλλά και Βιολογία, Πληροφορική, Μαθηματική Λογική κ.λ.π. Το 1994, το βραβείο Nobel των Οικονομικών δόθηκε στους John Nash, John Harsanyi and Reinhardt Selten για την συνεισφορά τους στην Οικονομική επιστήμη μέσω της Θεωρίας Παιγνίων.
Ορισμός Παιγνίου (Game) Παίγνιο (game): Η κατάσταση εκείνη κατά την οποία δύο ή περισσότεροι ορθολογικοί παίκτες με αντικρουόμενους στόχους επιλέγουν τρόπους ενέργειας, από ένα προκαθορισμένο σύνολο ενεργειών, δημιουργώντας συνθήκες ανταγωνιστικής αλληλεξάρτησης. Ο σκοπός του παιγνίου είναι η μεγιστοποίηση του κέρδους του κάθε παίκτη ή η ελαχιστοποίηση της ζημίας του.
Κατηγοριοποίηση παιγνίων (1/3) Παίγνιο μηδενικού αθροίσματος ονομάζεται κάθε παίγνιο όπου το κέρδος ενός παίκτη ισούται με την ζημία του άλλου (και επομένως δεν υπάρχει περιθώριο συνεργασίας μεταξύ τους) Τονίζεται ότι το κέρδος ενός παίκτη δεν εξαρτάται μόνο από τις αποφάσεις του παίκτη αλλά και από τις αποφάσεις-αντιδράσεις των υπολοίπων παικτών. Έτσι, το όφελος ενός παίκτη μπορεί να είναι εν μέρει ή ολοκληρωτικά σε αντίθεση προς το όφελος των υπολοίπων παικτών.
Κατηγοριοποίηση παιγνίων (2/3) Στο παίγνιο μη μηδενικού αθροίσματος, το κέρδος του ενός παίκτη δεν ισούται με την ζημία του άλλου. Αυτό μπορεί να συμβαίνει για πολλούς λόγους, διότι σε κάθε σειρά ενεργειών των παικτών υπεισέρχονται και άλλοι παράγοντες ανεξάρτητοι από την θέληση των 2 παικτών. Ως παράδειγμα ας αναφερθεί το κράτος, το οποίο μπορεί να δρα ανταγωνιστικά ως προς τους 2 παίκτες ή να επιλέγει ρόλο υποστηρικτικό προς τον ένα εκ των παικτών.
Κατηγοριοποίηση παιγνίων (3/3) Παίγνιο πλήρους πληροφόρησης ονομάζεται κάθε παίγνιο στο οποίο κάθε παίκτης θυμάται τις κινήσεις του αλλά και τις κινήσεις των υπολοίπων παικτών κατά το παρελθόν αλλά και ότι γνωρίζει τους κανόνες του παιγνίου, τις προτιμήσεις και τις εναλλακτικές των υπολοίπων παικτών και τις πληρωμές (οφέλη) των παικτών. Επίσης, όλοι οι παίκτες γνωρίζουν ότι όλοι γνωρίζουν τα παραπάνω.
Επίλυση παιγνίου-τιμή παιγνίου Με τον όρο «επίλυση παιγνίου» εννοούμε τον προσδιορισμό των κινήσεων των αντιπάλων οι οποίες θα επιφέρουν το βέλτιστο δυνατό αποτέλεσμα για κάθε παίκτη και τον εντοπισμό του βέλτιστου αυτού αποτελέσματος. Τιμή ή αξία του παιγνίου ονομάζεται το αποτέλεσμα της εφαρμογής των βέλτιστων κινήσεων. Συνήθως παρουσιάζεται το αποτέλεσμα για τον ένα παίκτη (π.χ. το κέρδος του V). Σε αυτήν την περίπτωση, αν V = 0 το παίγνιο θεωρείται δίκαιο. Αντίθετα, αν V > 0 το παίγνιο ευνοεί τον πρώτο παίκτη και αν V < 0 ευνοεί τον δεύτερο. Προφανώς η έκβαση του παιγνίου είναι προκαθορισμένη, με δεδομένες τις βέλτιστες κινήσεις των παικτών.
Αναπαράσταση παιγνίου (1/3) Με πίνακα: εμφανίζονται οι παίκτες, οι στρατηγικές τους (κινήσεις) και οι πληρωμές. Δεν εμφανίζεται η χρονική στιγμή της κάθε απόφασης και η πληροφορία που διαθέτει κάθε παίκτης πριν παίξει. Πίνακας Παιγνίου 2 παικτών με στρατηγικές και πληρωμές για κάθε παίκτη
Αναπαράσταση παιγνίου (2/3) Με δένδρο: όπως και στην θεωρία αποφάσεων (που δεν είναι παρά παίγνιο με έναν παίκτη). Σε αυτήν την αναπαράσταση περιγράφονται όλες οι λεπτομέρειες του παιγνίου (και ο χρόνος).
Αναπαράσταση παιγνίου (3/3) Με γράφημα: σε αντίθεση με την αναπαράσταση με δένδρα, αποφεύγεται η επανάληψη κόμβων (πληροφορίας). Εφαρμόζεται σε παίγνια μηδενικού αθροίσματος. Χρησιμοποιείται προσανατολισμένο γράφημα. Κάθε κορυφή παριστάνει μια θέση του παιγνίου. Η αρχική θέση και ο παίκτης που παίζει πρώτος καθορίζονται από τους κανόνες. Χάνει ο παίκτης που, ενώ ήρθε η σειρά του να παίξει, δεν υπάρχει ακμή από την κορυφή του προς άλλη κορυφή.
Παράδειγμα αναπαράστασης με γράφημα.(1/3) Παίζει πρώτος ο παίκτης Ι από την κορυφή 1. Η έκβαση είναι προδιαγεγραμμένη υπέρ του παίκτη ΙΙ.
Παράδειγμα αναπαράστασης με γράφημα.(2/3) Υποθετικό (όχι βέλτιστο) σενάριο στην προηγούμενη διαφάνεια: παίζει πρώτος ο Ι από την 1 στην 2. Μετά παίζει ο ΙΙ από την 2 στην 4. Ο Ι παίζει από την 4 στην 5. Ο ΙΙ χάνει, διότι από την 5 δεν μπορεί να πάει αλλού. Πυρήνας Κ ενός γραφήματος G = (V, E) είναι ένα υποσύνολο κορυφών Κ, όπου: I. Οι κορυφές του Κ είναι ανεξάρτητες (δεν συνδέονται) II. Κάθε κορυφή εκτός του πυρήνα συνδέεται με τουλάχιστον μια κορυφή του πυρήνα.
Παράδειγμα αναπαράστασης με γράφημα.(3/3) Στο παράδειγμα, ο πυρήνας αποτελείται από τις κορυφές Κ = {1, 5}. Προφανώς η 5 ανήκει στο Κ. Επίσης, και η 1 ανήκει στο Κ, διότι αν δεν ανήκε τότε θα έπρεπε να συνδέεται με την 5 που ήδη ανήκει. Κάτι τέτοιο όμως είναι αδύνατον να συμβεί. Άρα, αναγκαστικά η 1 ανήκει στον πυρήνα. (για να αποφύγουμε το άτοπο της αντίθετης περίπτωσης).
Αλγόριθμος εύρεσης πυρήνα Για να βρούμε τον πυρήνα σε γράφημα χωρίς κύκλους: εντοπίζουμε τις κορυφές από τις οποίες δεν εξέρχονται ακμές. Τις τοποθετούμε στον πυρήνα και στην συνέχεια αφαιρούμε από το γράφημα τις πλευρές που εισέρχονται στις κορυφές του πυρήνα μαζί με τις κορυφές-αφετηρίες. Ολοκληρώνουμε όταν δεν υπάρχουν πλέον κορυφές.
Παραδείγματα πυρήνων Ένα γράφημα μπορεί να έχει περισσότερους από έναν ή κανέναν πυρήνα. Ένας πυρήνας Κ = {3} Δύο πυρήνες {1,3}, {2,4} Κανένας πυρήνας
Η σημασία του πυρήνα για την έκβαση του παιγνίου Αν ένας παίκτης με την κίνησή του φέρει το παίγνιο σε κόμβο του πυρήνα, τότε έχει εξασφαλίσει ότι δεν θα χάσει. Αυτό διότι στην επόμενη κίνηση ο άλλος παίκτης στην καλύτερη για αυτόν περίπτωση θα μπορεί να οδηγήσει το παίγνιο εκτός πυρήνα. Οπότε ο αρχικός παίκτης είναι σε θέση πάντα να ξανάοδηγήσει το παίγνιο εντός του πυρήνα. Αν στο γράφημα δεν υπάρχουν κύκλοι ή διαδρομές άπειρου μήκους, τότε ο παίκτης έχει εξασφαλίσει την νίκη, διότι ο άλλος παίκτης, μόλις βρεθεί εντός πυρήνα, δεν θα μπορεί να εξέλθει.
Ο αλγόριθμος minimax- 1 ο Παράδειγμα (1/3) Ο αλγόριθμος minimax υποδεικνύει έναν τρόπο εύρεσης της βέλτιστης κίνησης σε παίγνιο 2 παικτών. Έστω οι παίκτες Ι (MAX) και ΙΙ (MIN) Οι παίκτες επιλέγουν εναλλάξ έναν αριθμό από τους {1,2} Μετά από κάθε επιλογή ο διαιτητής του παιχνιδιού υπολογίζει το άθροισμα των αριθμών που έχουν επιλεγεί μέχρι εκείνη τη στιγμή. Όποιος παίκτης παίξει τελευταίος όταν το άθροισμα έφτασε ή ξεπέρασε τον αριθμό 5 χάνει Ο παίκτης Ι παίζει πρώτος +1 αν κερδίσει ο Ι, -1 αν κερδίσει ο ΙΙ
Ο αλγόριθμος minimax- 1 ο Παράδειγμα (2/3) Πρόκειται για παίγνιο μηδενικού αθροίσματος, πλήρους πληροφόρησης. Ο παίκτης Ι μεγιστοποιεί ενώ ο παίκτης ΙΙ ελαχιστοποιεί. Αποτυπώνουμε το παίγνιο με δένδρο. Το τετράγωνο συμβολίζει θέση απόφασης του Ι ενώ το τρίγωνο συμβολίζει θέση απόφασης του ΙΙ. Η ανάλυση ξεκινάει από κάτω προς τα πάνω. Αν οι κλάδοι ανήκουν σε τετράγωνο επιλέγουμε την μέγιστη τιμή. Αλλιώς την ελάχιστη. Η επιλεγείσα τιμή ενημερώνει το ανώτερο τετράγωνο ή τρίγωνο.
Ο αλγόριθμος minimax- 1 ο Παράδειγμα (3/3) Η βέλτιστη στρατηγική κάθε παίκτη σημειώνεται με έντονη γραμμή. Η έκβαση του παιγνίου είναι προδιαγεγραμμένη, με νίκη του παίκτη Ι.
Ο αλγόριθμος minimax- 2 ο Παράδειγμα (1/3) Έστω η παρακάτω σειρά από αριθμούς: 4 6 3 2 Έστω ένα παιχνίδι, όπου δύο παίκτες, οι Α και Β, παίζουν εναλλάξ επιλέγοντας κάθε φορά έναν αριθμό από τα δύο άκρα της σειράς (είτε από αριστερά είτε από δεξιά). Το παιχνίδι ολοκληρώνεται όταν επιλεγούν όλοι οι αριθμοί.
Ο αλγόριθμος minimax- 2 ο Παράδειγμα (2/3) Νικητής είναι ο παίκτης που έχει συγκεντρώσει το μεγαλύτερο αριθμητικό άθροισμα. Πρώτος παίζει ο παίκτης Α. Βρείτε ποιος θα κερδίσει δεδομένου ότι και οι δύο παίζουν ορθολογικά. Πρόκειται για παίγνιο σταθερού αθροίσματος, πλήρους πληροφόρησης, δύο παικτών.
Ο αλγόριθμος minimax- 2 ο Παράδειγμα (3/3) Η βέλτιστη στρατηγική κάθε παίκτη σημειώνεται με έντονη γραμμή. Η έκβαση του παιγνίου είναι προδιαγεγραμμένη, με νίκη του παίκτη Α. Αρκεί να επιλέξει 2, 6 με κέρδος 8, έναντι κέρδους 7 του Β.
Αλγόριθμος κλαδέματος Άλφα-Βήτα (1/5) Είναι ένας τρόπος εύρεσης της minimax λύσης σε ένα παίγνιο αναπαριστώμενο με δένδρο, κατά τον οποίο δεν δαπανούμε χρόνο για την έρευνα υπόδένδρων που ανήκουν σε κινήσεις που ούτως ή άλλως δεν πρόκειται να επιλεγούν. Σε πρακτικές εφαρμογές (π.χ. σκάκι) δεν έχουμε δεδομένο ολόκληρο το δένδρο του παιγνίου, αλλά αυτό δημιουργείται σταδιακά κατά την εξέλιξη του παιγνίου σε ένα προαποφασισμένο «βάθος» κινήσεων. Δείτε ένα εξαιρετικό παράδειγμα εφαρμογής του αλγορίθμου στο link: http://web.cs.ucla.edu/~rosen/161/notes/alphabeta.html
Αλγόριθμος κλαδέματος Άλφα-Βήτα (2/5) Ο αλγόριθμος ξεκινάει από το επιθυμητό βάθος του δένδρου από έναν κλάδο του και επιλέγει σύμφωνα με τον αλγόριθμο minimax μια από τις τιμές που υπάρχουν στους τελικούς κόμβους (του επιθυμητού βάθους). Η επιλεγείσα τιμή «διαδίδεται» προς τα επάνω και τελικά αποδίδεται σε κεντρικό κόμβο. Τότε, ενδέχεται να αποκλειστεί ο άλλος κλάδος, σε περίπτωση που ποτέ δεν πρόκειται αυτός να δώσει τιμή καλύτερη από την ήδη υπάρχουσα.
Αλγόριθμος κλαδέματος Άλφα-Βήτα (3/5) Βασική προϋπόθεση για να δουλέψει ο αλγόριθμος είναι να εξετάσουμε τον κλάδο του δένδρου με την καλή κίνηση ως πρώτη. Σε αντίθετη περίπτωση δεν επιφέρει κανένα όφελος. Στην πράξη, σε διάφορες εφαρμογές, (π.χ. σκάκι) έχουν αναπτυχθεί κριτήρια με βάση τα οποία επιλέγονται οι καλές κινήσεις και έτσι μπορούμε να κατευθύνουμε τον αλγόριθμο προς αυτές.
Αλγόριθμος κλαδέματος Άλφα-Βήτα (4/5) Κατευθυνόμαστε στον κόμβο D. Είναι ΜΙΝ, άρα επιλέγουμε το 7. Ο κόμβος Α είναι MAX, άρα θα έχει τιμή τουλάχιστον 7, δηλ. >= 7. Στην συνέχεια κατευθυνόμαστε στον κόμβο C. Αυτός είναι κόμβος MIN και συνεχίζοντας φτάνουμε στον J, που έχει την τιμή 6. Η τιμή 6 «διαδίδεται» προς τον C, του οποίου η τιμή θα είναι το πολύ 6, δηλαδή <= 6. (Πράγματι αν συνεχίζαμε την διάσχιση του δένδρου, θα βρίσκαμε ως τιμή του κόμβου C την 4). Αφού η τιμή του C θα είναι μικρότερη του 6, δεν μπορεί να αποδοθεί στον κόμβο Α, διότι αυτός απαιτεί τιμή >=7. Δεν έχει λοιπόν νόημα να εξετάσουμε τους κόμβους I και Η, διότι ότι και να γίνει θα δώσουν στον C τιμή <= 6. Στην συνέχεια κατευθυνόμαστε στον κόμβο Β και ακολούθως στον G.Αυτός δίνει τιμή <=3 στον Β. Οι κόμβοι F και E μπορεί να δώσουν στον Β τιμή το πολύ 3. Όποια τιμή (<=3) και να πάρει ο Β δεν «διαδίδεται» στον Α, ο οποίος απαιτεί τιμή >=7. Για αυτό τον λόγο δεν εξετάζουμε τους κόμβους F και E.
Αλγόριθμος κλαδέματος Άλφα-Βήτα (5/5) Η παρούσα διαφάνεια είναι η ίδια με την προηγούμενη με περιστροφή γύρω από τον άξονα συμμετρίας που διέρχεται από τον κόμβο C. Ο σκοπός της περιστροφής είναι να δειχτεί ότι αν ξεκινήσουμε την έρευνα από τον κόμβο B (και όχι από τον D, όπως προηγουμένως, που τυχαίνει να είναι και η καλύτερη κίνηση), ο οποίος δεν συνιστά την καλύτερη κίνηση, τότε ο αλγόριθμος Άλφα-Βήτα κλάδεμα δεν καταφέρνει να περικόψει κανέναν κόμβο και έτσι είναι άχρηστος. Έχει λοιπόν μεγάλη σημασία ο «εντοπισμός» των καλών κινήσεων κόμβων, ώστε να ξεκινάει ο αλγόριθμος από εκεί.