Engine Test Suites: ECO Approach

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

Moderators: hgm, Rebel, chrisw

kingliveson

Re: Engine Test Suites: ECO Approach

Post by kingliveson »

Dann Corbit wrote:
Here they are with dups removed. I get 249 distinct rows and not 250.
Thanks, I have fixed it now and reloaded the file. A57 was the duplicate.

Franklin
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Engine Test Suites: ECO Approach

Post by Dann Corbit »

kingliveson wrote:
Dann Corbit wrote:
Here they are with dups removed. I get 249 distinct rows and not 250.
Thanks, I have fixed it now and reloaded the file. A57 was the duplicate.

Franklin
These are the most polar of your positions, with the first one being a clear win for white:

r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
rnb1kbnr/ppp3pp/3p1q2/4Np2/3PP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nc4; ce 149;
r1bqkbnr/pp1p1ppp/n3p3/2p5/3PP3/2P2N2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 137;
r1bqkb1r/pppn1ppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - bm exd5; ce 125;
rn1qk1nr/pbppppbp/1p4p1/8/3PP3/3B1N2/PPP2PPP/RNBQK2R w KQkq - bm O-O; ce 121;
rnbqk1nr/p1p2ppp/1p2p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - bm Qg4; ce 92;
rnb1kbnr/ppqp1ppp/4p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nb5; ce 88;
rnbqkb1r/ppp1pp1p/5np1/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Bxc4; ce 88;
rnbqkb1r/ppp2p1p/3p1np1/4p3/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - bm dxe5; ce 88;
rn1qkbnr/pp2pppp/2p1b3/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 84;

This position is won for white:
[d]r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
kingliveson

Re: Engine Test Suites: ECO Approach

Post by kingliveson »

Dann Corbit wrote:
kingliveson wrote:
Dann Corbit wrote:
Here they are with dups removed. I get 249 distinct rows and not 250.
Thanks, I have fixed it now and reloaded the file. A57 was the duplicate.

Franklin
These are the most polar of your positions, with the first one being a clear win for white:

r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
rnb1kbnr/ppp3pp/3p1q2/4Np2/3PP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nc4; ce 149;
r1bqkbnr/pp1p1ppp/n3p3/2p5/3PP3/2P2N2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 137;
r1bqkb1r/pppn1ppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - bm exd5; ce 125;
rn1qk1nr/pbppppbp/1p4p1/8/3PP3/3B1N2/PPP2PPP/RNBQK2R w KQkq - bm O-O; ce 121;
rnbqk1nr/p1p2ppp/1p2p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - bm Qg4; ce 92;
rnb1kbnr/ppqp1ppp/4p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nb5; ce 88;
rnbqkb1r/ppp1pp1p/5np1/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Bxc4; ce 88;
rnbqkb1r/ppp2p1p/3p1np1/4p3/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - bm dxe5; ce 88;
rn1qkbnr/pp2pppp/2p1b3/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 84;

This position is won for white:
[d]r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
Some positions were deliberate to be difficult for one color and the goal is to try to pull out a draw. What I will do is re-evaluate the ones you mentioned. If a position is lost that a 3000 ELO program can't pull a draw against a say, 2200 ELO program, then it is a waste of space and needs to be removed. So I'll find a substitute where needed and update the files.
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Engine Test Suites: ECO Approach

Post by Dann Corbit »

kingliveson wrote:
Dann Corbit wrote:
kingliveson wrote:
Dann Corbit wrote:
Here they are with dups removed. I get 249 distinct rows and not 250.
Thanks, I have fixed it now and reloaded the file. A57 was the duplicate.

Franklin
These are the most polar of your positions, with the first one being a clear win for white:

r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
rnb1kbnr/ppp3pp/3p1q2/4Np2/3PP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nc4; ce 149;
r1bqkbnr/pp1p1ppp/n3p3/2p5/3PP3/2P2N2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 137;
r1bqkb1r/pppn1ppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - bm exd5; ce 125;
rn1qk1nr/pbppppbp/1p4p1/8/3PP3/3B1N2/PPP2PPP/RNBQK2R w KQkq - bm O-O; ce 121;
rnbqk1nr/p1p2ppp/1p2p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - bm Qg4; ce 92;
rnb1kbnr/ppqp1ppp/4p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nb5; ce 88;
rnbqkb1r/ppp1pp1p/5np1/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Bxc4; ce 88;
rnbqkb1r/ppp2p1p/3p1np1/4p3/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - bm dxe5; ce 88;
rn1qkbnr/pp2pppp/2p1b3/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 84;

