What options can I set in the SmarThink.INI file ?
SmarThink options info
There are two ways to customize SmarThink. The first is to edit
SmarThink.ini and the second is to use UCI engine settings.
The settings in ini-file affects engine play in both modes (UCI and
WB/Adaptor), but UCI settings always overwrites the same ini-settings.
ini-settings is default settings for UCI-mode.
So, learning and book learning options in ini-file works also when
engine is in UCI-mode.
SmarThink 1.00 ini-file settings
TranspositionSize - the size of transposition table
TranspositionSizeMb - the size of transposition table in MBs
PawnHashSize - the size of pawn hash
PawnHashSizeMb - the size of pawn hash in MBs
EGTBHashSizeMb - sets EGTB cache size in MBs
Aggressivity - the modifier of evaluation of the opponent's king pawn shelter
Cowardice - the modifier of evaluation of the own king pawn shelter
Tropism - the modifier of evaluation of the king attractiveness to piece attack
Learning - toggles on/off positional learning
UseLearningData - toggles on/off using of the positional learning data
LogLearningIntoFile - toggles on/off positional learning data log
ResignValue - resing evaluation bound
ResignTimes - when ResignValue occurs ResignTimes times in consequent positions it causes the resign
UseBookLearning - toggles on/off book learning
BookLearningMode - sets a book learning mode
VarietyOfPlay - sets variety of book playing
BookLearningBound - sets evaluation boundary to update book weights
UseBookWeights - toggles on/off using of the book variation weights
Pondering - toggles pondering on/off
UseEGTB - toggles EGTB using of/off
EGTBpath - sets path to TB-files
TranspositionSize - the size of transposition table according to this
Value Size (bytes)
19 * 10485760
* - is default value.
Transposition table is using by engine to store and retrieve data about
previously searched positions. The same position can be searched at
previous ply or at the same ply because it can reached by different moves
sequence. For example the position after "e2e4 e7e5 g1f3 b8c6" can be
reached from root after "g1f3 b8c6 e2e4 e7e5" also. The data from previous
search can help engine to save search time. Bigger transposition table
sizes will reduce at average the number of nodes to be searched to
reach the same search result. But if the table size exceeds free RAM
of your PC it can cause a huge slowdown. When you have enough free RAM
each transposition table size doubling can provide ~10 more ELO points
in engine strength.
; Sets up transposition table to 41943040 bytes
Same to TranspositionSize but size must be given in MBs.
; Sets up transposition table to 32 MBs
PawnHashSize - the size of pawn hash table according to this
Value Size (bytes)
18 * 5767168
* - is default value.
Pawn hash is using by engine to store and retrieve data about pawn
structure evaluation. A lot of search positions has the same pawn
structure and some part of pawn structure can be evaluated seperately
from the full positional evaluation. It can save evaluation time and
provide more search speed. But you must keep in view that outcome of
the growth of pawn hash table is much less than transposition table
growth. That's why it is strongly recommended to use default value
of pawn hash table size except cases in which you haven't enought
RAM for it. In this cases you must use less pawn hash table sizes.
; Sets up pawn hash table to 11534336 bytes
Same to PawnHashSize but size must be given in MBs.
; Sets up pawn hash table to 16 MBs
Sets EGTB cache size. It's using to increase access to endgame tablebases.
The default size is 1 MB.
; Sets EGTB cache size to 10 MBs
The modifier of evaluation of the opponent's king pawn shelter (%).
Can be from 0 to 300. Larger aggressivity values can cause engine
to more aggressively attempts to destroy opponent's king pawn shelter.
Aggressivity, Cowardice and Tropism values was tuned by engine
developers to get better results versus a big range of other engines.
But versus particular opponents other settings can be more effectively.
For example, versus weak opponents bigger Aggressivity will be more
; Sets Aggressivity to 200%
Cowardice (in UCI = defensivity)
The modifier of evaluation of the own king pawn shelter (%).
Can be from 0 to 300. Larger cowardice values can cause engine
to take more care about own king pawn shelter.
; Sets Cowardice to 50%
The modifier of evaluation of the king attractiveness to piece attack.
This parameter greatly affects engine style. Bigger values of Tropism
will provide more concentration on king attacks. So, this setting is
completely symmetric in 1.00 that's why bigger values will engine
not only to attack more aggressively but also to keep more attention
to opponent's attack.
; Sets Tropism to 120%
Toggles on/off positional learning. The idea of positional learning is
to store in special table a positions in which engine mades
miscalculations. For example engine made a move with eval=+1.00. But
after opponent's reply evaluation become -0.20. So, it means that
engine evaluation +1.00 seems to be wrong. If engine finally lost
game it's good idea to remember miscalculated positions to know that
correct evaluation of the position after move made is -0.20. It can
provide engine not to repeat mistakes at the same positions.
SmarThink stores learning data in file "learn.sm1" at engine folder.
Learning is on by default.
; Sets Learning off
Toggles on/off using of the positional learning data from file
"learn.sm1" at engine folder. Is on by default.
; Toggles off using of the learning data
Toggles on/off positional learning data log. If it is on engine when
saving position in "learn.sm1" adds line with info to "learn.log".
Info contains position number, depth (in 1/60 of ply), old and new
evaluations and position in FEN.
; Toggles positional learning data log off
ResignValue and ResignTimes
When ResignValue occurs ResignTimes times in consequent searches it
causes engine to resign.
; Causes engine to resign after eval <= 5.00 for 3 times
Toggles on/off book learning. The idea of book learning is to use
game playing statistics to update variation weights. For example, if
engine won game that was started by "e2e4" this move becomes more
likely to play. So, if book variation was "e2e4 e7e5 g1f3", it means
that "e2e4" at startposition becomes more likely and "g1f3" after
"e2e4 e7e5" also becomes more likely and so on. When UseBookLearning is
on the engine stores game statistics in book varation weights. It
is on by default.
; Toggles book learning off
Sets a book learning mode. There are a two book learning modes -
"DISCOVER" and "KILL" (default). "KILL" causes engine to play
book variants with better weight. "DISCOVER" causes engine to play
variations which was played for less times.
; Sets book learning mode to "DISCOVER"
Sets variety of book playing. Causes engine to play book move only if it's
weight is not less than weight of best move by VarietyOfPlay%.
; Sets variety of play to 20%
Toggles on/off using of the book variation weights. It is on by default.
; Toggles using of the book variation weights off
Toggles pondering on/off. Pondering is thinking at opponent's time. The
idea of pondering is trying to find best move after most likely opponent's
reply. It is on by default.
; Toggles pondering off
Toggles EGTB using of/off. EGTB - endgame tablebases. Files that contains
the exact evaluation of the endgame positions with a small number of
pieces. Currently there are 1, 2, 3, 4, 5 and 6-pieces TB's is available.
EGTB can't help SmarThink a lot in practical gameplay due to a lot of
endgame knowledge build-in in SmarThink eval. But it can be valuable in
a lot of particular analysys cases. It is on by default.
; Toggles EGTB using off
Sets path to tablebase files. "c:Tablebases" by default.
; Sets TB path to c:TB