testing engines as fast as possible at depth 1

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10267
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

testing engines as fast as possible at depth 1

Post 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
User avatar
Ross Boyd
Posts: 114
Joined: Wed Mar 08, 2006 9:52 pm
Location: Wollongong, Australia

Re: testing engines as fast as possible at depth 1

Post 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
Uri Blass
Posts: 10267
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: testing engines as fast as possible at depth 1

Post 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
Alessandro Scotti

Re: testing engines as fast as possible at depth 1

Post 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.
Uri Blass
Posts: 10267
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: testing engines as fast as possible at depth 1

Post 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
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: testing engines as fast as possible at depth 1

Post 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.
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: testing engines as fast as possible at depth 1

Post 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