In message <[EMAIL PROTECTED]>, Mike Hill <[EMAIL PROTECTED]> writes
Folks...

First, let me say how much pleasure my reading of this list has given me. I love that folks are out there cranking on this problem. Truly, it's one of the great problems.

I have a rather strange request. I am a statistical idiot, in both senses of 'statistical'. After scrolling through a half-dozen stat tutorials online, I find myself completely unable to grasp how I'd get the effect I want even if I wanted to use floats, which I don't. As you will soon be aware, I don't even have the language to figure out how to describe my problem. Seeing as how there are so many MC algorithm workers on the list, I thought I'd turn to you for some guidance.

The essence of my idea is that I want a psuedo-random algorithm which takes as a parameter a 'degree-of-randomness' value. Something along these lines:

int choose( int range, int degree-of-randomness)

Returns an integer in [0-range] distributed depending on the value of degree-of-randomness. At degree-of-randomness 100, I want the distribution to be uniform. At degree-of-randomness 0, I want the distribution to be -- I don't even know what to call this -- half-of-a-normal-distribution with the steepness proportionately related to degree-of-randomness.

Am I making *any* sense? If so, you may need some sort of psychiatric help, or alternatively, you could do me the favor of explaining how to ask for what I want or even how to actually get it. :)

So if you specify a range of 3 and a degree-of-randomness of 100, you get a uniform distribution of the range 0..3. If you specify a range of 3 and a degree-of-randomness of 0, you want something with a maximum at 0, looking like the right half of a Gaussian, a zero steepness [?], and an unspecified variance. Are you aware that, if it has any variance at all, its tail will extend beyond 3?

I think the maths will be easy enough, once you have made it clear what you want (or why you want it).

Maybe this would provide what you want:
  take a random number in the range 0..1
  raise it to the power (100/degree-of-randomness)
  multiply the result by range

Nick
--
Nick Wedd    [EMAIL PROTECTED]
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to