How to use xboard to match two engines at diffent ply depths

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

royb
Posts: 536
Joined: Thu Mar 09, 2006 12:53 am

How to use xboard to match two engines at diffent ply depths

Post by royb »

I'd like to run some engine vs engine matches (easy to do with xboard) but I want to specify depth of search maximums that are different for each of the two engines.

The man pages show the -depth command line option to set the depth of search, but it seems that is destined to be used for both engines (not what I want).

Has anyone tried to do this before with xboard and if so, how did you accomplish it?

Thanks,

Roy
User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: How to use xboard to match two engines at diffent ply de

Post by Bill Rogers »

I always wanted to do the same thing. I think someone once posted that it could be done using Winboard but not Xboard. If anyone has any good suggestions please let us know.
Thanks
Bill
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: How to use xboard to match two engines at diffent ply de

Post by bob »

royb wrote:I'd like to run some engine vs engine matches (easy to do with xboard) but I want to specify depth of search maximums that are different for each of the two engines.

The man pages show the -depth command line option to set the depth of search, but it seems that is destined to be used for both engines (not what I want).

Has anyone tried to do this before with xboard and if so, how did you accomplish it?

Thanks,

Roy
I've done this with Crafty in the past. Create two directories for the two copies of crafty. In one, create a .craftyrc file with sd=N, in the other directory, create a .craftyrc file with sd=N+1, whaever N value you want to use.

Then use the -fd -sd options of xboard to tell it to run one engine in each directory and voila', you are done.
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: How to use xboard to match two engines at diffent ply de

Post by hgm »

The standard way provided by XBoard / WinBoard to send different settings to the two engines is by making use of the InitString:

xboard -firstInitString "new\nsd 6\nrandom\n" -secondInitString "new\nsd 7\nrandom\n"

to play 6 against 7 ply.
royb
Posts: 536
Joined: Thu Mar 09, 2006 12:53 am

Re: How to use xboard to match two engines at diffent ply de

Post by royb »

bob wrote:
royb wrote:I'd like to run some engine vs engine matches (easy to do with xboard) but I want to specify depth of search maximums that are different for each of the two engines.

The man pages show the -depth command line option to set the depth of search, but it seems that is destined to be used for both engines (not what I want).

Has anyone tried to do this before with xboard and if so, how did you accomplish it?

Thanks,

Roy
I've done this with Crafty in the past. Create two directories for the two copies of crafty. In one, create a .craftyrc file with sd=N, in the other directory, create a .craftyrc file with sd=N+1, whaever N value you want to use.

Then use the -fd -sd options of xboard to tell it to run one engine in each directory and voila', you are done.
Thanks Bob! I knew I could not be the first person to try to do this. Thanks again!

Roy
royb
Posts: 536
Joined: Thu Mar 09, 2006 12:53 am

Re: How to use xboard to match two engines at diffent ply de

Post by royb »

hgm wrote:The standard way provided by XBoard / WinBoard to send different settings to the two engines is by making use of the InitString:

xboard -firstInitString "new\nsd 6\nrandom\n" -secondInitString "new\nsd 7\nrandom\n"

to play 6 against 7 ply.
Thanks very much! This works for any engine -- excellent!

Roy
User avatar
hgm
Posts: 27802
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: How to use xboard to match two engines at diffent ply de

Post by hgm »

Note that if you want to have an automatic round-robin with several engines handicapped to a differet extent, you can install all engines in the tournament manager several times under a different name, each with several different handicaps. E.g.

Crafty_6:
crafty.exe WBopt /%sInitString="new\nsd 6\n"
Crafty_7:
crafty.exe WBopt /%sInitString="new\nsd 7\n"
Crafty_8:
crafty.exe WBopt /%sInitString="new\nsd 8\n"

and then you could play the tournament like a normal round-robin with Crafty_6, Crafty_7 and Crafty_8 as participants.

I do this in a similar way for time-odds tournaments, (which I consider more fundamental than fixed-depth games), by using

Joker / 1:
joker.exe
Joker / 2:
joker.exe WBopt /%sTimeOdds=2
Joker / 5:
joker.exe WBopt /%sTimeOdds=5
Joker / 10:
joker.exe WBopt /%sTimeOdds=10

If I then play a round-robin with 10+0 games, Joker / 2 automatically gets always 5 minutes, Joker / 5 gets 2 min, and Joker / 10 gets 1 min for all its moves.