1 / 33

Kazan University

Kazan University. 1804-2004. Вычислительная. ФИЗИКА. Ю.Н. Прошин кафедра теоретической физики Казанского федерального университета yurii.proshin@kpfu.ru 200 4-2013 , Казань. Методы Монте Карло. Одна из пяти областей Монако Основана в 1866 году принцем Чарльзом III

zinnia
Download Presentation

Kazan University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kazan University 1804-2004 Вычислительная ФИЗИКА Ю.Н. Прошинкафедра теоретической физикиКазанского федерального университетаyurii.proshin@kpfu.ru2004-2013, Казань

  2. Методы Монте Карло

  3. Одна из пяти областей Монако Основана в 1866 году принцем Чарльзом III Всемирно известные казино, роскошные отели, пляжи Монте Карло The Monte Carlo Grand Hotel

  4. Всемирно известные казино, роскошные отели, пляжи Монте Карло

  5. The casino at night. David Tomlinson - Lonely Planet Images

  6. Port de Monaco and Monte Carlo. Manfred Gottschalk - Lonely Planet Images

  7. Monte Carlo,Monaco-where the rich and famous people live

  8. Monte Carlo,Monaco-where the rich and famous people live

  9. Монте Карло – это множество статистических методов, используемых для решения физических и математических задач. В этих методах для моделирования используются последовательности случайных чисел. Методы Монте Карло наиболее удобны для моделирования случайных и вероятностных процессов. Методы Монте Карло

  10. Los Alamos National Laboratory Robert R. Wilson, Monte Carlo Study of Shower Production, Phys. Rev. 86, 261 (1952) C. L. Longmire and M. N. Rosenbluth, Diffusion of Charged Particles across a Magnetic Field, Phys. Rev. 103, 507 (1956) N. Metropolis et al., Monte Carlo Calculations on Intranuclear Cascades, Phys. Rev. 110, 185 (1958) Metropolis, Rosenbluth, Teller Монте Карло Методы Рождение

  11. Пример 1. Площадь пруда (интегрирование) Площадь пруда S ИнтегрированиеI y H H f(x3) f(x2) f(x4) f(x) f(x1) b a a x1 x3 x4 x2 x b S0 = (b – a)*H S = S0*nпопаданий/nполное Генерируем случайным образомnпар точек (x1,y1),(x2,y2),...(xN,yN),на интервале [a,b] (1)

  12. Set Nin=0 Do N times Calculate 3 random numbers, r1, r2, r3 Let x=r1 [0,1] Let y=r2 [0,1] Use r3 to choose quadrant (change signs of x and y), int [1,2,3,4] If x2+y2≤1set Nin = Nin + 1 Estimate for p = = 4Nin/N Пример 2. Расчет числа 

  13. Пример 2. Расчет числа  N = 2 (x1,y1) N = 103 (x2,y2) N = 105 N = 104

  14. Пример 3. Интегрирование Метод прямоугольников Метод Монте Карло (II) y y f(x1) f(x2)... f(xN) f(x) f(x) a x a b x b x1 x2... xN –задаются как xi=x1+(i-1)Δx x1 x2... xN –выбираются случайным образом на интервале [a,b] (2) (3)

  15. z f(x,y) y x Пример 3. Интегрирование Многомерная функция f(x,y,z,a,b,c…) Интегрирование методом прямоугольников, трапеций, Симпсона,... усложняется. На каждом шаге надо пересчитывать все координаты. Метод Монте Карло: Примечание:число точек N должно быть достаточно большим. большим

  16. do sample = 1 to N begin x = 0; y = 0; do step = 1 to n begin ir = 4*rand( ); case ir 0 : x = x + 1.0; 1 : y = y + 1.0; 2 : x = x - 1.0; 3 : y = y - 1.0; end end; {accumulate results} end Пример 4. Случайное блуждание y x Примечание:можно усложнить проблему, задав траекторию без самопересечений, возвратов, и т.д.

  17. Пример 4. Случайное блуждание Origin Попытка раз

  18. Пример 4. Случайное блуждание Origin Попытка два

  19. Пример 4. Случайное блуждание Origin Попытка три

  20. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел. • x0= 1, a = 3, b = 4, m = 32 • 1, 7, 25, 15, 17, 23, 9, 31, 1, 7, 25, … • Период равен 8 !? {Xn+1/m} от 0 до 1

  21. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор Проверка парных корреляций • Строим на плоскости множество точекXi(xn, xn+1). • Точки равномерно заполняют пространство – “хороший” генератор. • Точки ложатся в хаотическом порядке на несколько прямых – “плохой” генератор. x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел.

  22. Генератор случайных чисел Насколько случайно случайное? 8 Простой линейный генератор 3 6 5 x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел. 4 7 2 1 1 9 • x0= 1, a = 3, b = 4, m = 32 • 1, 7, 25, 15, 17, 23, 9, 31, 1, 7, 25, … • Период равен 8 !? {Xn+1/m} от 0 до 1 7

  23. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор Проверка парных корреляций N=100 x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел.

  24. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор Проверка парных корреляций N=1000 x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел.

  25. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор Проверка парных корреляций N=10000 x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел.

  26. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор Проверка парных корреляций N=50000 x0 задается при инициализации m - модуль, a– множитель,b– инкрементсуть целочисленныеконстанты Например: a = 7141, b = 54733, m = 259200 Выбор констант определяет периодичностьв повторении “случайных” чисел.

  27. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор

  28. Генератор случайных чисел Насколько случайно случайное? Простой линейный генератор a = 899, b = 0, m = 32768, x0=12

  29. Генератор случайных чисел Как улучшить? • Перемешивание порядка выдачи чисел. Основной генератор заполняет буфер случайными числами. Дополнительный генератор выбирает числа из буфера. • Два основных генератора создают случайные числа N = n1 + n2/z илиN = |n1-n2|. Можно тоже использовать буфер и дополнительный генератор. • Можно создать другой генератор. Существует множество генераторов,например, “Xorshift”,“Lagged Fibonacci”, “Multiply-With-Carry”…

  30. Генератор случайных чисел Генерация случайных чисел с заданным распределением • Нужно генерировать случайные числа с плотностью вероятности f(x)(Det:=>f(x)dx в интервале от x до x + dx )и (интегральной) функцией распределения с нормировкой F(∞) = 1. (Det:=>вероятность выпадения сл. числа <=x)

  31. Генерация случайных чисел с заданным распределением Inverse transformation method(метод обратного преобразования) • Генерируется равномерное распределение xiна интервале [0,1]. • Решается обратная задача yi = F-1(xi). • Величина yiраспределена с плотностью вероятностиf(x). • Пример:Генерация частиц с энергиями согласно распределению Больцмана f(E)~e-E/kT. Энергия i-й частицы запишется как Ei = -kT ln(r), где r - случайное число на интервале [0,1]. • Во многих случаях не так просто представить F-1(xi).

  32. Генерация случайных чисел с заданным распределением Rejection method(метод отбора- отказа) • Выбираем промежуточную функцию для сравнения,h(x), которая “перекрывает” искомую функцию f(x) .В данном примере h(x)это прямоугольная функция. • Равномерно заполняем точками область под h(x). • Из всех точек выбираем только те, которые находятся под кривой f(x).

  33. To be continued

More Related