bug-gnubg
[Top][All Lists]
Advanced

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

Re: makebearoff -t 6x15 doesn't work for me


From: Øystein Schønning-Johansen
Subject: Re: makebearoff -t 6x15 doesn't work for me
Date: Thu, 2 Jan 2020 10:32:29 +0100

Thanks for your report.

The makebearoff code was written last millennium, and the problem you're seeing is probably caused by some overflow problem in the code. These kind of stuff was hard to check back in the 90s.

I guess it is fixable but ... 

* Assuming you are able to solve the code issue (which is probably an overflow), then you first need at computer with enough memory. 32GB RAM computers are not uncommon these days, so that might not be a problem.
* Next, in the 90s and early 2000s when this code was written, developers thought about size (and they still do). To mitigate the size of the datafile the probabilities are stored in 16bit precision. With this precision the the values actually deviate from the true values in the higher end of the bearoff table.
* The overflow bug in makebearoff, probably also have the same corresponding bug in the GNU Backgammon code. I far from sure a 15x6 bearoff database will work OOTB in GNU Backgammon.
* The most severe problem tough, which I've just been aware of, is that a true 2-sided bearoff database, will give evaluation differences from onside bearoff so high, that race bearin positions will be played incorrectly. The current race neural network is trained to match the probabilities given by a one-sided bearoff database. Using a setup with the current race net + full two sided beaoff database, will do incorrect bearin moves (at least at lower plies).

So... Having a full twosided beaoff database (15 checkers on 6 points) will probably not improve the playing abilities of GNU Backgammon except in pure bearoff positions.


Well.... that said. It is interesting to sometimes know the real winning probabilities in a bearoff position. After all we are geeks.... I have written a code that do generate a full 15 checker bearoff database with 32bit precision, but it's not storing the cubeful numbers. That makes it 54264 x  54264 x 4 bytes ~= 11GB (big). My database is incompatible with GNU Backgammon, but I'm able to find an "exact" winning probability without doing a rollout.

-Øystein
... 


On Thu, Jan 2, 2020 at 6:36 AM Lukas Fürnkranz <address@hidden> wrote:
Hi,

I tried to create a large two-sided bearoff database with:

$ makebearoff -t 6x15 -f gnubg_ts.bd

The program told me that the "total number of positions" is
-1350385600, which seemed dubious to me, but I didn't abort it.

After a couple of hours the program finished and I ended up with a file
that's basically empty:

$ cat gnubg_ts_test.bd
gnubg-TS-03-03-1xxxxxxxxxxxxxxxxxxxxxxx

>From what I read the file is supposed to be ~22GB big.

What might have gone wrong?  I had about 60GB of free space, which I
guess should be enough.

Best wishes

Lukas

reply via email to

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