End Game Table Base support |
Top Previous Next |
|
Houdini integrates the Gaviota EGTB probing code © Miguel A. Ballicora and the Nalimov EGTB probing code © Eugene Nalimov.
For the Gaviota EGTB support you'll need to download the Gaviota EGTB files. At the time of writing they are available for download at the address http://www.olympuschess.com/egtb/gaviota. Download all 145 files and save them in a directory on your hard disk. The total disk space required is about 7 GB. Alternatively you could skip the download and generate the tables directly on your own computer, please follow the instructions found at the Gaviota web site. The location of the Gaviota EGTB files is specified in the GaviotaTbPath option. Houdini will scan the folder for the "kqkr.gtb.cpX" file and accordingly decide which compression level to use.
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 in total). Alternatively you can order the Nalimov tables on DVD from several suppliers, this is probably the more efficient way of obtaining the 6-men Nalimov table bases. The location of the Nalimov EGTB files is specified in the NalimovPath option.
The frequency of the EGTB probing can be configured with the Hard Probe Depth and Soft Probe Depth options. A "soft probe" will only use the data available in memory, whereas a "hard probe" can require a relatively slow disk access. Soft probing are available only with the Gaviota EGTB.
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, and if Contempt is active, Houdini will still play for a win - the opponent might be human or an engine without end game table bases.
Question: I don't understand the concept of setting a depth for EGTB probing. Why wouldn't all positions that have 3-4-5 pieces probe the table bases to get the evaluation? EGTB probes are extremely 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 evaluated 1,000 other positions instead of making the rather useless EGTB probe.
Even the in-memory "soft" Gaviota probes are sometimes relatively slow compared to a native evaluation of the position - especially when multiple threads are running. If two threads simultaneously perform a soft probe, the second thread has to wait for the first to finish its probe.
This is aggravated by the fact that 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 the 5-men 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 further influenced by the following parameters:
|