Разыгрывание непрерывной случайной величины

advertisement
УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ - УПИ
ИННОВАЦИОННАЯ ОБРАЗОВАТЕЛЬНАЯ
ПРОГРАММА
Компьютерное моделирование
процессов массопереноса в
реакторных материалах
ЛЕКЦИЯ 15
«Применение метода Монте – Карло»
Лектор: Купряжкин Анатолий Яковлевич
Авторы курса: А.Я. Купряжкин, К.А. Некрасов
Цель лекции:
 Освоение метода Монте –
Карло для моделирования
физических процессов в
реакторных материалах
3
ПЛАН ЛЕКЦИИ:
 Схема метода Монте – Карло.
 Получение случайный величин на ЭВМ:
 Таблица случайных чисел.
 Генераторы случайных чисел.
 Псевдослучайные числа.
4
ПЛАН ЛЕКЦИИ:
 Преобразование случайных величин.
 Разыгрывание дискретной случайной
величины.
 Разыгрывание непрерывной случайной
величины.
 Метод Неймана разыгрывания
случайной величины.
 Разыгрывание нормальных величин.
5
Схема метода Монте – Карло
Рассмотрим следующую задачу.
Пусть требуется вычислить какую-то
неизвестную величину m. Для этого:
1. Придумаем такую случайную величину  ,
чтобы ее математическое ожидание было равно m
M      m ,
а дисперсия
 2    b 2 .
.
6
Схема метода Монте – Карло
2. Найдем N независимых случайных величин
1 ,  2 , ...,  N , распределения которых совпадают с
распределением  . Если N достаточно велико, то,
согласно
центральной
предельной
теореме,
распределение суммы
 N  1   2  ...   N 
N
j
j 1
будет приблизительно нормальным с параметрами
a  Nm ,   b N .
Из правила 3 следует, что
W
 Nm  3b N      Nm  3b N   0,997 .
N
7
Схема метода Монте – Карло
Преобразуем последнее неравенство

3b   N 
3b  
W  m 
  N  m 
   0,997 ,
N
N 


 1 N
3b 
или
W  j m 
  0,997 .
N 
 N j 1
Последнее соотношение в общем случае дает
как метод расчета m, так и оценку погрешности.
Таким образом, для решения поставленной
задачи необходимо найти N значений случайной
величины  .
8
Схема метода Монте – Карло
В данной ситуации все равно, находить ли один
раз по одному значению каждой из величин
1 ,  2 , ...,  N или найти все N значений величины  , так
как все эти случайные величины имеют одно и то же
распределение и предполагаются независимыми.
Из выражения для дисперсии видно, что среднее
арифметическое этих значений будет приближенно
равно m. С большой вероятностью погрешность этого
приближения не превосходит величины 3b
,
N
которая стремится к нулю с ростом N.
9
Схема метода Монте – Карло
На практике, как правило, ориентируются не
на оценку сверху 3b
, а на вероятную ошибку,
N
которая приближенно равна
b
rN  0,6745
N
и отражает каким обычно бывает
фактической погрешности расчета.
порядок
10
Получение случайных величин на ЭВМ
Обычно принято выделять
получения случайных величин:
 таблицы случайных чисел,
 генераторы случайных чисел,
 метод псевдослучайных чисел.
три
способа
11
Таблицы случайных чисел
Проведем эксперимент. Напишем на десяти
одинаковых бумажках цифры от нуля до девяти:
0, 1, 2, …, 9. Положим эти бумажки в какой-либо
непрозрачный сосуд, перемешаем, и будем
извлекать оттуда по одной бумажке, каждый раз
возвращая ее назад и снова перемешивая все
бумажки. Полученные таким образом цифры
запишем в виде таблицы, объединяя для удобства,
в группы по пять штук:
12
Таблица случайных чисел
 86515 90795 ..... ..... ..... 57802 
69186 03393 ..... ..... .....

.....


41686
.....
..... ..... .....
..... 


.....
.....
.....
.....
.....
.....


 .....
.....
..... ..... .....
..... 


 84754 57616 ..... ..... ..... 42903 
13
Таблицы случайных чисел
Можно ввести эту таблицу в память ЭВМ. Затем,
когда нам понадобится значение случайной величины,
можно запрашивать из таблиц очередную цифру. Данные
случайные
величины
будут
характеризоваться
распределением
1
2
... 9 
 0

.
 0,1 0,1 0,1 0,1 0,1 
