[computer-go] a few more questions

Gunnar Farnebäck gunnar at lysator.liu.se
Tue May 13 23:17:38 PDT 2008


Álvaro Begué wrote:
 > On Tue, May 13, 2008 at 8:10 PM, Weston Markham
 > <weston.markham at gmail.com> wrote:
 >> On Tue, May 13, 2008 at 7:08 PM, Gunnar Farnebäck 
<gunnar at lysator.liu.se> wrote:
 >>  >  And I agree, don't even think of doing this with floating point
 >>  >  numbers.
 >>
 >>  This is a bit tangential to computer go.  But you have piqued my 
curiosity....
 >>
 >>  Offhand, that sounds rather extreme to me.  Perhaps I haven't really
 >>  thought this through completely, but it seems as if there is a simple
 >>  modification to the stated algorithm, that would ensure that it works
 >>  fine with floating point numbers.  Or at least well enough for any
 >>  conceivable purpose:
 >>
 >>  Make sure that you select each random number from a slightly larger
 >>  range than prescribed by the exact totals.  (For example, always round
 >>  up while calculating the totals.  If you do not have control over the
 >>  rounding mode, just add on some small fraction of the largest weight.)
 >>   Then, in the event that subtracting the weights of the
 >>  points/rows/buckets never reduced the selected number to a
 >>  non-positive value, just select a new random number and start over.
 >>
 >>  Would this work fine, or is there some flaw in my thinking that Álvaro
 >>  and Gunnar have already considered?
 >
 > John Tromp and I spent quite a bit of time patching the
 > floating-point implementation and hunting down the subsequent
 > bugs. I am not saying that making it robust is impossible, but I
 > ended up so frustrated that I don't think I will ever try again.
 > Integers are much better behaved and are sufficient for everything
 > we wanted to do.

I did the same, until I decided that it was utterly pointless.

/Gunnar


More information about the computer-go mailing list