title: Συστηματική αναζήτηση και ενισχυτική μάθηση για το επιτραπέζιο παιχνίδι Backgammon
Creators: name: Τσιγδινος Στυλιανος
Publisher: name: Technical University of Crete
Year: 2014

description: Τα παιχνίδια απασχολούσαν, από τότε που υπάρχει πολιτισμός, τις διανοητικές λειτουργίες του ανθρώπου. Στα πλαίσια της Τεχνητής Νοημοσύνης, η αφηρημένη φύση των παιχνιδιών καθώς και η δυσκολία επίλυσής τους τα καθιστά ένα ενδιαφέρον πεδίο μελέτης. Στην παρούσα διπλωματική εργασία υλοποιούμε ένα πράκτορα για το επιτραπέζιο παιχνίδι Backgammon καθώς και ένα γραφικό περιβάλλον στο οποίο μπορούν να διεξαχθούν παρτίδες του παιχνιδιού αυτού με αντίπαλο τον πράκτορα μας ή κάποιον άνθρωπο-παίκτη. Σκοπός μας είναι η εύρεση μιας καλής στρατηγικής (policy), η οποία θα επιτρέπει στον πράκτορά μας να αυξήσει τις πιθανότητές του, με την κατάλληλη επιλογή κινήσεων, να οδηγηθεί σε μία τερματική κατάσταση νίκης. Η στρατηγική αυτή προσδιορίζει ουσιαστικά την συμπεριφορά του πράκτορα κατά την διάρκεια του παιχνιδιού. Ο μεγάλος παράγοντας διακλάδωσης του δέντρου αναζήτησης για το παιχνίδι αυτό, που πολλές φορές μπορεί να φτάσει μέχρι και κάποιες εκατοντάδες κινήσεις, καθώς και το στοιχείο της τύχης που ενυπάρχει στη φύση του παιχνιδιού, λόγω του ότι χρησιμοποιούνται ζάρια για την υπόδειξη των δυνατών αποστάσεων στις κινήσεις των δύο αντιπάλων, αυξάνει σημαντικά την δυσκολία αναζήτησης και εύρεσης της βέλτιστης αυτής στρατηγικής. Χρησιμοποιώντας ειδικές τεχνικές αναζήτησης, όπως αυτή του αλγόριθμου MiniMax και κάποιες παραλλαγές του όπως αυτή του κλαδέματος Alpha-Beta, πετύχαμε αποδεκτές ταχύτητες αναζήτησης σε ικανοποιητικό βάθος στο δέντρο αναζήτησης του παιχνιδιού. Η συστηματική αναζήτηση σε συνδυασμό με τη χρήση τεχνικών από το πεδίο της ενισχυτικής μάθησης (Reinforcement Learning) για την εκμάθηση μιας κατάλληλης συνάρτησης αξιολόγησης μέσα από δοκιμές σε πολλές παρτίδες, οδήγησαν στην εύρεση μιας στρατηγικής, η οποία επιτρέπει στον πράκτορά μας να ανταγωνιστεί αρκετά καλούς φυσικούς αλλά και τεχνητούς παίκτες στο παιχνίδι Backgammon.
description: Ever since the birth of civilization, games have played an important role in the intellectual abilities of mankind.  In the context of Artificial Intelligence, the abstract concept of games, as well as the difficulty of gaining a victory, makes games an interesting field of study. The present thesis studies the design and implementation of an agent for the board game Backgammon and a graphic environment in which Backgammon games can take place having as a competitor either a human or a software agent. The goal of the thesis is the finding of a good strategy (policy), which will allow our agent to maximize its chances, with the appropriate selection of moves, to get to a final state of victory. This strategy essentially defines the performance of the agent during the game. The branching factor of the search tree for this game, which in many cases rises up to hundreds of moves, as well as the factor of chance, given the use of dice for indicating possible distances in the moves of the two opponents, increases substantially the difficulty of search for an optimal strategy. Using specialized search techniques, such as the MiniMax algorithm enhanced with Alpha-Beta pruning, our agent achieves acceptable search times to a satisfactory depth within the search tree of the game. The applied search techniques, combined with machine learning techniques from the field of Reinforcement Learning for learning a good evaluation function by trial and error in numerous games played, led to the finding of a strategy that allows our agent to play at competitive level against several good human players, as well as against other autonomous agents, in the game of Backgammon.