[Top][All Lists]

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

Re: [Bug-gnubg] Wrong cube errors categories in analysis statistics pane

From: Joern Thyssen
Subject: Re: [Bug-gnubg] Wrong cube errors categories in analysis statistics panel
Date: Sat, 4 Oct 2003 08:17:47 +0000
User-agent: Mutt/1.4.1i

On Sat, Oct 04, 2003 at 12:26:19AM +0200, Holger wrote
> At 23:32 03.10.2003, Joern Thyssen wrote:
> >On Fri, Oct 03, 2003 at 11:06:11PM +0200, Holger wrote
> >> all those figures by now. (I guess I'd need someone to explain me the
> >> origins of MWC, GWC, equity and the match points. Or does somebody have a
> >> reference on this?)
> >
> >A short course:
> Thank you, Jørn.
> >GWC = game winning chance. The chance of winning the current game. gnubg
> >stores the cubeless gwc it in arOutput[ OUTPUT_WIN ]. The remaining
> >values in arOutput are the cubeless gammon/backgammon percentages.
> This I knew. So GWC does not include any _value_ for gammons or backgammons.

No, they are kept separately.

> >MWC = match winning chance. The chance of winning the match. The
> >cubeless MWC is usually calculated from the the cubeless gwc, gammon,
> >and backgammon percentages using a match equity table. The cubeless MWC
> >is not stored anywhere in gnubg, but must be calculated from arOutput
> >when needed. The cubeful MWC is stored in arOutput[ OUTPUT_CBEFUL ].
> >
> >equity = the expected number of points for this game. At least two kinds
> >of equities exists: money equity and normalised equity (for match play).
> >The money equity is just
> >2*arOutput[WIN]+arOutput[WIN_G]-arOutput[LOSE_G] (ignoring gammons). THe
> >normalised equity is calculated from the cubeless MWC using linear
> >interpolation. gnubg stores the equity (cubeless money equity/cubeless
> >normalised equity) in arOutput[ OUTPUT_EQUITY ].  The cubeful money
> >equity is stored in arOutput[ OUTPUT_CUBEFUL ] for money game.
> >
> >You can calculate the take point in any of these quanties. gnubg just
> >happens to do it in cubeless GWCs.
> Ok, but there is still one thing I don't understand. If the calculation of 
> the match points accounts for gammon (and backgammon) values then how can 
> it be compared with GWC, that doesn't? 

You can either adjust the match points with the gammons or you can
adjust the GWC to become a gammon-adjusted GWC. gnubg does the former.

You shouldn't adjust both!

Suppose you have 40% gwc, and lose 30% normals and 30% gammons, i.e.,

arOutput = { 0.4, 0.0, 0.3, 0.0, 0.0 }

Should you take a double here?

Gammon adjusted take point: you should add your gammon loss * the gammon
value to your take point. In this case 30% * 0.5 = 15%. So your gammon
adjusted take point is 40% -- and you do exactly have 40%, so you can
take the cube.

Alternatively, you can do the following calculation: your average loss
is 1.5 point and your average win is 1 point. Now, do linear
interpolation between (0%,-1.5) and (100%,+1.0). At 40% you get a gammon
adjusted gwc of 25%. As the take point in money game is 25%, you can
take the cube.

As you see you can either fold the gammons into the take point and
compare the gammon adjusted take point with the current non-adjusted
GWC, or you  can fold the gammons into the GWC, and compare the gammon
adjusted GWC to the non-adjusted take point. But it is totally
meaningless to compare the gammon adjusted take point with the gammon
adjusted GWC or the non-adjusted gwc with the non-adjusted take point!

It's totally up to you which calculation you want to do, but
getMatchPoints and getMoneyPoints calculate gammon adjusted take points
so they *must* be compared to a non-adjusted GWC. 

Changing subject to live cube points:

The same logic is applied here: you can either calculate live cube
adjusted take points or live cube adjusted gwcs. If you calculate the
former they must be compared to non-adjusted gwcs (i.e., cubeless gwcs)
and if you calculate the latter they must be compared to non-adjusted
take points (i.e., cubeless take points). Again,
getMatchPoints/getMoneyPoints calculate live cube adjusted take points,
so the values returned *must* be compared to non-adjusted gwcs.

So live cube and gammons can either be folded into the take points or
into the GWCs (or a mixture). In gnubg we have chosen to fold them into
the take points for easy comparison with the cubeless gwc returned by
the neural net.

I hope it makes sense now?!

> I'm not saying that you're not 
> correct. I just don't get this particular point.
> If I'm not mistaken I can be too good if I have high gammon chances, but 
> just have a double when I have the same winning probability and less gammon 
> chances. And as above, the GWC doesn't reflect this, does it? 

No, but the too good point does!

Maybe an example helps: the too good point is 100%.
Suppose you win 10% normals and 50% gammons, i.e.,

arOutput = { 0.6, 0.50, 0.0, 0.0, 0.0 }

The gammon adjusted too good point is 70%, but you only have 60%, so the
position is not too good to double.

Alternatively, you calculate the gammon adjusted gwc: your average win
is 1.83 points and your average loss is 1 pt. Linear interpolation
between (0%, -1) and (100%,+1.83) yeilds a gammon adjusted gwc of 70%,
so you're clearly far away from the too good point of 100%.


Attachment: pgpSG2GOVkTh0.pgp
Description: PGP signature

reply via email to

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