Статистическое моделирование и параллельные вычисления И. Б. Мееров, к.т.н., каф. МО ЭВМ, ВМК, ННГУ Проект «Виртуоз-2005» Содержание Предпосылки создания курса. Рекомендации Computing Curricula 2001. Целевая аудитория. Цели и задачи курса. Дисциплины, изучение которых необходимо при освоении данного курса. 6. Краткая программа курса. 7. Программа лабораторного практикума. 8. Литература. 1. 2. 3. 4. 5. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 2 Понятие статистического моделирования Статистическое моделирование – численный метод решения математических задач, при котором: 1) искомые величины представляют вероятностными характеристиками какого-либо случайного явления, 2) это явление моделируется, 3) нужные характеристики приближённо определяют путём статистической обработки «наблюдений» модели. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 3 Предпосылки создания курса… • Статистическое моделирование – молодое и перспективное научное направление. • Получило развитие в середине XX века в связи с ростом возможностей вычислительной техники. • Имеет массу приложений в разных областях знания (биология, химия, физика, экономика и др.). ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 4 Предпосылки создания курса Привязка содержания курса к параллельным вычислениям связана со следующими факторами: • задачи статистического моделирования как правило требуют больших вычислительных ресурсов; • алгоритмы статистического моделирования чаще всего допускают эффективное распараллеливание. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 5 Рекомендации Computing Curricula 2001 • • • • • • • • • • Данный курс затрагивает следующие разделы знания: CS101I. Основы программирования. CS102I. Объектно-ориентированные парадигмы. CS103. Структуры данных и алгоритмы. MA271. Статистика и эмпирические методы вычислений. CS314. Параллельные алгоритмы. CS304. Методы вычислений. CS305. Численный анализ. CS307. Статистическое моделирование. CS308. Математическое программирование. CS302. Вероятность и статистика. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 6 Целевая аудитория • Студенты старших курсов, магистранты, обучающиеся по специальностям: • «Прикладная математика»; • «Информационные технологии»; • «Информационные системы». • Стажеры студенческих лабораторий, обучающихся на факультетах физикоматематического профиля. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 7 Состав курса • Лекции. • Лабораторный практикум. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 8 Цель курса (лекции) Ознакомление • С некоторыми задачами и алгоритмами статистического моделирования (СМ). • C методами генерации псевдослучайных чисел. • С основными методами распараллеливания задач СМ и их эффективной реализации на многоядерных архитектурах. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 9 Дополнительная цель (лабораторный практикум) Знакомство с некоторыми индустриальными математическими пакетами, позволяющими решать задачи статистического моделирования. • Intel® Math Kernel Library (Intel® MKL). • NAG*. • BOOST*. • IMSL*. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 10 В результате освоения теоретической части курса студент будет знать: • Основные классы линейных генераторов, основные методы генерации случайных чисел неравномерных распределений, способы их применения в параллельных вычислениях. • Некоторые приемы случайных чисел. тестирования качества генераторов • Некоторые приемы вычисления многомерных интегралов методом Монте-Карло. • Некоторые задачи стохастической оптимизации (в частности, моделирование методом «имитации отжига»). • Некоторые задачи финансовой математики и алгоритмы их решения. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 11 В результате освоения практической части курса студент будет уметь: • Использовать библиотеку Intel® MKL для решения задач статистического моделирования (в том числе на системах с общей и разделяемой памятью). • Самостоятельно реализовывать генераторы случайных чисел различных распределений. • Проводить тестирование качества генераторов случайных чисел. • Проводить эксперименты на многопроцессорных и многоядерных системах. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 12 Дисциплины, изучение которых необходимо при освоении данного курса • • • • • теория вероятностей; математическая статистика; основы программирования; алгоритмы и структуры данных; численные методы. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 13 План курса… Лекции № Тема Часы 1 2 3 Введение в методы Монте-Карло Генераторы случайных чисел. Равномерное распределение. Генераторы случайных чисел неравномерных распределений. Монте-Карло интегрирование. Стохастическая оптимизация. Имитационное моделирование, приложения в задачах финансовой математики. Задачи статистического моделирования и их эффективное решение на многоядерных архитектурах. Итого: 4 2 2 4 5 6 7 ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 2 2 2 2 16 14 План курса Лабораторный практикум № 1 Тема 6 Оценивание методами Монте-Карло. Сравнение скорости сходимости методов. Реализация мультипликативного генератора «минимального стандарта». Оптимизация средствами компилятора. Реализация эмпирических тестов (Runs-Up тест и др.) и тестирование базовых генераторов библиотеки MKL. Параллельные реализации методов оценивания . Применение генераторов и сервисных функций библиотеки MKL. Вычисление многомерных интегралов. Сравнение квадратурных формул, прямого моделирования методом Монте-Карло, квази-Монте-Карло. Решение задач финансовой математики методом Монте-Карло. 7 Оптимизация задач финансовой математики под многоядерные архитектуры. 2 3 4 5 Часы 2 Итого: ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 2 2 2 2 4 2 16 15 Рекомендуемая литература • • • • • Г. Крамер. Математические методы статистики. М: «Мир», 1975 J. Gentle. Random Number Generation and Monte Carlo Methods. Springer-Verlag NY, 1998 С.М. Ермаков, Г.А. Михайлов. Статистическое моделирование. М: «Наука», 1982 D. E. Knuth. The Art of Computer Programming, Volume 2, Seminumerical Algorithms, 2nd edition, Addison-Wesley Publishing Company, Reading, Massachusetts, 1981. P. Glasserman. Monte Carlo Methods in Financial Engineering.Series: Stochastic Modelling and Applied Probability, Vol. 53.2003, XIII, 596 p. ННГУ, "Виртуоз-2005" Мееров И.Б. "Статистическое моделирование и параллельные вычисления" 16