Million Mate Madness

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Million Mate Madness.

Post by zullil »

Ajedrecista wrote: ------------------------
I use JetChess 1.0.0.0 perft counter to give an idea of the tree size of the original position (before playing 1.- Qdxe6):

[D]1qbqkbq1/QBRNBNQ1/1QnQpQn1/1q1RQ1p1/3rn3/2Q2Q2/Q6K/1r4r1 w - - 0 1

perft(1) = 99
perft(2) = 6,722
perft(3) = 602,875
perft(4) = 39,177,153
perft(5) = 3,545,566,008
perft(6) = 222,775,664,191

--------------------------
Ajedrecista.
Looks like my move generator is OK here. Fortunately, you were kind enough to not post the JetChess search times (which would have made mine look very bad, I'm sure).

Code: Select all

louis@LZsT5610:~/Documents/Chess/Kirby$ ./perft 
FEN string = 1qbqkbq1/QBRNBNQ1/1QnQpQn1/1q1RQ1p1/3rn3/2Q2Q2/Q6K/1r4r1 w - -
Depth = 4
Leaf nodes = 39177153
Time taken = 252 ms

louis@LZsT5610:~/Documents/Chess/Kirby$ ./perft 
FEN string = 1qbqkbq1/QBRNBNQ1/1QnQpQn1/1q1RQ1p1/3rn3/2Q2Q2/Q6K/1r4r1 w - -
Depth = 5
Leaf nodes = 3545566008
Time taken = 24189 ms

louis@LZsT5610:~/Documents/Chess/Kirby$ ./perft 
FEN string = 1qbqkbq1/QBRNBNQ1/1QnQpQn1/1q1RQ1p1/3rn3/2Q2Q2/Q6K/1r4r1 w - -
Depth = 6
Leaf nodes = 222775664191
Time taken = 1454868 ms
JohnS
Posts: 215
Joined: Sun Feb 24, 2008 2:08 am

Re: Million Mate Madness

Post by JohnS »

Dann Corbit wrote:There are more than one million verified checkmates in this file:
https://www.dropbox.com/s/2gd72g3xrr36n ... at.7z?dl=0

Specifically, there are 1,112,569 checkmates between mate in 1 and mate in 8.

Each checkmate has been verified by Chest319 (so brute force, no shortcuts).

If you like solving chess puzzles or are otherwise deranged, you might enjoy it.

The file contains the positions which are annotated with the solutions.

From time to time, I will add to the collection.
Thanks for the great file.

Would you be able to provide a version ordered in terms of distance to mate, eg all mate in 1 followed by mates in 2...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Million Mate Madness

Post by Dann Corbit »

JohnS wrote:
Dann Corbit wrote:There are more than one million verified checkmates in this file:
https://www.dropbox.com/s/2gd72g3xrr36n ... at.7z?dl=0

Specifically, there are 1,112,569 checkmates between mate in 1 and mate in 8.

Each checkmate has been verified by Chest319 (so brute force, no shortcuts).

If you like solving chess puzzles or are otherwise deranged, you might enjoy it.

The file contains the positions which are annotated with the solutions.

From time to time, I will add to the collection.
Thanks for the great file.

Would you be able to provide a version ordered in terms of distance to mate, eg all mate in 1 followed by mates in 2...
The records are all tagged with the distance to mate. Records that have "dm 4;" in them are 'direct mate in four' and records that have "dm 1;" in them are direct mate in one.

If you are using windows, from a command prompt you can do things like this:
findstr "dm 1;" ischmat.epd > dm1.epd
which will create a file of every mate in one that is contained in the file.

If you are using some unix/posix sort of environment you can use grep or sed or what have you.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Important for programmers too ...

Post by Dann Corbit »

Frank Quisinsky wrote:OK!

You know that this material could be nice for each programmer. Can be sorted with tools ...

Example:
3-10 pieces on board
10-16 pieces on board

After this one programmer can use your work and have a chance for a good test with the own engine and the correct way to mate ... with different quantity of pieces on the board.

Important work because it's one of the main problems today. Most programmer using for own eng-eng matches resign=on and can't see the problems with time loses before mate or the wrong way to mate.

Chest is really a great work!

Best
Frank
Of course, these positions can be added to the ChestUCI database. I would have no objection to that.

In addition, you can import EPD records into many database systems like SCID and ChessAssistant.

Then you can use the power of the database to find exactly what you are looking for.

Perhaps I will create a simple SQL interface using SQLite or something like that so that people can make any kind of query that they like to find problems that they are interested in.

But there are already existing tools that do that kind of thing.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Important for programmers too ...

Post by Dann Corbit »

Simple tutorial example here on using mate list with Chess Assistant 14:
http://rybkaforum.net/cgi-bin/rybkaforu ... ?tid=29878
bnst
Posts: 87
Joined: Tue Sep 11, 2007 12:16 pm

Re: Million Mate Madness

Post by bnst »

I have now solved 1112567 myself but I struggle with the 1112568th :)
If you add 1543 more you will have exactly 0x110000 which of course should be celebrated !

