2014-10-31 2 views

ответ

1

Алгоритм, используемый random-float, известен как Mersenne Twister. (Этот факт задокументирован в http://ccl.northwestern.edu/netlogo/docs/programming.html#random.)

+0

Seth, предел в ассортименте семян предполагает, что он использует 32-битный Mersenne Twister. Это верно? –

+0

Возможно, но см. Мой комментарий к другому ответу. –

1

От the docs;

Все номера в NetLogo хранятся внутри как числа с плавающей запятой двойной точности, как определено в стандарте IEEE 754. Это 64-разрядные номера, состоящие из одного знакового бита, 11-битного показателя и 52-битной мантиссы. Подробнее см. В стандарте IEEE 754.

Насколько надежен «случайный поплавок» является создание уникальных номеров во многом зависит от используемого алгоритма, однако последовательность истинно случайных чисел ни в коей мере гарантировано быть уникальными, просто вероятно быть.

+0

1 в 2^64, 1 в 1.8446744e + 19 –

+0

@ King-Ink Если алгоритм производит совершенно одинаковые числа _ и вы рисуете только 2 числа, да, вероятность их столкновения будет находиться в окрестности 1 в 2^64. На практике, вероятно, хотя бы немного хуже, причем некоторые алгоритмы намного хуже. –

+0

Отметим, что 1E19 - это абсолютно огромное количество. Ожидаемое время, затрачиваемое на то, чтобы получить тот же номер дважды, будет измеряться в течение столетий. –

Смежные вопросы