Transposition table test positons

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Transposition table test positons

Post by Robert Pope »

Can anyone recommend a handful of positions to test the effectiveness of my transposition table?
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Transposition table test positons

Post by sje »

From Reuben Fine's Basic Chess Endings:
[d]8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1[/d]
Daniel Anulliero
Posts: 759
Joined: Fri Jan 04, 2013 4:55 pm
Location: Nice

Re: Transposition table test positons

Post by Daniel Anulliero »

[d]4k3/8/4pPp1/3pP1P1/2pP4/2P3K1/8/8 b - - 0 1
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Transposition table test positons

Post by hgm »

[d]4k3/8/8/8/8/8/4P3/4K3 w

[d]8/8/8/1k6/8/8/8/RK6 w
(The latter takes Fairy-Max 24 ply and 5 min to see the first mate score, which is a (rather pessimistic) mate in 48.)
zd3nik
Posts: 193
Joined: Wed Mar 11, 2015 3:34 am
Location: United States

Re: Transposition table test positons

Post by zd3nik »

All, for completeness, what are the correct moves for the test positions given? Or at least the expected minimum moves to mate.
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Transposition table test positons

Post by Dann Corbit »

A bit larger list, all of these are resolved to checkmate:

Code: Select all

r3k2r/8/8/8/8/8/8/R3K2R w KQkq - bm Rxh8+;
3k4/1p6/1P1K4/2P5/8/8/8/8 w - - bm Ke6;
k7/P7/1P6/1K6/8/8/8/8 w - - bm Kc5;
4k3/8/8/PpPpPpPp/PpPpPpPp/8/8/4K3 b - a3 bm bxa3;
4k3/8/8/8/8/8/R7/4K3 w - - bm Ra7;
8/2k5/4P3/8/1K6/8/8/8 w - - bm Kc5;
8/8/4K3/4P2p/8/5k2/8/8 w - - bm Kf5;
8/8/8/1k6/8/8/8/RK6 w - - bm Kc2;
8/3p1k2/3P4/2P2K2/8/8/8/8 w - - bm Ke5;
6k1/7p/7K/7P/8/8/6P1/8 w - - bm g3;
8/4k3/8/8/4PK2/8/8/8 w - - bm Ke5;
8/8/K1p1k3/2P5/8/8/8/8 w - - bm Kb7;
8/p7/6k1/1P6/6KP/8/8/8 w - - bm Kf4 h5+;
6k1/8/5KP1/6P1/8/8/8/8 w - - bm g7;
8/2k5/8/8/6K1/8/7P/8 w - - bm Kf5 Kg5 Kh5;
8/8/2p5/8/8/5k2/P7/5K2 w - - bm a4;
8/8/8/6K1/8/5k2/P7/8 w - - bm Kf5;
8/2k5/p1P5/P1K5/8/8/8/8 w - - bm Kd5;
8/6p1/8/4K3/7P/4k2P/8/8 w - - bm Ke6;
8/8/6p1/7p/5k2/8/4K2P/8 b - - bm Kg4;
8/8/8/7p/1PK2k2/8/8/8 w - - bm b5;
8/p4K2/P7/8/8/8/1k6/8 w - - bm Ke6;
k7/P7/1P6/4p3/4Pp2/5K2/8/8 w - - bm Kf2;
3k4/2p5/2K5/1P1P4/8/8/8/8 w - - bm Kb7;
3k4/8/2pP1K2/2P5/8/8/8/8 w - - bm d7;
4K3/8/2p5/8/P2k4/8/P7/8 w - - bm a5;
8/6k1/8/1p1K4/5P1P/8/8/8 w - - bm Kc5;
8/6p1/8/5P2/5P2/5K2/8/6k1 w - - bm f6;
8/8/1p6/8/8/6P1/k1K5/8 w - - bm Kc3;
8/8/8/8/4P1k1/8/5K2/8 w - - bm Ke3;
7k/8/5PpK/Pp1P2pp/3P4/8/5p2/8 w - - bm a6;
8/7k/4K2p/6p1/6P1/7P/8/8 w - - bm Kf7;
8/8/1k1K4/pP6/P7/8/8/8 w - - bm Kd5 Ke6;
8/8/4k3/3p2p1/1P1K2P1/8/8/8 w - - bm Kc5 b5;
8/8/5p2/pK6/2Pk2P1/8/8/8 w - - bm g5;
8/ppp5/8/PPP5/8/7k/8/7K w - - bm b6;
1k6/8/P1P5/8/5ppp/8/6K1/8 w - - bm Kg1;
8/5p2/2k5/K7/8/1P6/8/8 b - - bm Kd5;
8/8/4k3/1pp5/2p1PP2/8/3K4/8 b - - bm b4;
8/2k5/2Pp3p/1P6/8/5K2/8/8 w - - bm Kf4;
8/8/1p4K1/p1p5/P1P3k1/1P6/8/8 w - - bm Kf7;
8/8/8/4kPp1/6P1/4K3/8/8 w - - bm Kd2 Ke2;
8/p2p4/8/8/8/k7/5P1P/7K w - - bm f4;
4k3/8/8/8/8/8/4P3/4K3 w - - bm Kd2;
8/2p5/1pPp4/1P1Pp3/4Pp1k/5P2/5KP1/8 w - - bm g3+;
8/5k2/6p1/5pKp/8/6P1/5P1P/8 w - - bm Kh6;
8/8/8/1P2kp2/P2p2p1/6P1/3K4/8 b - - bm f4;
8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - bm f6;
8/2p4p/7P/2K5/2P5/8/k7/8 w - - bm Kb4;
4K3/8/8/1p5p/1P5P/8/8/4k3 w - - bm Ke7;
6k1/6p1/8/4K1P1/8/7P/8/8 w - - bm Kf4;
8/8/1kp5/8/K1PP4/8/8/8 w - - bm Kb3;
8/8/p7/8/1P6/7p/P4k1P/3K4 w - - bm a3;
8/6p1/p7/5P1p/1Pk5/8/5KPP/8 w - - bm h4;
7k/6p1/6P1/8/8/p5K1/P7/8 w - - bm Kf4;
8/8/8/KP6/1p6/k4p2/5P2/8 w - - bm b6;
k7/8/1p6/p1p5/2P4K/8/PP6/8 w - - bm a4;
k7/4p3/4p3/8/8/3P1P2/5P2/K7 w - - bm Kb2;
8/5p2/7p/5pk1/8/5KPP/8/8 b - - bm h5;
8/8/4k3/6p1/2pPpP2/4P2P/6K1/8 w - - bm f5+;
8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+;
k7/2p1pp2/2P3p1/4P1P1/5P2/p7/Kp3P2/8 w - - bm f5;
r3k2r/8/8/8/8/8/8/R3K2R w - - bm Rxa8+;
r3k2r/8/8/8/8/8/8/R3K2R w K - bm Rxa8+;
r3k2r/8/8/8/8/8/8/R3K2R w k - bm Rxa8+;
r3k2r/8/8/8/8/8/8/R3K2R w Q - bm Rxa8+;
r3k2r/8/8/8/8/8/8/R3K2R w q - bm Rxa8+;
8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - bm Kb1;
8/2pp2pp/8/2PP1P2/1p5k/8/PP4p1/6K1 w - - bm f6;
8/5pp1/4p2p/3k3P/1p1P2P1/1P1K1P2/8/8 b - - bm g5;
8/5p1p/8/6k1/8/6P1/5PP1/7K w - - bm Kh2;
k7/8/pp6/2p4K/8/PPP5/8/8 w - - bm c4;
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Transposition table test positons

