bug-gnubg
[Top][All Lists]
Advanced

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

Re: [Bug-gnubg] neurosurgery on GGraccoon


From: Joern Thyssen
Subject: Re: [Bug-gnubg] neurosurgery on GGraccoon
Date: Thu, 20 Feb 2003 08:07:09 +0000
User-agent: Mutt/1.4i

On Wed, Feb 19, 2003 at 03:40:32PM -0800, David Montgomery wrote
> Hi GnuBG Gurus,
> 
> At long last GamesGrid is planning to upgrade GGraccoon to 
> the latest, greatest gnubg engine.  Jaro Dulina is in charge
> of the project.  Gary, could you add address@hidden to 
> this mailing list?

Subscription is available from:

http://mail.gnu.org/mailman/listinfo/bug-gnubg

> 
> When we first put up GGraccoon, I built a windows DLL using 
> cygwin and mingw.  The DLL exported EvalInitialise, FindBestMove, 
> SetCubeInfo, and EvaluatePositionCubeful from eval.c, and
> InitMatchEquity from matchequity.c.  I'm guessing that these
> aren't the right entry points anymore.  

EvalInitialise, FindBestMove, and SetCubeInfo are as such unchanged. The
entry point for cube decisions is GeneralCubeDecisionE. 


> We basically just
> want to 
> 
> - be able to set the evaluation parameters

Evaluation parameters are defined in the evalcontext. For chequerplay
decisions you need a movefilter as well.

> - take a board, cube, score, and dice and generate a move

FindBestMove.

> - take a board, cube, and score and generate cube actions

GeneralCubeDecisionE

> Could anyone suggest the best functions to call for these 
> operations now?
> 
> At a higher level, would anyone like to suggest a best
> recipe for building a gnubg evaluation DLL now?

I think you need:

eval.c, matchequity.c, positionid.c, matchid.c, pub_eval.c, osr.c,
i18n.c, bearoffgammon.c, bearoff.c, and path.c (and the corresponding
header files).

> 
> I'm thinking that there might also be changes in how we 
> use the bearoff database, given all the work that has
> been done in that area.  

EvalInitialise will initialise the available database:

(1) gnubg_os0.bd: one sided, in memory
(2) gnubg_ts0.bd: two sided, in memory
(3) gnubg_os.bd: one sided, from disk
(4) gnubg_ts.bd: two sided, from disk


(1) is "mandatory" and the rest is optional. However, I suggest you get
gnubg_ts0.bd as well. From Joseph's investigations gnubg_os.bd is almost
worthless (it's much slower and the race net is equally good). You might
want to obtain copy of the large two-sided databases -- Morten Wang has
generated one for 11 chequers on 6 points.


> We were just using gnubg.bd.
> Are there other files and initialization functions that
> we need to call now?

You need at least gnubg_os0.bd and gnubg_ts0.bd for the small one-sided
and two sided bearoff databases, respectively.

Jørn




reply via email to

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