Zugzwang Test Suite ZPTS, updated version
Posted: 16 Oct 2004, 14:48
This is the updated version of the Zugzwang testsuite ZPTS.
Changes:
- old ZPTS 17 and 19 removed, replaced by two new positions
- (hopefully) syntactically correct EPD format now
- some additional comments
- old ZPTS 30 replaced with a simplified mate in 3 version that captures the main idea of the original composition (that was won by white even though black had first move)
- + added if best move was a check
- added alternative solutions in some cases
- positions are now sorted, the ones with fewer pieces at the beginning, with more pieces towards end
I thought about it, but I decided to keep the simple positions. They may be useless for strong engines, but not necessarily so for weaker ones (without EGTBs of course).
Ruffian 1.0.1 solved 15 out of the 30 positions (one of them does not really count because it was without seeing that the position is won and not drawn) on my Athlon XP 2400+ / 30 secs per position.
I think 50% for an engine like Ruffian is ok; I do not like testsuites ala WAC, where almost 100% are solved, nor if results are too close to 0%.
The sorting of positions now gives a rough idea, if the engine?s capabilities to cope with Zugzwang decreases with the number of pieces. E.g. Ruffian solved the first 9 positions with no or only one piece, with more pieces the going was decidedly rougher for Ruffian; it then also missed the one or the other mate in 3 or 4.
Btw: If anybody knows the solution to ZPTS 26, I would be interested to learn it. According to the original post it should be a mate in 4; I personnally cannot figure it out. I assume that this is my problem and mate in 4 is correct; in doubt I left the position in.
Testsuite:
3k4/8/4K3/2R5/8/8/8/8 w - - bm Rc1 Rc2 Rc3 Rc4 Rc6; c0 "CCC post"; id "ZPTS.01";
1k6/7R/2K5/8/8/8/8/8 w - - bm Re7 Rf7 Rg7 Rh1 Rh2 Rh3 Rh4 Rh5 Rh6 Rh8+; c0 "CCC post"; id "ZPTS.02";
8/3k4/8/8/3PK3/8/8/8 w - - bm Kd5; c0 "CCC post"; id "ZPTS.03";
2k5/8/1K1P4/8/8/8/8/8 w - - bm Kc6; c0 "white wins"; id "ZPTS.04";
8/8/8/4N3/8/7p/8/5K1k w - - bm Ng4; c0 "white mates"; id "ZPTS.05";
8/8/1p1K4/Pp6/2k1p3/8/1P6/8 w - - bm a6; c0 "Kubbel 1927, 1 ... e3 2 a7 e2 3 a8/Q e1/Q 4 Qd5+ Kb4 5 Qd3!, white wins"; id "ZPTS.06";
8/1p5k/1P1p4/3p4/3Pp2p/2K1P2p/7P/8 w - - bm Kb2; c0 "1 Kb2! Kg8 2 Ka1!!, draw"; id "ZPTS.07";
8/4N3/8/8/8/2b1p3/p1K1P3/k7 w - - bm Nc6; c0 "white mates in 3"; id "ZPTS.08";
8/8/7p/2R5/4pp1K/8/8/3k2b1 w - - bm Rc4; c0 "Kricheli 1986, 1 Rc4! e3 2 Rd4+! Kc2 3 Rxf4 e2 4 Re4 Kd2 5 Rxe2+ Kxe2 6 Kg4!, draw"; id "ZPTS.09";
4KBkr/7p/6PP/4P3/8/3P1p2/8/8 w - - bm g7; c0 "CCC post 27.4.2004 by Gerd Isenberg"; id "ZPTS.10";
8/p7/1p6/p7/kq1Q4/8/K7/8 w - - bm Qd3; c0 "post in Avler chess forum"; id "ZPTS.11";
8/8/p3R3/1p5p/1P5p/6rp/5K1p/7k w - - bm Re1+; c0 "CCC post by Eduard Nemeth, mate in 7"; id "ZPTS.12";
8/5b2/p2k4/1p1p1p1p/1P1K1P1P/2P1PB2/8/8 w - - bm Bd1 Be2; c0 "CCC post by Sune Fischer, Averbakh 1954, white wins: 1.Be2 Be8 [1.-Bg6 2.Bd3 Bh7 3.Bf1 leads to instant zugzwang, be it after 3.-Bg6 4.Bg2 Bf7 5.Bf3 or after 3.-Bg8 4.Be2 Bf7 5.Bf3] 2.Bd3 Bg6 3.Bc2 Bh7 4.Bb3! Bg8 5.Bd1 Bf7 6.Bf3! and so on"; id "ZPTS.13";
6k1/3p4/P2P4/8/5Kp1/1p4Q1/p5p1/b7 w - - bm Qxg2; c0 "Kasparyan 1959, 1 ... Be5+ 2 Kf5! a1/Q 3 a7! Qxa7 4 Kg6! Qa1! 5 Qd5! Kh8 6 Qe4!!, white wins"; id "ZPTS.14";
1r4RK/2n5/7k/8/8/8/8/8 b - - bm Ne8; c0 "Polgar - Kasparov, 1996: black wins after 91. Rf8, Kg6 92. Rg8+, Kf7"; id "ZPTS.15";
k2N2K1/8/8/8/5R2/3n4/3p4/8 w - - bm Rf7; c0 "CCC post by Ed Schroeder, Troitzky"; id "ZPTS.16";
8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - - bm Nxd5; c0 "CCC post 27.4.2004 by Gerd Isenberg"; id "ZPTS.17";
8/6B1/p5p1/Pp4kp/1P5r/5P1Q/4q1PK/8 w - - bm Qxh4+; c0 "CCC post 10.9.2004 by Alvaro Begue"; id "ZPTS.18";
n1QBq1k1/5p1p/5KP1/p7/8/8/8/8 w - - bm Bc7; c0 "CCC post"; id "ZPTS.19";
3nQ1k1/p2P2p1/1p6/8/5q1P/8/PP6/1K6 b - - bm Kh7; c0 "CCC post, draw, but h5 after Qf8 wins for white"; id "ZPTS.20";
8/8/8/1B6/6p1/8/4KPpp/3N2kr w - - bm Kd3 Ke3; c0 "CCC post by Tim Foden, id MES.831, white wins, 1. Kd3 g3 2. f4 Kf1 3. Kd2+ Kg1 4. Bd7 Kf1 5. Bh3 Rg1 6. Bg4 Rh1 7. Be2+ Kg1 8. Nc3 Kf2 9. Ne4+ Kg1 10. Ng5 Kf2 11. Nh3#"; id "ZPTS.21";
4B3/8/p7/k2N4/7p/K6p/PP5P/2q5 w - - bm Ba4; c0 "CCC post by Tim Foden, id CCC.347609, white wins"; id "ZPTS.22";
6Q1/8/8/7k/8/8/3p1pp1/3Kbrrb w - - bm Qg7; c0 "CCC post by Joachim Rang, mate in 4"; id "ZPTS.23";
8/8/8/2p5/1pp5/brpp4/1pprp2P/qnkbK3 w - - bm h3; c0 "CCC post by Joachim Rang, mate in 15, h4 is only draw"; id "ZPTS.24";
8/1B6/8/5p2/8/8/5Qrq/1K1R2bk w - - bm Qa7; c0 "CCC post by Tim Foden, id CCC.321759, mate in 3"; id "ZPTS.25";
8/3p1p2/5Ppp/K2R2bk/4pPrr/6Pp/4B2P/3N4 w - - bm Nc3; c0 "CCC post by Tim Foden, id CCC.321751, mate in 4"; id "ZPTS.26";
8/8/p5p1/p2N3p/k2P3P/5P2/KP1qB3/8 w - - bm f4; c0 "white wins, derived from the more difficult ZPTS.28, Zugzwang after f4"; id "ZPTS.27";
8/p5pq/8/p2N3p/k2P3P/8/KP3PB1/8 w - - bm Be4; c0 "Kubbel 1925, 1.Be4!! Qh6 2.Bd3!! Qd2 [2...Qd6 3.b3#] 3.Be2 g6 [3...Qc2 4.Bd1 Qxd1 5.Nc3 -; 3...a6 4.f3 g6 5.f4 -] 4.f3 a6 5.f4 Qc2 6.Bd1, Zugzwang after f4, white wins"; id "ZPTS.28";
8/5p2/4b1p1/7R/5K1P/2r3B1/7N/4b1k1 w - - bm Nf3+; c0 "Noam Elkies 1984, 1 Nf3+! Rxf3+! 2 Kxf3 Bg4+! 3 Kf4!! Bxg3+ 4 Kxg4 gxh5+ 5 Kh3!! Kf1 6 Kxg3 Ke2 7 Kf4 f6 8 Kf5 Kf3 9 Kxf6 Kg4 10 Ke5 Kh4 11 Kf4, draw"; id "ZPTS.29";
5R2/2K5/1pP5/4k2p/3pp3/2p4N/B4N1b/n1R1B2b w - - bm Rxc3; c0 "CCC post by Tim Foden, id CCC.321966, mate in 4"; id "ZPTS.30";
Ruffian 1.0.1 (Athlon Xp 2400+, 30 sec per position) results:
Changes:
- old ZPTS 17 and 19 removed, replaced by two new positions
- (hopefully) syntactically correct EPD format now
- some additional comments
- old ZPTS 30 replaced with a simplified mate in 3 version that captures the main idea of the original composition (that was won by white even though black had first move)
- + added if best move was a check
- added alternative solutions in some cases
- positions are now sorted, the ones with fewer pieces at the beginning, with more pieces towards end
I thought about it, but I decided to keep the simple positions. They may be useless for strong engines, but not necessarily so for weaker ones (without EGTBs of course).
Ruffian 1.0.1 solved 15 out of the 30 positions (one of them does not really count because it was without seeing that the position is won and not drawn) on my Athlon XP 2400+ / 30 secs per position.
I think 50% for an engine like Ruffian is ok; I do not like testsuites ala WAC, where almost 100% are solved, nor if results are too close to 0%.
The sorting of positions now gives a rough idea, if the engine?s capabilities to cope with Zugzwang decreases with the number of pieces. E.g. Ruffian solved the first 9 positions with no or only one piece, with more pieces the going was decidedly rougher for Ruffian; it then also missed the one or the other mate in 3 or 4.
Btw: If anybody knows the solution to ZPTS 26, I would be interested to learn it. According to the original post it should be a mate in 4; I personnally cannot figure it out. I assume that this is my problem and mate in 4 is correct; in doubt I left the position in.
Testsuite:
3k4/8/4K3/2R5/8/8/8/8 w - - bm Rc1 Rc2 Rc3 Rc4 Rc6; c0 "CCC post"; id "ZPTS.01";
1k6/7R/2K5/8/8/8/8/8 w - - bm Re7 Rf7 Rg7 Rh1 Rh2 Rh3 Rh4 Rh5 Rh6 Rh8+; c0 "CCC post"; id "ZPTS.02";
8/3k4/8/8/3PK3/8/8/8 w - - bm Kd5; c0 "CCC post"; id "ZPTS.03";
2k5/8/1K1P4/8/8/8/8/8 w - - bm Kc6; c0 "white wins"; id "ZPTS.04";
8/8/8/4N3/8/7p/8/5K1k w - - bm Ng4; c0 "white mates"; id "ZPTS.05";
8/8/1p1K4/Pp6/2k1p3/8/1P6/8 w - - bm a6; c0 "Kubbel 1927, 1 ... e3 2 a7 e2 3 a8/Q e1/Q 4 Qd5+ Kb4 5 Qd3!, white wins"; id "ZPTS.06";
8/1p5k/1P1p4/3p4/3Pp2p/2K1P2p/7P/8 w - - bm Kb2; c0 "1 Kb2! Kg8 2 Ka1!!, draw"; id "ZPTS.07";
8/4N3/8/8/8/2b1p3/p1K1P3/k7 w - - bm Nc6; c0 "white mates in 3"; id "ZPTS.08";
8/8/7p/2R5/4pp1K/8/8/3k2b1 w - - bm Rc4; c0 "Kricheli 1986, 1 Rc4! e3 2 Rd4+! Kc2 3 Rxf4 e2 4 Re4 Kd2 5 Rxe2+ Kxe2 6 Kg4!, draw"; id "ZPTS.09";
4KBkr/7p/6PP/4P3/8/3P1p2/8/8 w - - bm g7; c0 "CCC post 27.4.2004 by Gerd Isenberg"; id "ZPTS.10";
8/p7/1p6/p7/kq1Q4/8/K7/8 w - - bm Qd3; c0 "post in Avler chess forum"; id "ZPTS.11";
8/8/p3R3/1p5p/1P5p/6rp/5K1p/7k w - - bm Re1+; c0 "CCC post by Eduard Nemeth, mate in 7"; id "ZPTS.12";
8/5b2/p2k4/1p1p1p1p/1P1K1P1P/2P1PB2/8/8 w - - bm Bd1 Be2; c0 "CCC post by Sune Fischer, Averbakh 1954, white wins: 1.Be2 Be8 [1.-Bg6 2.Bd3 Bh7 3.Bf1 leads to instant zugzwang, be it after 3.-Bg6 4.Bg2 Bf7 5.Bf3 or after 3.-Bg8 4.Be2 Bf7 5.Bf3] 2.Bd3 Bg6 3.Bc2 Bh7 4.Bb3! Bg8 5.Bd1 Bf7 6.Bf3! and so on"; id "ZPTS.13";
6k1/3p4/P2P4/8/5Kp1/1p4Q1/p5p1/b7 w - - bm Qxg2; c0 "Kasparyan 1959, 1 ... Be5+ 2 Kf5! a1/Q 3 a7! Qxa7 4 Kg6! Qa1! 5 Qd5! Kh8 6 Qe4!!, white wins"; id "ZPTS.14";
1r4RK/2n5/7k/8/8/8/8/8 b - - bm Ne8; c0 "Polgar - Kasparov, 1996: black wins after 91. Rf8, Kg6 92. Rg8+, Kf7"; id "ZPTS.15";
k2N2K1/8/8/8/5R2/3n4/3p4/8 w - - bm Rf7; c0 "CCC post by Ed Schroeder, Troitzky"; id "ZPTS.16";
8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - - bm Nxd5; c0 "CCC post 27.4.2004 by Gerd Isenberg"; id "ZPTS.17";
8/6B1/p5p1/Pp4kp/1P5r/5P1Q/4q1PK/8 w - - bm Qxh4+; c0 "CCC post 10.9.2004 by Alvaro Begue"; id "ZPTS.18";
n1QBq1k1/5p1p/5KP1/p7/8/8/8/8 w - - bm Bc7; c0 "CCC post"; id "ZPTS.19";
3nQ1k1/p2P2p1/1p6/8/5q1P/8/PP6/1K6 b - - bm Kh7; c0 "CCC post, draw, but h5 after Qf8 wins for white"; id "ZPTS.20";
8/8/8/1B6/6p1/8/4KPpp/3N2kr w - - bm Kd3 Ke3; c0 "CCC post by Tim Foden, id MES.831, white wins, 1. Kd3 g3 2. f4 Kf1 3. Kd2+ Kg1 4. Bd7 Kf1 5. Bh3 Rg1 6. Bg4 Rh1 7. Be2+ Kg1 8. Nc3 Kf2 9. Ne4+ Kg1 10. Ng5 Kf2 11. Nh3#"; id "ZPTS.21";
4B3/8/p7/k2N4/7p/K6p/PP5P/2q5 w - - bm Ba4; c0 "CCC post by Tim Foden, id CCC.347609, white wins"; id "ZPTS.22";
6Q1/8/8/7k/8/8/3p1pp1/3Kbrrb w - - bm Qg7; c0 "CCC post by Joachim Rang, mate in 4"; id "ZPTS.23";
8/8/8/2p5/1pp5/brpp4/1pprp2P/qnkbK3 w - - bm h3; c0 "CCC post by Joachim Rang, mate in 15, h4 is only draw"; id "ZPTS.24";
8/1B6/8/5p2/8/8/5Qrq/1K1R2bk w - - bm Qa7; c0 "CCC post by Tim Foden, id CCC.321759, mate in 3"; id "ZPTS.25";
8/3p1p2/5Ppp/K2R2bk/4pPrr/6Pp/4B2P/3N4 w - - bm Nc3; c0 "CCC post by Tim Foden, id CCC.321751, mate in 4"; id "ZPTS.26";
8/8/p5p1/p2N3p/k2P3P/5P2/KP1qB3/8 w - - bm f4; c0 "white wins, derived from the more difficult ZPTS.28, Zugzwang after f4"; id "ZPTS.27";
8/p5pq/8/p2N3p/k2P3P/8/KP3PB1/8 w - - bm Be4; c0 "Kubbel 1925, 1.Be4!! Qh6 2.Bd3!! Qd2 [2...Qd6 3.b3#] 3.Be2 g6 [3...Qc2 4.Bd1 Qxd1 5.Nc3 -; 3...a6 4.f3 g6 5.f4 -] 4.f3 a6 5.f4 Qc2 6.Bd1, Zugzwang after f4, white wins"; id "ZPTS.28";
8/5p2/4b1p1/7R/5K1P/2r3B1/7N/4b1k1 w - - bm Nf3+; c0 "Noam Elkies 1984, 1 Nf3+! Rxf3+! 2 Kxf3 Bg4+! 3 Kf4!! Bxg3+ 4 Kxg4 gxh5+ 5 Kh3!! Kf1 6 Kxg3 Ke2 7 Kf4 f6 8 Kf5 Kf3 9 Kxf6 Kg4 10 Ke5 Kh4 11 Kf4, draw"; id "ZPTS.29";
5R2/2K5/1pP5/4k2p/3pp3/2p4N/B4N1b/n1R1B2b w - - bm Rxc3; c0 "CCC post by Tim Foden, id CCC.321966, mate in 4"; id "ZPTS.30";
Ruffian 1.0.1 (Athlon Xp 2400+, 30 sec per position) results:
- Code: Select all
--------------------------------------------------------------------------------
Analysis from T:\Chess\Test\Other Tests\Zugzwang\Zugzwang Positions Test Suite - ZPTS.epd
Analyzing engine: Ruffian v1.01
1) Rc5-c1, Rc5-c2, Rc5-c3, Rc5-c4, Rc5-c6 Rc5-c1 * 0 Seconds
2) Rh7-e7, Rh7-f7, Rh7-g7, Rh7-h1, Rh7-h2, Rh7-h3 Rh7-h1 * 0 Seconds
3) Ke4-d5 Ke4-d5 * 0 Seconds
4) Kb6-c6 Kb6-c6 * 0 Seconds
5) Ne5-g4 Ne5-g4 * 0 Seconds
6) a5-a6 a5-a6 * 0 Seconds (does not see the win)
7) Kc3-b2, Kc3-b2 Kc3-b2 * 0 Seconds
8) Ne7-c6 Ne7-c6 * 0 Seconds
9) Rc5-c4 Rc5-c4 * 0 Seconds
10) g6-g7 Bf8-c5
11) Qd4-d3 Qd4-d7
12) Re6-e1 Re6xa6
13) Bf3-d1, Bf3-e2 Bf3-e2 * 0 Seconds
14) Qg3xg2 Qg3-e1
15) .. Nc7-e8 Nc7-e8 * 0 Seconds
16) Rf4-f7 Rf4-f7 * 0 Seconds
17) .. Nf4xd5 Rd6-d8
18) Qh3xh4 Bg7-h6
19) Bd8-c7 g6xh7
20) .. Kg8-h7 Qf4-f8
21) Ke2-d3, Ke2-e3 Nd1-c3
22) Be8-a4 Be8-d7
23) Qg8-g7 Qg8-g7 * 0 Seconds
24) h2-h3 Qg8-g7
25) Qf2-a7 Qf2-f3
26) Nd1-c3 Nd1-e3
27) f3-f4 Nd5-b6
28) Bg2-e4 Bg2-f1
29) Nh2-f3 Nh2-f3 * 0 Seconds
30) Rc1xc3 Rc1xc3 * 9 Seconds
15 of 30 matching moves
16.10.2004 14:50:28, Total time: 00:10:52 Rated time: 07:39 = 459 Seconds