Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Ну равнораспределен Длиннопериодные Linear (НУ) представляет собой семейство чисел генераторов псевдослучайных разработан в 2006 году Франсуа Panneton , Пьер L'Ecuyer и Макото Мацумото (松本眞) . [1] Это форма сдвигового регистра с линейной обратной связью, оптимизированная для программной реализации на 32-битной машине.
Операционный дизайн [ править ]
Структура похожа на Mersenne Twister , большое состояние, состоящее из предыдущих выходных слов (32 бита каждое), из которых новое выходное слово генерируется с использованием линейных повторений по модулю 2 в конечном двоичном поле . Однако более сложное повторение дает более плотный порождающий полином, что дает лучшие статистические свойства.
Каждый шаг генератора считывает пять слов состояния: самые старые 32 бита (которые могут перекрывать границу слова, если размер состояния не кратен 32), самые новые 32 бита и три других слова между ними.
Затем серия из восьми преобразований одного слова (в основном формы x := x ⊕ (x >> k)
) и шести операций «исключающее ИЛИ» объединяет их в два слова, которые становятся двумя новейшими словами состояния, одно из которых будет выходным.
Варианты [ править ]
Для следующих генераторов предусмотрены специальные параметры:
- WELL512a
- WELL521a, WELL521b
- WELL607a, WELL607b
- WELL800a, WELL800b
- WELL1024a, WELL1024b
- WELL19937a, WELL19937b, WELL19937c
- WELL21701a
- WELL23209a, WELL23209b
- WELL44497a, WELL44497b.
Числа указывают размер состояния в битах; буквенные суффиксы обозначают варианты одного размера.
Реализации [ править ]
- Реализации WELL512a, WELL1024a, WELL19937a, WELL19937c, WELL44497a, WELL44497b на языке C (бесплатно для некоммерческого использования)
- Реализации тех же алгоритмов в Scala
- Реализации на C ++
- Реализации WELL512, WELL1024, WELL607 на Java
- Реализации WELL512, WELL1024 на BBC BASIC
- Модифицированные "максимально равнораспределенные" реализации WELL19937, WELL44497 на языке C (бесплатно для некоммерческого использования)
- Реализация WELL512 на C (общественное достояние)
Ссылки [ править ]
- ^ Panneton, François O .; l'Ecuyer, Пьер; Мацумото, Пьер (март 2006 г.). «Улучшенные долгопериодические генераторы на основе линейных повторений по модулю 2» (PDF) . Транзакции ACM на математическом ПО . 32 (1): 1–16. CiteSeerX 10.1.1.73.5499 . DOI : 10.1145 / 1132973.1132974 .CS1 maint: ref = harv ( ссылка )
Внешние ссылки [ править ]
- Научная статья и статьи по теме Франсуа Паннетона
- Публикации Пьера Л'Экуйера
P ≟ NP | Эта статья по теоретической информатике незавершена . Вы можете помочь Википедии, расширив ее . |