bug-gnubg
[Top][All Lists]
Advanced

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

Re: [Bug-gnubg] Beavers and analysis


From: Jim Segrave
Subject: Re: [Bug-gnubg] Beavers and analysis
Date: Thu, 24 Jul 2003 20:09:34 +0200
User-agent: Mutt/1.2.5.1i

On Thu 24 Jul 2003 (15:53 +0000), Joern Thyssen wrote:
> On Thu, Jul 24, 2003 at 04:54:02PM +0200, Jim Segrave wrote
> > N+3 (the take) is shared with N+2. I would think it the take/pass
> >     is the same as any other take/pass decision except that if you 
> >     take, you don't own the cube but you are on roll. At the moment,
> >     the common part with the double doesn't give you any way to see if
> >     you are sharing data with a double, a beaver or a raccoon. Maybe 
> >     this is where we need a second marker in the cubedecisiondata 
> >     struct - it would also address potential problems with the
> >     doubling decision - say type MOVE_DOUBLE (ordinary double),
> >     MOVE_BEAVER (beaver by new cube owner), MOVE_RACOON (redouble
> >     by player on roll but not cube owner). It would be easy enough to
> >     add if it makes analysis easier
> 
> I think the following logic should cover all situations:
>
> (I assume all equities are calculated for the player on roll)

But the part I don't know, is how the evaluation function factors in
being on roll and cube ownership. Does it simply do a w/wg/wbg/lg/lbg 
evaluation of the position for player on roll and then manipulate the
results to factor in cube ownership? 
 
> Double:
> =======
> 
> Normal double:
> --------------
> 
> We need equities for ND, DT, and DP:
> 
> if ( DT >= ND && DP >= ND )
>    if ( DT >= DP )
>       double, pass (DP)
>    else
>       double, take (DT)
> else
>    no double (either too good or not good enough) (ND)
> 
> 
> 
> Beaver:
> -------
> 
> we need equities for "take", "pass", and "beaver" which happens to be
> exactly DT, DP, and 2 * DT.
> 
> if ( DT >= DP )
>    pass
> else
>    if( DT <= 0 )
>       /* kauder paradox */
>       beaver
>    else
>       take
> 
> 
> Raccoon:
> --------
> 
> We need equities for "pass", "raccoon", and "take", which is -DP, 2 *
> DT, and DT.
> 
> if ( DT <= DP )
>    pass
> else
>    if ( DT >= 0 )
>       raccoon
>    else
>       /* kauder paradox */
>       take
> 
> 
> Take or Drop:
> =============
> 
> Same logic as Beaver above
> 
> The equities needed for all decisions are the same so they can all share
> the same struct with equities.
> 
> The GUI and exports has to be changed to display different widgets for
> each type of decision:
> 
> Normal double:
> 
> No double
> Double, Take
> Double, pass
> 
> Beaver:
> 
> Take
> Pass
> Beaver
> 
> Raccoon:
> 
> Take
> Pass
> Racoon
> 
> 
> Take/drop:
> Take
> Pass
> (Beaver???)

That all looks reasonable to me. Arranging the windows and exports to
reflect the various options looks not too difficult. 

-- 
Jim Segrave           address@hidden





reply via email to

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