[Top][All Lists]

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

Re: [Bug-gnubg] [Fwd: gnubg search function]

From: Joern Thyssen
Subject: Re: [Bug-gnubg] [Fwd: gnubg search function]
Date: Thu, 27 Mar 2003 09:47:51 +0000
User-agent: Mutt/1.4i

On Thu, Mar 27, 2003 at 10:06:45AM +0100, Øystein Johansen wrote
> >From: Thomas Hauk <address@hidden>
> >To: info <address@hidden>
> >Subject: gnubg search function
> >
> >I am interested in modifying the gnu backgammon code to implement a new
> >search routine that should be exponentially faster than brute force
> >search. I have two questions
> >
> >1) Do you have "stable" releases? I want to work with code that is
> >"stable" but all I can find is your CVS repository as well as daily
> >snapshots of it.
> You can get the stable release though the cvs. Type:
> cvs -d:pserver:address@hidden:/cvsroot/gnubg login
> cvs -z3 -d:pserver:address@hidden:/cvsroot/gnubg co -r 
> pre-rel-0-13-0

I think you should grab "branch-0-13" instead of "pre-rel-0-13-0" as
Gary fixed an important error the the cubeful cache.

In any case, there are rarely any changes to the evaluation code, so the
main trunk is as good as the 0.13-stable branch. 

> >2) Where does the current search function hide? I'm told gnubg just
> >performs a 1-ply full-tree search. Is this a part of eval.c? It's a huge
> >file. Can you help point me toward the function?
> The search functions are all hidden in eval.c. It's implemented as a recusive 
> function. See EvaluatePositionCubeful3, EvaluatePositionCubeful4, 
> EvaluatePosition, EvaluatePositionFull and EvaluatePositionCache.

The cubeful routines are slightly more complicated due to the mini-max
over all possible cube values and owners. I would start in the cubeles
evaluator EvaluatePositionFull. Porting any new code from
EvaluatePositionFull to the cubeful routines should be quite easy.


reply via email to

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