Engine parameters
Menu: Engine – Change Main Engine - Advanced– Engine parameters
Many of the engines available have special parameters you can set. To do so, click the button "Engine parameters" in the engine window.
Now, you can change the settings that affect the playing style of the engine. Each engine will present the parameters that are relevant to its algorithms.
Here are examples of the parameters you can set in most engines to influence their playing style. You will often be able to achieve a higher performance in specific situations (e.g., playing very fast games, solving tactical positions or studies). Different parameters may be available in different engines, not all of the ones given below may appear in your default.
Note: The default configuration of the engine has been carefully tested. It is possible that in some circumstances other settings lead to better results, but for the best overall performance and strongest play it is recommened that you leave the default settings unchanged.
Engine Parameters of the Engine
You can modify the parameters of the engine. When you load an engine with the function key F3 you should select the engine that you want to load.
There is a button entitled "Engine Parameters" which opens a dialog with some options:
Table Memory
This parameter determines how much memory, in megabytes, Komodo will allocate to various internal tables such as the pawn structure hash table, evaluation cache and others. If you allocate too much memory it can negatively impact your performance and if you allocate too little it can also negatively impact your performance. The default value of 64 is probably close to optimal for fast play on most machines cira 2013 but you may want to experiment with raising this value if you have a high performance machine. For slower games (or analysis) and/or for machines with many cores, higher values are appropriate. We have raised the upper limit in Komodo 9.2 and higher to 1024 megabytes since this may be appropriate for TCEC or similar use with many cores and long time limits.
Use LMR
LMR (Late Move Reductions) is a search technique that is designed to aggressively prune moves from the search tree so much deeper depths can be obtained. However this can sometimes miss important moves. Komodo gives you the option to turn this on or off, along with another parameter, reduction, to adjust it. In general Komodo will play much stronger with this option turned on, but one might want to experiment with turning it off in order to see if a much shallower, but more thorough search might help in some position.
Null Move Pruning
Like LMR, this is also a technique to aggressively prune moves from the search tree. Komodo plays much stronger with this turned ON, but occasionally things can be missed, especially very deep threats or zugzwang positions. This option allows you to experiment in the case that you have a difficult position which cannot be resolved and want to see if a much shallower, but more thorough, search would help.
Overhead ms
This is designed to compensate for slow user interfaces or slow internet connections, where a fraction of a second can be lost in the processing and transferring of information back and forth from the engine to the interface. The value is in milliseconds (1/1000th of a second). This should probably be left alone unless you see the program starting to forfeit games due to exhausting its time. If you see such time forfeits, increase this value. The default is 30. For internet play where lag is an issue a value of 60 is a good first try, but may have to go to 100 or even higher.
Contempt
Contempt is used the computer’s evaluation to discourage piece trades and draws early in the game. The default value is 10 (in version 9.3 and higher) which should help against weaker opponents. Against near-equal opponents, set Contempt to zero for best results. Against a human opponent, Contempt should be at least 25 even if he is the World Champion. Suggested values include 50 against grandmasters, 75 against masters, and 100 against strong amateurs. A good rule of thumb is to subtract the opponent's Elo rating from 3400 (estimated rating of Komodo 9.3 on a quadcore machine) and divide by 15. Higher Contempt values are especially appropriate when Komodo is giving a handicap. For handicap play, a good rule of thumb is to set Contempt for one third of the value of the initial position based on a one minute search in infinite analysis mode. For example, if giving knight odds, if an initial one minute analysis search shows Komodo as down by 3.5 pawns, set Contempt to 117, which is 117 centipawns, or a third of the disadvantage.
Note that Contempt inflates the reported score. On average a setting of 10 will increase the score by ten centipawns (0.1 in most GUIs), more in the opening and less in the endgame. Contempt is turned off in Infinite analysis unless “Contempt for White” (described below) is used.
Contempt for White
The “Contempt for White” setting forces Komodo to always use Contempt for White’s point of view, instead of from whatever side Komodo is searching or analyzing now. A positive score will discourage White from accepting a draw or trading pieces. A negative score will encourage Komodo to trade pieces and seek a draw. For black, the opposite sign should be used (for example, a negative score will discourage black from exchanging pieces). “Contempt for White” also prevents Komodo from automatically setting Contempt to zero when running infinite analysis. This helps make analysis consistent when switching sides and exploring various lines and lets you include a non-zero Contempt in your analysis. Note when playing against the computer, and you wish to use a non-zero Contempt, either turn off “Contempt for White” so that Contempt will apply to the Computer’s side, or you can use the above description to set an appropriate Contempt for the side that Komodo is playing.
Time Usage
This provides the ability to manipulate Komodo's time control heuristics, to make it allocate either more aggressively or less aggressively. The default is 0 which is what we believe is the ideal setting but remains to be tested. You can make it play faster by using a negative number or you can make it allocate time more aggressively by setting it to a positive value. The range of values is between -9 and +9. It's very unlikely extreme values will be play well, so we suggest experimenting with relatively modest changes to the default.
Threads
For best performance it is very important to correctly set the Threads value. The default is 1. For best performance we suggest setting this to the number of "real" cores on your machine. Consult your computer manufacturer to determine how many cpu cores your machine has (not to be confused with the number of cpu threads your machine has).
For example, on an i7 with hyperthreading, you typically have 4 "real" cores and 4 hyper-threaded or virtual cores. While the operating system may report 8 cores on this machine, there are only 4 cores and so you setting Threads to 4.
Note some GUIs, including ChessBase, change the default to the number of cores reported by the operating system, so you might need to change the default value in such cases. If you find your computer to be sluggish or unresponsive when running Komodo, decrease the Threads value by 1. This will free up a thread for the operating system and other programs.
Hash
This defines the maximum amount of memory to use for the transposition table - a major factor in the performance of modern chess programs. The default is set to 128 (in megabytes) which is probably more than adequate for standard use. However, see the document setHASH.txt for more specific information on how this should be set for ultimate performance. All 64 bit versions allow up to 65536 megabytes (64 GB) to be allocated, assuming your system has that much. The Windows 32 bit version limits this to 2048 megabytes due to hardware and operating system limitations. Note Komodo’s hash entry size is a bit different from other programs. If you allocate 16 megabytes, Komodo will only use 12, and not use any more until you set it to 24, and so on with each doubling. This is normal.
Tablebase support
Komodo supports Ronald de Man's 'Syzygy' endgame tablebases. Endgame tablebases can be used to provide absolute knowledge about chess positions in which only a few pieces are left on the board (at the time of this writing, the Syzygy bases support up to 6-man positions [including the kings]).
The Syzygy tablebases are "Distance to Zero" (DTZ) tablebases. This means that they report, in addition to a definitive win/draw/loss (WDL) score, the distance to the zeroing of the 50-move draw clock. Unlike other endgame tablebases which report Distance to Mate (DTM), the Syzygy bases won't always report the fastest win from a particular endgame position, but you can be confident that the WDL score (and moves) provided by a tablebase probe are accurate.
Selectivity
You can adjust how aggressively Komodo prunes using the "Selectivity" parameter. Higher values will encourage Komodo to prune more at low search depths, leading to a deeper overall search at an increasing risk of missing some moves. The default in Komodo 9.4 is 131. A setting of 246 (or more) will set selectivity to the maximum.
Reduction
This controls how deeply Komodo searches. Higher "Reduction" values will cause Komodo to reduce parts of the tree more, increasing overall search depth but possibly missing some good lines. The default is 0, meaning no adjustment to what we consider best. We are fairly confident that the best value on a single thread is close to zero, but we have not yet determined whether other values may be better on many threads, so feel free to experiment.
King Safety
This controls how highly Komodo scores king safety. The higher the value, the greater the effects of attacks on the king in Komodo's evaluation. The default is 65 in Komodo 9.3 and 70 in Komodo 9.4.
Persistent Hash
This is useful for long analysis. It allows you to save the current Hash Table to your hard drive, then reload it later. First, set a name for the file in the "Hash File Name" option. Most GUIs will require you to close the dialog box with an OK to “set” the name. You should then stop the search/analysis, return to the UCI parameters then, then click the "Save Hash to File" button. To later reload the saved information, first make sure the "Hash File Name" is for the file you want, then click "Load Hash from File". Once it loads, you may continue analysis. You must make sure the current hash filename is the same as what was used when you saved the file. Note that hash files can be very large and can take a lot of time to save and load, so make sure you have enough disk space to use them.
Suppress
This feature allows you to reduce the data Komodo outputs for the first X ply of a search. For example, with a value of 8 Komodo will not print move sequences or scores for the first 8 ply. This can save on communication overhead with the GUI and is useful when Komodo is running over a network connection or is playing at fast time controls. The default value is 0, meaning all data is reported and nothing is suppressed.
Dynamism
Introduced in Komodo 9.4, Dynamism lets you control how important Komodo thinks the dynamic part of the evaluation is. The default is 100. Values under 100 reduce the dynamic evaluation, and above 100 increase the dynamic evaluation. Lower values will make Komodo play more conservatively, and with higher values it will play riskier moves. More static parts of the evaluation like material and pawn structure are not changed by Dynamism. Although the parameter can be set from 0 to 200, single-digit values will cause bizarre play. A value around 80 will in general produce more realistic evaluations than the default 100, although it will weaken play by 20 to 30 elo points.
Save: This saves the engine modifications. This opens a dialog to select the filename for the stored parameters. The extension of the configuration file is *.param.
Load: This opens a dialog to load previously stored engine parameters. The parameter files can be found in the folder Engine Parameter.
Defaults: This button restores the engine’s factory settings.
Tip: You can set up engine-engine matches or engine tournaments to test your modifications against other engines.
Save stores the new parameters for the engine. Restore deletes the changes you have just made. Defaults switches back to the normal parameters.
Please note: The default parameters are the one the programmers consider the strongest for general play.