bug-gnubg
[Top][All Lists]
Advanced

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

Re: [Bug-gnubg] Re: Different rollouts are good


From: Jim Segrave
Subject: Re: [Bug-gnubg] Re: Different rollouts are good
Date: Mon, 30 Sep 2002 17:47:37 +0200
User-agent: Mutt/1.4i

On Mon 30 Sep 2002 (11:10 +0000), Joern Thyssen wrote:
> On Mon, Sep 30, 2002 at 11:05:17AM +0200, Jim Segrave wrote
> > On Mon 30 Sep 2002 (10:09 +0200), ?ystein O Johansen wrote:
> > > Hello list!
> > > 
> > > I'm forwarding this messages from the GammOnLine bulletin board. It is
> > > basically a suggestion for rollouts from Kit Woolsey. I got his permission
> > > to forward these messages.
> > > 
> > > I think we need some discussion about this. How do we want this, how to
> > > make it available from the user interface, is it at all possible, etc.
> > 
> > I'm willing to try to code this. It would help if anyone has a brief
> > overview of how the rollout code actually executes. 
> > I would assume we simply add second pane to the Rollout settings
> > window with:
> > 
> > Title: Evaluation for later plays
> > 
> > Selection:
> > 
> >   A toggle to turn the whole pane on/off
> > Change evaluation for later plays [x]
> > 
> >   A numeric selector for when they become active:
> > Change evaluation after play [   ]
> > 
> > Replicate the Evaluation portion of the current rollout window
> > (predefined, user defined, search space, reduced 2 ply, cubeful
> > chequer)
> > 
> > Add commands to replicate the set of rollout commands - 
> > 
> > set late-rollout enable off/on
> > set late-rollout start  5       # switch to late-rollout settings on
> >                                 # move 5
> > set late-rollout cubeful on     # settings for late-rollout,
> >                                 # co-responding to current commands
> 
> I would prefer something like:
> 
> set rollout late enable on
> set rollout late chequerplay ...
> set rollout late cubedecision ...
> ...

OK - it's probably no real difference in coding anyway.
 
Do we need a separate on/off state for late rollouts or simply a
bignum move setting which prevents it ever happening? The on/off is
more obvious, 

> > I actually wonder if setting noise on rollouts either for the first or
> > later plays actually has any sense?
> 
> No, but it's a part of the evalcontext so once you set up
> 
> set rollout late chequerplay
> 
> you'll automatically get a
> 
> set rollout late chequerplay noise 0.3

I was wondering if it should be taken off the rollout menu (and forced
to 0) for all rollouts? 

> > I'm assuming (I haven't started looking at the code yet), that there
> > is a top level routine which directs the individual games rolled out
> > and that during play, the evaluation settings are passed as a pointer
> > to a struct (much the same way that say tutor mode uses a pointer to
> > either the evaluation of analysis structs). In which case, the inner
> > loop which does the plays within a rollout has to set the evaluation
> > pointer based on how many plays into the game it is.
> 
> Yes, the interesting routines are:
> 
> RolloutGeneral     (the loop over games in the rollout)
> BasicCubefulRollout   (the individual game in the rollout)
> 
> BasicCubefulROllout takes a rolloutcontext as a parameter, so you don't
> have to change the prototype, just change the content of rolloutcontext.
> Obviously, you must add some logic to BasicCubefulRollout that selects
> the proper evalcontext based on the turn number (called iTurn in
> BasicCubefulRollout).

Great - that's just the sort of pointer I needed. I'll start looking
at it over this week and see if I can knock something up fairly
quickly.

Should there be sensibility checks? 
For example, disallow setting the late search space or plies to a
larger number than the ordinary ones? Or should we just take the Unix
approach of what you ask is what you get?


-- 
Jim Segrave           address@hidden




reply via email to

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