Numworks  strange random numbers

03042023, 05:10 PM
Post: #1




Numworks  strange random numbers
Hi,
playing around with the latest Numworks app on Android, I noticed a strange behavior of the random() function. When tested with many pairs of random numbers between 0 and 1, min(random#, random#) should converge to 1/3. And max(random#, random#) to 2/3. However, the Numworks app delivers ~1/2 for both min() and max() instead. My HP Prime confirms the expected results ~1/3 and ~2/3 with its random numbers. Code: sum(k, 1, 10000, min({random(), random()})) / 10000 Am I doing something wrong? What do you get on the real Numworks calculator? P.S. kind of wired is too, that 10001 steps are the maximum for Sum() 

03042023, 08:02 PM
Post: #2




RE: Numworks  strange random numbers
Tried on https://www.numworks.com/simulator/, it make no sense.
> min({0.5, random()}) 0.5 0.9116125675 0.5 0.5 0.5140082607 0.06554496133 

03052023, 12:00 AM
Post: #3




RE: Numworks  strange random numbers
(03042023 05:10 PM)LowTech Wrote: Hi, The real Numworks gets the same 1/2. Numworks seems to use a normal distribution where numbers around .5 are chosen more frequently than numbers approaching 0 or .999999 The probability of a particular random number in other machines is about equal throughout the range. Tom L Cui bono? 

03052023, 12:29 PM
Post: #4




RE: Numworks  strange random numbers
(03052023 12:00 AM)toml_12953 Wrote: The real Numworks gets the same 1/2. Numworks seems to use a normal distribution where numbers around .5 are chosen more frequently than numbers approaching 0 or .999999 The probability of a particular random number in other machines is about equal throughout the range. Quite possible, but can't find any notes about it in the manual. Anyway, pretty unusual. Are other calculators known to behave like this? 

03052023, 01:17 PM
Post: #5




RE: Numworks  strange random numbers
There is a bug with list containing random numbers.
The list cannot be sorted, getting minimum or maximum. NUMWORKS> sort({random(), random()}) {0.03173426865, 0.1906006013} {0.9829388464, 0.1990888752} // ? {0.5004268227, 0.4287105828} // ? 

03052023, 02:32 PM
Post: #6




RE: Numworks  strange random numbers
(03042023 08:02 PM)Albert Chan Wrote: Tried on https://www.numworks.com/simulator/, it make no sense. Could this be a case of min() evaluating the arguments more than once? 

03062023, 08:50 PM
Post: #7




RE: Numworks  strange random numbers
(03052023 02:32 PM)EdS2 Wrote:(03042023 08:02 PM)Albert Chan Wrote: Tried on https://www.numworks.com/simulator/, it make no sense. I am thinking along the same lines. Perhaps it evaluates each expression in the list, determines which one produced the minimum value, and evaluated that expression again. That would also explain why the average value of min({random(), random()}) would be 0.5. It wouldn't matter what the first two random() calls produced. One of those expressions would be the minimum, so it would evaluate that expression again, i.e. call random() again for the final result. — Ian Abbott 

03062023, 11:27 PM
Post: #8




RE: Numworks  strange random numbers
(03232020 04:34 PM)Albert Chan Wrote: LN(2) = 2 * probability of integer part of RND/RND is odd > sum(rem(floor(random()/random()),2),k,1,10000) / 5000 2 0 2 ... We expected around log(2) = 0.6931, but getting 0 or 2 only. It seems argument inside sum is evaluated only once. random(), and its cousins, should not be treated as normal function. It should never be optimized away. Unfortunately, it seems Numworks fix is like whackamole game. Example, from github fixed issues: random()random() gets simplified to 0 Above expression, replacing floor(x) = round(x0.5) work. > sum(rem(round(random()/random()0.5),2),k,1,10000) / 5000 0.7034 0.6998 0.6938 ... 

03072023, 04:47 PM
Post: #9




RE: Numworks  strange random numbers
(03062023 11:27 PM)Albert Chan Wrote: Unfortunately, it seems Numworks fix is like whackamole game. When I print random()random() I get a number. My OS version is 20.3.0. Tom L Cui bono? 

03072023, 07:41 PM
Post: #10




RE: Numworks  strange random numbers  
03072023, 11:16 PM
Post: #11




RE: Numworks  strange random numbers
(03072023 07:41 PM)Albert Chan Wrote:(03072023 04:47 PM)toml_12953 Wrote: When I print random()random() I get a number. My OS version is 20.3.0. Yup. I just upgraded to 20.4.0 and sometimes (random()random())^2 still comes up negative. Imagine that. random can return imaginary numbers! Tom L Cui bono? 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)