1 / 18

МЕТОД МОНТЕ-КАРЛО

МЕТОД МОНТЕ-КАРЛО. или метод статистического моделирования. п. Лисий Нос 11.07.2013. Метод Монте-Карло – история названия. в 1862 году финансист и банкир Морис Блан предложил построить в Монако целый игорный город для решения финансовых проблем

tia
Télécharger la présentation

МЕТОД МОНТЕ-КАРЛО

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. МЕТОД МОНТЕ-КАРЛО или метод статистического моделирования п. Лисий Нос 11.07.2013

  2. Метод Монте-Карло – история названия • в 1862 году финансист и банкир Морис Блан предложил построить в Монако целый игорный город для решения финансовых проблем • в 1866 году город Монте-Карло основан и назван в честь принца Карла III • Монте-Карло - административная территория княжестваМонако, «крупнейший»город, столица княжества • Монте-Карло всемирно известен своими казино, отелями, пляжами

  3. Метод Монте-Карло – история названия • В 1949 году • создана первая быстродействующая ламповая ЭВМ универсального назначения МЛКК-1, сконструированная учеными Манчестерского университета (Англия), теоретические основы которой были заложены американским математиком Дж. фон Нейманом • в свет выходит статья Н.Метрополисаи С.Улама«Метод Монте-Карло» • Именно Дж. Нейман совместно с С. Уламом предложили первый вариант метода Монте-Карло в связи с работой но расчету ядерных реакторов • Эффективное применение метода Монте-Карло, всегда связанное с «перемалыванием» большого количества цифр, стало возможным только благодаря применению ЭВМ Станислав Улам НиколасМетрополис

  4. Понятие статистического моделирования • Статистическое моделирование(по определению БСЭ)– • численный метод решения математических задач, при котором искомые величины представляют вероятностными характеристиками какого-либо случайного явления, это явление моделируется, после чего нужные характеристики приближённо определяют путём статистической обработки «наблюдений» модели. • Схема проведения вычислений в статистическом моделировании • искомую величину представляют математическим ожиданием числовой функции fот случайного исхода w некоторого явления (т. е. интегралом по вероятностной мере Р): • рассматривают оценку математического ожидания случайной величины, где – исходы, состоявшиеся в результате • наблюдений • таким образом, схема состоит в проведении серии экспериментов

  5. Общая схема метода (простой пример) Метод Монте-Карло (ММК) позволяет решать задачи, в условиях которых присутствует элемент неопределенности. • Пример 1. • При подбрасывании монеты может выпасть “орел” или “решка”. Найти некоторую величину, например, долю выпадения “орлов”. • Идея метода: • На ЭВМ с помощью ДСЧ имитируются ситуации или процессы, возможные по условию задачи, и которые приводят к тем или иным исходам • Все различные исходы проявятся, если многократно рассмотреть случайное развитие одного и того же начального состояния (смоделировать некоторое количество историй — N) • Закон больших чисел «разыгрываемых» историй утверждает, что ср. арифметическое полученных в каждом розыгрыше значений исследуемой величины имеет предельное (при увеличении N) искомое значение • Это вероятностная сходимость. Погрешность определения предельного значения • пропорциональна 1/

  6. Примеры применения ММК Области применения ММК • Физика • Химия • Экономика • Математика • Оптимизация • Теория управления • И др. • Вычисление площади фигуры • Фигура внутри единичного квадрата • Сгенерируем в квадрате Nслучайных точек • Пусть N* – количество точек, попавших внутрь фигуры • Тогда при достаточно больших значениях N площадь фигуры F может быть оценена как • Вычисление числа Пи(“Hit-or-Miss” – «попал - не попал») • Круг единичного радиуса вписан в квадрат со стороной 2: Sкв = 4 • Сгенерируем в квадрате Nслучайных точек • Пусть N* – количество точек, попавших внутрь круга: If x2+y2<=1 then N* = N* +1 • Тогда при достаточно больших значениях N площадь круга может быть оценена как число Пи: • S (Пи) = 4N*/N N=10000 N=1000

  7. Примеры и задачи использования ММК Пример 2 (муниципальный этап олимпиады по информатике 1994 года по Ленинградской области). Три игрока (с номерами 1, 2 и 3), имеющие изначально X, Y и Z жетонов соответственно, играют в следующую игру. В каждом раунде каждый игрок ставит на кон один жетон. Затем бросают кубик, на котором цифры 4, 5, 6 заменены на 1, 2 и 3. При выпадении числа i игрок с номером i забирает с кона все три жетона. Игра заканчивается, когда кто-нибудь из игроков проигрывает все жетоны. Введем функцию f(X, Y, Z), как среднюю длительность игры (среднее количество раундов) при заданных начальных капиталах X, Y, Z. Например, f(2, 2, 2) = 2. Ваша задача состоит в том, чтобы определить эту функцию. Для этого необходимо смоделировать игру на компьютере, накопить экспериментальные результаты, проанализировать их, а затем выдвигать гипотезы о виде функции f, проверять их для разных входных значений, и, отбросив неподходящие, найти решение. Замечание. Моделирование игры не вызывает трудности. Также очевидно, что вид функции симметричен относительно порядка задания входных параметров f(X, Y, Z)=f(Y, X, Z) и т.д. Сложность задачи заключается в нахождении вида функции, так как результаты моделирования определяются не точно.

  8. Примеры и задачи использования ММК f(X, Y, Z) = XYZ / (X+Y+Z-2) • Данная задача достаточно хорошо характеризует метод Монте-Карло, а именно: • Идею метода • ожидаемый результат игры может быть оценен усреднением результатов большого числа игр (это число так и называется – математическим ожиданием или средним значением). • То есть результат приближенно равен числу , • где xi– результат игрыi, а N- число всех проведенных игр (испытаний) • Достоинство метода • незнание apriori (до опыта) функциональных зависимостей исследуемой задачи в целом, выявление этих зависимостей aposteriori (после опыта). • Недостатки метода • неопределенное время расчета (варианты примера при больших числах X, Y, Z); • приближенное вычисление результата.

  9. Примеры и задачи использования ММК Последний недостаток компенсируется тем, что с использованием данного метода вместе со значением может одновременно определяться и его погрешность по формулам: При больших N формулу можно упростить: , где В пределах [ - , + ] с достоверностью 68.3% находится искомая величина, а в пределах [ 2 ] или [ 3 ] достоверность уже 95.4% и 99.7% соответственно. Поэтому метод по праву называют порой прецизионным или точным в смысле, что известна точность рассчитываемых величин, и это может служить точкой отсчета для проверки программ, использующих другие приближенные методы. Иногда, чтобы избежать потери значащих цифр при суммировании, среднее значение определяется в программе после каждого испытания по формуле:

  10. Примеры и задачи использования ММК ММК применяется для выбора наилучших стратегий в задачах, где присутствуют много случайных факторов. Пример 3 «Лучшее пари для простаков». Игрок A выбирает комбинацию из цифр 0 и 1 длиной 3 знака (например, 001). Игрок B выбирает свою комбинацию (отличную от игрока A). Подбрасывается монета и записываются результаты бросания (например, 101101..., где 0 обозначает «орел», а 1 — «решка»). Игра прекращается в тот момент, когда в последовательности цифр на конце возникает комбинация, выбранная A или B (побеждает A или B соответственно). Игра повторяется. а) Оценить шансы на выигрыш каждого из игроков R(A,B) (т.е. отношение числа выигрышей игрока B к числу выигрышей игрока A). б) Для выбранной игроком A комбинации определить такую комбинацию для игрока B, которая ему дает больше шансов на выигрыш. Указание. При решении задачи полученные результаты по пункту a) не будут совпадать с данными из таблицы, так как число опытов ограничено, тем не менее, позволяют дать качественный ответ по пункту б). Вывод: Пари является беспроигрышным(!) для игрока B.

  11. Примеры и задачи использования ММК ММК применяется для определения вероятности наступлениякакого-либо события. Пример 4 «Чипполино и сыщик». Пусть дана ось с отмеченными на ней целочисленными точками. Предположим, что Чипполино первоначально находится в точке N, в точке 0 находится убежище, а сыщик Моркоу находится в точке M (0 < N < M). Чипполино ищет убежище случайным образом, блуждая по соседним целочисленным точкам. Если он попадет в точку 0, то спрячется, а если попадет в точку M, то угодит в руки сыщика. С какой вероятностью Чипполино скроется от сыщика? Примечание: Под вероятностью какого-либо события Pмы будем понимать предельное значение частоты события, а именно: отношение числа успешных (приведших к появлению данного события) испытаний Nук общему числу проведенных испытаний N, то есть P Nу / N. Чем больше мы проведем испытаний, тем точнее мы определим численное значение вероятности. Очевидно, что вероятность P удовлетворяет условию: 0 P  1.

  12. Примеры и задачи использования ММК ММК универсален и применим как для задач, в условиях которых присутствует элемент неопределенности, так и для полностью детерминированных задач. Пример 5 «Три окружности» (региональный этап олимпиады по информатике 1999 года по Ленинградской области). Найти площадь пересечения трех окружностей с заданными радиусами и координатами центров окружностей. Указание. Наилучший путь - это «использовать геометрию» для анализа частных случаев (когда нет пересечения, одна окружность внутри другой), а метод Монте-Карло - для общего случая.

  13. Примеры и задачи использования ММК Генератор случайных чисел можно использовать для построения различных геометрических объектов. Пример 6 «Лабиринт». Лабиринты служат основой многочисленных игровых программ и олимпиадных задач. Рассмотрим алгоритм построения простейшего лабиринта.

  14. Задачи для самостоятельного решения Задача 1. Оценить чего больше: несократимых или сократимых дробей. Более строгая формулировка: какова вероятность того, что наудачу взятая дробь несократима? Ответ достаточно сложен и равен 6/2 = 0.6079... (Н.Я. Виленкин, журнал “Квант”, №10, 1989 г) Указание: Рассмотрите несократимые дроби вида a/b, где 1a, b.N. Количество их f(N). Нужно найти предел f(N)/N2 для больших чисел N. Выберите случайные натуральные числа (не превосходящие фиксированного достаточно большого числа N) для числителя и знаменателя дроби. Повторите «эксперимент» n раз, подсчитывая количество m несократимых дробей, используя алгоритм Эвклида для нахождения наибольшего общего делителя числителя и знаменателя. Отношение m/n дает оценку доли несократимых дробей. Задача 2. Два цилиндра одинакового радиуса R=1 пересекаются под прямым углом. Найти объем V их общей части. Указание: В журнале “Квант” (№2, 1988 г.) приводится геометрический формализм решения задачи: V = 16R3/3. Задача 3. На окружности задана точка, две другие точки выбираются на окружности произвольно. Какова вероятность, что треугольник с вершинами в этих точках – остроугольный? Указание: Положение случайной точки на окружности можно задавать дугой в радианах от заданной фиксированной точки (например, против часовой стрелки). Тогда угол измеряется половиной дуги между его сторонами.

  15. Задачи для самостоятельного решения Задача 4 «Салфетка Серпинского». Салфетку Серпинского можно нарисовать с помощью рекурсивного рисования средних линий треугольника. Но существует и такой алгоритм с использованием случайных чисел. Возьмите произвольный треугольник и выберите любую точку внутри него. Следующей точкой возьмите середину отрезка от заданной точки до произвольно выбранной вершины треугольника. Принимая полученную точку за исходную, продолжите процесс. Оказывается, казалось бы «случайный» разброс точек также создает закономерное кружево как на рисунке. Задача 5. Смоделируйте равномерное распределение точек на сфере. • Указание. • Так как три координаты связаны уравнением сферы, то в качестве независимых величин выберем координату Z и угол , который определяет положение точки на круге, параллельном X-Y плоскости (на высоте Z) от оси X. Используем свойство, что шаровым сегментам равной высоты по оси Z соответствуют на сфере области равной площади. • Алгоритм по шагам: • 1) Выбираем точку z, равномерно распределенную на [-1,1]. • 2) Выбираем угол , равномерно распределенный на [0, 2). • 3) Полагаем r = . • 4) Полагаем x = rcos(). • 5) Полагаем y = rsin ().

  16. Задачи для самостоятельного решения Задача 6 (заключительный этап Всероссийской олимпиады по информатике 2001 года). В МЧС поступило сообщение о возможном лесном пожаре в заданном квадрате тайги. Для поиска места возгорания было послано N самолетов. Однако ни один из экипажей пожар не обнаружил. Известно, что с самолета видна полоса тайги, границы которой находятся на расстоянии 50 км справа и слева от той линии на поверхности Земли, над которой пролетает самолет, причем точки, находящиеся на расстоянии ровно 50 км от этой линии, все еще видны. Донесение с каждого самолета содержало информацию о том, в каких двух различных точках (xb,yb) и (xe, ye) самолет входил в заданный квадрат и покидал его соответственно. Между этими точками самолет двигался строго по прямой. Входные данные: В первой строке файла записано натуральное число L – размер заданного квадрата тайги в км (0<L1000). Во второй строке – натуральное число N (1N100) – количество самолетов. В каждой из последующих N строк записано донесение с самолета – четыре вещественных координаты xb, yb,xe,ye. Координаты заданы в км. Стороны квадрата тайги параллельны осям координат, его левый нижний угол находится в точке с координатами (0,0), а правый верхний – в точке (L, L). Выходные данные: Выходной файл должен содержать одну строку. Если заданный квадрат был просмотрен полностью, то эта строка должна состоять из слова OK, написанного заглавными латинскими буквами. В противном случае в этой строке должны быть записаны через пробел координаты x и y какой-либо точки, которая не попала ни в одну из просмотренных полос. Координаты нужно выводить в км с ошибкой не более одного метра (1 км = 1000 м). Пример:

  17. Используемые ресурсы • Есипов А.С., Паньгина Н.Н., Громада М.И. Информатика (задачник). Санкт-Петербург, “Наука и Техника”, 2001 • Паньгина Н.Н. Статистическое моделирование. Метод Монте-Карло. / Статья в газете «Информатика» (Приложение к 1 сентября), №№ 45, 46, 2004 • Ю.Н. Прошин и С.К. Сайкин ЧМММ. Лекция 3 • Мееров И.Б. Статистическое моделирование и параллельные вычисления Нижний Новгород, 2005 (Проект «Виртуоз») • http://themanhattan.ru/travel.html • http://ru.wikipedia.org/wiki/ Монте-Карло • http://lessons-photoshop.org/istoriya-evm/vozniknovenie-i-razvitie-metoda-monte-karlo-ego-sovremennie-realizatsii

  18. СПАСИБО ЗА ВНИМАНИЕ! Паньгина Нина Николаевна, учитель информатики высшей квалификационной категории, Заслуженный учитель РФ E-mail: pang@sbor.net; nina_pangina@mail.ru

More Related