Given a function that generates random natural number in range [1, 100], How can I verify if it is truly generating random numbers?
Thanks!
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | awoo | 154 |
8 | Dominater069 | 154 |
10 | luogu_official | 151 |
Given a function that generates random natural number in range [1, 100], How can I verify if it is truly generating random numbers?
Thanks!
Name |
---|
I think you never can...
Consider a function that repeats the same algorithm for example this : 1,2,3,...,100,1,2,...,100,1,2,...
Numbers would have the same probability to be chosen and your only way to find out that it's not a real random function is to check for the loops. And you can't check this cause the length of the loop can be any number...
There are some statistical tests which are used for random number generators. For example: http://csrc.nist.gov/groups/ST/toolkit/rng/stats_tests.html .
But may be you have some special task, so your function need to have only special properties for it, and you may determine them yourself and check.
Thanks! Is there any general way to check, given that we can call the function any number of time?
Please define random?
probability of every number to be chosen is equal