News for hackers. Stuff that matters.
Re:How to choose? by tomp on Friday August 29, 2014 @06:21AM (#8241893)
And the classic remedy for eliminating bias is to redraw/reshuffle if the number is outside of the desired range. Note, this completely eliminates all bias. The negative aspect is that in this case, random number generation can take arbitrarily long (with rapidly diminishing probabilities); to make it more efficient, you could first use a modulo operation, but only using a base that divides the original range (e.g. for 7 kids and 60 seconds, do 60 mod 10, then redraw if the result is 7, 8 or 9).

You've failed to acknowledge the trade-offs of using your solution versus the OP's solution (or the solution above), and you're calling people who are trying to point out the trade-off "morons", that's why you're getting downvoted.

Re:How to choose? by mindslight on Friday August 29, 2014 @01:06PM (#8243400)
> to make it more efficient, you could first use a modulo operation, but only using a base that divides the original range (e.g. for 7 kids and 60 seconds, do 60 mod 10, then redraw if the result is 7, 8 or 9).

This makes it less efficient - in this case, 18/60 chance of having to redraw, versus 4/60. Taking the modulus of the largest range you can leaves less residue (what lutusp is alluding to, without realizing others are describing a simple way of getting an exact uniform distribution).

If you want to make it more efficient (in terms of entropy used), you need to save the 1-of-prime (eg bits, trits, etc) that have been successfully chosen (uniformly). For example, with 6 children and an 8 sided die (3 bits), a roll of 6 or 7 would narrow the choices to only children 0-2 or 3-5 respectively. Your subsequent rolls could then be done with a 4 sided die.

Re:How to choose? by tomp on Friday August 29, 2014 @01:45PM (#8243588)
You're right, I don't know what I was thinking... Anyways, about your second paragraph, doesn't that only work if the number of desired outcomes (children) is non-prime?
Re:How to choose? by mindslight on Friday August 29, 2014 @02:04PM (#8243683)
Even worse - non-coprime with the entropy source. That's why I had to change the example to 6 children.
Re:How to choose? by lutusp on Friday August 29, 2014 @11:56AM (#8243060)
> versus the OP's solution (or the solution above)

Would that solution be "multiply by the number of children and divide by ten"? Let's see:

     n  n * 7 / 10
    ---------------
     0  0
     1  0
     2  1
     3  2
     4  2
     5  3
     6  4
     7  4
     8  5
     9  6
Not a very desirable distribution. But then, the OP could have established this fact before posting.

> ... you're calling people who are trying to point out the trade-off "morons", that's why you're getting downvoted.

No, I am being downvoted because I'm right. Being right is simply rude, but being right about something trivially proven is beyond the pale.

Re:How to choose? by tomp on Friday August 29, 2014 @12:02PM (#8243092)
>Would that solution be "multiply by the number of children and divide by ten"

No; his/her solution is: If 0-9 couldn't be divided evenly among the kids present, leftover digits would result in a re-roll, exactly as I said above.

> No, I am being downvoted because I'm right

Are you? This is math we're talking about, right and wrong are very precisely defined. For the sake of discussion, can you repeat the question you claim to have the right/correct solution to, and your answer?