Seriously - how is it possible to collect so many - if you spent 1 minute on each you would have used more than two years if you worked round the clock !

Thanks anyway for this wonderful collection
Regards Andreas
JohnS
Posts: 215
Joined: Sun Feb 24, 2008 2:08 am

Re: Million Mate Madness

Post by JohnS »

Dann Corbit wrote:
JohnS wrote:
Dann Corbit wrote:There are more than one million verified checkmates in this file:
https://www.dropbox.com/s/2gd72g3xrr36n ... at.7z?dl=0

Specifically, there are 1,112,569 checkmates between mate in 1 and mate in 8.

Each checkmate has been verified by Chest319 (so brute force, no shortcuts).

If you like solving chess puzzles or are otherwise deranged, you might enjoy it.

The file contains the positions which are annotated with the solutions.

From time to time, I will add to the collection.
Thanks for the great file.

Would you be able to provide a version ordered in terms of distance to mate, eg all mate in 1 followed by mates in 2...
The records are all tagged with the distance to mate. Records that have "dm 4;" in them are 'direct mate in four' and records that have "dm 1;" in them are direct mate in one.

If you are using windows, from a command prompt you can do things like this:
findstr "dm 1;" ischmat.epd > dm1.epd
which will create a file of every mate in one that is contained in the file.

If you are using some unix/posix sort of environment you can use grep or sed or what have you.
Thanks again Dann. The command works fine.

Now all I have to do is to start with the mate in 1 problems and work my way through the whole file. I should be ready to take on Carlsen when I finish. :D
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Million Mate Madness

Post by Dann Corbit »

bnst wrote:I have now solved 1112567 myself but I struggle with the 1112568th :)
If you add 1543 more you will have exactly 0x110000 which of course should be celebrated !

Seriously - how is it possible to collect so many - if you spent 1 minute on each you would have used more than two years if you worked round the clock !
It's an illness.
You should see how many positions I have analyzed that are not mates.
What you are looking at is the toenail of the giant.
Thanks anyway for this wonderful collection
Regards Andreas
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Million Mate Madness

Post by Ferdy »

Dann Corbit wrote:There are more than one million verified checkmates in this file:
I am converting now the bm move in SAN to LAN. Here are the positions without bm.

Code: Select all

