Developing a chess engine

The aim of this thesis is to develop a chess engine (that is, a program that can estimate the best move in a given chess position). Along the development of the engine, the theory behind various data structures, algorithms, problems and techniques related to computer chess is explained. The engine i...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Βλάσσης, Γεώργιος
Άλλοι συγγραφείς: Vlassis, Georgios
Γλώσσα:English
Έκδοση: 2021
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/14980
Περιγραφή
Περίληψη:The aim of this thesis is to develop a chess engine (that is, a program that can estimate the best move in a given chess position). Along the development of the engine, the theory behind various data structures, algorithms, problems and techniques related to computer chess is explained. The engine is developed in C99, using the GCC and GDB tools, under the MSYS2 environment and can theoretically run in any desktop operating system (Windows, macOS or Linux). It is named Barrett, after a chess-loving character in the Marvel Cinematic Universe. Barrett can systematically win against the Elo-limited Stockfish 13 (capped to 1500 Elo) and has been verified to produce only and all legal chess moves.