Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Do you want to catch chess programs that cooks test suites ?

Author: Andreas Stabel

Date: 03:39:34 02/10/00

Go up one level in this thread


On February 10, 2000 at 02:18:13, Bruce Moreland wrote:

>On February 09, 2000 at 10:52:20, Andreas Stabel wrote:
>
>>I hope somebody finds this useful
>
>You don't explain how to use it or what conclusions to draw from any results.
>
>It is possible that programs that do not cook test suites could produce
>different results due to perfectly harmless effects.
>
>1) l/r symmetry.  If you exchange left and right sides of the board, you can
>create differences and play, because programs may handle k-side and q-side
>castled positions differently, and may regard the position of the f-pawn
>differently than they regard the position of the c-pawn.
>
>2) b/w symmetry.  Changing colors could result in changes because it is possible
>that a program has been tuned to play black differently than it plays white.
>
>3) move generation order problems.  A typical chess program strategy is to
>create a piece list, and generate moves in piece-list order.  The piece list has
>to be constructed somehow, and the initial position of the pieces on the board
>probably has something to do with this.  Also, once you get your piece list
>generated, the moves have to be generated in some order, and the order may not
>be the same if you reflect or rotate the board.  Meaning that a white knight on
>e4 might try to move to c5 first, then d6, then f6, etc., whereas a black knight
>on e5 might try to move to c6, then d7, then f7.  This will result in changes in
>move generation order.  Changes in the order in which moves are generated can
>result in changes in the order in which they are searched, which in turn can
>cause all sorts of problems, such as forward pruning failures, history table and
>killer move changes, etc.
>
>So be careful with the conclusions you draw.
>
>bruce

I completely agree with what you have written above. The way I would use this
is to see if a given program systematically does better with the original
position than the transformed one. In that case it would be safe to assume
that the test suite has been cooked.

Regarding castling rights etc., my program has an option for doing the
maximum changes which the position allow. If there are castling possibilities,
it will only reverse black and white which is always possible and still get
an equivalent position. If there are no castling possibilities, it will also
mirror right and left sides of the board and if there are no pawns it will
rotate the board 90 degrees also.

Of course, the real reason why I originally wrote this program was to translate
positions back and forth between the crafty setboard syntax and ordinary
FEN syntax. I will also expand the program so it will take a test suite in
EPD syntax and transform to a file which can be used with the crafty test
command.

Best regads
Andreas Stabel



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.