Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы Монте-Карло для параллельных вычислений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Серия Суперкомпьютерное Образование
Координационный совет
Системы научно-образовательных центров
суперкомпьютерных технологий
Председатель Координационного совета
В. А. Садовничий,
Заместители председателя совета
декан факультета вычислительной математики и кибернетики
МГУ имени М. В. Ломоносова,
директор Научно-исследовательского вычислительного центра
МГУ имени М. В. Ломоносова,
В. Н. Васильев, ректор Санкт-Пе тер бургского национального исследова-
тельского госу дар ственного университета инфор ма ционных технологий, механики
и оптики, чл.-корр. РАН, профессор; В. Г. Захаревич, ректор Южного феде­рального университета, профессор; Н. Н. Кудрявцев, ректор Московско­го физико-технического института, чл.-корр. РАН, профессор; Г. В. Майер, ректор национального исследовательско го Томско го государственного уни­верситета, профессор; А. А. Фаткулин, проректор по науке и инновациям Дальневосточного федерального университета, профессор; Е. В. Чупрунов, ректор националь ного исследовательского Ниже городского го су дарственного университета, про фессор; А. Л. Шестаков, ректор национального иссле- довательского Южно- Уральского государственного университета, профессор; В. Н. Чубариков, декан механико-математического факультета МГУ имени М. В. Ломоносова, профессор; М. И. Панасюк, директор Научно-ис сле до­ва тельского института ядерной физики МГУ имени М. В. Ломоно сова, профес-
сор; Вл. В. Воеводин, заме ститель директора Научно-исследо ва тель ского
вычислительного центра МГУ имени М. В. Ломоносова, исполнительный директор
НОЦ «СКТ-Центр», член-корреспондент РАН.
академик
Е. И. Моисеев,
академик
А. В. Тихонравов,
профессор
Члены совета
Нижегородский гоударственный университет
им. Н. И. Лобачевского
А. В. Зорин, М. А. Федоткин
Методы Монте-Карло
для параллельных
вычислений
УМО по классическому университетскому образованию
в качестве учебного пособия для студентов высших учебных заведений,
обучающихся по направлениям ВПО
010400 «Прикладная математика и информатика»
и 010300 «Фундаментальная информатика
и информационные технологии»
Издательство Московского университета
Допущено
2013
УДК 007 (075) ББК 32.973.2
З 86
Зорин А. В., Федоткин М. А.
З 86
Методы Монте-Карло для параллельных вычислений: Учебное посо­бие / Предисл.: В. А. Садовничий. – М.: Издательство Московского универ­ситета, 2013. – 192 с., ил. – (Серия «Суперкомпьютерное образование»)
ISBN 978-5-211-06530-7
В книге излагаются методы решения задач с помощью статистического модели­рования. Рассматриваемые алгоритмы предназначены для использования в парал­лельных вычислениях на компьютерных комплексах различной архитектуры. По­следовательно излагаются методы получения независимых потоков псевдослучай­ных чисел и случайных векторов с заданным законом распределения, методы приближенного вычисления интегралов высокой размерности и численного реше­ния некоторых классов дифференциальных уравнений в обыкновенных и частных производных, методы имитационного моделирования.
Книга ориентирована на студентов, знакомящихся с элементами вычислитель­ной математики и параллельного программирования, а также на исследователей, применяющих численное моделирование для решения прикладных задач.
Ключевые слова: статистическое моделирование, имитационное моделирование, методы Монте-Карло, численные методы, методы параллельных вычислений.
УДК 007 (075)
ББК 32.973.2
© А.В.Зорин, М.А.Федоткин, 2013 © Издательство Московского университета, 2013ISBN 978-5-211-06530-7
Уважаемый читатель!
Вы держите в руках одну из книг серии «Суперкомпьютерное образо­вание», выпущенную в рамках реализации проекта комиссии Президента РФ по модернизации и технологическому развитию экономики России
«Со здание системы подготовки высококвалифицированных кадров в об-
ласти суперкомпьютерных технологий и специализированного про­граммного обеспечения». Инициатором издания выступил Суперкомпью­терный консорциум университетов России.
Серия включает более 20 учебников и учебных пособий, подготовлен­ных ведущими отечественными специалистами в области супер ком пью­терных технологий. В книгах представлен ценный опыт преподавания супер компьютерных технологий в таких авторитетных вузах России, как МГУ, ННГУ, ТГУ, ЮУрГУ, СПбГУ ИТМО и многих других. При подготов­ке изданий были учтены рекомендации, сформулированные в Своде зна­ний и умений в области суперкомпьютерных технологий, подготовленном группой экспертов Суперкомпьютерного консорциума, а также междуна­родный опыт.
Современный уровень развития вычислительной техники и методов математического моделирования дает уникальную возможность для пе­ревода промышленного производства и научных исследований на каче­ственно новый этап. Эффективность такого перехода напрямую зависит от наличия достаточного числа высококвалифицированных специали­стов. Данная серия книг предназначена для широкого круга студентов, аспирантов и специалистов, желающих изучить и практически использо­вать параллельные компьютерные системы для решения трудоемких вы-
числительных задач.
Издание серии «Суперкомпьютерное образование» наглядно де мон ст­рирует тот вклад, который внесли участники Суперкомпьютерного кон­сорциума университетов России в создание национальной системы под­готовки высококвалифицированных кадров в об ласти суперкомпью терных технологий, а также их четкое понимание ответственности за подготовку высококвалифицированных специалистов и формирование проч ного на­учного фундамента, столь необходимого для эффективного использова­ния суперкомпьютерных технологий на практике.
Ректор Московского университета,
Президент Суперкомпьютерного консорциума
университетов России,
академик РАН В. А. Садовничий
Оглавление
Предисловие 10
Часть I. Основные понятия и методы 12
Глава 1. Модели и системы параллельных вычислений 13
1.1 Параллельные вычисления с общей памятью . . . . . . . 13
1.2 Параллельные вычисления с разделенной памятью . . . 18
Глава 2. Генераторы псевдослучайных чисел 21
2.1 О генераторах псевдослучайных чисел . . . . . . . . . . . 21
2.2 Линейный конгруэнтный генератор . . . . . . . . . . . . . 25
2.3 Векторный линейный конгруэнтный генератор . . . . . . 27
2.4 Обобщенный генератор Фибоначчи с запаздыванием . . 30
2.5 Векторный обобщенный генератор Фибоначчи с запазды-
ванием . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.6 Методы перетасовывания и комбинации . . . . . . . . . . 35
2.7 «Вихрь Мерсенна» . . . . . . . . . . . . . . . . . . . . . . 37
2.8 Методы получения псевдослучайных последовательно­стей с равномерным распределением для параллельных
вычислений . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.9 Некоторые реализации генераторов для параллельных
вычислений . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Глава 3. Моделирование случайных величин и векторов с
произвольным законом распределения 46
3.1 Моделирование дискретных случайных величин . . . . . 46
3.2 Моделирование непрерывных случайных величин . . . . 51
3.3 Моделирование случайных векторов . . . . . . . . . . . . 59
7
3.4 Моделирование случайных векторов с помощью много-
мерных цепей Маркова . . . . . . . . . . . . . . . . . . . . 70
Глава 4. Приближенное вычисление определенных инте-
гралов методом Монте-Карло 74
4.1 Геометрический метод Монте-Карло . . . . . . . . . . . . 74
4.2 Метод математического ожидания . . . . . . . . . . . . . 77
4.3 Сравнение точности геометрического метода и метода ма-
тематического ожидания. Мера трудоемкости . . . . . . . 81
4.4 Способы уменьшения дисперсии . . . . . . . . . . . . . . 83
4.5 Метод Монте-Карло в параллельных вычислениях . . . . 87
Часть II. Примеры решения прикладных задач 101
Глава 5. Решение уравнений телеграфного типа 102
5.1 Пуассоновский процесс и его моделирование . . . . . . . 102
5.2 Связь функционалов от пуассоновского процесса с диф-
ференциальными уравнениями . . . . . . . . . . . . . . . 106
5.3 Решение уравнений телеграфного типа методом Монте-
Карло . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Глава 6. Имитационное моделирование 118
6.1 Методы имитационного моделирования систем массового
обслуживания . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2 Оптимизация системы массового обслуживания в классе
алгоритмов разделения времени с переналадками . . . . 126
Глава 7. Моделирование распространения зондирующего
излучения в многослойных биологических тканях 147
7.1 Постановка задачи на физическом уровне . . . . . . . . . 148
7.2 Алгоритм моделирования распространения зондирующе­го излучения в многослойных биологических тканях . . 149
7.3 Результаты численных экспериментов . . . . . . . . . . . 155
Глава 8. Обзор задач, решаемых методом Монте-Карло 159
8.1 Приближенное вычисление интегралов Римана высокой
размерности . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.2 Задача о приближенном решении линейного неоднород-
ного интегрального уравнения . . . . . . . . . . . . . . . . 159
8
8.3 Решение задач Коши и граничных задач для основных
уравнений математической физики . . . . . . . . . . . . . 160
8.4 Вычисление континуальных интегралов . . . . . . . . . . 161
8.5 Линейное интерполирование функций многих переменных 162
8.6 Оценка абсолютного экстремума функций многих пере-
менных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.7 Численное решение стохастических дифференциальных
уравнений Ито . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.8 Вычисление справедливой цены опционов . . . . . . . . . 163
8.9 Имитационное моделирование реальных систем . . . . . 165
8.10 Картографирование и локализация для роботов . . . . . 166
8.11 Задачи математической статистики . . . . . . . . . . . . . 167
ПРИЛОЖЕНИЕ. Векторные вычисления 168
Обзор источников 176
Список алгоритмов 178
Предметный указатель 179
Литература 185
9
Предисловие
Идея использования случайных чисел многократно возникала в умах математиков в разных странах и в разные времена. Одно из пер­вых упоминаний о методе решения задачи с помощью случайных чисел историки науки относят к 1876 году, когда статистик Эраст Лайман де Форест использовал метод обратной функции для экспериментально­го исследования поведения остатков при сглаживании временного ря­да. В работах отечественных ученых метод обратной функции носит имя преобразования Н.В. Смирнова [10]. Еще ранее швейцарский аст­роном Рудольф Вольф в серии статей 1849–1850 годов использовал фи­зический датчик случайности — натурный эксперимент — для оценки по методу наименьших квадратов вероятности пересечения тонкой иг­лой одной из параллельных линий, нанесенных на плоскость (точное решение задачи было получено ранее французским естествоиспытате­лем Ж. Бюффоном). Термин «метод Монте-Карло» восходит к другому замечательному математику Станиславу Уламу, который использовал датчик псевдослучайных чисел на только что появившейся электронной вычислительной машине для моделирования ветвящихся процессов при ядерном распаде. По его словам, название процедуры обязано присут­ствию в ней «. . . своеобразного элемента везения — получения случай­ных чисел, с которыми играют в соответствующие игры» (С. Улам, в своей книге воспоминаний «Приключения математика», 1976). Отсюда следует, что первые применения метода Монте-Карло относились как к сфере интересов классических численных методов, так и к сфере ими­тационного моделирования реальных процессов (в физике).
Дальнейшее развитие метода статистического испытания нераз­рывно связано с развитием вычислительной техники. Рост быстродей­ствия позволил генерировать выборки большого объема для получе­ния оценок исследуемых характеристик — с заданной надежностью и за приемлемое время. Соответственно расширилась сфера применений методов Монте-Карло [9, 10, 11, 12, 13, 17, 19, 29, 30, 36, 41].
В настоящее время исследователям в области прикладной мате­матики становятся доступны вычислительные системы параллельного действия. Оказывается при этом, что методы Монте-Карло позволя­ют получать высокую эффективность использования параллельных вы­числительных процессов. Причина эффективности в том, что большую часть времени занимает генерирование и обработка независимых ко­пий некоторой случайной величины. Пусть имеется K вычислительных
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]