я нахожу это
я нахожу это [1] — линейный конгруэнтный генератор псевдослучайных чисел (LCG) типа Парка-Миллера , который использовался преимущественно в 1960-х и 1970-х годах. [2] Это определяется повторением :
с начальным номером семени, как нечетное число . Он генерирует псевдослучайные целые числа которые равномерно распределены в интервале [1, 2 31 − 1] , но в практических приложениях часто преобразуются в псевдослучайные рациональные числа. в интервале (0, 1) по формуле:
- .
IBM RANDU широко считается одним из самых непродуманных генераторов случайных чисел, когда-либо созданных. [3] как «поистине ужасный» и был описан Дональдом Кнутом . [4] Как будет видно ниже, он плохо проходит спектральный тест для размерностей больше 2.
Причиной выбора именно этих значений множителя и модуля было то, что при 32-битном целочисленном размере слова арифметика по модулю 2 31 и расчеты можно было выполнять быстро, используя аппаратные побитовые операторы , но значения были выбраны для удобства вычислений, а не для статистического качества.
Проблемы с множителем и модулем
[ редактировать ]Для любого линейного конгруэнтного генератора с модулем m, используемого для генерации точек в n - мерном пространстве, точки попадают не более чем в параллельные гиперплоскости. [5] Это указывает на то, что низкомодульные LCG не подходят для многомерного моделирования Монте-Карло . Для m = 2^31 и n = 3 LCG может иметь до 2344 плоскостей, теоретический максимум. В той же статье Марсальи доказано, что гораздо более точная верхняя оценка представляет собой сумму абсолютных значений всех коэффициентов гиперплоскостей в стандартной форме. То есть, если гиперплоскости имеют вид Ax1 + Bx2 + Cx3 = некоторое целое число, например 0, 1, 2 и т. д., то максимальное количество плоскостей равно |A|+|B|+|C|. [5]
Теперь исследуем значения множителя 65539 и модуля 2. 31 выбран для RANDU. Рассмотрим следующий расчет, в котором каждый член следует брать по модулю 2. 31 . Начните с написания рекурсивного отношения как:
который после расширения квадратичного множителя становится:
- потому что 2 32 против 2 31 = 0
и позволяет нам показать корреляцию между тремя точками как:
Суммируя абсолютные значения коэффициентов, мы получаем не более 16 плоскостей в 3D, а при ближайшем рассмотрении становимся всего 15 плоскостями, как показано на схеме выше. Даже по стандартам LCG это показывает, что RANDU ужасен: использование RANDU для выборки единичного куба позволит выбрать только 15 параллельных плоскостей, что даже близко не соответствует верхнему пределу самолеты.
В результате широкого использования RANDU в начале 1970-х годов многие результаты того времени кажутся подозрительными. [6] Такое нарушение поведения было обнаружено еще в 1963 году. [7] на 36-битном компьютере и тщательно переопределен [ нужны разъяснения ] на 32-битной IBM System/360 . Считалось, что к началу 1990-х годов его подвергли массовой чистке. [8] но даже в 1999 году компиляторы FORTRAN все еще использовали его. [1]
Пример вывода
[ редактировать ]Начало периода вывода RANDU для начального начального числа. является:
Ссылки
[ редактировать ]- ^ Jump up to: Перейти обратно: а б Справочное руководство по языку Compaq Fortran (номер для заказа: AA-Q66SD-TK), сентябрь 1999 г. (ранее DIGITAL Fortran и DEC Fortran 90)
- ^ Энтачер, Карл (июнь 2000 г.). «Сборник классических генераторов псевдослучайных чисел с линейными структурами — расширенная версия» . Архивировано из оригинала 18 ноября 2018 года.
- ^ Кнут Д.Е. Искусство компьютерного программирования , Том 2: Получисловые алгоритмы , Второе издание. Аддисон-Уэсли, 1981 год. ISBN 0-201-03822-6 . Раздел 3.3.4, с. 104. «Самого его названия RANDU достаточно, чтобы вызвать тревогу в глазах и желудках многих ученых-компьютерщиков!» [Обширный охват статистических тестов на неслучайность.]
- ^ Кнут (1998), с. 188 [ нужна полная цитата ]
- ^ Jump up to: Перейти обратно: а б Марсалья, Джордж (1968). «Случайные числа падают преимущественно в плоскостях» . Учеб. Натл. акад. наук. США . 61 (1): 25–28. Бибкод : 1968ПНАС...61...25М . дои : 10.1073/pnas.61.1.25 . ПМЦ 285899 . ПМИД 16591687 .
- ^ Пресс, Уильям Х.; и др. (1992). Числовые рецепты на Фортране 77: Искусство научных вычислений (2-е изд.). ISBN 0-521-43064-Х .
- ^ ссылка. 7 из http://portal.acm.org/citation.cfm?id=363827
- ^ Интервью с Дональдом Кнутом
Внешние ссылки
[ редактировать ]- Цитаты, связанные с RANDU, в Wikiquote