This position is won for white:
[d]r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
Some positions were deliberate to be difficult for one color and the goal is to try to pull out a draw. What I will do is re-evaluate the ones you mentioned. If a position is lost that a 3000 ELO program can't pull a draw against a say, 2200 ELO program, then it is a waste of space and needs to be removed. So I'll find a substitute where needed and update the files.
That particular lost position is also exceptionally rare. I only found one instance of that position in a database of about 8 million games.
Dann Corbit
Posts: 12541
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Engine Test Suites: ECO Approach

Post by Dann Corbit »

Here are 5114 chess opening positions in Epd format, where no position has an evaluation with absolute value more than 1/2 pawn after a fairly lengthy search by one or more strong chess engines:

http://cap.connx.com/chess-engines/new- ... gs.epd.bz2

All positions have bm, pm, and ce. Some positions also have counts in the pm field such as this one:
1rb1r1k1/1pq1bppp/p1nppn2/8/P2NPP2/2N1BB2/1PP3PP/R2Q1R1K w - - bm Qd2; ce 8; pm Be2 {1} Bf2 {3} Kg1 {1} Nb3 {61} Nde2 {4} Nxc6 {6} Qd2 {103} Qd3 {29} Qe1 {23} Rb1 {2} g4 {33} h3 {2};

In these instances, the counts in the curly braces are the number of times that move was played from a database where both players were extremely strong (containing top end chess engines, top end Fide players, and top end correspondence chess players).

The bm is always calculated by the computer (and is not necessarily the real best move -- it is just the computer's best guess).
User avatar
David Dahlem
Posts: 900
Joined: Wed Mar 08, 2006 9:06 pm

Re: Engine Test Suites: ECO Approach

Post by David Dahlem »

Try these 10 opening positions. Should be fun. :D

rnrqkbnr/nbppppbn/8/8/8/8/BNPPPPNB/RBNQKRBR w KQkq - 0 1
nqbbkbbn/1p1rr1p1/2p2p2/3pp3/3PP3/2P2P2/1P1RR1P1/NQBBKBBN w - - 0 1
1nrrkrn1/2pbbp2/2qppq2/8/8/2QPPQ2/2PBBP2/1NRRKRN1 w - - 0 1
1nqqkqn1/2pbbp2/2rppr2/8/8/2RPPR2/2PBBP2/1NQQKQN1 w - - 0 1
rrbqkbrr/nnbppbnn/8/8/8/8/NNBPPBNN/RRBQKBRR w KQkq - 0 1
rrqqkbrr/nnbbpbnn/8/8/8/8/NNBBPBNN/RRQQKBRR w KQkq - 0 1
rrbqqkrr/nnbbbpnn/8/8/8/8/NNBBBPNN/RRBQQKRR w - - 0 1
kqnbbrqr/pppppppp/8/8/8/8/PPPPPPPP/KQNBBRQR w - - 0 1
nrqqkqqb/pppppppp/8/8/8/8/PPPPPPPP/NRQQKQQB w - - 0 1
rrbqkbrr/ppnppnpp/8/8/8/8/PPNPPNPP/RRBQKBRR w - - 0 1
Eastendboy

Re: Engine Test Suites: ECO Approach

Post by Eastendboy »

Dann Corbit wrote:Here are 5114 chess opening positions in Epd format...
What ECO the source for these opening positions?

Thanks in advance.
kingliveson

Re: Engine Test Suites: ECO Approach

Post by kingliveson »

Dann Corbit wrote:
These are the most polar of your positions, with the first one being a clear win for white:

r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;
rnb1kbnr/ppp3pp/3p1q2/4Np2/3PP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nc4; ce 149;
r1bqkbnr/pp1p1ppp/n3p3/2p5/3PP3/2P2N2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 137;
r1bqkb1r/pppn1ppp/4pn2/3p2B1/3PP3/2N5/PPP2PPP/R2QKBNR w KQkq - bm exd5; ce 125;
rn1qk1nr/pbppppbp/1p4p1/8/3PP3/3B1N2/PPP2PPP/RNBQK2R w KQkq - bm O-O; ce 121;
rnbqk1nr/p1p2ppp/1p2p3/3pP3/1b1P4/2N5/PPP2PPP/R1BQKBNR w KQkq - bm Qg4; ce 92;
rnb1kbnr/ppqp1ppp/4p3/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq - bm Nb5; ce 88;
rnbqkb1r/ppp1pp1p/5np1/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Bxc4; ce 88;
rnbqkb1r/ppp2p1p/3p1np1/4p3/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq - bm dxe5; ce 88;
rn1qkbnr/pp2pppp/2p1b3/8/2pP4/4PN2/PP3PPP/RNBQKB1R w KQkq - bm Be2; ce 84;

This position is won for white:
[d]r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq - bm Nf3; ce 339;

I have updated and reloaded the files. Of course they are still in PGN format which means the games can be added to books later on. 3 Positions were replaced:

r1b1kb1r/pppp1ppp/2n1pq2/8/8/2N5/PPPP1PPP/R1BQKBNR w KQkq
r1bqkbnr/pp1p1ppp/n3p3/2p5/3PP3/2P2N2/PP3PPP/RNBQKB1R w KQkq
rnbqkb1r/ppp2p1p/3p1np1/4p3/2PPP3/2N5/PP3PPP/R1BQKBNR w KQkq


rnbqkb1r/pppppppp/n7/4P3/3P4/8/PPP2PPP/RNBQKBNR w KQkq
rnbqkb1r/pp2pp1p/3p1np1/2pP4/2P5/2N5/PP2PPPP/R1BQKBNR w KQkq
rnbqkb1r/pp2pp1p/2pp1np1/8/3PP3/5N2/PPP1QPPP/RNB1KB1R w KQkq


Here is one gambit position that is clearly an advantage for white, but could go either way depending on how well the engine understands the position.

[d]rnb1k1nr/ppp2ppp/3p1q2/2b1N3/3PP3/8/PPP2PPP/RNBQKB1R w KQkq

Code: Select all

1. e4 e5 2. Nf3 Bc5 3. Nxe5 Qf6 4. d4 d6 5. Bb5+ c6 6. Nxc6 bxc6 7. dxc5 cxb5
8. cxd6 Qe5 9. Nc3 b4 10. f4 Qc5 11. Nd5 Na6 12. Ne3 Nh6 13. a3 O-O 14. O-O Rd8
15. e5 Nf5 16. Qe2 bxa3 17. Rxa3 Nb4 18. Rf2 Be6 19. c3 Nd5 20. Nc2 Nb6 21. g4
Nh4 22. Be3 Qd5 23. b3 Qe4 24. Bxb6 Qxe2 25. Rxe2 axb6 26. Rxa8 Rxa8 27. f5
Bxb3 28. Kf2 Bxc2 29. Rxc2 Kf8 30. Rb2 Ra6 31. Rb4 g5 32. c4 Ke8 33. e6 fxe6
34. fxe6 Ng6 35. c5 Nf4 36. Rxf4 Ra2+ 37. Kf3 Ra3+ 38. Ke4 gxf4 39. c6 Kd8 40.
c7+ Kc8 41. e7 Re3+ 42. Kxf4 Re1 43. h4 Kd7 44. h5 b5 45. g5 Rf1+ 46. Kg3 Rc1
47. g6 hxg6 48. hxg6 Rc3+ 49. Kf4 Rc4+ 50. Ke3 Rc3+ 51. Ke4 Rc2 52. g7 Kxd6 53.
g8=Q Kxc7 54. e8=Q Re2+ 55. Kd5 Rd2+ 56. Kc5 Rc2+ 57. Kxb5 Rb2+ 58. Ka5 Ra2+
59. Qxa2 Kd6 60. Qd2+ Kc5 61. Qb5# 1-0

Code: Select all

1. e4 e5 2. Nf3 Bc5 3. Nxe5 Qf6 4. d4 d6 5. Bb5+ c6 6. Nxc6 bxc6 7. dxc5 cxb5
8. cxd6 Qe5 9. Nc3 b4 10. Qd5 Qxd5 11. Nxd5 Na6 12. Bg5 Be6 13. O-O-O h6 14.
Bh4 Kd7 15. f3 Rb8 16. Rd4 Bxd5 17. Rxd5 Rb7 18. e5 h5 19. Kd2 Nh6 20. Bf2 Nf5
21. Kd3 Nb8 22. Re1 Nc6 23. Ke4 g6 24. f4 Rf8 25. Rc5 Rb6 26. h3 f6 27. g4 Ng7
28. Be3 h4 29. Rd5 Rbb8 30. c3 fxe5 31. fxe5 Ne6 32. c4 a6 33. Re2 Rf1 34. Bd2
Rbf8 35. Rd3 Rb1 36. Be3 Rh1 37. Bd2 g5 38. b3 Re8 39. Rd5 Rxh3 40. Be3 Rg3 41.
Rf2 Rxg4+ 42. Kf3 Rg3+ 43. Ke4 Rf8 44. Rf6 h3 45. Rd1 Nxe5 46. Rxf8 Nxf8 47.
Bf4 gxf4 48. Kxe5 Ne6 49. c5 h2 50. Rh1 Rg5+ 51. Ke4 Nxc5+ 52. Kxf4 0-1
kingliveson

Re: Engine Test Suites: ECO Approach

Post by kingliveson »

It is has been brought to my attention that attempting to download this file, there is sometimes a prompt for password. Here are the solutions:

If clicking the link asks for password, use anonymous@cygnitec.com also, you can use these settings with a ftp program.

Ftp client settings:

FTP Username: ftp@cygnitec.com
FTP Server: ftp.cygnitec.com
FTP Server Port: 21

Or

FTP Username: anonymous@cygnitec.com
FTP Server: ftp.cygnitec.com
FTP Server Port: 21

There is no password. :D
kingliveson

Re: Engine Test Suites: ECO Approach

Post by kingliveson »

Kingliveson ECO A00-E97 Variations Test Suites

KLOECOA00E97V pgn files are a series of chess opening positions designed specifically for running engine versus engine matches to determine strength. Each test suite contains positions ranging from ECO (Encyclopedia of Chess Openings) A00 to E97 with 8 half moves. There are five suites with 25, 50, 100, 150, and 250 unique starting positions.

The advantage of this method compared to traditional book is that, each chess engine is given an equal opportunity to have the exact starting position. It also prevents repetition of a variation favored based on number of occurrences in a book. In addition, playing engine versus engine matches without defining starting positions will result in less than a handful opening variations regardless of the number of games played. A well designed ECO approach to testing chess engines will present a more precise and accurate final result.

Usage: From Arena GUI Engines menu, select Tournament..., click the Options tab, browse and load the pgn file. You have the option under 'Starting position:' to either load the positions randomly or sequentially. For ChessGui program, the option is available under 'Start Positions...' with 'Use start positions' enabled.
This can also be used with Fritz GUI--It is available under the 'Openings DB' option.

The archive has the following files:

klo_250_eco_a00-e97_variations.pgn - Best for matches between 2 engines.
klo_150_eco_a00-e97_variations.pgn
klo_100_eco_a00-e97_variations.pgn
klo_50_eco_a00-e97_variations.pgn
klo_25_eco_a00-e97_variations.pgn - Best for multiple engines.

Code: Select all

klo_250_eco_a00-e97_variations:
----------
ECO A: 21%
ECO B: 32%
ECO C: 19%
ECO D: 16%
ECO E: 12%

klo_150_eco_a00-e97_variations:
----------
ECO A: 20%
ECO B: 31%
ECO C: 17%
ECO D: 19%
ECO E: 13%

klo_100_eco_a00-e97_variations:
----------
ECO A: 12%
ECO B: 32%
ECO C: 18%
ECO D: 22%
ECO E: 16%

klo_50_eco_a00-e97_variations:
----------
ECO A: 14%
ECO B: 28%
ECO C: 28%
ECO D: 18%
ECO E: 12%

klo_25_eco_a00-e97_variations:
----------
ECO A: 12%
ECO B: 36%
ECO C: 20%
ECO D: 16%
ECO E: 16%

A sample database of 4,000,000 games:
----------
ECO A: 22%
ECO B: 32%
ECO C: 19%
ECO D: 15%
ECO E: 12%
Edit: Download Link updated