Post by Dann Corbit »

Oops, just noticed you wanted distance to mate:

Code: Select all

r3k2r/8/8/8/8/8/8/R3K2R w KQkq - bm Rxh8+; dm 7;
3k4/1p6/1P1K4/2P5/8/8/8/8 w - - bm Ke6; dm 8;
k7/P7/1P6/1K6/8/8/8/8 w - - bm Kc5; dm 8;
4k3/8/8/PpPpPpPp/PpPpPpPp/8/8/4K3 b - a3 bm bxa3; dm 11;
4k3/8/8/8/8/8/R7/4K3 w - - bm Ra7; dm 12;
8/2k5/4P3/8/1K6/8/8/8 w - - bm Kc5; dm 12;
8/8/4K3/4P2p/8/5k2/8/8 w - - bm Kf5; dm 13;
8/8/8/1k6/8/8/8/RK6 w - - bm Kc2; dm 13;
8/3p1k2/3P4/2P2K2/8/8/8/8 w - - bm Ke5; dm 14;
6k1/7p/7K/7P/8/8/6P1/8 w - - bm g3; dm 15;
8/4k3/8/8/4PK2/8/8/8 w - - bm Ke5; dm 15;
8/8/K1p1k3/2P5/8/8/8/8 w - - bm Kb7; dm 15;
8/p7/6k1/1P6/6KP/8/8/8 w - - bm Kf4 h5+; dm 15;
6k1/8/5KP1/6P1/8/8/8/8 w - - bm g7; dm 16;
8/2k5/8/8/6K1/8/7P/8 w - - bm Kf5 Kg5 Kh5; dm 16;
8/8/2p5/8/8/5k2/P7/5K2 w - - bm a4; dm 16;
8/8/8/6K1/8/5k2/P7/8 w - - bm Kf5; dm 16;
8/2k5/p1P5/P1K5/8/8/8/8 w - - bm Kd5; dm 17;
8/6p1/8/4K3/7P/4k2P/8/8 w - - bm Ke6; dm 17;
8/8/6p1/7p/5k2/8/4K2P/8 b - - bm Kg4; dm 17;
8/8/8/7p/1PK2k2/8/8/8 w - - bm b5; dm 17;
8/p4K2/P7/8/8/8/1k6/8 w - - bm Ke6; dm 17;
k7/P7/1P6/4p3/4Pp2/5K2/8/8 w - - bm Kf2; dm 17;
3k4/2p5/2K5/1P1P4/8/8/8/8 w - - bm Kb7; dm 18;
3k4/8/2pP1K2/2P5/8/8/8/8 w - - bm d7; dm 18;
4K3/8/2p5/8/P2k4/8/P7/8 w - - bm a5; dm 18;
8/6k1/8/1p1K4/5P1P/8/8/8 w - - bm Kc5; dm 18;
8/6p1/8/5P2/5P2/5K2/8/6k1 w - - bm f6; dm 18;
8/8/1p6/8/8/6P1/k1K5/8 w - - bm Kc3; dm 18;
8/8/8/8/4P1k1/8/5K2/8 w - - bm Ke3; dm 18;
7k/8/5PpK/Pp1P2pp/3P4/8/5p2/8 w - - bm a6; dm 19;
8/7k/4K2p/6p1/6P1/7P/8/8 w - - bm Kf7; dm 19;
8/8/1k1K4/pP6/P7/8/8/8 w - - bm Kd5 Ke6; dm 19;
8/8/4k3/3p2p1/1P1K2P1/8/8/8 w - - bm Kc5 b5; dm 19;
8/8/5p2/pK6/2Pk2P1/8/8/8 w - - bm g5; dm 19;
8/ppp5/8/PPP5/8/7k/8/7K w - - bm b6; dm 19;
1k6/8/P1P5/8/5ppp/8/6K1/8 w - - bm Kg1; dm 20;
8/5p2/2k5/K7/8/1P6/8/8 b - - bm Kd5; dm 20;
8/8/4k3/1pp5/2p1PP2/8/3K4/8 b - - bm b4; dm 20;
8/2k5/2Pp3p/1P6/8/5K2/8/8 w - - bm Kf4; dm 21;
8/8/1p4K1/p1p5/P1P3k1/1P6/8/8 w - - bm Kf7; dm 21;
8/8/8/4kPp1/6P1/4K3/8/8 w - - bm Kd2 Ke2; dm 21;
8/p2p4/8/8/8/k7/5P1P/7K w - - bm f4; dm 21;
4k3/8/8/8/8/8/4P3/4K3 w - - bm Kd2; dm 22;
8/2p5/1pPp4/1P1Pp3/4Pp1k/5P2/5KP1/8 w - - bm g3+; dm 22;
8/5k2/6p1/5pKp/8/6P1/5P1P/8 w - - bm Kh6; dm 22;
8/8/8/1P2kp2/P2p2p1/6P1/3K4/8 b - - bm f4; dm 24;
8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - bm f6; dm 25;
8/2p4p/7P/2K5/2P5/8/k7/8 w - - bm Kb4; dm 25;
4K3/8/8/1p5p/1P5P/8/8/4k3 w - - bm Ke7; dm 26;
6k1/6p1/8/4K1P1/8/7P/8/8 w - - bm Kf4; dm 26;
8/8/1kp5/8/K1PP4/8/8/8 w - - bm Kb3; dm 27;
8/8/p7/8/1P6/7p/P4k1P/3K4 w - - bm a3; dm 27;
8/6p1/p7/5P1p/1Pk5/8/5KPP/8 w - - bm h4; dm 28;
7k/6p1/6P1/8/8/p5K1/P7/8 w - - bm Kf4; dm 30;
8/8/8/KP6/1p6/k4p2/5P2/8 w - - bm b6; dm 30;
k7/8/1p6/p1p5/2P4K/8/PP6/8 w - - bm a4; dm 32;
k7/4p3/4p3/8/8/3P1P2/5P2/K7 w - - bm Kb2; dm 33;
8/5p2/7p/5pk1/8/5KPP/8/8 b - - bm h5; dm 35;
8/8/4k3/6p1/2pPpP2/4P2P/6K1/8 w - - bm f5+; dm 35;
8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; dm 49;
k7/2p1pp2/2P3p1/4P1P1/5P2/p7/Kp3P2/8 w - - bm f5; dm 64;
r3k2r/8/8/8/8/8/8/R3K2R w - - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w K - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w k - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w Q - bm Rxa8+; dm 65;
r3k2r/8/8/8/8/8/8/R3K2R w q - bm Rxa8+; dm 65;
8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - bm Kb1; dm 35;
8/2pp2pp/8/2PP1P2/1p5k/8/PP4p1/6K1 w - - bm f6; dm 82;
8/5pp1/4p2p/3k3P/1p1P2P1/1P1K1P2/8/8 b - - bm g5; dm 82;
8/5p1p/8/6k1/8/6P1/5PP1/7K w - - bm Kh2; dm 85;
k7/8/pp6/2p4K/8/PPP5/8/8 w - - bm c4; dm 90;
xmas79
Posts: 286
Joined: Mon Jun 03, 2013 7:05 pm
Location: Italy

