Найти
Результаты поиска
-
РЕАЛИЗАЦИЯ И ИССЛЕДОВАНИЕ ГЕНЕРАТОРА СЛУЧАЙНЫХ ЧИСЕЛ НА ОСНОВЕ ПАРАЛЛЕЛЬНОГО ПЕРЕМЕШИВАНИЯ
Н.В. Драгныш2023-02-17Аннотация ▼Использование генераторов случайных чисел находит широкое распространение.
Программные генераторы как правило выдают псевдослучайные числа. Для улучшения ха-
рактеристик, необходим источник “хаоса”. В данной статье рассматривается реализа-
ция генератора случайных чисел, использующего идею перемешивания полного набора чисел
в параллельном потоке. На работу процессора в таком режиме оказывают влияние мно-
жество случайных факторов, что позволяет выдавать случайные числа. У предложенного
генератора каждое последующее число не зависит от предыдущего. Генератор может
выдать любое число заданного диапазона, несмотря на то сколько и какие числа выпадали
ранее. В том числе может выпасть с малой вероятностью одно и тоже число несколько
раз подряд. Отсутствует заранее определенная последовательность выдачи случайных
чисел. Период, свойственный программным генераторам псевдослучайных чисел, также
отсутствует. Но при этом снижается быстродействие выдачи случайных чисел, в срав-
нении с программными генераторами псевдослучайных чисел. Целью исследования было
оценить свойства предложенного генератора, в первую очередь статистические характе-
ристики генерируемых чисел. В статье рассмотрены вопросы идеи параллельного переме-
шивания. Вопросы реализации на языке программирования. Представлен программный ин-
терфейс класса MixRandomBase и особенности реализации класса MixRandomByte, исполь-
зующего рабочий массив из байтов. Для проверки качества работы генераторов случайных
и псевдослучайных чисел применяют различные тесты. Приведены результаты проверки
работы генератора такими тестами как распределение на плоскости, тест равномерно-
сти, тест “стопка книг”. Результаты тестирования позволяют судить о хороших ста-
тистических характеристиках разработанного генератора. Оценено быстродействие
генератора. В сравнении с линейными конгруэнтными генераторами псевдослучайных чи-
сел время выдачи последовательности чисел больше в сотни раз.