Самая большая из опубликованных таблиц
случайных чисел содержит один миллион цифр. Она
составлялась с помощью специальной электронной
рулетки. Вращающийся диск резко останавливается, и
выбирается та цифра, на которую указывает неподвижная
стрелка (см. рисунок).
14
Рулетка для получения случайных чисел
0
9
1
8
2
7
3
6
5
4
15
Таблицы случайных чисел
Любой реальный физический прибор
вырабатывает
случайные
величины
с
распределением, несколько отличающимся от
идеального. К тому же в ходе опытов возможны
ошибки, например в рассматриваемом случае, одна
из бумажек на некоторое время может пристать к
стенке сосуда.
Поэтому
составленные
таблицы
проверяются
с
помощью
специальных
статистических тестов: не противоречат ли те или
иные свойства группы чисел гипотезе о том, что
эти числа – значения случайной величины.
16
Таблицы случайных чисел
Суть тестов можно пояснить на примере.
Пусть
имеется
таблица
 1 ,  2 , ...,  N ,
содержащая N цифр, а число нулей равно  0 , число
единиц –  1 и так далее. Вычисляют сумму
2
1 

  i  10 N  .

i 0 
Теория вероятностей позволяет предсказать, в
каких пределах может лежать эта сумма: она не
может
быть
слишком
большой,
так
как
математическое ожидание каждого из  i равно N ,
10
но не должно быть и слишком мало, так как это
означало бы слишком закономерное распределение
17
значений.
9
Таблицы случайных чисел
«Слишком равномерно распределенные» значения
позволяют быстрее решать некоторые задачи частного
вида. Однако в качестве случайных чисел они не годятся.
Пусть таблица содержит четное число N  2N 
цифр.
Рассмотрим
пары
цифр
  1 , 2  ,  3 , 4  , ...,  N 1 , N  (всего N  цифр). Обозначим
через  ij количество пар  i, j  в этом ряду. Сосчитав все
 ij , вычислим сумму
2
1



  i, j  100 N  .

i, j 0 
9
Теория вероятностей позволяет предсказать, в каких
18
пределах должна находиться эта сумма.
Генераторы случайных чисел
В качестве генераторов случайных чисел
чаще используют шумы электронных ламп
(транзисторов).
Допустим,
если
за
некоторый
фиксированный промежуток времени t уровень
шума превысил заданный порог четное число раз, то
записывается ноль, нечетное – единица (см.
рисунок).
19
Принцип работы генератора случайных чисел
на основе транзистора
E
E0
t
t
t
t
20
Генераторы случайных чисел
Пусть m генераторов такого типа работают
параллельно всё время и посылают случайные нули
и единицы во все двоичные разряды специальной
ячейки. Каждый такт – одно m -разрядное число. В
любой момент счета можно обратиться к этой
ячейке и взять оттуда значение случайной величины
 , равномерно распределенной в интервале  0;1 .
Это значение приближенное, записанное в форме
m -разрядной двоичной дроби 0,  1 ,  2 , ...,  m , где
каждая из величин  i имитирует случайную
величину с распределением
1 
 0
1
.
1


21
 2
2
Генераторы случайных чисел
Рассмотренный метод не свободен от
недостатков:
 трудно проверить «качество» вырабатываемых чисел,
проверки приходится делать периодически с целью
исключения дрейфа;
 все расчеты на ЭВМ проводятся дважды, но
воспроизвести случайные числа невозможно, поэтому
их нужно запоминать. А это снова таблицы.
22
Псевдослучайные числа
Числа, полученные по какой-либо формуле и
имитирующие значения случайной величины  ,
называются псевдослучайными числами. Такие числа
должны удовлетворять ряду тестов так, как если бы
они были значениями этой случайной величины.
Первый алгоритм получения псевдослучайных
чисел, называемый методом середины квадратов, был
предложен Дж. Нейманом. Его суть в следующем.
23
Псевдослучайные числа
1. Пусть задано четырехзначное число
 0  0,9876 ;
2. Возведем
его
восьмизначное число
в
квадрат.
Получим
 02  0,97535376 ;
3. Выберем четыре средние цифры этого числа
и положим
 1  0,5353 ;
24
Псевдослучайные числа
4. Возведем его в квадрат, снова получим
восьмизначное число
 12  0,286546 091 ;
5. Вновь выберем четыре средние цифры этого
числа и положим
 2  0,6546 ;
6. Опять возведем получившееся число в квадрат,
получим
 22  0,42850116 ;
7. И так далее.
25
Псевдослучайные числа
Тем не менее, этот алгоритм не зарекомендовал
себя с лучшей стороны, так как получалось больше чем
нужно малых значений. Среди других предложенных
алгоритмов наибольшее распространение получил
алгоритм, называемый методом сравнений, который
будет рассмотрен далее.
26
Достоинства метода псевдослучайных чисел
1. На получение каждого числа затрачивается
всего несколько простых операций, поэтому
скорость генерации чисел имеет тот же порядок, что
и скорость работы ЭВМ.
2. Программа занимает всего несколько ячеек
памяти.
3. Любое из чисел  k легко воспроизводится.
4. «Качество» полученной последовательности
следует проверить всего один раз. Затем ее можно
использовать многократно при расчете однотипных
задач.
27
Недостаток метода псевдослучайных чисел
Ограниченность количества псевдослучайных
чисел, так как если последовательность чисел
 1 ,  2 , ...,  k , ... вычисляется на ЭВМ по формуле вида
 k 1  F  k  ,
