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/