Since the dawn of computer science informaticians are interested in creating
artificial intelligence. The first stepping stone of this process was the creation of a
computer that can play chess. Since the fifties, programmers try to create more and
more sophisticated algorithms in order to overcome human chess players. This goal was
finally achieved in 1997 when Deep Blue defeated the world champion Garry Kasparov
in their match. Nowadays a stronger chess engine running on a laptop or personal
computer is able to defeat the strongest grandmasters of the world. This is the result on
one hand of the increasing computational power of the computers, on the other hand of
the faster and better algorithms worked out by the experts of the field.
Modern chess engines can be separated to two main parts. The board
representation is responsible for the rules of the game and the position of the pieces and
the artificial intelligence for the decision making process. My task was to plan and
implement the decision making module of the engine in a way, that it can work
together with a board representation and play successfully. The other module was
implemented by Boros Dávid in his thesis called „Board representation and framework
for chess engine”.
In the first part of the thesis I present the basic structure of the chess engine, it’s
inner workings with the main emphasis on the decision making. I describe the different
methods and implement them. At the end of the paper I test and optimize the produced
search and heuristic algorithms.