Re: Transposition table test positons

Post by xmas79 »

zd3nik wrote:All, for completeness, what are the correct moves for the test positions given? Or at least the expected minimum moves to mate.
My engine NGN says for each position:

[d]8/8/8/1k6/8/8/8/RK6 w - -
+M26 at ply 19 in 1.785 secs with Ra2
.
.
.
+M13 at ply 26 in 5.326 secs with Kb2


[d]4k3/8/8/8/8/8/4P3/4K3 w - -
+M50 at ply 31 in 1.722 secs with Kd2
.
.
.
+M22 at ply 40 in 22.943 secs with Kd2
.
.
.
+M22 at ply 43 in 35.861 secs with Kd2


I don't know if they are minimum mates.

@hmg: how does it takes fairy-max 5 mins to find such mate?
Robert Pope
Posts: 558
Joined: Sat Mar 25, 2006 8:27 pm

Re: Transposition table test positons

Post by Robert Pope »

xmas79 wrote: My engine NGN says for each position:

[d]8/8/8/1k6/8/8/8/RK6 w - -
+M26 at ply 19 in 1.785 secs with Ra2
.
.
.
+M13 at ply 26 in 5.326 secs with Kb2
So, how does this look? Broken, or just slow because I don't have things like LMR or null move implemented?

