-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Terminology
Also known as "CPUs". The amount of CPU threads that the engine will use, usually the higher the better.
Also known as "memory". The amount of RAM that the engine will use, usually the higher the better.
Counter of iterative deepening loop. Regardless of the name, there is no simple connection to depth.
Also known as "seldepth". Is the depth of the deepest principal variation line in the search.
Also known as "number of lines" or "multiple lines". The top N moves and their principal variations can be computed. This gives additional insight in the options of the position. However, in Stockfish, this weakens the quality of the best move computed, as resources are used to compute other moves.
Also known as "TT". A database that stores results of previously performed searches.
Also known as "Lazy SMP". The idea of executing the search function on N many threads and share the hash table. This allows for faster filling of the hash table, resulting in a faster and wider search.
The idea of performing consecutive searches at higher depths each time.
Also known as "passing move". TODO
Also known as "PV". The sequence of moves that the engine considers best and therefore expects to be played.
The idea of ignoring certain parts of the search tree in order to reduce the amount of time it takes to execute a search.
Based on the assumption that, if we can reach beta by not making a move at lower depths, we will most likely be able to reach it anyway.
The idea that quiet moves don't tend to improve positions significantly, therefore we can safely prune quiet moves in positions where the current position is evaluated to be below alpha by a margin.
Also known as "LMP". The idea that all quiet moves can be pruned after searching the first few given by the move ordering algorithm.
Also known as "LMR". A way of proving if a move is lower than alpha quickly. This is done by searching moves that are expected to underperform at a lower depth.
The idea of extending certain moves, usually by one ply, to try to find better moves faster.
They can have two distinct forms: one of them extends when giving check, the other when evading it. The reason behind check extension is that we are in a forcing sequence, so that it is desirable to know its outcome with more certainty.
In order to maximize the efficiency of alpha-beta search, we optimally want to try the best moves first.
Also known as "qSearch". Performed at the end of the main search, the purpose of this search is to only evaluate "quiet" positions, or positions where there are no winning tactical moves to be made.
Also known as "classic", "classical" or "HCE". TODO
Also known as "NNUE". TODO