My main resistance to using something superior for RNG for an example
bot is that I don't want to go too far outside what comes with java
standard.   In other words I don't want to require people to install
extra crap.  

George Marsaglia has created a suite of extremely high quality and yet
very simple RNG's that pass the diehard test suites.   Most of these are
a single line of code in C  (with some initialization) so I might look
into simply integrating one of these into the code.  

The actual reference bot should use a high quality RNG and the java
program is just the temporary reference bot.   I will build one in C
soon if someone doesn't build one for us first.    I want it to be
strict ansi C, not C++ or objective C.   

- Don



On Thu, 2008-10-16 at 10:53 -0500, Jim O'Flaherty wrote:
> Don,
> 
> Here's the Javadoc for Random() in 1.6:
> http://java.sun.com/javase/6/docs/api/java/util/Random.html
> 
> In a quick search with Google, I was able to see that Java's Random()
> implementation is considered moderate quality, meaning it is adequate
> for most applications, but inadequate for security and cryptography
> applications. There's an alternate Open Source library with additional
> implementations:
> http://www.honeylocust.com/RngPack/
> 
> And here's it's Javadoc:
> http://www.honeylocust.com/RngPack/doc/
> 
> 
> And here's a link to an article talking about Java Random() and its
> sweetspots and pitfalls:
> http://tinyurl.com/5kj3vw
>   or
> http://blog.uncommons.org/2008/04/03/a-java-programmers-guide-to-random-numbers-part-1-beyond-javautilrandom/
> 
> 
> Jim
> 
> 
> Don Dailey wrote: 
> > On Thu, 2008-10-16 at 08:47 -0400, Michael Williams wrote:
> >   
> > > What if you use a faster, lower quality RNG?  How much do the numbers 
> > > change?
> > >     
> > 
> > I don't even know if my current generator is high quality - I'm using
> > the standard RNG library that comes in the IBM java distribution.  
> > 
> > Are these standardized between java implementation?   I have another
> > package of RNG's that I could try that are considered high quality and
> > include mersene twister.     I could also implement some trivial bad RNG
> > just to see what happens. 
> > 
> > I used a very simple low quality RNG in one of early programs (because I
> > needed to incorporate it into a small handheld device.)    Subjectively,
> > I could not see that the quality of play was affected but of course this
> > would have to proved.   The main side-effect was that you would get
> > repeated games if you self-played enough of them because it had a low
> > period.   (This is true of ANY PRNG but you wouldn't easily be able to
> > demonstrate it.) 
> > 
> > I believe such a generator would likely fail a test like this, for
> > instance it might NEVER play D4.    I think I might give that a try
> > later to see what happens.
> > 
> > 
> > - Don
> > 
> > 
> > 
> >   
> > > Don Dailey wrote:
> > >     
> > > > Update:
> > > > 
> > > > 4173 runs of 100,000 playouts from opening at 0.5 komi
> > > > 
> > > > mv: D4   count:     3   percent:   0.0719
> > > > mv: D5   count:   447   percent:  10.7117
> > > > mv: E5   count:  3723   percent:  89.2164
> > > > 
> > > > 
> > > >  0.959 percent fall outside the following range ...
> > > > 
> > > > score:  lo, med, hi ->       0.52031      0.52433      0.52835
> > > > nodes:  lo, med, hi ->    11092602.0   11105554.0   11119436.0
> > > > 
> > > > 
> > > > 
> > > > 
> > > > On Thu, 2008-10-16 at 00:14 -0400, Don Dailey wrote:
> > > >       
> > > > > I have some interesting statistics on the simple go program at 0.5 
> > > > > komi
> > > > > from the starting position.
> > > > > 
> > > > > I'm running numerous 100,000 game samples and tracking the statistics 
> > > > > to
> > > > > see what kinds of variation I get in scores and nodes. 
> > > > > 
> > > > > After 1748 runs I see that less than 1 percent of the games score 
> > > > > lower
> > > > > than 0.52027 or higher than 0.52823 when doing 100,000 game playouts.
> > > > > 
> > > > > So if you get scores outside this range you probably do not have a
> > > > > conforming program as this is expected to happen less than 1% of the
> > > > > time.
> > > > > 
> > > > > But what I really found interested is that only 3 moves (when 
> > > > > accounting
> > > > > for transformations) were chosen from the opening position.  E5 was
> > > > > chosen 85% of the time,  and most of the remaining time D5 or
> > > > > equivalent.   Only 1 time was some other move chosen other than these
> > > > > two and it was D4.
> > > > > 
> > > > > I wonder how long before it would chose A1?  Probably a very long time
> > > > > indeed!
> > > > > 
> > > > > So if your bot chooses a move other than E5 or D5, there is a very 
> > > > > good
> > > > > chance it is not conforming to our specification of a generic MC 
> > > > > player.
> > > > > 
> > > > > ---
> > > > > 
> > > > > 
> > > > > 1748 runs
> > > > > 
> > > > > mv: D4   count:     1   percent:   0.0572
> > > > > mv: D5   count:   200   percent:  11.4416
> > > > > mv: E5   count:  1547   percent:  88.5011
> > > > > 
> > > > > 
> > > > >  0.915 percent fall outside the following range ...
> > > > > 
> > > > > score:  lo, med, hi ->       0.52027      0.52434      0.52823
> > > > > nodes:  lo, med, hi ->    11093084.0   11105628.5   11119815.0
> > > > > 
> > > > > 
> > > > > _______________________________________________
> > > > > computer-go mailing list
> > > > > [email protected]
> > > > > http://www.computer-go.org/mailman/listinfo/computer-go/
> > > > > 
> > > > > ------------------------------------------------------------------------
> > > > > 
> > > > > _______________________________________________
> > > > > computer-go mailing list
> > > > > [email protected]
> > > > > http://www.computer-go.org/mailman/listinfo/computer-go/
> > > > >         
> > > _______________________________________________
> > > computer-go mailing list
> > > [email protected]
> > > http://www.computer-go.org/mailman/listinfo/computer-go/
> > >     
> > > 
> > > __________________________________________________________________
> > > 
> > > _______________________________________________
> > > computer-go mailing list
> > > [email protected]
> > > http://www.computer-go.org/mailman/listinfo/computer-go/
> _______________________________________________
> computer-go mailing list
> [email protected]
> http://www.computer-go.org/mailman/listinfo/computer-go/

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to