rnb2k1r/1q1P2p1/p3p1Q1/6Np/2p2B2/8/1P4PP/R3KB1n b Q - acn 1602267; acs 3; ce -32755;
rn3rk1/pbppq1pQ/1p2pb2/4N3/3PN3/3B4/PPP2PPP/R3K2R b KQ - acn 1495; acs 0; ce -32755; pv Kxh7 Nxf6+ Kh6 Neg4+ Kg5 h4+ Kf4 g3+ Kf3 Kf1 g6 Nh2#;
r5rk/1pp2bq1/4R1p1/3p2PP/1B1P4/3B3Q/Pp6/1K5R b - - acn 2399760; acs 8; ce -32753;
r5r1/p4Qbk/7p/8/3n3q/2B5/PPp4P/4RnK1 w - - acn 3355430; acs 6; ce -32755;
r2qkbnr/ppp2Bpp/3p4/4N3/4P3/2N5/PP3PPP/R1Bb1RK1 b kq - acn 2; acs 0; ce -32765; pv Ke7 Nd5#;
q7/6k1/4p3/8/8/1Q6/1KQp4/8 b - - acn 1303296; acs 3; ce -32751; pv d1=N+ Kb1 Kf6 Qb4 Nc3+ Qbxc3+ e5 Qf2+ Ke6 Qb6+ Qc6 Qcxc6+ Ke7 Qbb7+ Kf8 Qcc8#;
n1K1k2N/6pN/1q2p1PQ/5p2/pr1r1P2/8/3n4/3R4 w - - acn 389; acs 0; ce -32759; pv Nf6+ gxf6 Qf8+ Kxf8 g7+ Kg8 Nf7 Rbc4#;
kr6/p1R5/P1P5/1p1N3r/8/5pP1/4pP2/6K1 w - - acn 1930; acs 0; ce -32759; pv Nb6+ axb6 Re7 Rd8 Ra7+ Kxa7 g4 e1=Q#;
k1r5/p6r/1p6/1N3n2/5Qp1/3PPpPq/5P2/R5K1 w - - acn 4082; acs 0; ce -32757; pv Qe4+ Kb8 Qa8+ Kxa8 Nc7+ Rcxc7 Rxa7+ Rxa7 e4 Ra1#;
8/RP6/8/8/8/8/6rr/4K2k w - - acn 66; acs 0; ce -32765; pv Ra1 Rg1#;
8/8/P3n1N1/8/4P1pp/4Ppkq/6p1/R5K1 w - - acn 85; acs 0; ce -32765; pv Ne7 f2#;
8/8/8/NP6/8/5k2/2np3K/8 w - - acn 2016; acs 0; ce -32759; pv Nc4 d1=Q Ne5+ Kf2 Nd3+ Qxd3 b6 Qh7#;
8/8/8/8/2N1kn1p/8/4p2K/8 w - - acn 22487; acs 0; ce -32755;
8/8/1p3Pn1/5P2/3P3p/2PP2pk/1pP5/7K w - - acn 28; acs 0; ce -32765; pv fxg6 b1=Q#;
8/6P1/8/3k4/3b4/5p2/6r1/4BK2 w - - acn 133037; acs 0; ce -32755; pv g8=Q+ Rxg8 Bf2 Bxf2 Kxf2 Ke4 Ke1 Ke3 Kf1 Rg7 Ke1 Rg1#;
8/5k1p/5r2/8/6R1/4q3/6KP/8 w - - acn 773; acs 0; ce -32761; pv Rg7+ Kxg7 h3 Rg6+ Kh2 Qg1#;
8/4N3/1p3Pp1/1PpBB2k/2P1PN1p/r6P/8/6K1 b - - acn 15762; acs 0; ce -32755; pv Kg5 f7 Rg3+ Kf2 Rg2+ Nxg2 Kh5 f8=Q Kg5 Qf6+ Kh5 Qxh4#;
8/3kP3/1b6/pP6/2b3K1/2P5/5r2/8 w - - acn 1380248; acs 2; ce -32755; pv e8=Q+ Kxe8 Kh4 Rg2 Kh5 Be2+ Kh6 Be3+ Kh7 Kf7 c4 Rh2#;
8/2P3p1/1K1k2P1/1P6/8/5p2/2r5/8 w - - acn 772095; acs 1; ce -32753; pv c8=Q Rxc8 Ka5 f2 b6 Rc5+ Ka6 f1=Q+ Ka7 Qa1+ Kb7 Rc8 Kxc8 Qa8#;
8/1p3p1p/p4P1k/P4P1p/6pP/6Pq/5P2/6K1 b - - acn 4583; acs 0; ce -32755; pv b5 axb6ep a5 b7 Qxh4 gxh4 g3 f3 g2 b8=Q a4 Qf4#;
8/1R6/3Pk3/5p2/6pp/4P3/6PK/4q3 w - - acn 45263; acs 0; ce -32755;
8/1Pk4P/p7/P7/1K6/8/3p4/7r w - - acn 3375982; acs 3; ce -32753;
8/1P6/4R3/7K/2k5/4pP2/8/8 b - - acn 1488320; acs 2; ce -32753; pv e2 b8=Q e1=Q Qc8+ Kd4 Rxe1 Kd5 Qe6+ Kc5 Rc1+ Kb5 Qb3+ Ka5 Ra1#;
8/1N2k3/4p1n1/4p3/n3Q1P1/1q6/p6P/K7 w - - acn 239; acs 0; ce -32763;
7N/8/1p3P2/1PpBB1k1/2P1PN1p/4K2P/r7/8 b - - acn 115212; acs 0; ce -32753; pv Ra3+ Nd3 Kh6 f7 Kh7 f8=R Ra7 Bg8+ Kh6 Rf7 Rb7 Bg7+ Kh5 Rf5#;
7N/8/1p3P2/1PpBB1k1/2P1PN1p/2K4P/r7/8 b - - acn 100731; acs 0; ce -32753; pv Ra3+ Kb2 Rxh3 Nxh3+ Kg4 f7 Kxh3 f8=Q Kg2 Bh2 h3 e5+ Kxh2 Qf2#;
6k1/4n1P1/2p5/p6P/1p2NPN1/3p1P2/1Pp5/K2n4 w - - acn 5974; acs 0; ce -32757; pv Ngf6+ Kxg7 h6+ Kh8 Ka2 c1=Q Kb3 Qc2+ Ka2 Qxb2#;
6k1/1p1b2pp/3p4/p2Pbq2/P7/1P3p1P/5P1K/4R1N1 w - - acn 1937354; acs 2; ce -32755;
6P1/1q2P2P/RP3R2/6P1/N4P1p/4PPpk/P3Q1pr/6K1 w - - acn 325; acs 0; ce -32761; pv Qxg2+ Rxg2+ Kh1 Re2 h8=Q Re1#;
5r2/8/3P2pk/P7/4N3/4p1Pp/4P1rP/4R1K1 w - - acn 1843538; acs 2; ce -32753; pv Kh1 Rxe2 Rd1 Rff2 Kg1 Rxh2 Kf1 Reg2 Nf2 Rxf2+ Kg1 Rfg2+ Kf1 Rh1#;
5r1k/p1qR3p/1p2Q3/8/1P3pR1/8/4npPK/8 b - - acn 753402; acs 1; ce -32753;
5p2/4pk2/3p1q2/3rPpP1/1p1r1n2/p2p1K1p/1pp3n1/8 w - - acn 2437; acs 0; ce -32759; pv g6+ Qxg6 e6+ Nxe6 Kf2 h2 Kf3 Rf4#;
4R1R1/3p4/3P4/8/P2n4/1p6/prpP4/k1K5 w - - acn 126; acs 0; ce -32763;
4P3/1p5Q/pNq4p/3p1P2/1p6/1k6/1Pp5/K7 w - - acn 616; acs 0; ce -32761;
3R2R1/7r/5k2/2rp2PB/1n2pP1P/4K3/8/8 b - - acn 42610; acs 0; ce -32753;
3N4/7p/6p1/4Pn1k/6R1/7K/6P1/2r1q3 w - - acn 365; acs 0; ce -32761;
2k1r2B/1b6/pp6/2p3P1/2P5/P3RpP1/1P1p1Qqp/3R3K w - - acn 59970; acs 0; ce -32751; pv Qxg2 fxg2+ Kxh2 Rxh8+ Kg1 Rh1+ Kf2 g1=Q+ Rxg1 Rh2+ Rg2 Rxg2+ Kf1 d1=Q+ Re1 Qf3#;
2k1r2B/1b6/pp6/2p3P1/2P5/P3R1P1/1P1p2pp/3R3K w - - acn 138; acs 0; ce -32753; pv Kxh2 Rxh8+ Kg1 Rh1+ Kf2 g1=Q+ Rxg1 Rh2+ Rg2 Rxg2+ Kf1 d1=Q+ Re1 Qf3#;
2R5/R1P1p1r1/8/8/pp4p1/3Pk1P1/1q2P3/1n2K3 w - - acn 103; acs 0; ce -32761;
1nr5/2q1k1Q1/1p2P1P1/pPp1RP2/P2p4/3P2K1/8/4R3 b - - acn 6507807; acs 13; ce -32751;
1n2q3/7p/p4rp1/3Q4/2P2pNk/4BR2/2P4P/7K b - - acn 7994199; acs 15; ce -32751;
1n2q3/7p/p4rp1/3Q4/2P2pNk/4BR2/2P4P/7K b - - acn 7971367; acs 15; ce -32751;
1k4N1/3Q2p1/1p2P3/3p2B1/P6p/5P1K/2r4P/4b3 b - - acn 9028008; acs 18; ce -32751;
1k3r2/ppp5/1n1P1N2/5P2/3Q1R1P/2P5/P5P1/3BK2R b K - acn 954101166; acs 1338; ce -32751;
1Q6/8/5k2/1BR5/6p1/4K3/1r3p2/8 b - - acn 649368; acs 1; ce -32751; pv f1=N+ Kd3 Rd2+ Kc3 Rc2+ Kxc2 Ne3+ Kd2 Nf1+ Bxf1 Ke6 Bc4+ Kf6 Qf8+ Kg6 Bd3#;
1P3r2/4p3/1kP1N1pq/pP1P2pn/Pp6/nK1p4/6p1/8 w - - acn 1572; acs 0; ce -32759; pv Nxf8 g1=Q Nd7+ Kc7 d6+ Kxd6 c7 Qb1#;
JohnS
Posts: 215
Joined: Sun Feb 24, 2008 2:08 am

