Endgame Tablebase Testsuite

Successful probing of endgame tablebases by engines requires the following:

  1. Correct tablebase files. Tablebase files can get corrupt during download or storage. Use a program like Wilhelm to check whether the tablebase files are OK.
  2. An engine capable of accessing the tablebase files. Some engines can access only five men tablebases. Many a time, engines have not been compiled correctly resulting in tablebase access failure. Toga 1.3X4 was released to the public claiming to access the Scorpio bitbases, but was not able to do so.
  3. Correct entry of tablebase paths in the engine GUI. In Fritz 8 GUI, after entering the tablebase path in GUI, one has to restart the engine to enable it access the tablebases.
  4. Proper linkage of GUI with engine For example, there have been reports that Arena 1.99Beta 5 did not pass on bitbase path correctly to the engine Toga.

It was Kirill Kryukov who proposed creating an Endgame Tablebase Test Suite (External Link) to verify the successful probing of tablebases by engines. He proposed two test suites: basic test suite and advanced test suite.

  1. Basic test suite will consist of positions that are contained in the endgame tables they are testing. Such positions test for capability to probe endgame table at the root of search.
  2. Advanced test suite will consist of positions that are not contained in the endgame tables they are testing. Such positions will test for engine's ability to access the tablebase in search.
The basic requirements of such a test suite were formulated by him as follows:
  1. Position should have only one winning move, or only one drawing move if there are no winning moves. This requirement is needed to make this test suite useful for bitbases too.
  2. Position should be hard to solve without that particular table (or set of tables) it is testing. An engine that does not have access to the table should prefer wrong moves, even if it has all other tables (with the same number of pieces).
  3. For the advanced test suite, position should be a few moves before the endgame it is testing (so some captures will follow to convert into the EGTB position). For the basic test suite, position can be within the table it is testing.
  4. Solution should be not sensitive to the 50 moves rule. This means a win should be still a win if 50 moves rule is used. And a draw should not depend on 50 moves rule to be a draw. (This way the test will work the same way for both current Nalimov tables that ignore 50 moves rule and for future tables that will take it into account).
  5. Position should be legal, if possible.

Here are some test positions proposed by me:

Basic test suite

For KRkn

  1. 1n6/8/8/8/8/8/6R1/2K1k3 w - - bm Rg2-d2; dm 37;
  2. 3n4/8/8/8/7R/8/8/2K1k3 w - - bm Rh4-d4; dm 37;
  3. 8/8/3n4/8/8/8/4R3/2K2k2 w - - bm Re2-e6; dm 35;
  4. 8/8/7R/n7/8/8/8/2K2k2 w - - bm Kc1-c2; dm 35;
  5. 4n3/7R/8/8/8/8/8/2K2k2 w - - bm Rh7-e7; dm 36;
  6. 3R4/8/8/8/8/n7/8/2K2k2 w - - bm Rd8-e8; dm 35;
  7. 8/8/8/8/8/8/7k/n1K3R1 w - - bm Rg1-g4; dm 36;
  8. 8/3n4/8/8/8/6R1/8/1k1K4 w - - bm Rg3-d3; dm 35;
  9. 8/8/8/8/4n3/7R/8/1k1K4 w - - bm Rh3-e3; dm 35;
  10. 8/3n4/8/8/8/7R/8/1k1K4 w - - bm Rh3-d3; dm 35;
  11. 2n5/8/8/8/8/8/3R4/3K1k2 w - - bm Rd2-e2; dm 36;
  12. 4n3/8/8/8/7R/8/8/3K1k2 w - - bm Rh4-e4; dm 36;

For KNPkp

  1. 8/8/8/8/5kp1/P7/8/1K1N4 w - - 0 1 ; bm Kb1-c2; dm50

Advanced Test suite

Two similar six men positions which may qualify as a test for KQkrp tablebases:

  1. 8/2p4P/8/kr6/6R1/8/8/1K6 w - - bm Kb1-a2; dm 72; pv 1.Ka2 Rh5 2.Rg5+!! Rxg5 3.h8Q; oo 7051
  2. 8/2p4P/6R1/kr6/8/8/8/1K6 w - - bm Kb1-a2; dm 72; pv 1.Ka2 Rh5 2.Rg5+!! Rxg5 3.h8Q; oo 7055

Another position to test KQkrp:

8/8/1P6/5pr1/8/4R3/7k/2K5 w - - bm Re3-e5; dm 78; pv 1.Re5 Rg1+ 2.Kc2 Rg2+ 3.Kd3 Rg3+ 4.Kc4 Rg4+ 5.Kd5 Rg6 6.Re6 Rg5 7.Rf6 Kg3 8.b7 f4+ 9.Kc4 Rg8 10.Rg6+ Rxg6; oo 9558