то эта последовательность обязательно периодическая, но
для наиболее распространенных псевдослучайных чисел
период столь велик, что превосходит любые практические
потребности.
28
Вывод по разделу
Подавляющее большинство расчетов по методу
Монте – Карло осуществляется с использованием
псевдослучайных чисел.
29
Преобразования случайных величин
Для
различных
задач
приходится
моделировать различные случайные величины. На
ранних этапах использования метода Монте –
Карло некоторые вычислители пытались для
нахождения каждой случайной величины строить
свою рулетку, например, чтобы находить значение
случайной величины с распределением
x2
x3
x4 
 x1
 0,5 0,25 0,125 0,125 


можно использовать рулетку с неравномерными
делениями, пропорциональными wi (см. рисунок).30
Рулетка с неравномерными делениями
x4 x3
x2
x1
31
Преобразования случайных величин
Однако, это также не очень нужно, так как
значения любой случайной величины можно получить
путем преобразования значений одной «стандартной»
величины. Обычно роль такой «стандартной» величины
играет
случайная
величина
равномерно
,
распределенная в интервале  0;1 .
Процесс нахождения значения какой-либо
случайной величины  путем преобразования одного или
нескольких значений  будем называть разыгрыванием
случайной величины  .
32
Разыгрывание дискретной
случайной величины
Пусть необходимо получать значения случайной
величины  с распределением

 x1
w
 1
x2
w2
... xn 
,

... wn 
то есть необходимо найти xi для известных wi .
Пусть интервал 0  y  1 разбит на n интервалов,
длины которых равны w1 , w2 , ..., wn .
33
Разыгрывание дискретной
случайной величины
Координатами точек деления будут
y  w1;
y  w1  w2 ;
y  w1  w2  w3 ;
...................;
y  w1  w2  ...  wn 1 .
Полученные интервалы занумеруем числами 1, 2, ..., n  i 
y
(см. рисунок).
1
.......... n
...
w1  w2  w3
3
w1  w2
w1 2
1
0
34
Разыгрывание дискретной
случайной величины
Этого достаточно для розыгрыша  . Когда необходимо
поставить опыт и разыграть значение  , будем выбирать
значение случайной величины  , равномерно распределенной
в интервале  0;1 , и строить точку y   . Если эта точка
попадет в интервал с номером i, то будем считать, что
  xi .
Законность такой процедуры доказывается следующим
образом.
Поскольку случайная величина 
равномерно
распределена в интервале  0;1 , то вероятность того, что 
окажется в некотором интервале, равна длине интервала
W 0    w1  w1 ,
W w1    w1  w2   w2 ,
.................. .
35
Разыгрывание дискретной
случайной величины
Согласно изложенной процедуре   xi тогда, когда
w1  w2  ...  wi 1    w1  w2  ...  wi .
На ЭВМ обходятся и без рисунка. Необходимо для
этого расположить числа x1 , x2 , ..., xn в ячейках накопителя
подряд и вероятности w1 , w1  w2 , w1  w2  w3 , … тоже
подряд.
Порядок нумерации значений x1 , x2 , ..., xn в
распределении  может быть произвольным, но он должен
быть зафиксирован до начала розыгрыша.
Если все значения  равновероятны

 x1
1

 n
x2
1
n
x3 ... xn 
,
1
1

...
n
n
то алгоритм разыгрывания можно упростить.
36
Разыгрывание дискретной
случайной величины
Согласно описанной процедуре   xi тогда, когда
i 1
i
  ,
n
n
откуда
i  1  n  i .
Последнее неравенство равносильно утверждению о том, что
целая часть n равна i  1 .
Обозначим через  Z  целую часть произвольного числа
Z и получим формулу для разыгрывания равновероятных
значений
  xi
i  1   n  .
37
Пример
Разыграть десять значений случайной величины

 1

1
 6
2
3
4
5
1
1
1
1
6
6
6
6
6 
,
1 
6
для которой xi  i (1  i  6 ).
В качестве значений  выберем тройки цифр из
таблицы случайных чисел, умноженных на 0,001
  0,865; 0,159; 0,079; 0,566 ;
0,155; 0,664; 0,345; 0,655; 0,812; 0,332.
Соответствующие значения
xi  1  6    6 1 1 4 1 4 3 4 5 2  .
38
Разыгрывание непрерывной
случайной величины
Необходимо получать значения случайной
величины  , распределенной в интервале  a;b  с
плотностью вероятности w  x  .
Покажем, что значения  можно находить из
уравнения

 w  x  dx   .