Re: Million Mate Madness

Post by JohnS »

JohnS wrote:
Dann Corbit wrote:
JohnS wrote:
Dann Corbit wrote:There are more than one million verified checkmates in this file:
https://www.dropbox.com/s/2gd72g3xrr36n ... at.7z?dl=0

Specifically, there are 1,112,569 checkmates between mate in 1 and mate in 8.

Each checkmate has been verified by Chest319 (so brute force, no shortcuts).

If you like solving chess puzzles or are otherwise deranged, you might enjoy it.

The file contains the positions which are annotated with the solutions.

From time to time, I will add to the collection.
Thanks for the great file.

Would you be able to provide a version ordered in terms of distance to mate, eg all mate in 1 followed by mates in 2...
The records are all tagged with the distance to mate. Records that have "dm 4;" in them are 'direct mate in four' and records that have "dm 1;" in them are direct mate in one.

If you are using windows, from a command prompt you can do things like this:
findstr "dm 1;" ischmat.epd > dm1.epd
which will create a file of every mate in one that is contained in the file.

If you are using some unix/posix sort of environment you can use grep or sed or what have you.
Thanks again Dann. The command works fine.

Now all I have to do is to start with the mate in 1 problems and work my way through the whole file. I should be ready to take on Carlsen when I finish. :D
Spoke too soon. Dann's command doesn't work for me as it gives all the problems. This works for me.

findstr /c:"dm 1;" ischmat.epd > dm1.epd