[Top][All Lists]
[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