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/
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/
