Anonymous user
Unbias a random generator: Difference between revisions
m
→{{header|Haskell}}
Line 699:
unbiased g = do x <- g
y <- g
if x /= y then return y else
Examples of use:
<pre>λ> replicateM 20 (unbiased (randN 5))
[0,0,1,0,1,1,1,0,0,0,1,1,1,0,1,1,0,0,1,0]
λ> replicateM 20 (
[True,True,False,True,True,True,False,True,False,True,True,False,False,True,False,True,True,False,False,True]</pre>
Line 712:
showCounts b = do
r1 <- counts (randN b)
r2 <- counts (
printf "n = %d biased: %d%% unbiased: %d%%\n" b r1 r2
|