Fluxplayer: A successful General Game Player (Stephan Schiffel, Michael Thielscher) Προηγμένη Τεχνητή Νοημοσύνη Νομικός Βαγγέλης 24/01/2008
Η παρούσα κατάσταση… Το παράδειγμα –IBM: Deep Blue –Deep Blue vs Garry Kasparov (11 Μαΐου 1997) - (2-1-3) Μπορεί να παίξει τρίλιζα;;;;; Τι γνωρίζουμε - πληθώρα εξειδικευμένων συστημάτων Ιδιαιτερότητες - μη αυτόματη προσαρμογή σε αλλαγές κανόνων - αδυναμία για διαφορετικά παιχνίδια Ανθρώπινος Παράγοντας - κανόνες γνωστοί στον προγραμματιστή - ανάλυση του παιχνιδιού - χρήση συγκεκριμένων ευριστικών
Τι θα θέλαμε… Προσδοκίες –καμία προηγούμενη εμπειρία –όχι ανθρώπινη παρέμβαση –ικανό να παίζει τυχαία άγνωστα παιχνίδια –είσοδος η περιγραφή των κανόνων του παιχνιδιού Απαιτήσεις –συνεισφορά από πολλούς τομείς της ΑΙ –αναπαράσταση γνώσης –συλλογιστική –αναζήτηση με χρήση ευριστικών –κατάστρωση σχεδίου –μηχανική μάθηση
Fluxplayer - Η προσέγγιση Fluxplayer a General Game Player Successful: Νικητής του ΑΑΑΙ GGP 2006 – Έπαθλο $ Προσέγγιση 1.Αποδείκτης θεωρημάτων / Συλλογιστική 2.Αλγόριθμοι αναζήτησης 3.Ευριστικές συναρτήσεις 4.Αναγνώριση δομών (προσανατολισμός στην φύση του στόχου)
Αποδείκτης Θεωρημάτων - Συλλογιστική (1/3) Αξιωματική περιγραφή των κανόνων του παιχνιδιού Συμβολική αναπαράσταση καταστάσεων, κινήσεων Γλώσσα περιγραφής παιχνιδιών (GDL) Κατάλληλη για περιγραφή πεπερασμένων, ντετερμινιστικών, n-παικτών(ν>=1) παιχνιδιών τέλειας πληροφορίας Σύνολο δεσμευμένων λέξεων με προκαθορισμένη σημασία
H GDL - Εφαρμογή στην τρίλιζα (2/3) οι παίκτες - (role ?player) π.χ. (role xplayer), (role oplayer) αρχική κατάσταση - (init ?fact) π.χ. (init (cell 1 1 b)) νόμιμες κινήσεις - (legal ?p ?m) και (true ?fact) π.χ. (<= (legal ?w (mark ?x ?y)) (true (cell ?x ?y b)) (true (control ?w))) ενημερώσεις θέσης - (next ?fact) και (does ?player ?move) π.χ. (<= (next (cell ?m ?n x)) (does xplayer (mark ?m ?n)) (true (cell ?m ?n b))) τέλος του παιχνιδιού - terminal π.χ. (<= terminal (line x)) (<= terminal (not open)) το αποτέλεσμα – (goal ?player ?value) π.χ. (<= (goal xplayer 100) line(x)) (<= (goal xplayer 50) draw) (<= (goal xplayer 0) line(o))
Αποδείκτης Θεωρημάτων – Συλλογιστική (3/3) Απαιτήσεις –παραγωγή επιτρεπτών κινήσεων –καθορισμός επόμενων ενεργειών και των αποτελεσμάτων αυτών –καθορισμός του τέλους Η ιδέα –μετατροπή από GDL σε Prolog –επιτρέπει αποδοτική απόδειξη θεωρημάτων –χρήση του συστήματος FLUX για συλλογιστική
Αλγόριθμος αναζήτησης Τροποποιημένη επαναληπτική εμβάθυνση πρώτα κατά βάθος –πίνακες αντιμετάθεσης –ευριστικό της ιστορίας Βάθος >>>, μη-ομοιόμορφη πρώτα κατά βάθος αναζήτηση Χρήση τεχνικών κλαδέματος – τύπος παιχνιδιού - single-player vs. multi-player π.χ. alpha-beta κλάδεμα σε παιχνίδια με 2 παίκτες - zero-sum vs. non-zero-sum - turn-taking vs. simultaneous-moves π.χ σε turn-taking υπόθεση μεγιστοποίησης του κέρδους
Ευριστική Συνάρτηση (1/3) Η ανάγκη –περιορισμός του χώρου καταστάσεων –όχι εξαντλητική αναζήτηση –αξιολόγηση μη τερματικών καταστάσεων –αδυναμία χρήσης προκαθορισμένων ευριστικών Η ιδέα –αυτόματη παραγωγή ευριστικών σε χρόνο εκτέλεσης –χρήση ασαφής λογικής (fuzzy logic) –σε κάθε κατάσταση, υπολογισμός του βαθμού αληθείας για τα κατηγορήματα goal και terminal –αποφυγή τερματικών καταστάσεων όταν ο στόχος δεν ικανοποιείται
Ευριστική Συνάρτηση (2/3) Ο κόσμος των κύβων Βαθμός αληθείας κάθε όρου ξεχωριστά Επιλογή κατάλληλης t-νόρμας και t-co-νόρμας για υπολογισμό πολύπλοκων εκφράσεων Διαφορετική εκτίμηση συνάρτησης αξιολόγησης για πολλαπλούς στόχους Αναγωγή σε επιλογή κατάλληλης t-νόρμας
Ευριστική Συνάρτηση (3/3) Χρήση t-norm της οικογένειας του Yager Εξάρτηση από δομή εκφράσεων goal και terminal Αξιολόγηση όλων των πιθανών στόχων σε σχέση με τις τερματικές καταστάσεις Η τιμή της ευριστικής συνάρτησης για μια κατάσταση υπολογίζεται από τον συνδυασμό της εκτίμησης για κάθε στόχο ξεχωριστά επί την τιμή του στόχου αυτού
Αναγνώριση Δομών Η ιδέα –εντοπισμός συγκεκριμένων δομών (σχέσεις διαδοχής, διάταξης, ποσότητες, πίνακες παιχνιδιού) –συντακτική και σημασιολογική ανάλυση των κανόνων και των ιδιοτήτων τους –π.χ δυαδικές σχέσεις, μεταβατικές και αντι-συμμετρικές => σχέσεις διάταξης Πλεονεκτήματα: –διάκριση μεταξύ σημασιολογικά ισοδύναμων αλλά συντακτικά διαφορετικών περιγραφών ενός κατηγορήματος –βελτίωση της συνάρτησης αξιολόγησης
Αξιολόγηση (1/2) Το πρόβλημα –δυσκολία εύρεσης ενός δίκαιου σχήματος αξιολόγησης –εξάρτηση από πολλούς παράγοντες (το παιχνίδι που παίζεται, οι αντίπαλοι, ο χρόνος που δίνεται για ανάλυση κ.α) –ανυπαρξία προκαθορισμένων δοκιμασιών Η λύση –αποτελέσματα από >400 αγώνες (>70 για κάθε παίκτη) του ΑΑΑΙ GGP Competition 2006 Πλεονέκτημα –αναμέτρηση με πραγματικούς αντιπάλους –σύγκριση με «state of the art» συστήματα
Αξιολόγηση (2/2) Κατηγοριοποίηση παιχνιδιών βάσει ιδιοτήτων Παιχνίδια με παραπάνω από μία ιδιότητες Καμία κατηγορία υποσύνολο κάποιας άλλης Σύγκριση μέσου σκορ ανά τύπο παιχνιδιών με –συνολικό του μέσο σκορ –μέσο σκορ των 6 καλύτερων παικτών Το πλεονέκτημα: –Η αναγνώριση ποσοτήτων και σχέσεων διάταξης Το μειονέκτημα: –η εξάρτηση από την περιγραφή του στόχου
Συμπεράσματα Παραγωγή ευριστικών ταχύτερη από προσεγγίσεις μάθησης Εύκολη επέκταση σε παιχνίδια όχι τέλειας πληροφορίας Άφθονος χώρος για βελτιώσεις Μελλοντικές επεκτάσεις –χρήση τεχνικών αφαίρεσης και γενίκευσης –χρήση μεθόδων από την θεωρία παιγνίων –ανάλυση της επιρροής διαφορετικών συναρτήσεων αξιολόγησης στην απόδοση παιξίματος παιχνιδιών –ορισμός ρεαλιστικών μοντέλων αντιπάλων και συνόλων δοκιμασιών
Το ερώτημα… Τι νόημα έχουν τελικά όλα αυτά??? Κριτική: “Το παίξιμο παιχνιδιών είναι ασήμαντο” Απάντηση: “General Game Playing δεν είναι απλά ένα παιχνίδι! GGP is serious business!”
Αναφορές Kuhlmann, G.; Dresner, K.; and Stone, P Automatic heuristic construction in a complete general game player. In proc. Of AAAI, Schaeffer, J The history heuristic and alpha-beta search enhancements in practice. IEEE Transactions on Pattern Analysis and Machine Intelligence 11(11) Thielscher, M Reasoning Robots: The art and Science of Programming Robotic Agents. Applied Logic Series. Kluwer
Ευχαριστώ !!! Ερωτήσεις???