This is with a 1M entry TT table (always replace, 1 slot). A 65K entry table didn't find the mate after 1B nodes. With hash tables turned off, I get to depth 11 in 124M nodes vs 1.8M below. So it seems to be helping, but I am not finding mate anywhere close to the times of NGN or Crafty (7M nodes).

Code: Select all

 1    424       2          1 b1c1
 1    451       3          3 b1b2
 1    452       4          4 b1c2
 1    452       4         12 b1c2
 2    423       5         21 b1c2 b5c5
 2    423       6         71 b1c2 b5c5
 3    427       7        116 b1c2 b5c4 a1a7
 3    427       8        397 b1c2 b5c4 a1a7
 4    432       9        679 b1c2 b5c4 a1a4 c4d5 c2d3
 4    432      10       1743 b1c2 b5c4 a1a4 c4d5 c2d3
 5    449      12       2617 b1c2 b5c4 a1d1 c4c5 c2d3
 5    449      14       6495 b1c2 b5c4 a1d1 c4c5 c2d3
 6    449      16      11441 b1c2 b5c4 a1a4 c4b5 a4d4 b5c5 c2d3
 6    449      20      25028 b1c2 b5c4 a1a4 c4b5 a4d4 b5c5 c2d3
 7    468      23      32547 b1c2 b5c4 a1d1 c4b4 c2d3 b4c5 d3e4
 7    468      30      67748 b1c2 b5c4 a1d1 c4b4 c2d3 b4c5 d3e4
 8    469      37      98429 b1c2 b5c4 a1d1 c4b5 c2d3 b5c5 d3e4 c5c4
 8    469      47     158978 b1c2 b5c4 a1d1 c4b5 c2d3 b5c5 d3e4 c5c4
 9    472      67     270370 b1c2 b5c4 a1a4 c4c5 c2d3 c5d5 a4a5 d5e6 d3d4 e6f6 a5a7
 9    472      86     400257 b1c2 b5c4 a1a4 c4c5 c2d3 c5d5 a4a5 d5e6 d3d4 e6f6 a5a7
