Главная » Просмотр файлов » 6Simulation systems Лекция 20 Случайные числа

6Simulation systems Лекция 20 Случайные числа (1014328), страница 2

Файл №1014328 6Simulation systems Лекция 20 Случайные числа (Материалы к лекциям) 2 страница6Simulation systems Лекция 20 Случайные числа (1014328) страница 22017-06-17СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

аXi=qm+ Xi+1 0 Xi+1 m-1 (a)

3) так как Xi+1 - число между 0 и m, то нужно его еще разделить на m, чтобы получить число между 0 и 1:

ri+1=Xi+1/ m (б)

Соотношение (а) записывается обычно в виде:

Xi+1= аXi(mod m) (в)

При этом говорят, что числа аXi и Xi+1 сравнимы по модулю m, т.е. они являются равноотстоящими при делении на m.

Формулу (в) называют сравнением по модулю, а остаток Xi+1 - наименьшим положительным вычетом по модулю m.

Этим объясняются оба названия алгоритма - метод мультипликативного сравнения или метод вычетов.

Положим, что а=7, m=5 и в качестве исходного числа выбрано значение Xo=3.

Получение равномерно распределенной последовательности можно представить в следующем виде:

i

Xi

аХi

Xi+1

ri+1

0

3

21

1

0,2

1

1

7

2

0,4

2

2

14

4

0,8

3

4

28

3

0,6

4

3

21

1

0,2

...

...

...

...

...

...

...

...

...

...

Начиная с i=4 числа повторяются, т.к. Х4 = Хо. Итак, должно быть задано какое-то исходное число Хо, чтобы можно было выполнить рекурсию. Это число однозначно определяет всю последовательность случайных чисел, так как речь идет о детерминированном способе вычислений. По этой причине число Хо называют также начальным или “зародышем” последовательности случайных чисел. Как видно из примера, нельзя считать, что любой произвольный выбор исходного числа Хо, коэффициента а и модуля m даст по методу мультипликативного сравнения числовую последовательность, которая могла бы рассматриваться как случайная.

Последовательности случайных чисел, полученные методом мультипликативного сравнения, периодически повторяются. Это связано с тем, что числа Хi могут принимать только значения 0,1,2,..., m-1.

Итак, самое большее через m-1 шагов уже один раз полученное число должно появиться опять, а за ним повторяется и вся последовательность. Таким образом, длина периода при модуле m не может превышать m-1.

В приведенном примере длина периода составляет m-1=4.Нетрудно убедиться, что она может быть и меньше m-1, например, если выбрать а=9, m=5, Хо=1.

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

Пусть а=6, m=8, Хо=3, тогда

i

Xi

аХi

Xi+1

ri+1

0

3

18

2

0,25

1

2

12

4

0,5

2

4

24

0

0

3

0

0

0

0

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

Иногда используют комбинации генераторов случайных чисел, надеясь на получение “еще более случайных последовательностей”, чем исходные. Во всяком случае можно добиться увеличения длины периода.

Рассмотрим способ, состоящий из двух этапов:

а) получение последовательности случайных чисел с помощью любого физического генератора;

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

Сущность этого способа заключается в том, что вначале получают две последовательности случайных чисел, одну - длиной n1, другую - длиной n2 в двоичной либо десятичной системе счисления. Из каждой образуют две бесконечные периодические последовательности:

первая - с периодом U1 элементов, вторая - с периодом из U2 элементов. Обозначим через аij - j-ый член (j=1,2,3...) i-ой последовательности (i=1,2) и через bj - j-ый член новой последовательности, образующейся по формуле: bj=(a1 j+a2 j)(mod m)

Положим m=10, n1=3, n2=4. Пусть с помощью рулетки или любого другого физического датчика получены последовательности (5,3,2) и (1,6,2,8) По приведенной формуле получим:

а1j 5 3 2 5 3 2 5 3 2 5 3 2 5 3 2 .......

а2j 1 6 2 8 1 6 2 8 1 6 2 8 1 6 2 8 .......

b j 6 9 4 3 4 8 7 1 3 1 5 0 6 9 4 ...

