Unbias a random generator: Difference between revisions
Content added Content deleted
m (→{{header|Python}}: removed space from before "=={{header|Quackery}}==") |
(Unbias a random generator en BASIC256) |
||
Line 171: | Line 171: | ||
StringReplace, junk, t, 1, , UseErrorLevel |
StringReplace, junk, t, 1, , UseErrorLevel |
||
MsgBox % "biased probability of a 1 occurring: " Errorlevel/1000</lang> |
MsgBox % "biased probability of a 1 occurring: " Errorlevel/1000</lang> |
||
=={{header|BASIC}}== |
|||
==={{header|BASIC256}}=== |
|||
{{trans|FreeBASIC}} |
|||
<lang BASIC256> |
|||
function randN (n) |
|||
if int(rand * n) + 1 <> 1 then return 0 else return 1 |
|||
end function |
|||
function unbiased (n) |
|||
do |
|||
a = randN (n) |
|||
b = randN (n) |
|||
until a <> b |
|||
return a |
|||
end function |
|||
numveces = 100000 |
|||
print "Resultados de números aleatorios sesgados e imparciales" + chr(10) |
|||
for n = 3 to 6 |
|||
dim b_numveces(n) fill 0 |
|||
dim u_numveces(n) fill 0 |
|||
for m = 1 to numveces |
|||
x = randN (n) |
|||
b_numveces[x] += 1 |
|||
x = unbiased (n) |
|||
u_numveces[x] += 1 |
|||
next m |
|||
print "N = "; n |
|||
print " Biased =>", "#0="; (b_numveces[0]); " #1="; (b_numveces[1]); " ratio = "; (b_numveces[1]/numveces*100); "%" |
|||
print "Unbiased =>", "#0="; (u_numveces[0]); " #1="; (u_numveces[1]); " ratio = "; (u_numveces[1]/numveces*100); "%" |
|||
next n |
|||
end |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
Resultados de números aleatorios sesgados e imparciales |
|||
N = 3 |
|||
Biased => #0=66625 #1=33375 ratio = 33.375% |
|||
Unbiased => #0=50026 #1=49974 ratio = 49.974% |
|||
N = 4 |
|||
Biased => #0=74988 #1=25012 ratio = 25.012% |
|||
Unbiased => #0=49809 #1=50191 ratio = 50.191% |
|||
N = 5 |
|||
Biased => #0=79893 #1=20107 ratio = 20.107% |
|||
Unbiased => #0=50102 #1=49898 ratio = 49.898% |
|||
N = 6 |
|||
Biased => #0=83432 #1=16568 ratio = 16.568% |
|||
Unbiased => #0=50091 #1=49909 ratio = 49.909% |
|||
</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |