DEVELOPMENT OF ADVANCED CHESS STRATEGIES AND THEIR APPLICATION IN THE IMPLEMENTATION OF A CHESS ENGINE
Main Article Content
Abstract
Introduction. Algorithms for programming models of games for two people with
zero sum and complete information are considered in the paper. Such algorithms originate in game
theory and are widely used to develop chess engines.
As the field of chess programming has developed, many improvements have been proposed to
the classic minimax and alpha-beta algorithms. Using the most optimal stack of improvements during
the development of one's own engine became one of the goals of this work.
A comparative analysis was performed and the corresponding tables are given in the work.
Different combinations of algorithms and their improvements were tested in their own environment
represented by the chess engine.
Purpose. To demonstrate the results of classical algorithms from the domain of development of
chess engines with various variants of their improvements. Provide a brief description of the results
obtained and the improvements used.
Results. In order to check the assumptions about the effectiveness of certain search
modifications, an own environment was developed - a chess engine in which testing took place. A
number of tests were conducted on the specified positions and the results were obtained. The results
were given in the tables above. From the results, we can conclude that the option alpha-beta +
quiescence search + SEE + killer heuristic is the best in terms of execution time. The next step in
testing could be to run n number of games between our engine and an engine of similar strength, or
even a set of such engines. This method of testing gives a more accurate result, but takes much more
time to perform.
Conclusion. The obtained results further confirm the observations of chess engine developers
regarding the effectiveness of certain methods, and provide an opportunity to further verify the
feasibility of their use. Today, in the field of chess programming, there are dozens of methodsmodifications
of classic search algorithms, among them there are those that are used only in specific
author's engines. Some of them combine with others or, on the contrary, interfere with each other's
work, so it is important to bring as much clarity as possible to this issue.
Article Details

This work is licensed under a Creative Commons Attribution 4.0 International License.
References
Shannon, C. (1949). Programming a Computer for Playing Chess. In: Philosophical Magazine, Nov. 8, pp.
-275. Murray Hill, N.J. [in USA]. https://doi.org/10.1080/14786445008521796
Lecture 9 | Search 6: Iterative Deepening (IDS) and IDA* Retrieved from
https://www.youtube.com/watch?v=5LMXQ1NGHwU&ab_channel=AlanMackworth
"FIDE Laws of Chess taking effect from 1 January 2018". FIDE. Retrieved 12 July 2020. Retrieved from
https://handbook.fide.com/chapter/E012018
Repository of information «Chess Programming Wiki» Retrieved from https://www.chessprogramming.org
Online forum «Computer Chess Club » Retrieved from: https://www.talkchess.com
Paul Dailly, Dominik Gotojuch, Neil Henning, Keir Lawson, Alec Macdonald, Tamerlan Tajaddinov. “A
Chess Engine” University of Glasgow Department of Computing Science Sir Alwyn Williams Building
Lilybank Gardens Glasgow G12 8QQMarch 18, 2008 Retrieved from
https://www.researchgate.net/publication/268426213_A_Chess_Engine
Author blog devoted to chess programming Retrieved from https://www.youtube.com/channel/UCB9-
prLkPwgvlKKqDgXhsMQ
Series of articles «Chess Programming» Retrieved from
r1014/
Frayn, C. Computer Chess Programming Theory Retrieved from http://www.frayn.net/beowulf/theory.html