10    477     119     615036 b1c2 b5c4 a1a4 c4b5 a4d4 b5c6 c2c3 c6c7 c3d3 c7b7 d4c4
10    495     140     752979 b1b2 b5c4 a1d1 c4b4 d1d4 b4b5 b2c3 b5c5 c3d3 c5c6 d3c4 c6b7
10    495     150     809934 b1b2 b5c4 a1d1 c4b4 d1d4 b4b5 b2c3 b5c5 c3d3 c5c6 d3c4 c6b7
11    496     265    1612171 b1b2 b5c4 a1d1 c4c5 b2c3 c5b5 c3d4 b5c6 d4e5 c6b7 e5e4
11    496     301    1860495 b1b2 b5c4 a1d1 c4c5 b2c3 c5b5 c3d4 b5c6 d4e5 c6b7 e5e4
12    496     409    2629508 b1b2 b5c4 a1d1 c4c5 b2c3 c5b6 c3d4 b6c6 d1a1 c6d6 a1a6 d6c7 d4e4
12    496     550    3590519 b1b2 b5c4 a1d1 c4c5 b2c3 c5b6 c3d4 b6c6 d1a1 c6d6 a1a6 d6c7 d4e4
13    497     789    5264465 b1b2 b5c4 a1d1 c4b4 d1c1 b4b5 b2b3 b5a5 c1c4 a5b5 b3c3 b5b6 c3c2 b6b5
13    505    1320    9155381 b1c2 b5c5 c2d3 c5d5 a1e1 d5c5 e1e5 c5c6 d3e4 c6d6 e4d4 d6c7
13    505    1386    9649419 b1c2 b5c5 c2d3 c5d5 a1e1 d5c5 e1e5 c5c6 d3e4 c6d6 e4d4 d6c7
14    523    1793   12647494 b1c2 b5c4 a1d1 c4b4 c2d3 b4c5 d3e4 c5c6 e4e5 c6c7
14    523    2352   16991831 b1c2 b5c4 a1d1 c4b4 c2d3 b4c5 d3e4 c5c6 e4e5 c6c7
15    526    4302   31484739 b1c2 b5c4 a1d1 c4b4 c2d3 b4a5 d3c4 a5a6 d1d6 a6b7 c4d5 b7a7 d5d4 a7b7
15    526    5391   39881475 b1c2 b5c4 a1d1 c4b4 c2d3 b4a5 d3c4 a5a6 d1d6 a6b7 c4d5 b7a7 d5d4 a7b7
16    527    8799   65379612 b1c2 b5c4 a1a5 c4d4 c2d2 d4e4 d2c3 e4e3 a5e5 e3f3 c3d4
16    527    8944   66458553 b1c2 b5c4 a1a5 c4d4 c2d2 d4e4 d2c3 e4e3 a5e5 e3f3 c3d4
17  99326   38845  301220804 b1c2 b5c6 c2d3 c6d5 a1e1 d5d6 d3c4 d6c6 c4d4 c6b6 d4d5 b6b5 e1b1 b5a5 d5d6
17  99326   39838  309976423 b1c2 b5c6 c2d3 c6d5 a1e1 d5d6 d3c4 d6c6 c4d4 c6b6 d4d5 b6b5 e1b1 b5a5 d5d6
Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Re: Transposition table test positons

Post by Henk »

Just use a pawn table.