End Game Table Base support
|Top Previous Next
Houdini integrates the Syzygy table probing code © Ronald de Man and the Nalimov EGTB probing code © Eugene Nalimov.
The Syzygy 6-men EGTB system is the recommended table base solution for Houdini.
It features by far the best compression (smallest file size) and best performance, especially when multiple threads perform simultaneous EGTB probing. Houdini has been extensively tuned for this state-of-the-art end game table base system so as to provide optimum precision and strength in the late endgame at any time control and with any number of cores.
While installing the files on a SSD disk is recommended, the performance of the Syzygy on a normal hard disk is still good.
The only drawback of Syzygy bases is that they do not contain the exact Distance to Mate information. If you require an exact mating distance in a position you can use the Nalimov table bases (only available in the Houdini Pro version). Houdini can work with both Syzygy and Nalimov table bases simultaneously. When the root position is found in the Nalimov bases, the exact mate information will be used and the complete mating PV will be shown.
Houdini will always probe the EGTB for the initial position of the search. If an EGTB mate position is identified, the full main line will be shown immediately. If the initial position is an EGTB draw but Houdini has a material advantage, Houdini will still play for a win - the opponent might be human or an engine without end game table bases.
For the Syzygy EGTB support you'll need to install the Syzygy EGTB files. At the time of writing all the Syzygy files are available for torrent download at http://oics.olympuschess.com/tracker/index.php. The 3-4-5-men Syzygy are also available for direct download at http://olympuschess.com/egtb/sbases.
Update: the 6-men Syzygy are now also available as HTTP download, see http://tablebase.sesse.net/syzygy.
The total size of the 3-4-5-men files is 938 MB (290 files), the 6-men table bases require 149 GB (730 files).
The location of the Syzygy EGTB files is specified in the SyzygyPath option.
For the Nalimov EGTB support you'll need to install the Nalimov EGTB files. At the time of writing they are available for download at the address ftp://ftp.cis.uab.edu/pub/hyatt/TB or http://tablebase.sesse.net. Download the files and save them in a directory on your hard disk. The total disk space required for the 3-4-5-men table bases is about 7 GB (290 files). The space requirement for the 6-men Nalimov table bases exceeds 1 TB.
The location of the Nalimov EGTB files is specified in the NalimovPath option.
EGTB Probe Depth
The frequency of the EGTB probing can be configured with the EGTB Probe Depth option.
EGTB probes are relatively slow compared to a normal evaluation by the engine. Suppose you have a K+Q+P against K+N ending. Even without consulting the table bases Houdini knows that this ending is easily won for the K+Q+P side. Consulting the EGTB for this position would reduce Houdini's playing strength, as it could easily have searched and evaluated many additional positions instead of making the rather useless EGTB probe.
Houdini contains a lot of end game knowledge in its native evaluation function - a lot more than most other chess engines. For example, even in a non-obvious ending like KBP v KB with bishops of the same color, Houdini knows quite well which positions are won and which are drawn. This means that except for difficult-to-evaluate endings like KQP v KQ or KRP v KR the EGTB do not really increase Houdini's playing strength.
To handle this situation in an intelligent way, Houdini will vary the frequency at which the EGTB are probed depending on the actual end game that is occurring. In difficult-to-evaluate endings Houdini will probe the EGTB files much earlier than in endings that are easy to evaluate.
The frequency of the probing is influenced by the EGTB Probe Depth parameter. You can decrease this parameter to force Houdini to use the EGTB more frequently, or increase it to have Houdini use the EGTB less frequently. The default value of 1 is appropriate for systems with the table bases on SSD. If the table bases are on a slower, mechanical hard disk you should consider increasing this value to reduce the frequency of probing.