Jump to content

Комбинированный линейный конгруэнтный генератор

Комбинированный линейный конгруэнтный генератор ( CLCG ) — это генератора псевдослучайных чисел, алгоритм основанный на объединении двух или более линейных конгруэнтных генераторов (LCG). Традиционный LCG имеет период , которого недостаточно для моделирования сложной системы. [1] Объединив два или более LCG, можно создать случайные числа с более длительным периодом и лучшими статистическими свойствами. [1] Алгоритм определяется как: [2] где:

  • - это « модуль » первого LCG
  • это я й вход от j й ЛКГ
  • это я й сгенерированное случайное целое число

с: где — это равномерно распределенное случайное число от 0 до 1.

Если Wi , ,1 , Wi , 2 , ..., Wi k распределена — любые независимые дискретные случайные величины и одна из них равномерно распределена от 0 до m 1 − 2, то равномерно Z i между 0 и m 1 − 2, где: [2]

Пусть X i ,1 , X i ,2 , ..., X i , k будут выходами k LCG. Если W i , j определяется как X i , j - 1, то W i , j будут примерно равномерно распределены от 0 до m j - 1. [2] Коэффициент "(−1) j −1 " неявно выполняет вычитание единицы из X i , j . [1]

Характеристики

[ редактировать ]

CLCG обеспечивает эффективный способ вычисления псевдослучайных чисел. Алгоритм LCG не требует больших вычислительных затрат. [3] Результаты нескольких алгоритмов LCG объединяются с помощью алгоритма CLCG для создания псевдослучайных чисел с более длительным периодом , чем это возможно с помощью самого метода LCG. [3]

Период CLCG — это наименьшее общее кратное периодов отдельных генераторов, которые на единицу меньше модулей. Поскольку все модули являются нечетными простыми числами, периоды четные и, следовательно, имеют по крайней мере общий делитель 2, но если модули выбраны так, что 2 является наибольшим общим делителем каждой пары, это приведет к периоду: [1]

Ниже приведен пример алгоритма, разработанного для использования на 32-разрядных компьютерах: [2] LCG используются со следующими свойствами:

Алгоритм CLCG настроен следующим образом:

  1. Семена для первого LCG, , следует выбирать в диапазоне [1, 2147483562].

    Семена для второго LCG, , следует выбирать в диапазоне [1, 2147483398].

    Набор:
  2. Два LCG оцениваются следующим образом:
  3. Уравнение CLCG решается, как показано ниже:
  4. Вычислите случайное число:
  5. Увеличьте счетчик ( i := i + 1), затем вернитесь к шагу 2 и повторите.

Максимальный период двух используемых LCG рассчитывается по формуле: [1] Это соответствует 2,1×10 9 для двух используемых LCG.

Этот CLCG, показанный в этом примере, имеет максимальный период: Это представляет собой огромное улучшение по сравнению с периодом существования отдельных LCG. Видно, что комбинированный метод увеличивает период на 9 порядков.

Удивительно, но периода этого CLCG может быть недостаточно для всех приложений. [1] Другие алгоритмы, использующие метод CLCG, использовались для создания генераторов псевдослучайных чисел с периодами до 3 × 10. 57 . [4] [5] [6]

Первый из двух генераторов, использующий b = 40 014 и m = 2 147 483 563, также используется научным калькулятором Texas Instruments TI-30X IIS .

См. также

[ редактировать ]
  1. ^ Jump up to: Перейти обратно: а б с д и ж Бэнкс, Джерри; Карсон, Джон С.; Нельсон, Барри Л.; Никол, Дэвид М. (2010). Моделирование дискретно-событийной системы (5-е изд.). Прентис Холл. § 7.3.2. ISBN  978-0-13-606212-7 .
  2. ^ Jump up to: Перейти обратно: а б с д Л'Экуйер, Пьер (1988). «Эффективные и портативные комбинированные генераторы случайных чисел» (PDF) . Коммуникации АКМ . 31 (6): 742–749, 774. CiteSeerX   10.1.1.72.88 . дои : 10.1145/62959.62969 . S2CID   9593394 .
  3. ^ Jump up to: Перейти обратно: а б Пандей, Нирадж (6 августа 2008 г.). Реализация функции скачка вперед для линейных конгруэнтных и запаздывающих генераторов Фибоначчи (PDF) (магистерская диссертация). Государственный университет Флориды. § 2.2. Архивировано из оригинала (PDF) 12 июля 2011 года . Проверено 13 апреля 2012 г.
  4. ^ Л'Экуйер, Пьер (сентябрь – октябрь 1996 г.). «Комбинированные множественные рекурсивные генераторы чисел» . Исследование операций . 44 (5): 816–822. дои : 10.1287/опре.44.5.816 .
  5. ^ Л'Экуйер, Пьер (январь – февраль 1999 г.). «Хорошие параметры и реализации для комбинированных множественных рекурсивных генераторов случайных чисел» . Исследование операций . 47 (1): 159–164. CiteSeerX   10.1.1.48.1341 . дои : 10.1287/опре.47.1.159 .
  6. ^ Л'Экуйер, Пьер; Р. Симард; Э. Дж. Чен; У. Д. Келтон (ноябрь – декабрь 2002 г.). «Объектно-ориентированный пакет случайных чисел с множеством длинных потоков и подпотоков» (PDF) . Исследование операций . 50 (6): 1073–1075. CiteSeerX   10.1.1.25.22 . дои : 10.1287/опре.50.6.1073.358 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ddf1323dc99135968c9cb913795a0d08__1706660880
URL1:https://arc.ask3.ru/arc/aa/dd/08/ddf1323dc99135968c9cb913795a0d08.html
Заголовок, (Title) документа по адресу, URL1:
Combined linear congruential generator - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)