very nice analysis. thanks for modifying my FENs, I just converted to FENs and none of these puzzles have e.p. or castling.Ferdy wrote: ↑Sat Oct 09, 2021 6:08 pm Here are the fixes on some positions, some best moves and san format. Also now in epd format with opcodes.
chessnut1071_dm2.epdSample test results:Code: Select all
3k4/R6R/3n4/8/8/3K4/8/8 w - - bm Rhg7; c0 "Bonus Socius (1266) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #1"; 2brrb2/8/p7/7Q/1p1kpPp1/1P1pN1K1/3P4/8 w - - bm Qa5; c0 "Sam Loyd (1859) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #2"; 3r3r/pbp2pbp/1p5q/8/Q6P/B2B1PPN/1R2P1N1/2k1nK1R w - - bm Bf8; c0 "Sam Loyd (1892) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #3"; 8/1n1NBP1K/5Rpn/r4B2/r4k1p/4p3/6Q1/7N w - - bm Ra6; c0 "Sam Loyd (1892) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #4"; b4b2/3r4/3pr3/8/1K5N/2PR4/Q3p3/5kBR w - - bm Qa6; c0 "GodFrey Heathcote (1904) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #5"; 4K3/3Q4/8/p3k2N/r7/R2B4/5P2/7b w - - bm Be4; c0 "GodFrey Heathcote (1891) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #6"; 6K1/pN2R1PQ/p7/r2k3r/N2n4/1P2p3/BB5p/2Rb2bq w - - bm Rcc7; c0 "GodFrey Heathcote (1905) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #7"; 8/qQ5p/3pN2K/3pp1R1/4k3/7N/1b1PP3/8 w - - bm Nd4; c0 "GodFrey Heathcote (1911) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #8"; 8/8/1b1ppNbB/nQr2k2/n1p3N1/1P2p1p1/2Kp1q2/1B1R1R2 w - - bm Rc1; c0 "Alian White (1906) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #9"; 8/2Q2K2/1p6/1B5n/3B4/N4P2/1b1k1rPN/nR6 w - - bm g4; c0 "Alian White (1917) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #10"; 8/3p1B2/3r1PP1/4N1Rb/2P1k1p1/3N3r/3KPQ1b/4R3 w - - bm Kc3; c0 "Alian White (1918) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #11"; 8/2pQ2b1/K1Bqp3/8/4R3/N2k4/3P3R/8 w - - bm Rb4; c0 "Alian White (1918) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #12"; 8/q3Rp2/3pP3/2n2P1N/2P5/QP2k1N1/3R2P1/2BK4 w - - bm Bb2; c0 "Alian White (1918) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #13"; 2Q5/3r4/2Nnk1P1/8/2PBB1N1/8/8/3KR3 w - - bm Bc5; c0 "Alian White (1918) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #14"; 3R3K/8/5Q2/8/5N2/1B6/2PB4/1qbk4 w - - bm Qa1; c0 "Alian White (1920) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #15"; b2N4/3n3B/1q2p3/1p4p1/pRr2kpb/K2Q2r1/7B/2N1R3 w - - bm Qc3; c0 "Alian White (1942) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #16"; 8/8/3B2p1/6K1/1PPkp3/2RnN2Q/8/nN6 w - - bm Qh5; c0 "William Meredith (1886) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #17"; 8/5R2/1N2p1pK/4k1p1/nQ6/1N1q1B2/8/8 w - - bm Qd2; c0 "William Meredith (1889) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #18"; 3nbb2/Q1pr1pp1/B7/p1PP3p/K1Nk3r/1RN1RPP1/8/B7 w - - bm Na3; c0 "Arthur Mackenzie (1905) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #19"; 4R3/1B6/8/8/1KN1n2r/5P2/1R1Pk2P/1Q6 w - - bm Ne3; c0 "Friedrich Kuskop (1915) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #20"; Q7/6N1/Kp4B1/3pp1n1/3k1r2/p1R4R/4rn2/B6q w - - bm Be4; c0 "Murray Marble (1909) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #21"; 4R3/6B1/3p4/3P1RN1/1Nr1P3/2p1kP2/Q2n4/1qb2BK1 w - - bm Bh6; c0 "Alexander Kish (1936) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #22"; 4Bbb1/K1B3Q1/7R/2kn1r2/R1N1P3/1r1p4/8/n3N1q1 w - - bm Na5; c0 "William Beers (1934) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #23"; 2K3Bn/B7/3pp1N1/1p1P3R/4k3/R5q1/N1P3Pp/7Q w - - bm Qb1; c0 "Alian White (1941) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #24"; 2Nn4/1n3p2/2p2P2/p1pk4/P6R/4K2B/p7/B7 w - - bm Bg4; c0 "F. A. Tauber (1922) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #25"; 3nN3/1n3p2/2p2P2/p1pk4/P6R/4K2B/p7/B7 w - - bm Rg4; c0 "F. A. Tauber (1922) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #26"; qB2nn2/p7/Q7/1PPkN1p1/3Pp1Bp/1pP4K/8/8 w - - bm Bc7; c0 "Kenneth S. Howard (1925) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #27"; qB3n2/p3p3/Q7/1PPkN1p1/3Pp1Bp/1pP4K/8/8 w - - bm Qa1; c0 "Kenneth S. Howard (1925) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #28"; 8/3p1p1Q/1K2k3/1N1Np3/8/1B6/8/8 w - - bm Ba4; c0 "William Shinkman (1877) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #29"; 8/3ppp1Q/1K2k3/1N1Np3/8/1B6/8/8 w - - bm Ba4 Ne3+; c0 "William Shinkman (1877) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #30"; 3N4/2p3B1/q3p3/2k4K/p1N5/P2R4/B4n2/1R6 w - - bm Nd6; c0 "Godfrey Heathcote (1900) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #31"; 3N4/2p3B1/q3p3/2k5/2N5/pQ1R4/K4n2/8 w - - bm Nd6; c0 "Friedrich Kuskop (1900) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #32"; 2Bb4/1K2P1rN/R1Pk1nbR/5p2/3P3B/5Q2/1Np5/8 w - - bm Qb3; c0 "Alexander Kish (1937) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #33"; 2Bb4/1K2P1rN/R1Pk1nbR/N4p2/3P3B/8/6Q1/8 w - - bm Qa2; c0 "Arnaldo Ellerman (1923) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #34"; 2R5/Bp3B2/2b2n2/3Np1Q1/P1k2p2/Ppn4R/4N3/b6K w - - bm Qf5; c0 "L. J. Loschinsky (1932) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #35"; b1R5/B4B2/2q2n2/1p1NpQ2/1bkp1p1R/2n5/P3N3/7K w - - bm Rh3; c0 "P. Ten Cate (1923) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #36"; 7K/4B3/4N3/1b2k1N1/6Pp/n1r5/1Q6/bB1Rn3 w - - bm Ba2; c0 "Kenneth S. Howard (1936) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #37"; 8/K3B3/4N3/1b2k1N1/6Pp/n1r5/1Q6/bB1Rn3 w - - bm Ba2; c0 "Sandor Hertmann (1925) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #38"; 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - bm Kb4; c0 "J. Hartong (1919) 2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #39"; r3k3/p1p5/Q3K3/8/8/8/8/8 w - - bm Qa1; c0 "2-move mate"; id "Classic Chess Problems, Kenneth S. Howard, 1970, puzzle #40";
Plot:Code: Select all
epd : chessnut1071_dm2.epd movetime: 2s name total correct correct% fails CDrill 1800 40 40 100.0 [] Stockfish 14 40 40 100.0 [] Deuterium v2019.2.37.73 40 38 95.0 [33, 34] CT800 V1.43 64 bit 40 36 90.0 [17, 25, 26, 27] Rhetoric 1.4.3 x64 40 27 67.5 [3, 4, 6, 7, 8, 13, 18, 20, 23, 24, 29, 31, 32] BikJump v2.01 (64-bit) 40 26 65.0 [3, 4, 6, 7, 8, 10, 11, 12, 13, 17, 23, 27, 31, 32] MadChess 3.0 x64 Non-PopCount 40 17 42.5 [1, 3, 4, 6, 7, 10, 11, 12, 14, 15, 16, 17, 19, 20, 23, 25, 26, 27, 31, 32, 33, 34, 35] MinimalChess 0.3 40 16 40.0 [3, 4, 6, 7, 8, 10, 11, 13, 16, 17, 18, 20, 23, 24, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38]
![]()
FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
Moderator: Ras
-
- Posts: 313
- Joined: Tue Aug 03, 2021 2:41 pm
- Full name: Bill Beame
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
-
- Posts: 48
- Joined: Wed Sep 22, 2021 9:20 pm
- Full name: Jeremy Wright
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
Cool positions, always good to have more puzzles for use. Thanks!
I'm somewhat curious what it means for an engine to fail one of these positions. I think a lot of the engines I've seen failing in some of these positions are doing so because they're programmed to abort their search once they find *a* mate. I tried out MinimalChess on one of the positions it "fails", and got this:
So it found a suboptimal mate (which is completely normal in many positions for engines that do reductions) but stopped the search early. Perfectly reasonable in an actual game of chess (a win is a win, after all). I have little doubt that if it searched further, it would probably be able to find the mate in 2 as well. After all, my engine Mantissa awkwardly takes until depth 18 (though 56ms) to find the mate in 2 in this position:
I guess I'm more curious to find an example of an engine (that isn't quite new, I imagine that many nascent engines could have trouble here) having a bug or quirk that would actually render them unable to find one of these mates if allowed to search for a bit. Naturally, if the restriction was that they could only search to depth 3 or 4, even engines like SF would fail a bunch because of how their search selectivity works, but outside of bugs I'm not sure what could cause a failure. Has anyone looked into explanations for such failures (if we can find them)? Or am I misunderstanding the challenge?
I'm somewhat curious what it means for an engine to fail one of these positions. I think a lot of the engines I've seen failing in some of these positions are doing so because they're programmed to abort their search once they find *a* mate. I tried out MinimalChess on one of the positions it "fails", and got this:
Code: Select all
MinimalChess 0.6
position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1
position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1
go movetime 10000
go movetime 10000
info string Search scheduled to take 9980ms!
info depth 1 score cp 1259 nodes 90 nps 3000 time 30 pv h5h4
info depth 2 score cp 1201 nodes 179 nps 4972 time 36 pv h5h4 d4c3
info depth 3 score cp 1251 nodes 546 nps 14756 time 37 pv h5h4 d4c3 g7g3
info depth 4 score cp 1287 nodes 1462 nps 36550 time 40 pv h5h4 d4c5 g7e7 c5b5
info depth 5 score mate 3 nodes 5622 nps 104111 time 54 pv g7g1 d4c3 h5c5 c3d2 g1e3
bestmove g7g1
Code: Select all
go movetime 10000
info depth 1 seldepth 2 score cp 1813 time 5 nodes 45 nps 9000 pv h5h4 d4c3
info depth 2 seldepth 2 score cp 1813 time 5 nodes 67 nps 13400 pv h5h4 d4c3
info depth 3 seldepth 4 score cp 1915 time 7 nodes 440 nps 62857 pv h5h4 d4c5 g7g1 c5b5
info depth 4 seldepth 7 score cp 1915 time 7 nodes 609 nps 87000 pv h5h4 d4c5 g7g1 c5b5
info depth 5 seldepth 8 score cp 1985 time 9 nodes 974 nps 108222 pv h5h4 d4c5 e1e5 c5d6 g7e7 d6c7
info depth 6 seldepth 9 score cp 2762 time 16 nodes 2470 nps 154375 pv h5h8 f8g6 g7f6 d4c5 h8h5 h4f5
info depth 7 seldepth 9 score cp 2623 time 22 nodes 4140 nps 188181 pv h5h8 f8g6 g7f6 d4c5 h8h5 d7f5 h5f5 h4f5
info depth 8 seldepth 9 score cp 2623 time 27 nodes 5229 nps 193666 pv h5h8 f8g6 g7f6 d4c5 h8h5 d7f5 h5f5 h4f5
info depth 9 seldepth 11 score cp 2883 time 35 nodes 8742 nps 249771 pv h5h8 f8h7 g7d7 d4c5 e1e5 c5b6 h8h7 f6f3 a3b2
info depth 10 seldepth 15 score mate 3 time 48 nodes 17443 nps 363395 pv g7g1 d4c3 h5c5 c3d2 g1e3
info depth 11 seldepth 15 score mate 3 time 50 nodes 21762 nps 435240 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 12 seldepth 15 score mate 3 time 51 nodes 22298 nps 437215 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 13 seldepth 15 score mate 3 time 51 nodes 22819 nps 447431 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 14 seldepth 15 score mate 3 time 51 nodes 23402 nps 458862 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 15 seldepth 15 score mate 3 time 51 nodes 24108 nps 472705 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 16 seldepth 15 score mate 3 time 52 nodes 24893 nps 478711 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 17 seldepth 15 score mate 3 time 54 nodes 27643 nps 511907 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 18 seldepth 15 score mate 3 time 55 nodes 28494 nps 518072 pv g7g1 f6f2 g1f2 d4c3 h5c5
info depth 19 seldepth 15 score mate 2 time 56 nodes 30234 nps 539892 pv a3b4 f8g6 h5d5
...
Mantissa: https://github.com/jtheardw/mantissa
-
- Posts: 313
- Joined: Tue Aug 03, 2021 2:41 pm
- Full name: Bill Beame
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
There wasn't supposed to be a challenge here, although it looks like it's turning in to one. It was only meant to provide a good approach to fixing bugs in engines that developers weren't aware about. Most very strong engines will fail on some of these minimum solutions simply because of pruning, which most are forced to do to reach speeds and depths competitive with OTB challengers. My contention is quantum computing offers speeds in the future which will put pruning engines at a disadvantage. I saw an experimental quantum machine that reached speeds that will absolutely blow your mind, although it may be many years before they can commercialize it. Guess who's leading the quantum development program: a CHESS fanatic.jtwright wrote: ↑Sat Oct 09, 2021 8:55 pm Cool positions, always good to have more puzzles for use. Thanks!
I'm somewhat curious what it means for an engine to fail one of these positions. I think a lot of the engines I've seen failing in some of these positions are doing so because they're programmed to abort their search once they find *a* mate. I tried out MinimalChess on one of the positions it "fails", and got this:So it found a suboptimal mate (which is completely normal in many positions for engines that do reductions) but stopped the search early. Perfectly reasonable in an actual game of chess (a win is a win, after all). I have little doubt that if it searched further, it would probably be able to find the mate in 2 as well. After all, my engine Mantissa awkwardly takes until depth 18 (though 56ms) to find the mate in 2 in this position:Code: Select all
MinimalChess 0.6 position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1 position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1 go movetime 10000 go movetime 10000 info string Search scheduled to take 9980ms! info depth 1 score cp 1259 nodes 90 nps 3000 time 30 pv h5h4 info depth 2 score cp 1201 nodes 179 nps 4972 time 36 pv h5h4 d4c3 info depth 3 score cp 1251 nodes 546 nps 14756 time 37 pv h5h4 d4c3 g7g3 info depth 4 score cp 1287 nodes 1462 nps 36550 time 40 pv h5h4 d4c5 g7e7 c5b5 info depth 5 score mate 3 nodes 5622 nps 104111 time 54 pv g7g1 d4c3 h5c5 c3d2 g1e3 bestmove g7g1
I guess I'm more curious to find an example of an engine (that isn't quite new, I imagine that many nascent engines could have trouble here) having a bug or quirk that would actually render them unable to find one of these mates if allowed to search for a bit. Naturally, if the restriction was that they could only search to depth 3 or 4, even engines like SF would fail a bunch because of how their search selectivity works, but outside of bugs I'm not sure what could cause a failure. Has anyone looked into explanations for such failures (if we can find them)? Or am I misunderstanding the challenge?Code: Select all
go movetime 10000 info depth 1 seldepth 2 score cp 1813 time 5 nodes 45 nps 9000 pv h5h4 d4c3 info depth 2 seldepth 2 score cp 1813 time 5 nodes 67 nps 13400 pv h5h4 d4c3 info depth 3 seldepth 4 score cp 1915 time 7 nodes 440 nps 62857 pv h5h4 d4c5 g7g1 c5b5 info depth 4 seldepth 7 score cp 1915 time 7 nodes 609 nps 87000 pv h5h4 d4c5 g7g1 c5b5 info depth 5 seldepth 8 score cp 1985 time 9 nodes 974 nps 108222 pv h5h4 d4c5 e1e5 c5d6 g7e7 d6c7 info depth 6 seldepth 9 score cp 2762 time 16 nodes 2470 nps 154375 pv h5h8 f8g6 g7f6 d4c5 h8h5 h4f5 info depth 7 seldepth 9 score cp 2623 time 22 nodes 4140 nps 188181 pv h5h8 f8g6 g7f6 d4c5 h8h5 d7f5 h5f5 h4f5 info depth 8 seldepth 9 score cp 2623 time 27 nodes 5229 nps 193666 pv h5h8 f8g6 g7f6 d4c5 h8h5 d7f5 h5f5 h4f5 info depth 9 seldepth 11 score cp 2883 time 35 nodes 8742 nps 249771 pv h5h8 f8h7 g7d7 d4c5 e1e5 c5b6 h8h7 f6f3 a3b2 info depth 10 seldepth 15 score mate 3 time 48 nodes 17443 nps 363395 pv g7g1 d4c3 h5c5 c3d2 g1e3 info depth 11 seldepth 15 score mate 3 time 50 nodes 21762 nps 435240 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 12 seldepth 15 score mate 3 time 51 nodes 22298 nps 437215 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 13 seldepth 15 score mate 3 time 51 nodes 22819 nps 447431 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 14 seldepth 15 score mate 3 time 51 nodes 23402 nps 458862 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 15 seldepth 15 score mate 3 time 51 nodes 24108 nps 472705 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 16 seldepth 15 score mate 3 time 52 nodes 24893 nps 478711 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 17 seldepth 15 score mate 3 time 54 nodes 27643 nps 511907 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 18 seldepth 15 score mate 3 time 55 nodes 28494 nps 518072 pv g7g1 f6f2 g1f2 d4c3 h5c5 info depth 19 seldepth 15 score mate 2 time 56 nodes 30234 nps 539892 pv a3b4 f8g6 h5d5 ...
-
- Posts: 1404
- Joined: Wed Mar 08, 2006 10:15 pm
- Location: San Francisco, California
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
Myrddin gets 28 out of 40 in 2 seconds. Could be worse, I guess.... 

