Περίληψη: | Στην παρούσα διπλωματική εργασία παρουσιάζεται η διαδικασία ανάπτυξης
μιας σκακιστικής μηχανής (Python Machine Learning Chess Engine) βασισμένη στην
μηχανική μάθηση, και πιο συγκεκριμένα στην ενισχυτική και στην επιβλεπόμενη
μάθηση, καθώς και μιας διαδικτυακής εφαρμογής που επιτρέπει στον χρήστη να
αντιμετωπίσει τις σκακιστικές μηχανές, αλλά και να τις παρακολουθεί να παίζουν
μεταξύ τους, αλλά και με την διάσημη σκακιστική μηχανή Stockfish. Η σκακιστικές
μηχανές αναπτύχθηκαν στην γλώσσα προγραμματισμού Python. Συνολικά,
δημιουργήθηκαν τρία διαφορετικά μοντέλα παιχνιδιού, ένα μοντέλο που εκπαιδεύτηκε
παίζοντας παιχνίδια με τον εαυτό του, ένα μοντέλο που εκπαιδεύτηκε με δεδομένα από
επαγγελματικά παιχνίδια του παρελθόντος αποθηκευμένα σε βάσεις δεδομένων στο
διαδίκτυο και ένα συνδυαστικό μοντέλο που εκπαιδεύτηκε και με τις δύο μεθόδους. Η
επιλογή της κίνησης από τις μηχανές γίνεται με την χρήση του Monte Carlo Tree
Search, που αποτελεί έναν ευρετικό αλγόριθμο αναζήτησης για ορισμένα είδη
διαδικασιών λήψης αποφάσεων. Επιπλέον, δημιουργήθηκε διαδικτυακή εφαρμογή
παιχνιδιού έναντι των μηχανών, αλλά και παρακολούθησης παιχνιδιού μεταξύ των
μηχανών. Τα αποτελέσματα αναδεικνύουν την χρησιμότητα της μηχανικής μάθησης
σε περίπλοκα προβλήματα, χωρίς καμία πρώιμη γνώση της στρατηγικής και των
χαρακτηριστικών του προβλήματος, αλλά και χωρίς ανάγκη για ανθρώπινη ανάλυση
των παραμέτρων τους.
|