top of page
-
How to use the Knowledge section?Use the search engine that is integrated into the Knowledge section. #1 Click on the magnifying glass icon marked with a red border (right side of the screen). #2 Type in your search term. As you type, the search engine will show you the results. This way you will most accurately and quickly find the answer or answers to your question.
-
What is a chess engine?A chess engine is a computer program that is designed to play chess. Chess engines base their operation on chess algorithms and databases of openings and endings, which enable them to predict the best moves for a given situation. Chess engines also use heuristics to evaluate positions on the chessboard and determine which side has the advantage. Chess engines have many applications. They are used by players to analyze their games and improve their play. A chess engine can point out the mistakes a player has made and suggest better moves he should make in a given situation. In this way, the player can learn lessons and avoid the same mistakes in the future. Chess engines are also used in tournaments and games, where they compete against human players (very rare these days) or other chess engines. In recent years, chess engines have become increasingly advanced and are able to beat the best human players in the world. Thanks to the great capabilities offered by chess engines, they are a very important tool in training young players and in preparing for chess competitions. Chess engines also have their uses in hobby and scientific research. They can be used to test various chess strategies and concepts, as well as to evaluate the level of play of different players. Chess engines are also used in the analysis of historical chess games, allowing researchers to better understand and interpret these games. Finally, chess engines have applications in artificial intelligence and machine learning. Chess engines are often used as an example of minimax and alpha-beta pruning algorithms, which are used in many other fields, such as computer game design and optimization of decision problems. In summary, chess engines are a very versatile tool that is used in many different fields, such as player training, research, analysis of historical chess games and the use of artificial intelligence and machine learning.
-
How does the chess engine works?The chess engine works by analyzing moves and strategies based on the rules of the game and knowledge of different options and situations on the chessboard. The engine performs a lot of calculations and analyzes possible move options to choose the best move to make.
-
How are chess engines different from other chess programs?Chess programs that are not chess engines usually offer only a graphical interface and do not have the advanced analysis and calculation capabilities that a chess engine does. A chess engine is a stand-alone program that can be integrated into various graphical interfaces or used on its own via the so-called command line (such as Terminal on Macs).
-
How have chess engines changed since their inception?Since the inception of chess engines, their computing power and sophistication in analysis and strategy have increased significantly. As technology and faster processors have advanced, chess engines have become more efficient and accurate in their analysis.
-
What are the essential features of a chess engine?Speed and accuracy of analysis, ability to anticipate moves and situations on the chessboard, as well as strategic and tactical approach to various situations on the chessboard.
-
How can I use the chess engine?You can use the chess engine to analyze games and improve your chess knowledge, play against it and train with it.
-
What is a chess GUI? What is chess User Interface?A chess GUI or chess User Interface is a graphical user interface for a chess engine.
-
What is a chess database?A chess database is a collection of chess games stored in a database for reference, analysis, training, creating a repertoire of openings, viewing games, etc.
-
What are the types of chess programs?There are different types of chess programs, such as chess engines, GUIs, databases, and training software.
-
What are chess programs used for?Chess programs are computer applications that allow users to play chess on a computer or mobile device. Chess programs consist of a user interface and a chess engine, which is responsible for generating moves and evaluating positions on the chessboard. Chess programs have many uses. The first and most obvious use is to play chess against a computer or another online player. Chess programs offer a variety of game modes, including fast and slow games, games using clock-timers, games against chess engines and many others. Chess programs are also used for learning how to play chess. They feature lessons and tasks to help users improve their game, as well as analysis of chess games, so users can better understand the mistakes they made and what moves they should make in a similar situation in the future. Chess programs also allow users to analyze their games, so they can see which moves were best in a given situation and which ones led to a loss. Chess programs also have automatic batch analysis features that use the chess engine to generate reports on the games. Chess programs are also used in chess tournaments and games. Online tournaments allow players from different countries to compete in real time. Chess programs are also used by tournament organizers to generate pairs and determine scores. In addition, chess programs and chess engines are used for hobby and research purposes. Enthusiasts, computer scientists and even researchers use them to test various chess strategies and concepts, as well as to evaluate the level of play of different players. Chess engines are also used in analyzing historical chess games, allowing researchers to better understand and interpret these games. Chess programs along with chess engines are very versatile tools that are used in many different fields, such as player training, research, analysis, and chess tournaments and games.
-
What does Eval stand for?Eval refers to the evaluation of a chess position by a chess engine.
-
What does HCE (Hand Craft Eval) mean?HCE stands for Hand Craft Eval and refers to a type of chess evaluation function that is created by human experts rather than generated automatically by a chess engine.
-
Which computer system is best for using chess engines and programs: Linux, Mac or Windows ?It is impossible to say unequivocally which system is the best for using chess engines, because it depends on the individual preferences and needs of the user. Each of these systems has its own advantages and disadvantages. Linux is quite popular among chess players because it is free and offers many free chess tools, including top-notch chess engines and programs, such as Scid vs. PC. Mac is increasingly chosen by chess players because its interface is very clear and easy to use and its programs are of high quality (e.g. Hiarcs Chess Explorer). It is also known for its software being stable and secure, and more and more chess engines adapted to this system are appearing. Windows is the most common operating system and is used by most computer users, including chess players. It has many chess tools and applications available on the market, including many free options. Unfortunately, sometimes quantity does not go hand in hand with quality, especially in the case of chess programs (see reviews). Ultimately, choosing the best operating system for chess engines depends on yours requirements and preferences. I recommend testing several different options and choosing the one that best suits your needs.
-
What are the important terms for chess engines?Algorithm: A set of rules and instructions that a computer chess engine uses to determine the best move in a given chess position. Search depth: The number of moves ahead that a computer chess engine is able to analyze and evaluate in order to choose the best move. Position evaluation: The process by which a computer chess engine evaluates the current chess position and determines which option is the best. Tactics: A combination of moves that a computer chess engine employs in order to gain an advantage over its opponent. Strategy: Long-term goals and plans that a computer chess engine uses to gain an advantage in the game. Speed coefficient: A factor that determines how quickly a computer chess engine can perform a position evaluation and choose the best move. These terms are crucial for understanding how computer chess engines work and how they are used for simulating and analyzing the game of chess.
-
Are commercial chess engines stronger than free open source chess engines?The strength of commercial and open-source chess engines can vary, and it's not always accurate to say that one type is stronger than the other. Commercial chess engines tend to have more resources and funding available for development, which can result in higher performance and more advanced features. However, there are many highly respected open-source engines that are competitive with commercial engines and are used by many chess players and enthusiasts. In some cases, open-source engines may have a larger community of developers and contributors working on the project, which can result in faster progress and more innovative ideas. Additionally, open-source engines are often free and accessible to anyone who wants to use or study them, which can make them popular among hobbyists and researchers. Ultimately, the strength of a chess engine depends on a variety of factors, including the quality of the search algorithm, the accuracy of the evaluation function, and the processing power of the computer running the engine. It is a good idea to visit websites with chess engine rating lists; here are some links: CCRL - Computer Chess Rating Lists FGRL - FastGMs Rating Lists MCERL - Mac Chess Engines Rating List SPCC - Stefan Pohl Computer Chess
-
Are there any special hardware requirements for chess engines?No. Modern computers offer enough power to use chess engines. It is worth knowing that the faster the computer (e.g. processor, graphics card, memory, etc.), the stronger the chess engine will be.
-
Are chess engines capable of playing only with each other, or also with humans?Chess engines are capable of playing with each other as well as with people. They can be used to play in single-player mode or to play matches and tournaments between different engines.
-
Are there any restrictions on the play of chess engines?There are some limitations to the play of chess engines, such as limited computing power due to computer resources. In addition, chess engines do not have emotions and cannot predict the player's intentions and strategies, which may or may not introduce some limitations to their play. For example, the Hiarcs chess engine is known for its excellent ability to run the game in a "human" style. Most engines, which have not been prepared to play or train with humans, play in a typical computer style that is experienced by more seasoned players.
-
Are chess engines capable of learning and evolving as they play?Yes, very few chess engines are able to learn and evolve as you play. However, this is very rarely used, because in this way the chess engine devotes available resources to "learning and evolving," which in practice is not cost-effective and leads to a reduction in its strength. A more common method is to train, for example, a neural network in advance and prepare it to work with the chess engine. The result is that when the chess engine starts playing, it already has access to data from the neural network that enables it to play as well as possible.
-
What are the most important algorithms and techniques used by chess engines?There are many techniques and algorithms used by programmers to make chess engines play as strongly as possible and have rich capabilities. The most important algorithms and techniques used by chess engines are min-max, alpha-beta pruning, heuristics, and machine learning. These algorithms and techniques allow the engines to perform fast and accurate calculations to choose the best moves on the chessboard. In the future, it is likely that so-called artificial intelligence will play an important role, which can greatly help in the further development of chess engines.
-
How have chess engines affected the royal game?Chess engines have affected the actual game of chess in several ways. First, they have provided players with new training tools, allowing them to quickly and easily analyze their games, identify mistakes and improve their play. Second, chess engines have changed the way people think about chess. Instead of relying solely on their own intuition and experience, players often take the advice of the engines for more accurate and comprehensive analysis. Third, chess engines have changed the way chess is played at a high level. Players are able to analyze their possible moves more quickly and accurately, leading to more advanced and complex games. As a result, many record-breaking scores have been set in the past few decades, indicating an increase in the level of play. Overall, chess engines are an important tool for chess players around the world and have influenced the development and progress of the field.
-
What are the main challenges facing chess engine developers?Chess engine developers face several major challenges, including: Scalability: chess is a complex game in which the number of possible moves grows exponentially with the number of pieces on the chessboard. Chess engine developers need to ensure that their tools can efficiently deal with such huge amounts of data. Algorithms: Chess engine developers must develop efficient algorithms that allow them to quickly and accurately analyze possible moves and choose the best option. Knowledge: Chess engines must be based on a broad knowledge of chess, including strategies, tactics and game variations. Developers must constantly update and expand the knowledge base to make chess engines as effective as possible. Machine learning: many chess engines use machine learning to improve their strategies. Developers need to ensure that their tools are able to learn and improve based on experience. User interface integration: Chess engines must be easy to use and integrate with various user interfaces, such as chess programs, mobile apps, etc. These challenges require chess engine creators to continuously develop and improve their tools to provide the best possible experience for players.
-
Are chess engines used only by professional players or also by amateurs?Chess engines are used by both professional players and amateurs. Professional players often use them for advanced training, looking for so-called novelties and analyzing their moves to improve their skills and strategies. Amateurs, on the other hand, often use chess engines to play chess with a computer or learn chess openings, middle games and endings to practice their skills and improve their strategies. The availability of chess engines in many chess programs and for many platforms, such as personal computers, cell phones and tablets, makes them easily accessible to a wide audience. Many chess engines are available for free or at a very low price, allowing players to use them without incurring large costs.
-
Do chess engines have any negative consequences for the game of chess or for players?Chess engines in themselves have no negative consequences for the game of chess or for the players. Chess engines are a tool that, according to the will of man, can be used in various ways, such as playing with man, training, playing against other engines, etc.
-
Are there any other games that are as complex as chess and require the same or more computing power as chess engines?Yes, there are other games that are just as complex as chess and require similar or even greater computing power. Examples of such games are: Checkers: Checkers a popular board game. Checkers engines are also available and require similar computing power as chess engines. Go: Go is a traditional Chinese game that is considered one of the most difficult games in the world. It requires a lot of computing power, and Go game engines are as complex and advanced as chess engines. Shogi: Shogi is the Japanese version of chess, which is just as complicated and requires similar computing power as chess. Shogi game engines are just as accessible and advanced as chess engines. In each of these games, the engines are used to analyze and evaluate positions, and to generate proposed moves. Although each of these games is unique and requires a different approach.
-
Besides chess engines, which chess software is worth using ?Depending on their needs and preferences, chess players can use different types of chess software. Here are some popular options to consider (alphabetically): Acid Ape Chess GM Edition: a very high quality chess suite for mobile devices using Android. Banksia GUI: a free and dynamically developed software with a lot of potential aimed mainly at lovers of chess engines and games between them. It offers useful tools including access to databases and openings. Chess Assistant: This is another advanced chess software that offers many tools and features, including a database, analysis and training tools, as well as options for online play. Chess Assistant is a good choice for people who are looking for advanced software with additional training tools. ChessBase: This is one of the most advanced chess software, offering a wide range of features, including a game database, analysis and training tools, as well as options for online play. ChessBase is popular among professional and serious chess players. Fritz: This is one of the most well-known and respected chess software that offers a wide range of features, including analysis tools, a database and options for online play. Fritz is a good choice for people who are looking for easy-to-use software with good analysis tools. Hiarcs Chess Explorer (Pro): is an established software that ferrets out a lot of useful features and the remarkable Hiarcs chess engine ("human" style of play). It's a good choice for chess players who want to train and catalog their chess games through a proven tool. Scid vs. PC: This is a free and open source software that offers many database features and analysis tools. Scid vs. PC is a good choice for people who are looking for free and full-featured chess software. Shredder, Deep Shredder: a treat for chess engine enthusiasts, a great tool for using chess engines in a great many ways, including for training, games, matches and tournaments. In these articles you will find detailed descriptions of chess software for various operating systems: Tools in a chess player's workshop - Linux Tools in a chess player's workshop - Mac Tools in a chess player's workshop - Windows - Part 1 Tools in a chess player's workshop - Windows - Part 2 Feel free to visit the reviews, courses and news section for information on other chess software and engines. Choosing the right chess software depends on your individual needs and preferences; all the options mentioned above are good and worth considering.
-
What is the Alpha-Beta algorithm used for?The Alpha-Beta algorithm is a technique for finding the best move in a chess game, used by chess engines. The algorithm works by examining the game tree, or all the possible moves that can be made in a given situation, and predicting their consequences. The algorithm compares the results of moves for a player whose goal is to maximize his score (usually a chess engine) and for a player who aims to minimize his score (usually a human). The algorithm examines the game tree, but excludes branches from it that will definitely not lead to the optimal result. This speeds up the algorithm and allows it to search through a larger number of possible moves in less time. The alpha-beta algorithm is commonly used by chess engines and allows finding the best move in a relatively short time.
-
What is MCTS?The MCTS (Monte Carlo Tree Search) algorithm is a method for finding the best move in a chess game that involves simulating many random games and then selecting moves that lead to the best results. The MCTS algorithm begins by creating a tree in which each node represents a possible move in a given situation, and each child of a node represents the possible consequences of that move. The algorithm then simulates random games starting from a given node, and the result of each simulation is propagated up the tree, updating the results for each node on the way back. The MCTS algorithm repeats this process multiple times, and then selects the best move based on the simulation results. In this way, the algorithm learns which moves lead to better results and which do not. The MCTS algorithm is one of the more efficient and popular algorithms used in chess engines; enabling MCTS can dramatically change the way a chess engine plays. It is worth noting that over the last few years, engines using the MCTS algorithm have made colossal strides in terms of playing strength. It is possible that in the near future the development and use of the MCTS algorithm by chess engines will further increase their playing strength. Due to the nature of the MCTS algorithm, it is worth using it in complex positions where you want to see the result of multi-line analysis. Multi-line analysis in an engine using the MCTS algorithm will not lead to a decrease in its speed.
-
Is Alpha-Beta a more effective algorithm than MCTS?It is impossible to say unequivocally which algorithm, Alpha-Beta or MCTS, is more efficient, as both algorithms have their advantages and disadvantages. Alpha-beta is a faster algorithm that can search through a larger number of possible moves in a shorter time, so it is often used in chess engines to search the game tree. However, Alpha-Beta has some limitations, such as difficulty in evaluation for non-standard positions or difficult motes (so-called fortresses). On the other hand: MCTS is a more complex algorithm that relies on repeatedly simulating random games and learning from them. MCTS is more versatile and works well in cases where it is difficult to evaluate a position based on simple heuristics. MCTS can also be effective in cases where the game tree is very elaborate or irregular. Some chess engines like Dragon by Komodo Chess offer users the option to use either the Alpha-Beta or MCTS algorithm to achieve the best results.
-
What does the term Heuristics mean in relation to chess engines ?In the context of chess engines, heuristics is a method of estimating the value of a position on the chessboard to help make decisions about subsequent moves. Heuristics are an experience-based method that uses general chess knowledge to estimate the value of a position and determine whether the position is favorable or unfavorable to a particular player. Heuristics use a number of factors, such as the position of the figures, control of the central fields, development of the figures and many others, to determine the value of a position. Heuristics are often used to quickly estimate the value of a position. In practice, chess engines often use heuristics along with exact tree search algorithms to achieve the best possible results in a game.
-
What is NNUE?NNUE (Efficiently Updatable Neural Networks for Deep Reinforcement Learning) is a relatively new technology in chess engines that relies on neural networks to evaluate game positions. The use of neural networks to evaluate positions in a chess game has been studied before, but NNUE uses an innovative method that allows a neural network to be learned quickly with minimal computational cost. NNUE was implemented in the popular Stockfish chess engine in version 12, released in 2020. Since then, many other chess engines have also started using NNUE. Thanks to NNUE, chess engines are much more powerful, but their size has increased many times considering the neural network data. NNUE is a parameter that determines whether the chess engine should use neural network architecture to evaluate positions during search. Engines that support NNUE typically play 100 or more Elo points stronger than their predecessors using traditional chess position evaluation methods. If you want the engine to play at maximum strength, then turn on the NNUE parameter. It is worth noting that according to some chess players and experts, engines that use NNUE play stronger, but more "machine-like". This is, for example, one of the reasons why the author of the Hiarcs engine, Mr. Mark Uniacke, did not implement this technique in his engine, wanting to preserve its characteristic - human style of play.
-
Edwards, Gaviota, Lomonosov, Nalimov, Scorpio, Syzygy - What are chess tablebases and what are they used for?Chess endgame tables (Chess Endgame Tablebases) are sets of databases that contain information about the endings of chess games with a limited number of pieces on the chessboard. These tables are used by chess engines during play, to analyze endings and to quickly see what the outcome of a game might be if the correct moves are made. Here are some examples of chess ending tables: Edwards' Tablebases - contains three, four and some five-piece tablebases constructed by Steven Edwards in the early 90s. They were used by some chess engines before the introduction of tablebases supporting a larger number of pieces. Gaviota Tablebases - is another database of chess endings by Miguel A. Ballicora, which includes game endings with five or fewer pieces on the chessboard. Lomonosov Tablebases - this is 7-men endgame tablebases constructed by Vladimir Makhnychev and Victor Zakharov. Nalimov Tablebases - this is another popular chess endgame database, developed by Eugene Nalimov. Nalimov's tables include game endings with six or fewer pieces on the chessboard. Scorpio Bitbases - is a database of chess endings developed by Daniel Shawul. It includes up to six pieces on the chessboard. Syzygy Tablebases - is a set of chess endings tables developed by Ronald de Man containing information about the endings of lots with up to seven pieces on the chessboard. Thompson's Databases - a set of up to 5-men and pawnless 6-man databases created by Ken Thompson. Like Edward's Tablebases, they are almost out of use today, as there are more modern and better alternatives. The maximum number of pieces supported by chess end tables depends on the specific tablebases. Modern such as Syzygy, include endings of lots with up to seven pieces on the chessboard. However, there are also smaller chess ending databases that cover game endings with fewer pieces. Nowadays, the most popular are Syzygy Tablebases, which can be accessed quickly and take up relatively little space.
-
Which Tablebases are the best ?There is no clear answer as to which of these tablebases are the best. Typically, the Syzygy and Nalimov tables are considered the most popular and the most effective. Judging which chess ending database is better - Syzygy or Nalimov - may depend on specific needs and applications. For one thing, Syzygy handles batch endings with seven or fewer pieces, while Nalimov handles endings with six or fewer pieces. This means that Syzygy has a slightly wider range of applications, and can therefore be a more versatile database. Syzygy boards have fast data access times and are supported by a large portion of modern chess engines. Nalimov arrays, on the other hand, are more popular among the older part of chess engines. Both Syzygy and Nalimov are accurate and contain information about all possible positions in the endings of the games they cover. In practice, there is no significant difference in accuracy between Syzygy and Nalimow for endings with six or fewer pieces. If tablebases with seven pieces are not needed, then Nalimow may be sufficient. On the other hand, if a comprehensive database is needed that includes tablebases with seven pieces, then Syzygy may be a more suitable option.
-
Are Tablebases free?Yes, Tablebases are free. Yet, some companies such as ChessBase, ChessOk offer to purchase Tablebases that are made to work perfectly with their chess software.
-
Where can I download Tablebases from?Tablebases can be downloaded from various places on the Internet including through the Torrent network. Below I give few addresses of places on the web with good reputation that have been available for many years and contain various Tablebases, such as Syzygy, Nalimov, Gaviota and others. ChessBase (paid) ChessOk (paid) Cygnitec (free) Kirill Kryukov page (free) Lichess (free) Sesse (free) Due to the fact that these are external addresses - outside the chessengeria.eu zone - there is no guarantee that these sites will be active in the future in the same form. I suggest being careful before downloading Tablebases from unknown sites. If you are not sure if a place on the network is safe, then consider leaving it.
-
Where can I download chess engines from?There are many places on the web from which you can download chess engines. Above all, it is advisable to use safe places on the Internet with a good reputation. Files: Darius, who is the author of the chessengeria.eu blog, offers a Files server where there are many chess engines ready to run on Linux, Mac and Windows. Links: on that page, you will find links to free and commercial chess engines. Chess software developers such as ChessBase, ChessOk, Dragon by Komodo Chess, Hiarcs, Shredder, Banksia GUI, Scid vs. PC, ... and others put chess engines ready to use in their software.
-
What should be done to make the chess engine play with the highest strength?Here are some tips that can help you get the highest playing power of your chess engine: Use the latest version of the chess engine - the latest versions often have improved algorithms and heuristics for better results. Configure the chess engine - most chess engines allow you to configure parameters. Appropriate parameter settings can positively affect the engine's playing power, although keep in mind that in most cases a chess engine will achieve the best results with default settings. Use the available computing power of the device on which the chess engine is running. Using a computer with high computing power can improve the engine's performance. For engines using NNUE, give the engine access to the strongest neural network. For example, in the case of the Lc0 chess engine, this is of major importance and translates into their strength. However, keep in mind that the playing power of the chess engine depends not only on the factors mentioned above, but also on the Openings and Tablebases that the chess engine does or does not have access to.
-
What has a more significant impact on the strength of the chess engine: the CPU, graphics card, memory, or something else?The CPU has the greatest impact on the strength of the chess engine, as it is responsible for processing chess algorithms and calculations in real time. When playing chess, the chess engine has to perform many operations, such as generating moves, evaluating positions, searching the game tree, etc. The CPU is responsible for processing these calculations. The graphics card also has an important impact on the performance of the chess engine, as it can be used to accelerate calculations (chess engines such as Lc0, Allie, for example, use it). Memory is also an important factor, but it has less impact on the strength of the chess engine than the CPU. The greater the amount of memory, the more data can be cached, which can improve the performance of the chess engine, but the amount of memory alone will not affect the playing power of the engine. Of course, in addition to these factors, there are other factors that can affect the playing power of the chess engine, such as the speed of the hard drive, tablebases, openings, etc. However, when it comes to directly affecting the playing strength of the engine, the CPU is the most important factor, as it is responsible for processing all algorithmic operations and calculations.
-
Can neural networks (NNUE files) from one engine be used in another chess engine?In 99.99% of cases this is impossible, In practice, a chess engine simply will not use a neural network created for another engine. However, there are very rare cases when some versions of chess engines are adapted to use neural networks from another - usually more powerful - chess engine. This is not a pure coincidence; the authors of such engines inform about this possibility on the engine's website. Thus, authors of such engines and users can test neural networks in different configurations and use the best of them to improve the engine's playing strength. Note that chess engines vary in how they interpret and use information from nnue files, which can lead to differences in playing strengths between different engines. Many chess engines are available under an open source software license, which undoubtedly allows access to the source code and facilitates the eventual integration/use of neural networks from other engines.
-
Why do I care about NNUE when even a very old chess engine can beat me?You may care about NNUE (efficiently updatable neural network evaluation) even if you are being beaten by a very old chess engine, because NNUE represents a significant improvement in the way chess engines evaluate positions. The primary function of a chess engine is to evaluate positions and choose the best move based on that evaluation. The evaluation function assigns a numerical value to each position, based on factors such as material balance, pawn structure, king safety, piece activity, and other considerations. The chess engine then searches the resulting tree of positions to find the move that leads to the best evaluation. Traditionally, chess engines have used handcrafted evaluation (HCE) functions that require a lot of expert knowledge to develop. NNUE, on the other hand, uses machine learning to create a more efficient and accurate evaluation function. Instead of being based on human-designed heuristics, NNUE learns how to evaluate positions by analyzing large amounts of chess games played by strong players / chess engines. The resulting neural network can be updated quickly and efficiently, allowing the chess engine to adjust its evaluation function in real-time during the search. This can lead to more accurate evaluations and stronger play. In fact, some of the strongest chess engines today, such as Stockfish and Leela Chess Zero, use NNUE as part of their evaluation functions. Therefore, even if you are currently being beaten by a very old chess engine, understanding and appreciating the potential benefits of NNUE can help you better understand the advances being made in chess engine technology, and how those advances can improve the playing, training, analyzing experience for all levels of players.
-
What do chess engines, chess programs, chess computers have in common?Chess engines, chess programs and chess computers are related because they are elements of chess computer technology. Chess engines are computer programs that are used to analyze chess positions and find the best moves. Chess engines use algorithms to search the game tree and evaluate positions, and their strength depends on the quality of the algorithms and heuristics they use. Chess programs are computer applications that allow you to play chess on a computer, as well as analyze games, create databases of games and other chess-related operations. Chess computers are specially designed or configured computers that are used to play chess with human players, analyze chess positions, solve chess puzzles, among other things. All of these elements of chess computer technology are interrelated and are an important part of the development of chess as a sport, science and ... art. Thanks to them, chess players can improve their game, analyze their games, and enjoy the game, while enthusiasts and scientists can use chess as a testing platform for exploring artificial intelligence, machine learning, and introducing new algorithms.
-
What is computer chess?Computer chess is a term that refers to computer programs for playing chess and analyzing chess games. The main components of chess software are chess engines, chess databases, tablebases and openings. Chess engine is a computer program that is capable of playing chess at different levels. Chess engines use artificial intelligence algorithms and heuristics that allow them to analyze possible moves and evaluate the resulting positions on the chessboard. Chess databases are collections of chess games that can be searched and analyzed by chess engines. These databases usually contain chess games from international tournaments, as well as chess games from known matches and chess games played by players of different levels. Tablebases are databases of analyzed positions that occur at the end of a chess game, when there are few pawns and pieces left on the chessboard. Chess endings are very important for learning the game of chess, because the ability to play them helps achieve favorable results. Openings describe are the first few moves that are made in a chess game. Knowing the openings is important for any player because it can affect the entire game. Chess software makes it possible to analyze and learn different openings, allowing players to better understand the game and its strategy. Chess software is very useful for people who want to learn how to play chess or improve their skills. With chess engines and chess databases, you can analyze chess games, perform various scenarios and simulations, and train your chess skills.
-
Are there chess engines with a very aggressive playing style?It is worth bearing in mind that some engines may change their style depending on the opening and other factors. Nevertheless, there are some chess engines that are known for their aggressive playing style: Velvet - is known for its extremely aggressive style of play and its tendency to offer material in exchange for initiative and attack. Velvet uses advanced algorithms for searching the game tree and evaluating positions. Danasah - which is known for its aggressive style of play, as well as for its good performance in instant games and on short notice. Danasah uses position evaluation and game tree search techniques, as well as other innovative methods. Arasan - is based on machine learning, which is known for its aggressive style of play and tendency to find unconventional solutions. Arasan uses neural networks and other machine learning techniques to evaluate positions. Viridithas - is known for its aggressive style of play and propensity to offer material in exchange for attack and initiative. Viridithas uses advanced algorithms to search the game tree and evaluate positions. Dragon (aggressive version), Lc0 and Wasp are engines that can play very tactical and impressive chess. It is worth remembering, however, that the chess engine's style of play depends on a number of factors, including the engine's settings and configuration, the quality and quantity of the database on which the engine is trained, and game conditions (such as time per move and other settings).
-
Which defensive style chess engines are worth using?There are chess engines that are known for their defensive style of play, including: Seer - uses advanced algorithms and heuristics to evaluate positions, as well as state-of-the-art techniques for searching the game tree. Nevertheless, Seer can also play very defensively in some situations, focusing on defending its position and avoiding mistakes. Smallbrain - can defend his position very well; he has the ability to hold difficult positions. Smallbrain uses advanced algorithms and heuristics to evaluate positions, as well as innovative techniques to search the game tree. Zahak - is known for its highly accurate defense and ability to find difficult defensive moves. Zahak uses sophisticated game tree search techniques and advanced algorithms to evaluate positions. Halogen - his ability is the ability to find difficult defensive moves. Halogen uses advanced algorithms and heuristics to evaluate positions, as well as innovative techniques for searching the game tree. Caissa - rarely loses due to its ability to construct solid defensive positions. It is worth remembering, however, that a chess engine's style of play depends on many factors, and some engines may change their style depending on the opening and other factors.
-
Which chess engines with a balanced playing style are worthy of interest?Most chess engines have a balanced style of play, which involves taking aggressive action when appropriate, but also maintaining a safe and stable position when the situation calls for it. Here are some popular chess engines that are known for their balanced style of play: Stockfish - one of the best chess engines in the world, which is known for its highly balanced style of play. Stockfish uses advanced algorithms and heuristics to evaluate positions, allowing it to take both aggressive and defensive actions depending on the situation. Leela Chess Zero - a chess engine based on artificial intelligence and neural networks, which also features a balanced style of play. Leela Chess Zero uses advanced algorithms and machine learning techniques, which allows it to make optimal decisions depending on the situation. Dragon by Komodo Chess - one of the best chess engines in the world, which has a reputation for its highly balanced style of play. Dragon by Komodo Chess uses very advanced and sophisticated algorithms and techniques for searching the game tree (e.g. MCTS), as well as aggressive strategies, but these are balanced by the engine's ability to defend and maintain a safe position. RubiChess - a chess engine that is known for its highly balanced style of play. RubiChess uses advanced algorithms and heuristics to evaluate positions, as well as innovative techniques to search the game tree, allowing it to make optimal decisions depending on the situation. Revenge - a chess engine that also has a reputation for its balanced style of play. Revenge uses advanced algorithms and heuristics to evaluate positions, as well as innovative techniques to search the game tree, allowing it to take both aggressive and defensive actions depending on the situation.
-
Which chess engines provide the user the most parameters for possible change affecting the strength and style of the game?Rodent Glaurung The King (Chess Master) Dragon by Komodo Chess Lc0 Minic Zappa Crafty Fruit Nimzo Hiarcs Arasan Scorpio Cheese Supra Stockfish Vitruvius Critter Fire Vajolet
-
What are the most appropriate programs to train with players at different levels starting with those learning to play chess?There are many programs that are suitable for training with players of different levels, including beginners. Here are some suggestions: Lucas Chess (free) - This is a software that offers chess training and chess games at different levels. Lucas Chess has many features, such as tactical training, opening training, and game analysis. Various difficulty levels are available, making the program suitable for players of all levels. Fritz (paid) - Fritz is a popular chess program that offers chess games and training at different levels. The program has many features, such as tactical training, game analysis, opening training, and training mode. Fritz is a paid software, but offers many training options. Hiarcs Chess Explorer (paid) and Shredder (paid) - Both of them offer advanced training tools for players of all levels. The former places more emphasis on training using the Hiarcs engine (the "human" style of play), while the latter focuses on the many ways to use different chess engines and analysis techniques. Tarrasch Chess GUI (free) - Another free program with many training options. It offers difficulty level customization, batch analysis options and the ability to use batch databases. SCID vs. PC (free) - It is a program for managing chess game databases, but also offers many training options, such as position analysis, puzzle solving and more. Chess King (paid) - A chess program that offers chess games and training at different levels. The program has many features, such as tactical training, batch analysis, opening training, and training mode. Chess King is a paid software, but it offers many training options. Acid Ape Chess GM Edition (paid) - is a chess program that offers many training features, especially for intermediate and advanced players. Here are some of them: batch analysis, tactical training, opening training, endings training, batch library, chess engine games at different difficulty levels, games with other players online or offline. Chessmaster (paid) - is one of the oldest and best-known brands of chess programs. It offers a variety of training tools, as well as many difficulty levels that are suitable for players of different skill levels. In summary, the aforementioned chess programs can be suitable for training with players of different levels, including learners. It is worth choosing this software, which offers different difficulty levels and training tools to help players improve their game. Each of these programs has its own unique features and training options, so it's worth testing several of them to find the one that best suits your training needs.
-
What are the minimum hardware requirements of chess engines that use neural networks (nnue)?The minimum hardware requirements for chess engines using neural networks (nnue) depend mainly on the architecture of the network and the size of the database. In general, however, in order to use a chess engine based on neural networks, you should have a sufficiently powerful computer or mobile device. Here are examples of the minimum requirements: CPU: a processor with multiple cores that is capable of processing multiple threads simultaneously is recommended. Good choices are Intel Core i7 or i9 processors, AMD Ryzen 7 or 9, or Apple M series processors (M1, M2, etc.). RAM: At least 8 GB of RAM is recommended, but it is better to have 16 GB or more, especially if you use large databases. Hard drive: Choose an SSD over a traditional hard drive, as it is much faster in read and write operations, which is important for using large databases. Graphics card: It is not absolutely necessary, but having a CUDA-enabled NVIDIA or OpenCL-enabled AMD Radeon graphics card can speed up machine learning and work in favor of engine speed. Also, the latest Apple Silicon CPUs offer satisfactory performance for chess engines using GPU acceleration. Operating system: nnue chess engines typically run on Windows, Mac or Linux. It is worth remembering that the final minimum hardware requirements will depend on the specific application or chess engine you want to use.
-
Why in some chess engines the nnue (neural network) file is not integrated into the chess engine, but is separate and requires its name or path to access it?Neural network (nnue) based chess engines are often designed as separate neural network models that can be trained on different datasets or enhanced using different techniques. Therefore, many nnue chess engines offer the option of loading these separate neural network models from a file instead of integrating them into the engine code. The benefit of separating the nnue file from the chess engine is that it allows the neural network models in the engine to be easily updated or replaced without changing the source code. Another benefit is that different neural network models can be easily tested and compared using the same chess engine. When the chess engine and the neural network model are separate, the chess engine needs to know which neural network model to use to analyze the chess position. Therefore, the nnue file must be given a name or path to indicate the specific neural network model to be used in the chess engine. In summary, separating the nnue file from the chess engine allows for easier updates, testing and comparison of different neural network models. However, it requires the name or path of the nnue file so that the chess engine knows which neural network model to use.
-
Do chess engines without access to an opening book play weaker than chess engines that use such books?Chess engines that use opening books tend to perform better than those that do not. An opening book is a collection of initial moves that are considered the best or most common in a chess game. Using an opening book allows a chess engine to make faster and more consistent decisions at the beginning of a game, which can bring an advantage to the game. However, there are chess engines that are very powerful despite not having access to an opening book. The ability to use an opening book depends on the individual user's choice. Using an opening book can speed up the decision-making process in a game, but it does not always lead to victory. Without an opening book, the chess engine may run slower at the beginning of the game, but in the long run it can use non-standard strategies, which can benefit in the later phases of the game.
-
Do chess engines without access to tablebases (eg. Syzygy) play weaker than chess engines that use such tablebases ?Chess engines that use tablebases tend to perform better in endings than those that do not. Tablebases are a collection of all possible end positions in which the outcome of the game is known. Using tablebases allows the chess engine to make faster and more precise decisions in endings. This allows the chess engine to avoid making mistakes and losing winning positions. However, there are chess engines that are very powerful despite not having access to tablebases. Of course, the ability to use tip bases depends on the individual user's choice. Using tip bases can speed up the decision-making process in endings and reduce the risk of making mistakes, but it does not always lead to victory.
-
Can chess engines play non-standard chess variants?Yes, chess engines (eg. Fairy-Stockfish) are able to play non-standard chess variants, such as chess960 (fisher random chess), crazy chess, atomic, or suicide. There are many chess variants in which the rules of the game differ from standard chess. For a chess engine to play custom chess, it is necessary to implement special logic that interprets the rules of the game and determines what moves are allowed. For custom chess, it may also be necessary to customize the position evaluation function, which determines the value of a given position in the game. It's worth remembering to use an interface that can handle the chess engine of your choice (such as Fairy-Stockfish) to play non-standard chess. A good choice is, for example, Cute Chess. Some chess engines have built-in modules to support non-standard chess, and other developers can create special plug-ins or modifications that allow you to play that chess variant. However, with non-standard chess, the performance of the chess engine can be much worse, because many algorithms and heuristics are designed specifically for standard chess, and they are not always easily transferable to custom variants.
-
What languages are chess engines written in? What languages are the most efficient and recommended for programming chess engines?There is no single best programming language for writing chess engines, as the choice of language depends on the programmer's preference, experience, and the features of a particular implementation. One of the most popular programming languages used in the development of chess engines is C and C++, due to its performance and ability to directly use low-level features such as bit operations. High-level programming languages, such as Python, are also increasingly popular in chess engine development because of their simplicity and flexibility. There is no clear answer to the question of which programming languages are the most efficient and recommended for programming chess engines. However, low-level programming languages such as C++ and Rust usually provide the best performance and allow easy portability of the engine for different platforms (e.g. for Android, Linux, Mac and Windows).
-
What is bitboard?The phrase bitboard is a concept used in the context of chess engine programming. A bitboard is a way of representing the state of a chessboard in the form of a string of bits (such as a 64-bit integer), where each bit corresponds to one field on the chessboard. In practice, each field on the chessboard can be represented by one bit in the bit string, where a bit set to 1 means there is a figure on the field, and a bit set to 0 means the field is empty. Thus, bit operations can be used to process checkerboard state information quickly and efficiently, speeding up the operation of the chess engine. The phrase bitboard is derived from the English words "bit" (meaning bit) and "board" (meaning checkerboard), which literally means "a checkerboard stored as a string of bits."
-
Is computer chess (engines, software, computers) an interesting passion / hobby?Yes, computer chess, including the creation of chess engines, programming and analyzing chess games, as well as using chess software and playing games against a computer, is a popular hobby and passion for many people around the world. Creating and programming chess engines can be especially passionate for those interested in artificial intelligence, algorithms and mathematics. Analyzing chess games using chess engines can be a fascinating way to improve your skills in the game, as well as learn about interesting combinations and strategies. Many people also use chess software and play games against the computer as a way to relax and entertain themselves, as well as develop their chess skills. Special training programs are also often available to develop specific skills, such as tactics, strategy, and chess openings. Because computer chess allows people to combine their passion for chess with their interest in technology and programming, it is becoming increasingly popular among people with different interests and professions.
-
Is computer chess more of a science or an art or maybe a sport?Computer chess is primarily a science, as it involves the use of advanced algorithms and computational power to analyze and play the game. Computers are able to perform calculations and analyze positions at a speed and depth that is impossible for humans, and they can use this ability to create highly complex and sophisticated strategies. While there may be some creativity involved in programming chess engines and developing new techniques for analyzing and playing the game, this is generally considered to be a technical or scientific endeavor rather than an artistic one. Furthermore, while computer chess can certainly be challenging and mentally stimulating, it is not typically considered a sport. Although there are competitive computer chess tournaments and leagues, these events do not involve physical exertion or athletic ability in the same way that traditional sports do. Therefore, while computer chess may incorporate some elements of art and sport, its primary focus is on the scientific and technical aspects of the game. It is also possible to discover the beauty of chess and the synergy of human-machine cooperation through computer chess. Computer chess programs are incredibly powerful tools that can help players at all levels improve their game and gain a deeper understanding of the principles and strategies involved. They can analyze complex positions, suggest moves, and provide feedback on errors and missed opportunities. Through the use of computer chess, players can explore new variations, experiment with different approaches, and gain a deeper appreciation for the intricacies of the game. Computer chess can provide an opportunity to discover the beauty of the game and the potential for human-machine cooperation. It can help players at all levels improve their skills and deepen their understanding of the game.
-
Are mobile devices such as smartphones and tablets suitable for pursuing a passion for chess engines and chess software?Yes, mobile devices such as smartphones and tablets are suitable for pursuing the passion for chess engines and chess software. There are many chess apps for mobile devices, including chess engines, which offer many features such as batch analysis, online games, chess problem solving, training and much more. Many of these apps are available for free, while many others are available for a small fee. There are also online chess apps that allow you to play with players from all over the world. Because mobile devices are portable and have a touch screen, they are very convenient for playing chess anywhere and anytime.
-
Are older chess engines and chess programs of contemporary use, or can they be useful?Yes, older chess engines and programs can still be useful and have contemporary use. Even though newer and more powerful chess engines are constantly being developed, some older programs are still highly regarded for their analytical capabilities and playing style. One example of an older chess engine that is still widely used today is the program Crafty, which was first released in the mid-1990s. Although it is not as powerful as more modern engines, it is still highly regarded for its strategic and positional analysis, and is frequently used by chess enthusiasts for analyzing games and positions. Another example is the program Shredder, which was first released also in the mid-1990s and is still considered to be one of the strongest chess engines available. It is still being used by professional players and computer chess enthusiasts. Older chess programs can also be useful for 'historical purposes', as they provide insight into the development of computer chess over time. They can help researchers and enthusiasts better understand how computer chess has evolved and the various techniques and strategies that have been employed. While newer chess engines and programs may have more advanced features and capabilities, older programs can still be valuable resources for chess players and enthusiasts. It is also worth noting the availability of older chess software. These chess programs-including professional ones-are sometimes available at a much lower price, which can be a nice opportunity for computer chess enthusiasts to learn more about the software. Many people appreciate older chess engines and chess software for their educational value and, most importantly for some, for the nostalgic feelings associated with playing chess on older versions of the software.
-
What are the parameters of chess engines?With the help of chess engine parameters, the style, as well as the strength of chess engines can be influenced. Skillful change of chess parameters can affect positively or negatively his ability to judge and make decisions based on the situation on the chessboard. For a detailed presentation and description of the parameters of chess engines, see this article: Engine Parameters
-
What is hash / hash table ?Hash arrays are areas of memory where a program can store positions and ratings when calculating moves in a game. If the program encounters the same position again, it can simply retrieve its rating from the hash tables instead of analyzing it all over again (which takes more time). Hash tables greatly increase the playing power of a program. This is especially true with modern and powerful engines. Some of them fill up the Hash very quickly. Specifies the maximum amount of memory (in MB = Mega Byte) that can be used per transposition table - a major factor in performance - especially the performance of modern chess engines. It is usually best to use half the available RAM per Hash, but a smaller Hash size will slightly improve performance in a fast game, such as 5 minutes for the entire game. In modern chess programs, hash tables can fill up very quickly, so an optimal hash table size may not be achievable, especially when deep searching or using a deep analysis program, or when the amount of memory on a given machine is limited. In these cases, the rule of thumb is to set the hash table size as large as possible without sacrificing system performance. If your computer uses a super-fast SSD (solid state drive), then even exceeding half the RAM for the hash table may not slow down the chess engine and operating system. If you use the chess engine for deep analysis or playing long time games, then I recommend setting the Hash parameter to the highest possible value, keeping in mind the engine and operating system speed. For ordinary applications, the engine needs only 128 to 512 MB of memory for Hash; slightly smaller and larger values should not affect its operation negatively.
-
What the term Threads means?Threads / Cores / CPU. This is an important parameter that affects the speed (calculation) of the chess engine. If you need the maximum playing power of a chess engine, then set the Threads configuration option to a value smaller than the number of physical cores of your computer. For example: use 7 on a 8-core computer. This will leave one core available for other programs and operating system while the chess engine runs in the background. There is a Hyper-Threading option in some processors. As new processors evolve, their capabilities change—the general rule is not to use more threads than physical cores. For ordinary uses, such as quick analysis of a chess game, finding threats, or training with the engine - just set Threads to 1. Nowadays, modern chess engines even on a single Threads play at more than 3000 Elo, enough power for most purposes.
-
What is Contempt and what is it used for?The Contempt option lets you override the chess engine so that it more or less avoids draws. More precisely, this option sets how much the engine should favor its own positions and the values of its pieces and pawns. In simpler words, Contempt makes the chess engine more or less confident in its work. Different engines accept different range of Contempt values, so I suggest you read the technical documentation of the engine in question, where this parameter and its influence on engine operation should be described. The default Contempt value of an engine means its optimal play against any opponent. It is a good idea to change the Contempt value if you expect to play against a much weaker opponent or against a much stronger opponent; this can improve game results. For example, by appropriately setting Contempt against a weaker opponent, an engine will only exchange and dispose of pieces and pawns when it determines that its position evaluation will significantly increase in its favor. With Contempt against a stronger opponent, the engine will try to get rid of pieces as often as possible to weaken the opponent's strength.
-
What is Selectivity?The Selectivity parameter can be used to adjust the aggressiveness of the position tree search while the engine is running. Usually higher values encourage the chess engine to trim the position tree more aggressively, which leads to deeper overall searches and increases the risk of missing some moves. Changing the selectivity parameter makes sense when, for example, analyzing a position full of tactical possibilities - which can help the engine find the precise line of play faster. For complex positions with positional play - I do not recommend changing the Selectivity parameter.
-
King Safety ?This controls how high the engine rates the King security. The higher the value, the greater the effects of attacks on the King. Like Selectivity, this parameter can have a significant impact on a chess engine's play style. I suggest looking at the Dessident Agressor parameters of the Zappa engine. After changing the King Safety parameter (and others) from the default 100 to 500, this engine pays much less attention to the safety of your King when playing, throwing all your forces into the attack.
-
What is the LMR used for?LMR = Late Move Reduction is a search technique that aims to reduce certain moves in the search tree so that you can get more overall depth. However, this can sometimes result in good moves being missed. I don't recommend turning on LMR during, for example, a position analysis where we need a very accurate search.
-
I heard something about Null Move, but... ?This is another technique (like LMR) for removing moves from the search tree. This parameter can be useful when you have a difficult position that cannot be solved easily and you want to see if a shallower but more accurate search would help you find a good move - then it is worth turning off the Null Move parameter. Most modern engines play much more strongly with the Null Move option enabled, because they use different techniques and have very effective position evaluation functions, which in the vast majority of cases do not miss important moves and lines.
-
What is Numa?This is a parameter that affects the organization of RAM and Threads usage by the chess engine. For engines running in Linux and Mac systems, this parameter is automatically set to the best value in 99% of engines. On Windows system, NUMA should be left unchanged in most cases. NUMA can have a very significant impact on engine performance up to +-25%. Changing this parameter can also be useful when running, for example, two or more instances of the same chess engine. If you are not sure whether changing this parameter is beneficial, I suggest leaving its default value.
-
Can you provide information on Large Pages?Some chess engines can use so-called Large Memory Pages. It is only possible, if Large Pages is provided by the operating system. When Large Pages is enabled, engine speedup can range from 5% to 15%, depending on the size of the Hash board. How to enable access to Large Pages ? For example, in Windows this requires changes in advanced system settings. Inquisitive readers may be referred to the website of the operating system manufacturer.
-
What is Futulity / Futulity Pruning all about?This parameter turns on or off the use of the technique by the chess engine to discard moves that are not promising to find the best line. Futulity Pruning is another way to increase the speed and depth of the search. In the vast majority of cases turning this parameter on gives good results.
-
Mobility?It is a parameter that describes a measure of the number of choices (legal moves) a player has in a given position. It is often used as a term in the chess engine evaluation function. It is based on the assumption that the more choices a player has, the stronger the position. There is a correlation between a player's mobility and the number of games won. Depending on the position in question, changing this parameter can have a big impact on the strength and playing style of the chess engine.
-
How is it with Learning (Book, Position, etc.) ?This is a parameter that determines the chess engine's ability to learn certain behaviors when analyzing and playing chess. It allows chess engine to learn from the games it plays. This can improve its play in future games. For example, in the initial phase of the game a move made by the chess engine which resulted in a worse position will not be selected in the next game with the same position. It is a good idea to have this parameter turned on if you frequently use the same engine.
-
Level of play / Skill / Strength / Elo / UCI Elo ?This is a parameter that affects the play strength of the chess engine. Since this parameter is implemented differently in engines, depending on the engine you choose, I suggest you read the technical documentation. If we need the maximum playing strength of the engine, then I suggest not changing the default value of this parameter.
-
In what situation is it not worth using the Tablebases / Use Tablebases parameter?Don't use this parameter if you don't want the engine to access database tables to improve endgame. Why should you not use this parameter ? Because, for example, you don't have access to Tablebases, or you want to see how the engine evaluates endgame position using its own algorithm instead of using Tablebases.
-
Lines / PV / Multi PV ?This parameter will determine the number of analysis lines that the engine will show during operation. For example, if you only want to see the best move that the engine "sees", then the Multi PV parameter should be set to 1. If, for example, you want to see 2 best moves along with analysis lines, then set this parameter to 2.
-
Log / Logs ?It is a parameter that, when activated, logging chess engine communication to a file in the (custom) same directory as the chess engine.
-
What is Opening Book?An opening book in computer chess is a special database of opening moves of chess games that a computer can use during a game. The opening book usually contains popular opening moves that are often used in practice, and the answers to those moves. When the computer plays chess, it can use the opening book to choose the best move based on its analysis of the game recorded in the book. Using an opening book can be very useful because it allows the computer to react quickly and effectively to the opponent's moves, which in turn leads to better results in the game.
-
What does the term Search mean?The term "Search" in computer chess refers to the process of searching the game tree to find the best move at a given point in the game. This process involves analyzing and evaluating the various move options that players can make and then selecting the best one. When searching the game tree, a chess program looks for moves that lead to an advantageous position or to achieve a specific goal, such as capturing an opponent's figure or avoiding a threat. Search algorithms in computer chess are designed to carefully examine possible move options and select the one that will provide the greatest benefit in the long run. Depending on the quality of the search algorithm and the computing power of the computer, a chess program may be able to analyze hundreds of thousands of positions per second and find the best move in a matter of seconds or minutes.
-
What is Tuning in relation to the chess engine?Tuning in the context of chess engines refers to the process of modifying the parameters of a chess engine in order to achieve better performance during a game. In order to improve the effectiveness and performance of the engine, various parameters can be modified during the tuning process. Tuning can include parameter modifications of many parameters such as Selectivity, King Safety, Null Move and others also heuristic parameters that determine the value of individual figures, or parameters related to the search algorithm. The goal of tuning is to obtain an optimal set of parameters that will allow the chess engine to achieve the best possible results during the game. However, tuning requires a great deal of time and experience, because the various parameters of the engine are closely interrelated, and changing one parameter can affect others. For detailed information on the parameters that can be used for tuning chess engines, see this article: Engine Parameters
-
What is UCI?UCI (Universal Chess Interface) is a chess interface protocol that enables communication between a chess engine and a user interface. UCI was developed in 2000 by Rudolf Huber and Stefan Meyer-Kahlen as an open chess interface standard. UCI defines a communication format between a chess engine and a user interface, allowing the interface to control the chess engine, pass moves to it and receive batch analysis results. This allows users to use different chess engines in different chess interfaces, making it easy to compare their results. Because of its simplicity and flexibility, UCI has become a popular chess interface standard, and most modern chess engines support this protocol.
-
What is Winboard? What is Xboard?Chess Engine Communication Protocol (CECP) is a protocol that enables communication between a chess engine and a chess interface. CECP is also referred to as XBoard or WinBoard. CECP is based on the transmission of queries and responses between the interface and the engine, which include information about chessboard positions, moves, analysis, etc.
-
Do chess engines have chess knowledge? What is chess knowledge in relation to computer chess ?Chess engines have chess knowledge, but this knowledge is different from that of humans. In the case of chess engines, chess knowledge consists of datasets and algorithms used to analyze positions on the chessboard. The datasets of chess engines contain information about openings, tactics, strategies and other chess elements, which are stored in the form of code. Chess engine algorithms use this knowledge to make moves and analyze positions on the chessboard. Chess knowledge is essential for chess engines because it is what allows them to analyze positions on the chessboard and make decisions about the best moves. Without chess knowledge, a chess engine would simply be a collection of random moves.
-
What is Wb2UCI used for?Wb2UCI is a tool for converting between two popular communication protocols for chess engines: Winboard (WB) and UCI (Universal Chess Interface). Winboard and UCI are two different communication protocols that are used to connect a chess engine to a user interface (such as a chess program). Winboard is an older protocol that was developed in the 1990s, while UCI is a newer protocol that was developed in 2000 and is more popular these days. Wb2UCI makes it possible to connect a chess engine to a user interface that supports the Winboard protocol, and then convert that connection to the UCI protocol, allowing the chess engine to be used in interfaces that support the UCI protocol. Wb2UCI is particularly useful for people who use older chess engines that only support the WinBoard protocol. With Wb2UCI, you can use those chess engines that would be unavailable in some programs such as Fritz or ChessBase.
-
What is UCI2WB used for?UCI2WB is a tool for converting between two popular communication protocols for chess engines: UCI (Universal Chess Interface) and Winboard (WB). Winboard and UCI are two different communication protocols for connecting a chess engine to a user interface (such as a chess program). UCI is a newer protocol that was developed in 2000 and is more commonly used today, while Winboard is an older protocol developed in the 1990s. UCI2WB allows you to connect a chess engine to a user interface that supports the UCI protocol, and then converts that connection to the Winboard protocol, allowing you to use the engine in interfaces that support only the Winboard protocol.
-
What is PolyGlot?PolyGlot is a "UCI adapter". It connects UCI chess engine to Winboard interface. (UCI2WB is another such adapter (only for Windows)).
-
What is the purpose of InBetween?To solve possible communication problems or errors in the implementation of the data exchange protocol between the chess engine and the interface, InBetween was created. It is a Windows command line tool. InBetween can be used to translate or change commands between a client and a server, such as between a graphical chess interface and a CECP or UCI-compliant chess engine. In addition, InBetween allows all interactions between the chess GUI and the chess engine to be recorded to identify potential incompatibilities or for debugging purposes.
-
Is it true that the games of chess engines are more beautiful and interesting than the games of humans?Undoubtedly, chess games between modern chess engines and humans differ in many respects. Games between chess engines are often characterized by a very high level, because chess engines are able to play a very strong chess and avoid the typical mistakes that happen to human players. These games are often very informative for chess players who want to improve their skills in the game. On the other hand, chess games between humans are more varied and unpredictable, as people make decisions that are not always based on logic or algorithms. Often the outcome of a game between people depends on the emotions and mental states of the players, which can make these games exciting and interesting for some (but not all) observers. Some chess enthusiasts appreciate the beauty and "purity" of chess games between engines, while others prefer the excitement and unpredictability of chess games between humans. The media often promote events/tournaments or matches between human players, although very often the quality of their play is very low compared to chess engines. This is done in order to attract as large an audience as possible, in order to result in monetization and financial gain (e.g. from advertising) for these media or the companies contracting them to do so. It is worth adding that chess engines do not play chess flawlessly, which can be observed even in games between the strongest of them. Important factors affecting the quality of chess engines' play include the time available to "think" about a move and the hardware resources of the device the engine uses.
-
Do chess engines play flawless chess?There is no such thing as a "flawless" chess game, because chess is a game with many possible moves and combinations, as well as a certain degree of uncertainty and risk. Chess engines do not play chess in a literally error-free way, but they can play at a very high level and avoid the typical mistakes that happen to human players. Chess engines use artificial intelligence algorithms and methods including so-called machine learning, which allow them to analyze the position on the chessboard and choose the best moves for a given situation. However, chess engines always have to make decisions based on certain heuristics and position evaluation, which means that their decisions are not literally flawless, but based on certain assumptions and computational methods. In addition, chess engines can make mistakes, especially in situations where they are playing against another chess engine of similar strength or in games with limited time to move. In such situations, the chess engine may make mistakes or not always choose the best moves because it has limited time to think about its move. In summary, chess engines can play at a very high level and avoid mistakes, but they do not literally play "flawlessly."
-
Chess engine rating lists. Why are they created and what are they used for?Chess engine rating lists are rankings based on the results of games between different chess engines, which are used to determine the playing strength of individual chess engines. Chess engines are rated based on their performance. The most important and popular chess engine ranking lists are: CCRL - Computer Chess Rating Lists: this is one of the most recognized chess engine rating lists, which is published by the CCRL organization. SPCC - Stefan Pohl Computer Chess, is a ranking list that lists the strongest chess engines. It includes the "traditional" ranking list and unique lists like the EAS-Ratinglist - the world's first engine-rating list not measuring strength of engines, but engines' style of play. There are also ranking lists that are older and less frequently updated, but still highly reputable and respected: CEGT - Chess Engines Grand Tournament. SSDF - Swedish Chess Computer Association: is a ranking list that is published by the Swedish SSDF organization. It is one of the oldest chess engines ranking lists. FGRL - FastGMs Rating Lists publishes the results of chess engines achieved in games with different thinking times. One of the youngest ranking lists cannot be missing from this list: MCERL - Mac Chess Engine Rating List: is a ranking list that focuses on chess engines that play on Mac computers. This list is one of the youngest (starting in 2022) and was created due to the rise in popularity of devices with the apple logo and their users' interest in using chess engines on their Apple computers. It is worth noting that different rating lists may have slightly different criteria for evaluating chess engines, which may lead to slightly different results and differences in rankings. Chess engine rating lists are important for many reasons: Determining the strength of chess engines: a rating list is a tool to determine how strong a particular chess engine is relative to other chess engines, as well as relative to human players. Rating lists provide motivation for chess engine developers who strive to improve their programs to achieve stronger engines and better rankings. Source of information for players: rating lists are an important source of information for chess players who want to know the playing strength of individual chess engines. With the rating, players can choose which chess engines they want to play with, and most importantly, choose which ones they want to use for analysis, and training, for example. Source of analysis and research: rating lists are also a source of data for researchers and analysts who want to study trends in the development of chess engines, analyze individual games and strategies, and conduct various types of chess experiments. Overall, chess engine rating lists are an important tool for assessing the strength of engines' play, as well as a source of information and inspiration for players, developers, tournament organizers, chess enthusiasts and researchers.
-
What are dedicated chess computers for?Dedicated chess computers are special devices designed specifically for playing chess with people. They have chess software and hardware that provide sufficient computing capacity to perform position analysis and make in-game decisions. Dedicated chess computers were introduced in the 1970s and were a breakthrough in the development of the game of chess. These computers were usually able to analyze positions faster and more accurately than most human players, and their use in matches against humans was a great challenge for chess players. The most powerful dedicated chess computers play at the master level. There are also dedicated chess computers that offer the ability to use modern chess engines; their strength then is much greater. Today, dedicated chess computers are being replaced by chess programs and engines running on general-purpose computers, as they allow for much higher performance and power, while being more flexible and easy to use.
-
On what electronic devices are chess programs available?Chess programs have appeared on a wide variety of electronic devices since the invention of the first computers. Below are examples of the major devices on which chess programs are available: Personal computers - chess programs were available on most platforms, including Mac, PC and Linux. Stationary and portable game consoles - some game consoles, such as Xbox and PlayStation, have chess programs available. Smartphones and tablets - a variety of chess programs, both paid and free, can be found on mobile devices such as smartphones and tablets. Smartwatches - although their screens are not large, also for these devices appeared simple chess programs. Dedicated chess computers - these are special chess boards with built-in chess software that allow you to play chess with physical figures and an opponent or with a computer. Apple TV and Android TV devices - are essentially small computers that can also be used to play chess with the proper software. Internet-enabled tv's - some tv's have built-in applications, including chess programs. Pocket computers, Mini PC's - these are portable devices that appeared on the market in the 1980s and 1990s. Many of them have built-in chess programs. E-readers, e-book readers, such as PocketBook have built-in chess programs. Embedded systems - many devices, such as cars and even modern refrigerators, have built-in computer systems on which simple chess programs can be installed. Chess programs are appearing on more and more devices as technology advances. This makes chess accessible to even more people, who can enjoy it on various devices.
-
Are there robots that play chess?Yes, there are robots that play chess. These are electronic devices that are designed to automatically play chess with a human or with another robot. Chess-playing robots are very rare that are not on regular sale. If they do play, they are used for demonstration games. Chess robots consist of mechanical and electronic parts. They usually have moving arms, which are used to move figures on the board, and a camera, which is used to track the position of figures on the board. These robots are usually equipped with chess engines that allow them to perform calculations and make decisions about moves. One of the most famous chess robots is "The Turk" (also known as "Mechanical Turk"), which was built in the 18th century. It was a chess-playing automaton in the form of a Turkish sheikh and gained fame around the world. In reality, however, there was a human inside the automaton, who controlled the figures on the board. Today, chess robots are more technologically advanced, and no longer require human assistance. One example of such a robot is the "Chess Terminator." This robot is capable of making moves on the board at a speed no less than that of a human chess player.
-
For which operating system are there the most chess engines and why?Various types of chess engines can be found on most operating systems. Roughly counting contemporary chess engines and those whose authors offer access to the source code - there are currently about the same number of chess engines for each popular operating system. It is worth mentioning that the vast majority of the most powerful chess engines and those offering the greatest capabilities today are available for Android, Linux, Mac and Windows. Examples include: Stockfish, Dragon by Komodo Chess, Berserk, Koivisto, RubiChess and many, many others. Nowadays, thanks to the open source community, access to engines, source codes and the knowledge to create and compile chess engines and their development is easy and widely available. If we consider older chess engines from, for example, 20 years ago and even older, they are mainly chess engines for Windows, whose authors did not release the source code. At that time, there was no Android yet, and Linux and especially Mac were just beginning to grow in popularity. Undoubtedly, there is a decrease in the number of chess engines created and intended only for one system platform, such as only for Linux or only for Windows. This is understandable, since chess engine developers usually want their work to reach the largest possible public.
-
Is it possible to play chess with electronic assistants like Siri, Google, Amazon speakers, and similar devices?No, in 2023 with electronic assistants like Siri, Google Assistant, Amazon Echo, and other similar devices you can't play chess yet, but you can open your favorite chess app with the appropriate commands given to them. This is likely to change in the near future, as the aforementioned assistants and devices are being developed all the time and their capabilities are increasing.
-
Will chess as a game ever be solved?Chess is a game that has been around for hundreds of years and is one of the most popular and recognized games in the world. Currently, there is no evidence that chess will ever be solved. The game is very complex and complicated, and the number of possible moves and combinations (that's more than there are atoms in the universe) makes it very difficult, if not impossible, to create a strategy to win every game. However, thanks to advances in artificial intelligence and machine learning, computer-chess engines are getting better and better at playing chess and are able to beat even the best human players. Nevertheless, there is always the possibility that there are moves that computers cannot predict, which could lead to their defeat. In any case, chess will continue to be a popular game that requires a high level of creativity, analytical skills and decision-making ability from human and computer players.
-
Can chess programs and engines be helpful in teaching and training chess for children?Yes, chess programs and engines can be very helpful in learning and training chess for children. Here are some ways chess programs and engines can help you learn chess: Chess game analysis: Chess programs allow you to analyze your games, which allows you to understand mistakes and weaknesses in your game. This allows you to focus on improving these areas. Solving chess puzzles: Chess programs include many chess puzzles to help you improve skills such as recognizing tactical motives and planning strategies. Practice games: Some chess programs offer special practice games to help improve various chess skills, such as predicting your opponent's moves or planning your own moves. Games against the computer: Chess engines allow you to play against the computer at different levels of difficulty, allowing you to learn and improve your chess skills. Position analysis: Chess programs allow you to analyze positions and look for the best move, which helps you improve your strategy skills. All these features can be very useful for children learning to play chess and for those who want to improve their skills. In addition, chess programs and engines allow you to learn faster, because instead of waiting for a human opponent/coach, you can play and practice at the corresponding time.
-
Is it necessary to have some specialized knowledge to use chess engines and chess programs?No, you don't need specialized knowledge to use chess engines and programs. Many chess programs and engines are designed to be easy to use, even for beginners. Some chess programs have graphical interfaces that allow easy navigation and use of various functions. Chess engines can be integrated into chess programs or use simple interfaces, allowing the user to enter chess moves and analyze positions on the chessboard. Some chess programs and engines also have automatic position analysis functions, allowing players of varying levels of experience to understand their mistakes and how to improve their game. However, it should be noted that the more advanced features and tools a chess program has, the more knowledge and skill it requires from the user. However, most chess programs and engines are tailored to different skill levels, so users can choose the tools and features that suit their level and needs.
-
How to learn chess engine programming?Learning to program a chess engine can be a challenging and rewarding experience. Here are some steps to get started: Learn the basics: Before you start programming a chess engine check out Chess Programming Wiki. Choose a programming language: There are many programming languages that can be used for chess engine programming, including C, C++, Rust, Java, and Python. Choose a language that you are comfortable with and that has good performance for computationally intensive tasks. Study existing engines: Look at existing chess engines to see how they are structured and how they evaluate positions. Some popular chess engines for learning and education purpose include TSCP (The Simple Chess Program), Crafty, Fruit, Rodent and many others with open sources. Have a look at the chessengeria.eu Files area Read literature: There is a lot of literature on chess engine programming, including books, academic papers, and online articles. Reading this material can help you learn about different algorithms and techniques used in chess engines. Start with a simple engine: It's important to start with a simple chess engine and gradually add more features and optimizations as you learn. A good place to start is with a basic alpha-beta search algorithm. Test and debug: As you write your engine, it's important to test and debug it thoroughly to ensure that it is working correctly. Join a community: There are many online communities of chess engine programmers where you can share your work, ask for help, and learn from others. Some popular forums include the TalkChess forum. Remember that learning to program a chess engine takes time and patience. Be prepared to put in a lot of work, but don't be discouraged if you run into challenges along the way. With dedication and perseverance, you can create a powerful and successful chess engine.
-
Is computer chess (engines, software, computers) an expensive passion / hobby?The cost of computer chess as a hobby can vary depending on several factors, such as the type of software and hardware and the available budget. First, you will need a computer or device with enough computing power to run the chess engines and software. Although modern computers are powerful enough to run any chess engines, more sophisticated engines may require more advanced hardware, such as graphics processing units (GPUs), to show their full power. The cost of chess software can also vary widely. There are many free and open source chess engines and software available online, but more advanced and specialized programs can cost anywhere from a few to several hundred dollars. In addition, some online chess platforms may require a subscription or membership fee. Specialized chess equipment, such as dedicated chess computers - while not necessary - can also be an additional cost. Overall, computer chess can be a relatively inexpensive hobby for those using free or low-cost software and hardware, but it can also become more costly for those who invest in more advanced and specialized tools.
-
Are many chess players interested in computer chess ?Yes, many chess players are interested in chess engines and chess programs, and probably the vast majority of them use this software. Computer chess is extremely helpful for chess players because it can help them analyze their games, improve their strategy and skills, and discover new openings and variants. Some chess players use chess engines and software as tools to learn and improve their game, while others use them to prepare for matches or tournaments, and still others catalog games and organize chess engine matches and tournaments. Nowadays, when the availability of various computer devices is widespread, chess players are eager to take advantage of these technological advances.
-
Which chess engine is the strongest? Is Hiarcs Chess Explorer Pro better than Deep Shredder? Is it worth buying ChessBase or is it better to choose free Scid vs. PC?These are questions that very often appear in correspondence from chessengeria.eu Readers. In this blog you will find answers to these and many other questions. To begin with, I invite you to visit the sections: Reviews How-To Courses Articles MCERL If you need additional help, or just want to pass something along to me, then contact me through the contact form (at the bottom of the home page) or alternatively send an email to chessengeria@gmail.com .
-
Is it possible to use the Chess Opening Book of the CTG format in various chess programs, such as Shredder Classic, Hiarcs Chess Explorer (Pro), Aquarium, Scid, etc. ?No. The Books in CTG format is used exclusively by ChessBase GmbH programs (Fritz, ChessBase). CTG is a proprietary format, which results in the fact that other programs – including, for example, Shredder Classic and others – do not support Books in CTG format. There is no CTG to BKT converter available.
bottom of page