В стандартном математическом и программном обеспечении различных типов ЭВМ имеются специальные процедуры и подпрограммы для
В настоящее время все языки высокого уровня имеют программные генераторы равномерно распределенных последовательностей псевдослучайных чисел. Их называют датчиками случайных чисел. Датчики случайных чисел, как правило имеют имена: RAN, RAND, RANDU, и т.д. Эти имена получены от английского слова random, означающего случайный или выбранный наугад. Поэтому датчики случайных чисел иногда называют рандомизаторами.
Датчики случайных чисел обычно генерируют последовательность действительных чисел Un, равномерно распределенных между нулем и единицей, т.е. последовательность случайных дробей в интервале [0,1]. Но вначале датчики генерируют последовательность целых случайных чисел xi в интервале от нуля до m, где m – размер машинного слова (на единицу меньше максимального целого числа, размещающегося в машинном слове).
Как уже говорилось, для 32-х разрядного машинного слова:
m = 231 = 2147483648;
1/m = 0.4656613 E-9.
Приведем датчик равномерно распределенных случайных чисел RANDU.
Этот датчик специально предназначен для системы IBM и образует 229 значений перед началом повторений, т.е. длина цикла равна 229 (при 32-х разрядном машинном слове). Алгоритм датчика реализует метод остатка степеней (рис. 8.1).
Назначение датчика RANDU:
Вычисление равномерно распределенных случайных действительных чисел YF в интервале [0,1] и случайных целых чисел IY в интервале [0,231]. В качестве входа служит целое случайное число IX, на выходе образуется новое целое число IY и вещественное YF.
Обращение к датчику:
RANDU (IX,IY,YF).
Описание параметров:
IX – при первом обращении – нечетное целое число с числом цифр $$\le 9$$.
После первого обращения IX=IY, где IY – целое число, вычисленное при предыдущем обращении.
IY – полученное в результате целое случайное число, требуемое при последующих обращениях. IY находится в интервале [0, 231].
YF – полученное в результате равномерно распределенное [0,1], представленное в форме с плавающей запятой.
(рис 8.1) Алгоритм датчика RANDU
Используя датчик RANDU, построим алгоритм вычисления последовательности равномерно распределенных случайных чисел и ее печать (рис. 8.2).
(рис 8.2)
Алгоритм вычисления последовательности равномерно распределенных случайных чисел.
Исходные данные:
N - длина последовательности (количество испытаний).
IX - начальное значение, нечетное целое число с числом цифр <9.
Например: IX = 1234567.
Различные начальные значения параметра IX позволяют формировать различные последовательности равномерно распределенных псевдослучайных чисел.
Для генерирования равномерно распределенных случайных чисел на отрезке [0,1] используется отделение дробной части от сложного арифметического выражения, содержащего предшествующее число.
Vi+1 =FRAC(k Vi)
FRAC – оператор выделения дробной части,
Vi - предшествующее случайное число,
Vi+1 - последующее случайное число,
k-8t = 3,
t - нечетное целое число.
Задание различных начальных значений V0 позволяет формировать различные последовательности случайных чисел.
Количество случайных чисел в одном периоде от нескольких тысяч до сотен тысяч.
Для перевода равномерно распределенных случайных чисел из отрезка [0,1] в отрезок [а,b] можно использовать:
xi+1= a + (b-a)Vi+1.
Задачу моделирования случайных величин с
[0,1].М(X) = 0. $$\sigma =1$$ ).Пусть Y – равномерно распределенная случайная величина на интервале, [0,1]. Необходимо получить случайную величину X c
Различают три основных способа формирования последовательности
y являющегося реализацией случайной величины Y, равномерно распределенной на интервале [0,1], с помощью некоторой функции W в число x, которое может рассматриваться как реализация случайной величины X, имеющей нормальный закон распределения.Y равномерно распределенной на интервале [0,1], таким образом, чтобы оставшиеся числа были распределены по нормальному закону.Рассмотрим некоторые методы моделирования
x1 и x2 со средним значением, равным нулю, и y1 и y2.
Алгоритм метода:
y1 и y2, равномерно распределенных в интервале [0,1].Теперь величины V1 и V2 равномерно распределены в интервале [-1;+1] и их удобно представить в форме с плавающей запятой.
x1 и x2:$$x_1=V_1 \cdot \sqrt{\frac {-2 \cdot ln S}{S},$$
$$x_2=V_2 \cdot \sqrt{\frac {-2 \cdot ln S}{S}.$$
Полученные величины x1 и x2 – это требующиеся значения
V1 и V2. С помощью шагов 1 и 2 метода мы получаем на плоскости равномерно распределенные случайные точки с декартовыми координатами (V1,V2) и полярными координатами $$V_1=R \cdot \cos \theta, V_2=R \cdot \sin \theta$$, где R2=S. Далее, с помощью шагов 3 и 4 метода, мы из этих случайных точек оставляем только те точки, которые находятся внутри единичного круга.
При этом попадание точек внутрь единичного круга подчиняется закону
Переходя к полярным координатам точек, которые равномерно распределены внутри единичного круга имеем
$$x_1= \sqrt{-2 \cdot \ln y_1} \cdot \cos(2\pi \cdot y_1),\\ x_2= \sqrt{-2 \cdot \ln y_2} \cdot \cos(2\pi \cdot y_2).$$Этот метод моделирования относится к третьему способу получения последовательности чисел с
Согласно центральной предельной теореме, при сложении достаточно большого количества независимых случайных величин с произвольным законом распределения получается случайная величина, распределенная по нормальному закону. Опыт показывает, что при сложении всего шести (k=6) случайных величин равномерно распределенных на интервале [0,1], получается случайная величина, которая с точностью, достаточной для большинства прикладных задач, может считаться нормальной.
Рассмотрим метод аппроксимации Х, основанный на использовании двенадцати (k=12) равномерно распределенных случайных величин.
Алгоритм метода:
yi.T с М(Т)=0 и $$\sigma =1$$, где Т – нормально распределенная случайная величина.Нормально распределенная случайная величина X с требуемыми значениями математического ожидания и
Пусть$$Z=\sum_{i=n}^{12}y_i,$$
где yi – независимые равномерно распределенные на интервале [0,1] случайные величины.
Ранее было показано, что математическое ожидание и дисперсия равномерно распределенной на интервале [0,1] случайной величины Y соответственно равны:
Тогда математическое ожидание суммы Z равно:
а ее дисперсия D(Z) равна:
Пронормируем сумму Z, т.е. перейдем от нее к величине:
Переходя к требуемым математическому ожиданию a и среднеквадратичному отклонению $$\sigma$$, окончательно имеем:
Таким образом, чтобы определить значение
Чтобы определить значение
Теперь перейдем к генерированию последовательности
Рассмотрим датчик
Алгоритм датчика (рис. 8.3) реализует RANDU для вычисления равномерно распределенных случайных чисел.
Назначение датчика :
Вычисление нормально распределенного X с заданным математическим ожиданием AM и S.
Обращение к датчику: ,
Описание параметров:
IX – параметр необходимый для обращения к RANDU. При первом обращении, IX – целое число с числом цифр $$\le 9$$. После первого обращения IX=IY, где IY – целое равномерно распределенное случайное число, вычисленное с помощью равномерно распределенных случайных чисел RANDU.
S – требуемое среднеквадратичное отклонение
AM – требуемое математическое ожидание
X – значение вычисленной
Требуемые подпрограммы:
RANDU – датчик равномерно распределенных случайных чисел.
Обращение к RANDU:
RANDU (IX,IY,YF),
где
YF – полученное в результате обращения случайное равномерно распределенное число в интервале [0,1] и представленное в форме с плавающей запятой.
(рис 8.3) Алгоритм датчика GAUSS
Используя датчик , построим алгоритм (рис. 8.4) вычисления последовательности X с требуемым математическим ожиданием AM и S.
(рис 8.4) Алгоритм вычисления последовательности нормально распределенных случайных чисел
Исходные данные:
N - длина последовательности
IX - начальное значение, нечетное целое число с числом цифр $$\le 9$$.
S, AM – характеристики
Результат:
X – значение
Используя различные начальные значения параметра IX, можно формировать различные последовательности нормального распределенных псевдослучайных чисел.
В стандартном математическом и программном обеспечении различных типов ЭВМ имеются специальные процедуры и подпрограммы для
В настоящее время все языки высокого уровня имеют программные генераторы равномерно распределенных последовательностей псевдослучайных чисел. Их называют датчиками случайных чисел. Датчики случайных чисел, как правило имеют имена: RAN, RAND, RANDU, и т.д. Эти имена получены от английского слова random, означающего случайный или выбранный наугад. Поэтому датчики случайных чисел иногда называют рандомизаторами.
Датчики случайных чисел обычно генерируют последовательность действительных чисел Un, равномерно распределенных между нулем и единицей, т.е. последовательность случайных дробей в интервале [0,1]. Но вначале датчики генерируют последовательность целых случайных чисел xi в интервале от нуля до m, где m – размер машинного слова (на единицу меньше максимального целого числа, размещающегося в машинном слове).
Как уже говорилось, для 32-х разрядного машинного слова:
m = 231 = 2147483648;
1/m = 0.4656613 E-9.
Приведем датчик равномерно распределенных случайных чисел RANDU.
Этот датчик специально предназначен для системы IBM и образует 229 значений перед началом повторений, т.е. длина цикла равна 229 (при 32-х разрядном машинном слове). Алгоритм датчика реализует метод остатка степеней (рис. 8.1).
Назначение датчика RANDU:
Вычисление равномерно распределенных случайных действительных чисел YF в интервале [0,1] и случайных целых чисел IY в интервале [0,231]. В качестве входа служит целое случайное число IX, на выходе образуется новое целое число IY и вещественное YF.
Обращение к датчику:
RANDU (IX,IY,YF).
Описание параметров:
IX – при первом обращении – нечетное целое число с числом цифр $$\le 9$$.
После первого обращения IX=IY, где IY – целое число, вычисленное при предыдущем обращении.
IY – полученное в результате целое случайное число, требуемое при последующих обращениях. IY находится в интервале [0, 231].
YF – полученное в результате равномерно распределенное [0,1], представленное в форме с плавающей запятой.
(рис 8.1) Алгоритм датчика RANDU
Используя датчик RANDU, построим алгоритм вычисления последовательности равномерно распределенных случайных чисел и ее печать (рис. 8.2).
(рис 8.2)
Алгоритм вычисления последовательности равномерно распределенных случайных чисел.
Исходные данные:
N - длина последовательности (количество испытаний).
IX - начальное значение, нечетное целое число с числом цифр <9.
Например: IX = 1234567.
Различные начальные значения параметра IX позволяют формировать различные последовательности равномерно распределенных псевдослучайных чисел.
Для генерирования равномерно распределенных случайных чисел на отрезке [0,1] используется отделение дробной части от сложного арифметического выражения, содержащего предшествующее число.
Vi+1 =FRAC(k Vi)
FRAC – оператор выделения дробной части,
Vi - предшествующее случайное число,
Vi+1 - последующее случайное число,
k-8t = 3,
t - нечетное целое число.
Задание различных начальных значений V0 позволяет формировать различные последовательности случайных чисел.
Количество случайных чисел в одном периоде от нескольких тысяч до сотен тысяч.
Для перевода равномерно распределенных случайных чисел из отрезка [0,1] в отрезок [а,b] можно использовать:
xi+1= a + (b-a)Vi+1.
Задачу моделирования случайных величин с
[0,1].М(X) = 0. $$\sigma =1$$ ).Пусть Y – равномерно распределенная случайная величина на интервале, [0,1]. Необходимо получить случайную величину X c
Различают три основных способа формирования последовательности
y являющегося реализацией случайной величины Y, равномерно распределенной на интервале [0,1], с помощью некоторой функции W в число x, которое может рассматриваться как реализация случайной величины X, имеющей нормальный закон распределения.Y равномерно распределенной на интервале [0,1], таким образом, чтобы оставшиеся числа были распределены по нормальному закону.Рассмотрим некоторые методы моделирования
x1 и x2 со средним значением, равным нулю, и y1 и y2.
Алгоритм метода:
y1 и y2, равномерно распределенных в интервале [0,1].Теперь величины V1 и V2 равномерно распределены в интервале [-1;+1] и их удобно представить в форме с плавающей запятой.
x1 и x2:$$x_1=V_1 \cdot \sqrt{\frac {-2 \cdot ln S}{S},$$
$$x_2=V_2 \cdot \sqrt{\frac {-2 \cdot ln S}{S}.$$
Полученные величины x1 и x2 – это требующиеся значения
V1 и V2. С помощью шагов 1 и 2 метода мы получаем на плоскости равномерно распределенные случайные точки с декартовыми координатами (V1,V2) и полярными координатами $$V_1=R \cdot \cos \theta, V_2=R \cdot \sin \theta$$, где R2=S. Далее, с помощью шагов 3 и 4 метода, мы из этих случайных точек оставляем только те точки, которые находятся внутри единичного круга.
При этом попадание точек внутрь единичного круга подчиняется закону
Переходя к полярным координатам точек, которые равномерно распределены внутри единичного круга имеем
$$x_1= \sqrt{-2 \cdot \ln y_1} \cdot \cos(2\pi \cdot y_1),\\ x_2= \sqrt{-2 \cdot \ln y_2} \cdot \cos(2\pi \cdot y_2).$$Этот метод моделирования относится к третьему способу получения последовательности чисел с
Согласно центральной предельной теореме, при сложении достаточно большого количества независимых случайных величин с произвольным законом распределения получается случайная величина, распределенная по нормальному закону. Опыт показывает, что при сложении всего шести (k=6) случайных величин равномерно распределенных на интервале [0,1], получается случайная величина, которая с точностью, достаточной для большинства прикладных задач, может считаться нормальной.
Рассмотрим метод аппроксимации Х, основанный на использовании двенадцати (k=12) равномерно распределенных случайных величин.
Алгоритм метода:
yi.T с М(Т)=0 и $$\sigma =1$$, где Т – нормально распределенная случайная величина.Нормально распределенная случайная величина X с требуемыми значениями математического ожидания и
Пусть$$Z=\sum_{i=n}^{12}y_i,$$
где yi – независимые равномерно распределенные на интервале [0,1] случайные величины.
Ранее было показано, что математическое ожидание и дисперсия равномерно распределенной на интервале [0,1] случайной величины Y соответственно равны:
Тогда математическое ожидание суммы Z равно:
а ее дисперсия D(Z) равна:
Пронормируем сумму Z, т.е. перейдем от нее к величине:
Переходя к требуемым математическому ожиданию a и среднеквадратичному отклонению $$\sigma$$, окончательно имеем:
Таким образом, чтобы определить значение
Чтобы определить значение
Теперь перейдем к генерированию последовательности
Рассмотрим датчик
Алгоритм датчика (рис. 8.3) реализует RANDU для вычисления равномерно распределенных случайных чисел.
Назначение датчика :
Вычисление нормально распределенного X с заданным математическим ожиданием AM и S.
Обращение к датчику: ,
Описание параметров:
IX – параметр необходимый для обращения к RANDU. При первом обращении, IX – целое число с числом цифр $$\le 9$$. После первого обращения IX=IY, где IY – целое равномерно распределенное случайное число, вычисленное с помощью равномерно распределенных случайных чисел RANDU.
S – требуемое среднеквадратичное отклонение
AM – требуемое математическое ожидание
X – значение вычисленной
Требуемые подпрограммы:
RANDU – датчик равномерно распределенных случайных чисел.
Обращение к RANDU:
RANDU (IX,IY,YF),
где
YF – полученное в результате обращения случайное равномерно распределенное число в интервале [0,1] и представленное в форме с плавающей запятой.
(рис 8.3) Алгоритм датчика GAUSS
Используя датчик , построим алгоритм (рис. 8.4) вычисления последовательности X с требуемым математическим ожиданием AM и S.
(рис 8.4) Алгоритм вычисления последовательности нормально распределенных случайных чисел
Исходные данные:
N - длина последовательности
IX - начальное значение, нечетное целое число с числом цифр $$\le 9$$.
S, AM – характеристики
Результат:
X – значение
Используя различные начальные значения параметра IX, можно формировать различные последовательности нормального распределенных псевдослучайных чисел.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.