Προηγμένη Τεχνητή Νοημοσύνη Solving Dots-And-Boxes Joseph K. Barker and Richard E. Korf Μεταπτυχιακός Φοιτητής: Ιωάννης Σίδερης (Μ1068) 1/500
Συνώνυμοι Τίτλοι: Boxes, Squares, Paddocks, Square-it, Dots and Dashes, Dots, Smart Dots, Dot Boxing, the Dot Game, τελίτσες Ευρέως διαδεδομένο συνδυαστικό (combinatorial) παιχνίδι δύο παικτών Απαιτήσεις: χαρτί, μολύβι, στοιχειώδη ικανότητα του σκέπτεσθαι Απλοί κανόνες Μεγάλος χώρος καταστάσεων παιχνιδιού ακόμα και σε μικρά παιχνίδια Γιατί να μελετήσουμε ένα παιχνίδι σαν και αυτό; Για όλους τους προαναφερθέντες λόγους Κανείς ακόμη δεν ασχολήθηκε μαζί του σε βάθος
Ταμπλώ: Ορθογώνιο πλέγμα από (Ν+1)x(M+1) τελείες ή (Ν)x(M) κουτιά Κάθε παίκτης σχεδιάζει μία οριζόντια ή κάθετη ακμή μεταξύ δύο άμεσα γειτονικών τελειών («1-hop»). Ο παίκτης που σχηματίζει ένα πλήρες κουτί τεσσάρων άμεσα γειτονικών τελειών το κερδίζει και ξαναπαίζει. Ένας παίκτης δεν είναι αναγκασμένος να σχηματίσει κουτί, πρέπει όμως υποχρεωτικά να παίξει στο γύρο του. Κερδίζει ο παίκτης με τα περισσότερα κουτιά όταν το ταμπλώ γεμίσει.
Εύρεση ενός κατάλληλου solver (επιλύτη) για το παιχνίδι. Αξιοποίηση και αξιολόγηση τεχνικών από την βιβλιογραφία Επίλυση του μεγαλύτερου επιλύσιμου παιχνιδιού (4x5) ως τώρα Υπεροχή σε απόδοση έναντι του προηγούμενου solver Ο solver στηρίζεται στην αναζήτηση Alpha-Beta με αρκετές επιπρόσθετες τεχνικές.
Περιγραφή Κατάστασης Θέσεις ακμών και κουτιά ανά παίκτη (κατάσταση με βαθμολογία) Θέσεις ακμών μόνο (κατάσταση χωρίς βαθμολογία) Γενική Βέλτιστη Στρατηγική ανά Παίκτη Μεγιστοποίηση του αριθμού των υπολειπόμενων προς κατάληψη κουτιών Η Φύση του Παιχνιδιού Αμερόληπτο (Impartial) Τρόποι Επίλυσης Στρατηγική που κερδίζει ή Περιθώριο νίκης με βέλτιστη στρατηγική Ένα παιχνίδι MxN κουτιών έχει p = M(N+1) + N(M+1) ακμές και 2 P = 2 M(N+1) + N(M+1) καταστάσεις χωρίς βαθμολογία.
Ορισμός Ακολουθίες με 1+ συλλήψιμα κουτιά (όχι αναγκαστικά συνεχείς) Είδη Αλυσίδων Ημι-ανοικτές (half-open) & κλειστές (closed) Αντιμετώπιση στη Βέλτιστη Στρατηγική 1. Σύλληψη όλων των προς κατάληψη κουτιών 2. Παράδοση με βαριά καρδιά (Hard-hearted handout) Χρήση από τον Solver Βήμα προεπεξεργασίας – Αξιολόγηση μόνο των προφανών κινήσεων
Ορισμός Cache προηγούμενων καταστάσεων με τις αντίστοιχες minmax τιμές. Χρήσεις Μία καταχώρηση ανά κατάσταση, ανεξάρτητα από τους παίκτες Καλύτερη αξιοποίηση του χώρου σε παιχνίδια με περιθώριο νίκης Αποθήκευση δύο ορίων (min και max) ανά καταχώρηση Γενική αρχή: Αν μία προκύπτουσα κατάσταση έχει επαναληφθεί, τότε η ανακτάται η αποθηκευμένη τιμή minmax αντί να υπολογιστεί ξανά.
Χρησιμότητα Ελάττωση του χώρου καταστάσεων 1. Κατοπτρικές Συμμετρίες Οριζόντια, κατακόρυφη και διαγώνια (για τετραγωνικά ταμπλώ) 2. Μη-προφανείς Συμμετρίες Στρατηγική ισοδυναμία των δύο ακμών σε οποιαδήποτε γωνία του ταμπλώ Αξιοποίηση Συμμετριών από τον Solver 1.Χρήση κοινής καταχώρησης στον πίνακα μεταθέσεων 2.Μείωση παράγοντα διακλάδωσης
Κίνητρο Η τιμή (value) ενός κόμβου εξαρτάται από τη σειρά επίσκεψης. Χειρισμός Χρήση ευρεστικού: Ταξινόμηση κινήσεων κατά φθίνουσα τιμή Εφαρμογή Δεν λαμβάνονται υπόψιν κινήσεις σύλληψης κουτιών. Απόδοση Μεγάλη απόδοση παρά την απλότητα του ευρεστικού Σε ταμπλώ 4x4 ο χρόνος εκτέλεσης του solver μειώνεται κατά έναν παράγοντα 17 σε σχέση με το απλό move ordering.
Κριτήρια ελέγχου ορθότητας της μεθόδου Περιθώριο νίκης για βέλτιστο παιχνίδι Βέλτιστη κίνηση ανοίγματος (opening move) Πειράματα Καταγραφή χρόνου εκτέλεσης για 30 benchmark tests. Έλεγχος σχετικής συνεισφοράς κάθε τεχνικής. Συμπεράσματα Η έξυπνη χρήση των αλυσίδων βελτιώνει περισσότερο την απόδοση. Η διάταξη κίνησης ωφελεί όταν το ταμπλώ είναι αρχικά άδειο. Το περιθώριο νίκης επέδρασε λίγο στην απόδοση. Το μεγαλύτερο επιλύσιμο παιχνίδι (4x5) χρειάστηκε 10 μέρες για να λυθεί με υπολογιστή 3,33 GHz Xeon και 24GB για τον πίνακα μεταθέσεων. Η επίλυση με τον προκάτοχο αυτού του solver χρειάστηκε 130 μέρες.
?