Хорошо равнораспределенный длиннопериодный линейный - Well equidistributed long-period linear

В Долговременная линейная равнораспределенная скважина (WELL) это семья генераторы псевдослучайных чисел разработан в 2006 г. Франсуа Паннетон, Пьер Л'Экуайер, и Макото Мацумото [я ] (松本 眞).[1] Это форма регистр сдвига с линейной обратной связью оптимизирован для программной реализации на 32-битной машине.

Операционный дизайн

Структура похожа на Мерсенн Твистер, большое состояние, состоящее из предыдущих выходных слов (32 бита каждое), из которого новое выходное слово генерируется с использованием линейного повторения по модулю 2 над конечным двоичное поле . Однако более сложное повторение дает более плотный порождающий полином, что дает лучшие статистические свойства.

Каждый шаг генератора считывает пять слов состояния: самые старые 32 бита (которые могут перекрывать границу слова, если размер состояния не кратен 32), самые новые 32 бита и три других слова между ними.

Затем серия из восьми однословных преобразований (в основном вида х: = х ⊕ (х >> к)) и шесть операций «исключающее ИЛИ» объединяют их в два слова, которые становятся двумя новейшими словами состояния, одно из которых будет выходным.

Варианты

Для следующих генераторов предусмотрены специальные параметры:

  • WELL512a
  • WELL521a, WELL521b
  • WELL607a, WELL607b
  • WELL800a, WELL800b
  • WELL1024a, WELL1024b
  • WELL19937a, WELL19937b, WELL19937c
  • WELL21701a
  • WELL23209a, WELL23209b
  • WELL44497a, WELL44497b.

Числа указывают размер состояния в битах; буквенные суффиксы обозначают варианты одного размера.

Реализации

Рекомендации

  1. ^ Panneton, François O .; l'Ecuyer, Пьер; Мацумото, Пьер (март 2006 г.). «Улучшенные долгопериодические генераторы на основе линейных повторений по модулю 2» (PDF). Транзакции ACM на математическом ПО. 32 (1): 1–16. CiteSeerX  10.1.1.73.5499. Дои:10.1145/1132973.1132974.CS1 maint: ref = harv (связь)

внешняя ссылка