bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] How best to run a large GNU v GNU session


From: Jim Segrave
Subject: Re: [Bug-gnubg] How best to run a large GNU v GNU session
Date: Thu, 2 Oct 2003 08:35:12 +0200
User-agent: Mutt/1.2.5.1i

On Wed 01 Oct 2003 (06:23 -0400), address@hidden wrote:
> Is "set recording off" the same as "set record off"?
> 
> I have no idea about programming so any other help would be appreciated.

I'm just wondering if what you are trying to do isn't best done with
the rollout function. I'm guessing that you want to play gnubg x ply
vs. gnubg y ply where x and y are some combination of cube and chequer
play settings.

Rather than run some large number of individual games, I'd suggest the
following:

Create two sgf files which can be used to put the game at the start of
session, one with player 0 on roll, one with player 1 on roll:

Start gnubg playing a match. After one move has been made (it doesn't
matter which one), go into edit

Put the pieces back to the initial position, exit edit mode and save
the session as say 1-first.sgf if player 1 is on roll.

Go into edit mode and change the player on roll, exit edit mode and
save the session as say 0-first.sgf

Now go into the rollout settings, untick player 1 same as player 0,
untick cube is same as chequer play

Tick rollout as initial position, untick truncation, tick cubeful.
Go to the First play 0 and First play 1 pages and set the respective
settings for cube and chequer play for each side.

Make sure you have enough decimal places in your display output.

Choose some number of matches to be rolled out - I'd make it some
number much greater than the number of matches you'd guess you'll need
to roll out - say 100000.

Go to Analyse->Rollout 

Go find something else to do for a couple of days. Eventually, look at
the rollout window to see if you think the results are good enough -
and stop it if so:  eg. if the standard error looks small enough that
you have some confidence in the result. I'm not sure that you can use
the 'Stop when std is small enough' because for very equally matched
opponents, the expected equity isn't going to be far off 0.

You'll have to use print screen or something similar to save the
results - there's no copy button and when you click OK, the rollout
results are gone forever. It's too bad, as it means you can't extend
the rollout either.

Repeat the process with the position giving the other side the initia roll 
If you decide to do batches of say 1000 matches each, you'll need to
be sure to use different RNG seeds each time.

The results for player 1 rolling first will have the win, wing and
winbg columns for player 1, the results of player 0 first of course
are for player 0. To combine the results to give the overall result
for player 1 both winning and losing the opening roll, you have to
move the figures for player 0 being on roll - the win result is
replaced with 1.0 - the win result, the win gammon column needs to be
swapped with the lose gammon, winbg with the lose bg figure, 

You need to change the sign of the cubeless and cubeful
equities as well in player 0's results.

Now you can simply make a new result which is the average of the
player 1 first and adjusted player 0 first results. The standard
errors will be 1.4 times the larger of the two standard errors for any
given column.

It's a bit of handwork to save and collate the results, but it should
be a lot faster than normal gnubg vs. gnubg play




-- 
Jim Segrave           address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]