ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΘΕΩΡΙΑΣ ΠΑΙΓΝΙΩΝ Τρίλιζα, Pacman, Age of Empires ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΘΕΩΡΙΑΣ ΠΑΙΓΝΙΩΝ Τρίλιζα, Pacman, Age of Empires Αλέξης Γελαστόπουλος, Βάσω Καλαϊτζίδου, Θανάσης Κεχαγιάς 1 η Διάλεξη: Εισαγωγή, Δέντρο Παιχνιδιού, Παιχνίδια με γύρους 2 η Διάλεξη: Βελτιστοποίηση 3 η Διάλεξη: Βάσεις Κανόνων (και Age of Empires!!!)
ΕΙΣΑΓΩΓΗ
Περί της Θεωρίας Παιγνίων Θεωρία Παιγνίων: “Η μαθηματική θεωρία της σύγκρουσης και της συνεργασίας” “ Ότι είναι η Θεωρία Πιθανοτήτων για τα παίγνια τύχης, είναι η Θεωρία Παιγνίων για τα στρατηγικά παίγνια”. Βασικές Έννοιες Minimax (Εγωιστική) Βελτιστοποίηση Μάθηση
Το Δίλημμα του Φυλακισμένου (Γενίκευση)
D D C 3 0 C ΔΦ: Το Δέντρο του Παιχνιδιού D C =min(3,0)1=min(5,1) 1=max(0,1)
Δίλημμα του Φυλακισμένου σε 2 Γύρους CC CD DCDD CC CD DCDD CC CD DCDD CC CD DCDD DC DD =max(min(6,3),min(8,4))
Τρίλιζα (Ένα παιχνίδι με γύρους και εναλλαγή κινήσεων.)
Τρίλιζα: το Δέντρο του Παιχνιδιού
Τρίλιζα: Βέλτιστη Στρατηγική Μπορούμε να γράψουμε το δέντρο των κινήσεων. Άρα μπορούμε να υπολογίσουμε την βέλτιστη κίνηση για κάθε παίκτη και για κάθε κατάσταση του παιχνιδιού. Άρα υπάρχει μια βέλτιστη στρατηγική για κάθε παίκτη. Χ t = F(X t-1, u t ) u t = g(X t-1 ) Χ t = F(X t-1, g(X t-1 ) ) = H(X t-1 )
Τρίλιζα με Υπολογιστή (και Zillions of Games)
Άλλα παιχνίδια με γύρους: Σκάκι, Ντάμα, … ΣΚΑΚΙ Μπορούμε (θεωρητικά) να γράψουμε το δέντρο των κινήσεων. Μπορούμε (θεωρητικά) να υπολογίσουμε την βέλτιστη κίνηση u t =g(X t-1 ) για κάθε X t-1. Άρα υπάρχει (για κάθε παίκτη) βέλτιστη στρατηγική στο σκάκι. ΝΤΑΜΑ: το ίδιο.
Άλλο ένα παιχνίδι με γύρους
Άλλο ένα παιχνίδι με γύρους: NeoPacman (computer demo) Πώς βρίσκει ο υπολογιστής την βέλτιστη στρατηγική?
Ένα γράφημα: G = (V,E) V το σύνολο των κόμβων Ε το σύνολο των ακμών
Άλλο ένα παιχνίδι με γύρους: Καταδίωξη / Διαφυγή
Άλλο ένα παιχνίδι με γύρους: Καταδίωξη / Διαφυγή (computer demo)
Καταδίωξη / Διαφυγή : Εφαρμογή στην Ρομποτική (εδώ βίντεο)
Ανάλυση και game tree Κανόνες Βελτιστοποίηση Νέα έννοια: Εκμάθηση (learning)
Ντάμα (Samuels, 1959 IBM) Τρίλιζα (Μichie, 1961 UoE) Pacman Σκάκι;
Χωρίς συνεργασία 1 ή περισσότεροι γύροι Πολλές επαναλήψεις
Της δίνουμε τους κανόνες Σε κάθε πιθανή κίνηση για κάθε θέση παιχνιδιού αντιστοιχίζουμε μια ‘’αξία’’ Η επιλογή της κάθε κίνησής της θα γίνεται ΤΥΧΑΙΑ με μία συνάρτηση random( ) ανάμεσα από όλες τις δυνατές κινήσεις με συντελεστή βαρύτητας την ’’αξία’’ τους.
Αν χάσει, την τιμωρούμε μειώνοντας τις αξίες των κινήσεων που χρησιμοποίησε Αν κερδίσει την επιβραβεύουμε αυξάνοντας τις αντίστοιχες αξίες
Μετά από πολλούς γύρους κάποιες κινήσεις θα έχουν ’’απορριφθεί’’ (αξία 0) ενώ κάποιες άλλες θα γίνουν αποκλειστικές Κάπου εκεί, ο υπολογιστής μας έχει γίνει αήττητος!
1. Επιβράβευση 2. Τιμωρία 3. Συνδυασμός Επιβράβευσης – Τιμωρίας Ποιο σύστημα είναι το πιο κατάλληλο;
Δεν κάνει ποτέ λάθη απροσεξίας Αναλύει κινήσεις και σκέφτεται πολύ πιο γρήγορα από τον άνθρωπο Θα μπορεί να βελτιώνει τις ικανότητές της χωρίς όρια
Μπορεί να φτιάξει κανείς ένα learning machine χωρίς να ξέρει προγραμματισμό Δε θα χρειαστεί ούτε καν… υπολογιστή!
Για κάθε θέση παιχνιδιού υπήρχε ένα σπιρτόκουτο Για κάθε κίνηση υπήρχε μέσα στο σπιρτόκουτο μια χρωματιστή μπίλια Για να διαλέξει κίνηση, ανακάτευε τις μπίλιες και έπαιρνε μια τυχαία
Υπήρχαν σειρές από σπιρτόκουτα για τον 3ο, 5ο, 7ο και 9ο γύρο του παιχνιδιού Συνολικά χρειάστηκαν 300 σπιρτόκουτα (και πολύς ελεύθερος χρόνος) Κάτι πιο …οικονομικό είναι το HER (hexapawn educable robot)
Φας όλα τα πιόνια του αντιπάλου Φτάσει ένα από τα πιόνια σου στην απέναντι πλευρά Έρθει η σειρά του αντιπάλου και δεν μπορεί να κάνει κίνηση
1η κίνηση υπολογιστή (2 σπιρτόκουτα) Θέση Α Θέση Β
4 ος γύρος (2 η κίνηση του her)
6 ος γύρος (3 η κίνηση του her)
Νέα μηχανή: ΗΙΜ (hexapawn instructable machine) Τι θα γίνει αν τις βάλουμε να παίξουν μεταξύ τους;