Если первоначальные последовательности 1 j } j=1,...,n1 и {а2 j } j=1,..., n2 не периодические, а n1 и n2 - простые числа, т.е. их наибольший общий делитель равен 1, то результирующая последовательность bj} - периодическая с периодом n1n2 . Эту процедуру можно обобщить путем увеличения числа первоначальных последовательностей. Пусть число этих последовательностей r и n1 , n2 , ..., nr - количество цифр в этих последовательностях.

Предположим, что числа n1 , n2 , ..., nr - простые, и ни одна из первоначальных последовательностей не является периодической. Тогда последовательность bj=

является периодической с периодом n1 , n2 , ...,nr .

При моделировании процессов желательно, чтобы длина периода была больше используемого ряда чисел. Как видно из примеров, для достижения нужной длины периода важен не только модуль m, но также множитель а и начальное число Хо.

Подбор этих чисел осуществляется с помощью теоретико-числовых приемов (Кнут Д. Искусство программирования для ЭВМ т.2 - М: Мир, 1977).

В условиях ограниченной памяти ЭВМ иногда следует выбирать модуль m = 215. В результате максимальная длина периода 213=8192.

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

Модуль m может быть выбран достаточно большим. Длина слова компьютера определяет наибольшее целое число. При длине слова “b” бит один бит закрепляется за целым числом так, что наибольшее предлагаемое число равно 2b-1. Наибольший возможный модуль таким образом, m = 2b-1.

При использовании пакета прикладных программ SSP в подпрограмме RAND выбирается m = 231 при длине слова 32 байта.

Если модуль имеет вид 2S, то в теории чисел доказывается, что максимально возможная длина периода последовательности чисел равна

2S-2. При этом, если множитель а отличается на 3 или 5 от числа кратного 8, и начальное число Хо является нечетным, то период вырабатываемой последовательности достигает длины 2S-2.

Ниже приводятся процедуры мультипликативного метода (метода вычетов) для получения псевдослучайных чисел.

an+1={Man} ao=2-m

где М - достаточно большое число, фигурные скобки означают дробную часть, m - число двоичных разрядов в мантиссе ячейки ЭВМ

1. Процедура RAND на фортране (среднее) время получения одного числа на ЕС-1033 - 100 мкс).

FUNCTION RAND (IN)

IN=IN*331804469 (=331804464+5)

IF(IN)1,1,2

1 IN=IN+2147483647+1 (2147483647 = 231)

2 RAND=IN  0.465661 E-09 (0.465661 E-09 = 1 / 231)

RETURN

END

2. Процедура получения псевдослучайных чисел на языке PL-1.

Обращение к процедуре в программе U=RAND(IN) описано как BIN FIXED (31). Перед первым обращением IN присваивается некоторое целое значение, сравнимое с 1 по mod 4. Среднее время на 1 число - 2500 мкс (ЕС-1033).

RAND: PROC(IN) RETURNS (BIN FLOAT)

DCL IN BIN FIXED(31)

DCL FLTBIN FLOAT INIT(0,46566129E-9) STATIC;

DCL MULT BIN FIXED(31) INIT(331804469)STATIC;

(NOFOFL): IN=MULT-IN

RETURN (IN  FLT);

END RUND;

(С.М.Ефремов, Г.А.Михайлов “Статистическое моделирование” М.Наука, 1982).

9.4.2 Получение случайных чисел с заданным законом распределения



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

Такими вероятностными объектами, в первую очередь, являются:

а) случайные события, наступающие с заданной вероятностью,

б) случайные величины с заданным законом распределения Рi=Pi(x) и некоторые виды случайных векторов и процессов.

Рассмотрим, как можно моделировать с помощью равномерно распределенных случайных чисел случайные события, наступающие с заданной вероятностью. Эту процедуру называют еще “реализацией жребия”. Пусть событие А наступает с вероятностью Р, тогда процедура моделирования этого события с помощью равномерно распределенных в интервале (0,1) случайных чисел выглядит следующим образом:

Характеристики

Тип файла
Документ
Размер
277,9 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6480
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее