EPD Test openings and statistics

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

evandam
Posts: 18
Joined: Mon Feb 07, 2011 9:12 pm

EPD Test openings and statistics

Post by evandam »

Ok so with the help of this forum my chess engine has improved by leaps and bounds. Details after my question for those interested.

I'm now getting to the point of wanting to test one version of my engine against a previous one. One thing I'm interested in a epd of common opening positions to start from in Arena tournaments. Is there such a thing out there? My engine does not have any opening knowledge at this point.

Also I have seen the threads on 1000's of test games and was wondering if anyone had a link to a concise explanation of the statistics of this.


Now on to how details of what I have done since finding this wonderful board.

- Perft is a wonderful thing. I thought i had tested all the possibilities boy was I wrong.
- Queiscene has done wonders. My engine previously had a serious horizon effect issue.
- PV Hash. This has drastically improved my move ordering on iterative deepening.
- MakeMove and UndoMove. Previously I was just copying the board down the search tree. That was dumb, but I actually started this as just a program that would comply to the rules of chess and pic random moves. Then I was like. Well I will implement a MinMax and just see how that is and it has grown from there.

Thanks to all. I look forward to Hash Tables and all the other things I have left to do.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: EPD Test openings and statistics

Post by Dann Corbit »

evandam wrote:Ok so with the help of this forum my chess engine has improved by leaps and bounds. Details after my question for those interested.

I'm now getting to the point of wanting to test one version of my engine against a previous one. One thing I'm interested in a epd of common opening positions to start from in Arena tournaments. Is there such a thing out there? My engine does not have any opening knowledge at this point.

Also I have seen the threads on 1000's of test games and was wondering if anyone had a link to a concise explanation of the statistics of this.


Now on to how details of what I have done since finding this wonderful board.

- Perft is a wonderful thing. I thought i had tested all the possibilities boy was I wrong.
- Queiscene has done wonders. My engine previously had a serious horizon effect issue.
- PV Hash. This has drastically improved my move ordering on iterative deepening.
- MakeMove and UndoMove. Previously I was just copying the board down the search tree. That was dumb, but I actually started this as just a program that would comply to the rules of chess and pic random moves. Then I was like. Well I will implement a MinMax and just see how that is and it has grown from there.

Thanks to all. I look forward to Hash Tables and all the other things I have left to do.
Popular and playable openings:
http://cap.connx.com/EPD/nnssl.epd.bz2

Extremely neutral openings (neither side has a discernable advantage):
http://cap.connx.com/EPD/neutral.epd.bz2
evandam
Posts: 18
Joined: Mon Feb 07, 2011 9:12 pm

Re: EPD Test openings and statistics

Post by evandam »

Thanks, that is exactly what I was looking for. One down one to go.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: EPD Test openings and statistics

Post by Dann Corbit »

evandam wrote:Ok so with the help of this forum my chess engine has improved by leaps and bounds. Details after my question for those interested.

I'm now getting to the point of wanting to test one version of my engine against a previous one. One thing I'm interested in a epd of common opening positions to start from in Arena tournaments. Is there such a thing out there? My engine does not have any opening knowledge at this point.

Also I have seen the threads on 1000's of test games and was wondering if anyone had a link to a concise explanation of the statistics of this.


Now on to how details of what I have done since finding this wonderful board.

- Perft is a wonderful thing. I thought i had tested all the possibilities boy was I wrong.
- Queiscene has done wonders. My engine previously had a serious horizon effect issue.
- PV Hash. This has drastically improved my move ordering on iterative deepening.
- MakeMove and UndoMove. Previously I was just copying the board down the search tree. That was dumb, but I actually started this as just a program that would comply to the rules of chess and pic random moves. Then I was like. Well I will implement a MinMax and just see how that is and it has grown from there.

Thanks to all. I look forward to Hash Tables and all the other things I have left to do.
On the statistical inference, what exactly do you want to understand?

A good explanation of the calculation of two player zero sum game engine strength can be found in Remi's write up of his MM statistical analyzer.
Look at his statistics papers found here:
http://remi.coulom.free.fr/
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: EPD Test openings and statistics

Post by Evert »

