Test positions

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Carey
Posts: 313
Joined: Wed Mar 08, 2006 8:18 pm

Test positions

Post by Carey »

I'm looking for a large number of test positions that test basic chess searching / playing ability.

Hundreds of positions that test all sorts of checkmates, draw by rep, draw by 50 move rule and stalemates at a variety of depths. Plus basic tactics.

All the basic stuff you need to test thoroughly and get right before worrying about positional analysis or search extensions, efficiency, etc.

I'm working on yet another new chess program and this time I want to test the heck out of the program before I start worrying about any fancy features.

I've learned that just because it can pass a few simple tests and pass a few perft's doesn't mean the program is actually working properly.

This time I want to create a test database of hundreds of basic positions that no program should ever fail. Then I'd like to add a few more hundred simple positions that a program would almost certainly get the right answer to. Then'll I'll worry about the more positional stuff.

I've written a few minor chess programs over the past 15 years and this program will also be minor and insignificant. But I still want it to work right!

(As a side point, this forum needs a 'Sticky' post for things like basic test positions, etc. This is a forum for programmers, so we might as well keep a list of useful stuff for beginning chess programmers.)
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Test positions

Post by bob »

Carey wrote:I'm looking for a large number of test positions that test basic chess searching / playing ability.

Hundreds of positions that test all sorts of checkmates, draw by rep, draw by 50 move rule and stalemates at a variety of depths. Plus basic tactics.

All the basic stuff you need to test thoroughly and get right before worrying about positional analysis or search extensions, efficiency, etc.

I'm working on yet another new chess program and this time I want to test the heck out of the program before I start worrying about any fancy features.

I've learned that just because it can pass a few simple tests and pass a few perft's doesn't mean the program is actually working properly.

This time I want to create a test database of hundreds of basic positions that no program should ever fail. Then I'd like to add a few more hundred simple positions that a program would almost certainly get the right answer to. Then'll I'll worry about the more positional stuff.

I've written a few minor chess programs over the past 15 years and this program will also be minor and insignificant. But I still want it to work right!

(As a side point, this forum needs a 'Sticky' post for things like basic test positions, etc. This is a forum for programmers, so we might as well keep a list of useful stuff for beginning chess programmers.)
One of the best, if a bit too easy, are the 300 positions from win at chess. The main advantage is that the "cooks" are well documented. Other suites have too many unknown cooks and that makes them less useful. You can always run win at chess at 1 second per position to make them harder, and keep the accuracy of the known solutions...