Page 1 of 1

testing engines as fast as possible at depth 1

Posted: Sun Jul 15, 2007 10:00 pm
by Uri Blass
I wonder if there is a utility with free source code that allow match between engines at fixed depth or fixed number of nodes without unnecessary graphic.

Note that I am not interested in seeing the games when they are played(these factors only do the game slower and I want to be able to make as much games as possible in limited time)

I simply want a program that is similiar to winboard but without graphic that is not needed when it may be possible to use the program to make a match of many thosands of games between engines at fixed depth of 1 plies or fixed depth of 2 plies or small fixed number of nodes.

Uri

Re: testing engines as fast as possible at depth 1

Posted: Sun Jul 15, 2007 11:06 pm
by Ross Boyd
Download Winboard or Winboard_X source, disable/remove all board display/updating and recompile.

That's probably the easiest way - and you can still use an existing WB tournament manager to run it all.

Cheers,
Ross

Re: testing engines as fast as possible at depth 1

Posted: Mon Jul 16, 2007 4:18 pm
by Uri Blass
Ross Boyd wrote:Download Winboard or Winboard_X source, disable/remove all board display/updating and recompile.

That's probably the easiest way - and you can still use an existing WB tournament manager to run it all.

Cheers,
Ross
I dislike looking at big code and I am afraid that it will not be easy for me to find what exactly the code that is responsible to displaying the board in order to delete it.

I want to understand and first step is going to be to write a code that simply run another program.

I do not know how winboard can tell movei or another engine to run.
I also do not know how winboard tell movei the xboard command or other commands.

I would like to see a simple code that does simple things and not code with thousands of lines when I need to look for only small code that I am interested in it.

After 1-2 hours of looking at the code of winboard I can understand that
The function that is responsible to sending commands to the engine is

void SendToProgram P((char *message, ChessProgramState *cps));

The problem is that I do not understand what is P even after searching for "P(" in the code

I simply do not understand nothing after seeing in
common.h

#if defined(__STDC__) || defined(WIN32) || defined(_amigados)
#define P(args) args
typedef void *VOIDSTAR;
#else
#define P(args) ()


Uri

Re: testing engines as fast as possible at depth 1

Posted: Mon Jul 16, 2007 4:26 pm
by Alessandro Scotti
I think using Winboard with the tiny board size and no animation won't take much time from engines. Anyway you might want to comment out those calls:
- DrawGridOnDC
- DrawHighlightsOnDC
- DrawBoardOnDC
- DrawCoordsOnDC
- DrawPieceOnDC
No promises, it's been a long while since I last saw the sources.

Re: testing engines as fast as possible at depth 1

Posted: Mon Jul 16, 2007 4:36 pm
by Uri Blass
Alessandro Scotti wrote:I think using Winboard with the tiny board size and no animation won't take much time from engines. Anyway you might want to comment out those calls:
- DrawGridOnDC
- DrawHighlightsOnDC
- DrawBoardOnDC
- DrawCoordsOnDC
- DrawPieceOnDC
No promises, it's been a long while since I last saw the sources.
Thanks
I may try it but I prefer to write something by myself that is similiar to winboard with less functions that I can understand so it is going to be easier for me to modify it for my needs later.

first task is of course not to support most winboard functions and only to support a game with fixed number of nodes per move.

Uri

Re: testing engines as fast as possible at depth 1

Posted: Mon Jul 16, 2007 5:32 pm
by bob
Ross Boyd wrote:Download Winboard or Winboard_X source, disable/remove all board display/updating and recompile.

That's probably the easiest way - and you can still use an existing WB tournament manager to run it all.

Cheers,
Ross
that is a _difficult_ assignment.

Re: testing engines as fast as possible at depth 1

Posted: Mon Jul 16, 2007 8:54 pm
by mjlef
Don Dailey wrote something along these lines. Simple command line match player. Lets you set fixed time or depth games, and makes PGN files, then another porgram scans the PGN files to tally the winners. If you twist his arm maybe he will make it public. It is very fast.

Mark