evandam wrote: I'm now getting to the point of wanting to test one version of my engine against a previous one. One thing I'm interested in a epd of common opening positions to start from in Arena tournaments. Is there such a thing out there? My engine does not have any opening knowledge at this point.
I use the set of opening positions from Bob Hyatt's Crafty FTP site. I can look for the link if you want it (though you should be able to find it easily enough with google).
It is important though to make your engine at least somewhat aware of the need to develop its pieces, or it's never going to develop the last one. Likewise, you do want to encourage the thing to castle if it hasn't.
- MakeMove and UndoMove. Previously I was just copying the board down the search tree. That was dumb, but I actually started this as just a program that would comply to the rules of chess and pic random moves.
That's not such a horrible way to do it, depending on what your board data structure looks like. I have a list of board structs and when I make a move I copy the current state of the board to the next entry and increment a pointer to the current board, then when I undo a move I simply decrement the pointer to the current board. This somewhat simplifies makemove() as well.
I may get rid of it if I ever want to do parallel search though. Another drawback is that it can hide bugs (because you can trash the board during the search and never notice it at the root because the corrupted board is discarded).
One way or the other, this is not going to be the limiting factor for how fast or how good your program is.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: EPD Test openings and statistics

Post by jdart »

I use this set of PGNs for engine-engine matches, currently:

http://www.arasanchess.org/open2469.pgn
Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: EPD Test openings and statistics

Post by Richard Allbert »

I have one, 150 positions from ECO A00 - E97

www.bluefever.net/Engines/ECOTestAll.pgn

Hope it helps

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

Re: EPD Test openings and statistics

Post by Dann Corbit »

This is the combination of Jon Dart's and Richard Allbert's openings datasets, reformulated as EPD, together with analysis and statistics:
http://cap.connx.com/chess-engines/new- ... da.epd.bz2

These 6 records have a score greater than one pawn in polarity:
r1bq1rk1/ppp3bp/3p1nn1/2PPp1p1/PPN1Pp2/2N2P2/4B1PP/R1BQ1RK1 w - -
r3kb1r/1b1n1p1p/p2ppp2/1BqN4/4PP2/5Q2/PPP3PP/2KRR3 w kq -
r1bqnrk1/ppp1n1b1/3p4/2PPp1pp/4Pp2/2N2P2/PP2BBPP/R2QNRK1 w - -
r1b1kb1r/7p/p1p1pp2/4p3/4N3/8/q1PQ2PP/1R2KB1R w Kkq -
r1bqk2r/pp1p1ppp/4pn2/8/1PP1n3/P1Q5/4PPPP/R1B1KBNR w KQkq -
rqb1kbnr/3p1ppp/p1n1p3/1p6/4P3/2NB1N2/PPP2PPP/R1BQ1RK1 w kq -
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: EPD Test openings and statistics

Post by bob »

evandam wrote:Ok so with the help of this forum my chess engine has improved by leaps and bounds. Details after my question for those interested.

I'm now getting to the point of wanting to test one version of my engine against a previous one. One thing I'm interested in a epd of common opening positions to start from in Arena tournaments. Is there such a thing out there? My engine does not have any opening knowledge at this point.

Also I have seen the threads on 1000's of test games and was wondering if anyone had a link to a concise explanation of the statistics of this.


Now on to how details of what I have done since finding this wonderful board.

- Perft is a wonderful thing. I thought i had tested all the possibilities boy was I wrong.
- Queiscene has done wonders. My engine previously had a serious horizon effect issue.
- PV Hash. This has drastically improved my move ordering on iterative deepening.
- MakeMove and UndoMove. Previously I was just copying the board down the search tree. That was dumb, but I actually started this as just a program that would comply to the rules of chess and pic random moves. Then I was like. Well I will implement a MinMax and just see how that is and it has grown from there.

Thanks to all. I look forward to Hash Tables and all the other things I have left to do.
BTW, congratulations on having the fortitude and desire to write your own engine, rather than copying ip*/robo* as others are doing right and left. You will feel a lot better about yourself, even if you don't spend the time necessary to beat Rybka. :)
Richard Allbert
Posts: 792
Joined: Wed Jul 19, 2006 9:58 am

Re: EPD Test openings and statistics

Post by Richard Allbert »

Hi Dann!

In case someone gets upset, after some searching I found the thread where I took the positions ;)

http://www.talkchess.com/forum/viewtopic.php?t=31431

Regards

Richard