Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

ПОЛУЧЕНИЕ ПСЕВДОСЛУЧАЙНЫХ ВЕЛИЧИН МЕТОДАМИ НЕЙМАНА

Волхонский А.Н. 1
1 ФГБОУ ВО «Самарский государственный технический университет»
В современной промышленности активно развивается тенденция замены ручного труда автоматическим, осуществляемым без участия человека или с его минимальным участие. Автоматизация производств включает в себя множество различных этапов и соответствующих. Данные этапы включают в себя множество различных операций, начиная от определения участка технологического процесса, автоматизацию которого предполагается произвести, заканчивая выбором наиболее эффективного в данных условиях промышленного оборудования и установкой его в соответствии с разработанной схемой автоматизации. Одним из основных этапов является построение модели процесса. Данный этап позволяет выявить возможные реакции системы на различные производимые над ней операции. При помощи полученной модели производят расчет настроек регуляторов, устанавливаемых на линиях подачи управляющего воздействия на объекты управления. Для наибольшей эффективности модель должна отражать как собственные свойства объекта, так и возможные возмущающие воздействия. Для проектирования возмущающих воздействий используют генераторы белого шума, случайной величины с определенным распределением вероятностей. Существует множество алгоритмов получения псевдослучайных величин, отвечающих данному условию. В данной статье будут рассмотрены алгоритмы получения псевдослучайных величин по методу Неймана, построены блок-схемы алгоритмов и представлена программная реализация метода на языке программирования java script.
автоматизация
белый шум
псевдослучайные числа
блок-схема
java script
1. Метод Неймана// Студопедия [Электронный ресурс] URL: https://studopedia.ru/9_219175_lektsiya-.html
2. В.А. РУМЯНЦЕВА ПРАКТИКУМ ПО МОДЕЛИРОВАНИЮ СИСТЕМ// Cтраничка Валентины Румянцевой [Электронный ресурс] URL: http://valaru.narod.ru/work/metodichka.pdf
3. Метод Неймана // Научная библиотека избранных естественно-научных изданий [Электронный ресурс] URL: https://scask.ru/a_book_dm.php?id=7

При исследовании различных динамических систем часто используются имитационные модели. Согласно одному из определений, имитационная модель это определенный алгоритм, описывающий функционирование системы во времени, реализация которого осуществляется с помощью соответствующей машинной программы.

При невозможности описать весь спектр воздействующих на систему факторов в модель вводится элемент случайности. Таким образом, для работы моделирующей программы необходима генерация случайных чисел.

Компьютерная программа, работающая по определенному алгоритму, может генерировать только псевдослучайные числа. Результаты работы различных алгоритмов проверяются статистическими тестами. Для генерации случайных чисел в программу подставляются случайным образом начальные условия. Для моделирования могут быть необходимы случайные величины с самыми разными характеристиками, но обычно, сначала генерируется базовая последовательность случайных чисел. Совокупность независимых, равномерно распределенных на отрезке [0,1] случайных величин Ri , (i=0,1…) называется последовательностью базовых случайных чисел. Гистограмма, показывающее равномерное распределение величин представлена на рисунке 1.

https://ok-t.ru/studopedia/baza5/460382201571.files/image044.jpg

Рисунок 1 – Гистограмма равномерного распределения величин

Алгоритм середины квадратов Неймана

Первый алгоритм для получения псевдослучайных чисел был предложен Дж. Фон Нейманом в 1951 г. Он называется методом середины квадратов.

Пусть задано случайно выбранное 4-значное число R0 = 0.9876.

Возведя его в квадрат, получим 8-значное число R02 = 0.97535376.

Выбрав четыре средних цифры этого числа, получим следующее псевдослучайное число: R1 = 0.5353.

Повторив операцию возведения в квадрат R12 = 0,28654609 и процедуру выбора средних цифр числа R12, получим очередное псевдослучайное число: R2 = 0.6546.

Таким образом, получен очень простой рекуррентный алгоритм генерирования псевдослучайных точек, который называется методом Неймана или методом серединных квадратов. Для запуска алгоритма достаточно задать некоторое произвольное начальное число R0. Разным стартовым числам, вообще говоря, будут соответствовать разные последовательности чисел.

Блок-схема данного алгоритма представлена на рисунке 2.

Рисунок 2 – Блок-схема реализации метода середины квадратов Неймана

Программная реализация данного метода на языке программирования java script представлена на рисунке 3.

Рисунок 3 – Реализация метода на языке программирования java script

Этот алгоритм не оправдал себя: получалось больше чем нужно для равномерного распределения малых значений Ri. Кроме того, весьма часто последовательность случайных чисел оказывается слишком короткой, т.е. после некоторого Ri числа начинают повторяться. Также в последовательности может вообще отсутствовать случайность, как если в качестве начального числа выбрано R0=0.4500.

Модифицированный метод Неймана

Значительно лучшие результаты дает определенная модификация алгоритма Неймана, состоящая в том, что вначале произвольно выбирается пара чисел R0 и R1. Составляется их произведение R0*R1, и его средние цифры используются в качестве числа R2. Процесс повторяется для R1, R2 с получением R3 и т.д.

Блок-схема данного алгоритма представлена на рисунке 4.

Рисунок 4 – Блок-схема реализации модифицированного метода Неймана

Программная реализация данного метода на языке программирования java script представлена на рисунке 5.

Рисунок 5 – Реализация модифицированного метода Неймана на языке программирования java script

Такой рекуррентный метод дает меньшее отклонение образуемых псевдослучайных чисел от равномерного распределения, нежели метод Неймана.


Библиографическая ссылка

Волхонский А.Н. ПОЛУЧЕНИЕ ПСЕВДОСЛУЧАЙНЫХ ВЕЛИЧИН МЕТОДАМИ НЕЙМАНА // Международный студенческий научный вестник. – 2021. – № 3. ;
URL: https://eduherald.ru/ru/article/view?id=20667 (дата обращения: 03.05.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674