-
- Posts: 127
- Joined: Sat Aug 21, 2021 9:55 pm
- Full name: Jen
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
What is your defenition of failing though? If you define a fail as not being able to immediatelly recognize the shortest mate, then of course no strong engine will pass this challenge. As you said youself, all the strong engines do some unsafe pruning and as a consequence sometimes not see the shortest mate until they are x plies deeper in the search. Nevertheless, they will find the shortest mate eventually. I wouldn't consider that a bug/fail though, it's simply part of the design ... and some engine authors even make the conscious decision to stop the search as soon as a mate (any mate) is found, despite it possibly not being the shortest one, to save time.Chessnut1071 wrote: ↑Sat Oct 09, 2021 11:41 pm Most very strong engines will fail on some of these minimum solutions simply because of pruning
-
- Posts: 915
- Joined: Sun Dec 27, 2020 2:40 am
- Location: Bremen, Germany
- Full name: Thomas Jahn
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
Cool that you included MinimalChess in the tests!jtwright wrote: ↑Sat Oct 09, 2021 8:55 pm I'm somewhat curious what it means for an engine to fail one of these positions. I think a lot of the engines I've seen failing in some of these positions are doing so because they're programmed to abort their search once they find *a* mate. I tried out MinimalChess on one of the positions it "fails", and got this:So it found a suboptimal mate (which is completely normal in many positions for engines that do reductions) but stopped the search early. Perfectly reasonable in an actual game of chess (a win is a win, after all). I have little doubt that if it searched further, it would probably be able to find the mate in 2 as well.Code: Select all
MinimalChess 0.6 position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1 position fen 5nBb/3b2Q1/5r2/7R/3k3n/K7/2P5/4R3 w - - 0 1 go movetime 10000 go movetime 10000 info string Search scheduled to take 9980ms! info depth 1 score cp 1259 nodes 90 nps 3000 time 30 pv h5h4 info depth 2 score cp 1201 nodes 179 nps 4972 time 36 pv h5h4 d4c3 info depth 3 score cp 1251 nodes 546 nps 14756 time 37 pv h5h4 d4c3 g7g3 info depth 4 score cp 1287 nodes 1462 nps 36550 time 40 pv h5h4 d4c5 g7e7 c5b5 info depth 5 score mate 3 nodes 5622 nps 104111 time 54 pv g7g1 d4c3 h5c5 c3d2 g1e3 bestmove g7g1

Version 0.3 that Ferdy uses may indeed be too weak to find the best moves in all positions in only 2s. The version 0.6 that you used is capable enough but it stops the search once *any* mate is found.
However, when chessnut1071 posted a mate puzzle a few weeks ago I addressed that "problem" by encoding the mate-distance in the score and letting the engine search even after a mate was found. You would have to build from source to run this version (0.6.1) but I just confirmed that it solves all 40 positions in time.
If I let version 0.6 play against 0.6.1 they are equally strong. And that's why I haven't made a new binary release to include this fix.
-
- Posts: 4851
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
I use a python script.
-
- Posts: 4851
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: FENs for 40 2-move mates. A good engine should get all 40 even with some pruning
Yes there are no e.p and castling rights on those positions but they should be included as "-" for both fen and epd formats.Chessnut1071 wrote: ↑Sat Oct 09, 2021 8:06 pm very nice analysis. thanks for modifying my FENs, I just converted to FENs and none of these puzzles have e.p. or castling.