Σε αυτή την πτυχιακή εργασία μελετώνται οι κύριες δομές μια σκακιστικής μηχανής καθώς και οι νεότερες τεχνικές εύρεσης βέλτιστης κίνησης με χρήση νευρωνικών δικτύων. Θα μελετηθούν οι κύριοι τρόποι αναπαράστασης της δομής του ταμπλό με ιδιαίτερη έμφαση σε αυτή των bitboards. Στην συνέχεια θα γίνει μια αναφορά στην μεθοδολογία παραγωγής κινήσεων με χρήση προ-υπολογισμένων πινάκων και τεχνικών τέλειου κατακερματισμού. Θα συζητηθούν οι διάφορες παραλλαγές των αλγορίθμων MCTS και PVS και οι τρόποι με τους οποίους μπορούν να παραλληλοποιηθούν για γρηγορότερη εκτέλεση. Τέλος θα παρουσιαστεί η νεότερη αρχιτεκτονική δικτύων NNUE για την στατική αξιολόγηση θέσεων και οι διαφορές της με πιο σύνθετα μοντέλα όπως αυτό του Alpha zero. Στα πλαίσια αυτής της εργασίας υλοποιήθηκε και μια σκακιστική μηχανή με χρήση του μοντέλου NNUE, του αλγορίθμου PVS με τις αντίστοιχες βελτιστοποιήσεις κλαδέματος και της αναπαράστασης bitboards. Οι λεπτομέρειες υλοποίησης παρέχονται στην τελευταία ενότητα.In this dissertation we study the primary components of chess engines, as well as the
latest techniques for finding optimal moves using neural networks. The various board
representation will be analysed, with special emphasis on that of bitboards. We will refer
to the main methods for producing moves using pre-calculated lookup tables with perfect
hashing. The various variants of MCTS and PVS algorithms and the ways in which they
can be parallelised for faster execution will be discussed. Finally, the latest NNUE network
architecture for static position evaluation and its differences with more complex models
such as Alpha zero will be presented. As part of this work, a chess engine was developed
using the NNUE model, the PVS algorithm with the corresponding pruning optimizations
and the representation of bitboards. Implementation details are provided in the last
section