a
Это означает, что, выбрав очередное значение  , нужно
решить последнее уравнение и найти соответствующее
значение  .
39
Разыгрывание непрерывной
случайной величины
Из свойств плотности вероятности следует, что
y  a   0,
y  b   1,
y  x   w  x   0.
Функция y  x  монотонно возрастает от 0 до 1 (см. рисунок).
Любая прямая y   , где 0    1 , пересекает график
y  y  x  в одной единственной точке, абсциссу которой и
принимают за  . Таким образом, исходное уравнение имеет
всегда только одно решение.
40
Монотонное возрастание функции
y
1

0
a

b
x
41
Разыгрывание непрерывной
случайной величины
Выберем произвольный интервал  a;b  ,
содержащийся внутри  a;b  (см. рисунок). Точкам
этого интервала a  x  b отвечают ординаты кривой
y  y  x  , удовлетворяющие неравенству
y  a   y  y  b  .
принадлежит
Таким образом, если 
принадлежит
то
a  x  b ,
интервалу

y  a   y  y  b  и наоборот. Следовательно,
W a    b  W  y  a     y  b  .
42
Принцип выбора произвольного
интервала внутри заданного
y
1
y b 
y  a 
a
a
b
b
x
43
Разыгрывание непрерывной
случайной величины
Так как  равномерно распределена в интервале  0;1 , то
b
W  y  a     y  b   y  b   y  a    w  x  dx .
a
Откуда
b
W a    b   w  x  dx .
a
Это означает, что случайная величина  , являющаяся

корнем
уравнения
вероятностей w  x  .
 w  x  dx   ,
имеет
плотность
a
44
Разыгрывание непрерывной
случайной величины
Случайная величина  называется равномерно
распределенной в интервале  a;b  , если ее плотность
постоянна в этом интервале и имеет вид
1
w x  
,
ba
где a  x  b .
Составим уравнение для разыгрывания 

dx
ba  .
a
Преобразуя левую часть, запишем
 a
ba
  a   b  a 
  . Откуда
45
Разыгрывание непрерывной
случайной величины с
помощью метода Неймана
В некоторых случаях разрешить уравнение

 w  x  dx  
a
относительно  сложно, например,
когда интеграл от w  x  не выражается через
элементарные функции или когда плотность
вероятности задана графически.
Пусть имеется случайная величина  ,
определенная на конечном интервале  a;b  , при
этом плотность ее ограничена (см. рисунок).
46
Графическое представление
ограниченной плотности вероятности
y
M0
 
Г
a

b
x
47
Разыгрывание непрерывной случайной
величины с помощью метода Неймана
Рассмотрим один из вариантов розыгрыша
 , заключающийся в следующем:
1. Выбираем два значения случайной величины
  и   ;
2. Отмечаем случайную точку  , имеющую
координаты
  a   b  a ;
    M 0 .
3. Если точка  лежит под кривой y  w  x  ,
то принимаем, что     , если точка расположена
над кривой y  w  x  , то пару   ;   следует
отбросить и выбрать новую пару значений   ;   . 48
Разыгрывание непрерывной случайной
величины с помощью метода Неймана
Так как   равномерно распределена в интервале
 a;b  , то вероятность того, что точка  окажется в
полосе  x; x  dx  , пропорциональна dx .
Так как   равномерно распределена в интервале
0;M 0  , то вероятность того, что эта точка не будет
отброшена равна
w x  .
w x 
M0
и поэтому пропорциональна
Следовательно,
вероятность
того,
что
отобранное значение     окажется в интервале
 x; x  dx  , пропорциональна w  x  dx .
49
Разыгрывание нормальных величин
Описанные выше приемы не подходят для
нормальной случайной величины  , так как даже при
 t2 
2
exp   dt   в явном
a  0 ,   1 , уравнение

0
 2
виде неразрешимо. А интервал возможных значений
 бесконечен.
При расчетах вручную можно воспользоваться
таблицей,
где
приведены
значения
(уже
разыгранные)
случайной
величины

с
математическим ожиданием   0 и с дисперсией
 2    1 .
50
Разыгрывание нормальных величин
Нетрудно доказать, что случайная величина
   a  
будет также нормальной, причем
M       a ,
D     2     2 .
51
Выводы по лекции

Рассмотренная схема метода Монте – Карло
предоставляет широкие возможности для его
использования в моделировании физических
процессов, происходящих в реакторных
материалах.
52
Список литературы к лекции 15
•
•
Соболь И.М. Метод Монте – Карло. / И.М.
Соболь М.: Наука, 1985. 78 с.
Соболь И.М. Теория вероятностей и ее
применение, 1958. Т. 3, № 2, 205 с.
53
Спасибо за внимание!
54
Вопросы?
55
Download