Компьютерное моделирование физических процессов
Построение графиков в Python, библиотека matplotlib
Автоматическое регулирование с обратной связью, компоненты системы управления
Моделирование случайных процессов, датчик псевдослучайных чисел, метод Монте-Карло
Метод рекуррентных соотношений, мгновенная и средняя скорость изменения величины
Моделирование полёта ракеты: законы Ньютона, сопротивление атмосферы, барометрическая формула
Корнев А.А., Лекции по курсу "Численные методы"
Кушниренко А. Г., Малый А. А. Запуск метеорологической ракеты как поучительный объект компьютерного моделирования в школьном курсе информатики.
Занятия начнутся в феврале. Как попасть на спецкурс?
Зарегистрироваться на платформе Мирера и вступить в группу по ссылке: https://mirera.ru/user/groups/698df490a60fcd25c01ef4d2
Курс имеет практическую направленность и требует самостоятельного изучения предложенных теоретических материалов и решений задач. Материалы с домашними заданиями открываются постепенно, по расписанию. В конце курса будет проведена финальная контрольная работа.
Начала теории формальных языков
Иерархия Хомского.
Конечные автоматы.
Автоматы с магазинной памятью (МП‑автоматы).
Синтаксический анализ для КС‑языков.
Практикум.
Рейуорд-Смит В. Дж. Теория формальных языков: Вводный курс.
Гинзбург С. Математическая теория контекстно‑свободных языков.
Занятия начнутся в марте. Как попасть на спецкурс?
Зарегистрироваться на платформе Мирера и вступить в группу по ссылке:
https://mirera.ru/user/groups/698dec496cefd9d7cba25a3d
Курс посвящен классическому разделу математической лингвистики и
теоретической информатики — теории формальных языков. В нем
рассмотрены классификация грамматик по Хомскому, регулярные
множества и выражения, конечные автоматы, автоматы с магазинной
памятью, программные утилиты
GREP, FLEX, BISON. Курс имеет практическую направленность,
рассматриваются части теории формальных языков, которые
применяются на практике при написании компиляторов, студенты
решают не менее 100+ практических заданий различной сложности за
курс, включая тестовые задания, практические задания,
сдают программы на Python, FLEX, BISON, задания на GREP и т.д.
Математическое обеспечение высокопроизводительных вычислений
Основные пути повышения производительности программ. Эквивалентные преобразования программ. Граф потока данных (DataFlow).
Принципы алгоритмической и низкоуровневой оптимизации базовых вычислительных операций. Быстрые вычисления как наука
Анализ производительности программного обеспечения путем изучения машинного кода. Профилирование программного обеспечения.
Статическое и динамическое распараллеливание программ. Масштабируемость программ и гиперлинейное ускорение.
Физический и логический параллелизм. Процессы, потоки, "тасклеты" и прочие абстракции в языках программирования.
Организация обмена данными между процессами. Общая память и MPI. Активные сообщения. Latency hiding.
Вопросы синхронизации счета. Гонки и взаимные блокировки. Атомарные операции. Транзакционная память.
Особенности распределенных вычислений. Асинхронный ввод/вывод. Облачные вычислительные платформы и GRID-системы.
Принципы эффективного использования кеш-памяти в многопоточных программах. Many-core процессоры и VLIW-архитектуры.
Векторизация вычислений и использование SIMD-ускорителей для параллельных вычислений. Расширения AVX2 и FMA.
Технологии CUDA и OpenCL: общие черты и различия технологий. Архитектурные особенности графпроцессоров.
Динамический параллелизм в технологиях CUDA и OpenCL. Параллельные диалекты языков C/C++. Языки Charm++ и T++.
Гибридные вычислительные системы и поддержка выгрузки (offloading) вычислений в специализированных компиляторах.
Специализация программ, частичные вычисления и супероптимизация. Мемоизация (табулирование) результатов вычислений.
Реконфигурируемые вычислительные системы на основе программируемых (FPGA) и заказных (ASIC) микросхем.
Обеспечение отказоустойчивости счета на больших суперЭВМ. Операционный недетерминизм и отказоустойчивые алгоритмы.
D.Kaeli, P.Mistry, D.Schaa, D.P.Zhang, Heterogeneous Computing with OpenCL 2.0, Third Edition, AMD, Elsevier Inc., 2015
А.В. Боресков и др. Параллельные вычисления на GPU. Архитектура и программная модель CUDA: Учебное пособие. Изд-во МГУ, 2015
В.В. Воеводин. Параллельные вычисления: учеб. пособие для вузов. БХВ-Петербург, 2002
В.П. Гергель. Высокопроизводительные вычисления для многопроцессорных многоядерных систем: учеб. для вузов. - M.: Изд-во МГУ, 2010
Р. Гримм, Параллельное программирование на современном языке C++, ДМК Пресс, 2022
Э.Д. Уильямс, Параллельное программирование на С++ в действии. Практика разработки многопоточных программ, ДМК Пресс, 2012
Курс посвящен рассмотрению архитектур современных и перспективных высокопроизводительных систем,
общей методологии построения параллельных, распределенных и отказоустойчивых программ, способам
масштабирования программ, современным стандартам для программирования ускорителей OpenCL и CUDA,
а также подходам к преобразованию, специализации и низкоуровневой оптимизации программного кода.
Дополнительные главы алгоритмов и структур данных в спортивном программировании
Корневая декомпозиция.
Паросочетания и алгоритм Куна
http://cp-algorithms.com/
Вся текущая информация по курсу будет публиковаться в телеграм канале https://t.me/msu_icpc
Системный анализ. Информационные системы 2
Объектно-ориентированные модели. Нотация UML.
Информационная система и базы данных. Поддержка бизнес процессов.
Предметная область и ее визуальное представление. Диаграммы классов UML.
CASE инструменты для представления моделей на UML.
Методология разработки Rational Unified Process (IBM RUP).
Agile и SCRUM разработка.
Документирование требований в RUP.
Словарь проекта и его связь с предметной областью.
Состояния объектов. Диаграмма машины состояний UML.
Сценарии использования (Use Cases) и их спецификация
Use Cases диаграмма UML.
Этап проектирования ИС. Диаграммы взаимодействия UML.
Кумсков М.И. Системный Анализ. Предметная область. Модели на UML. - М.: Изд-во ООО "Издательские решения", 2020, - 110с.
Фаулер M. UML. Основы, 3 изд. – Пер. с англ. – СПб: Символ_Плюс, 2004 – 192 с.
Дин Леффингуэлл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. Унифицированный подход - Пер. с англ. - М.: Издательский дом
"Вильямс", 2002, - 448 с.
Кролл П., Крачтен Ф. Rational Unified Process — это легко. Руководство по RUP для практиков. – Пер. с англ. - М.: КУДИЦ- Образ, 2004, - 432с.
Ларман К. Применение UML 2 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку. – Пер. с англ. – М.: Издательский дом Вильямс, 2004, - 624с.
Соммервилль, И. Инженерия программного обеспечения, 6-е издание. - Пер. с англ. — М.: Издательский дом "Вильямс", 2002. 624 с.
Запись на курс по почте mikhail.kumskov@math.msu.ru
курс читается в он-лайн формате.
Студенты получат навыки документирования требований в виде текстовых спецификаций (Requirements Specification), в форме сценариев использования (Use Cases), бизнес-сценариев использования (Business Use Cases) и «пользовательских историй» (User Stories);
они получают представление о том, как качество и полнота требований влияют на архитектуру программного продукта и на успешность проекта разработки системы в целом. Большое внимание уделяется навыкам визуального моделирования (в нотации UML), включая «правильный» выбор объектов моделирования, что позволяет понять структуру и поведение элементов ИС.
Знания и навыки, полученные во время обучения по программе, будут достаточны для самостоятельной работы в роли системного и бизнес аналитика как в больших компаниях, так и в стартапах – то есть полезны всем тем, кто участвует в сборе, анализе, в управлении и контроле качества требований при разработке ПО.
Введение в методы машинного обучения 2
Основные типы моделей для поиска закономерностей в данных
Введение в анализ данных. Датасеты
Линейная множественная регрессия.
Метод Группового Учета Аргументов (МГУА).
Близость (похожесть) объектов. Метрики и выбор опорных признаков.
Кластерный анализ.
связная компонента;
k-means алгоритм - классический и с ядрами;
покрывающее дерево;
ЕМ метод. Расстояние Махаланобиса;
иерархический алгоритм;
ФОРЭЛЬ алгоритм.
Генетический алгоритм. Две фазы.
Факторный анализ. Метод главных компонент.
Продвинутые методы анализа - Анализ структурных объектов.
Нейронные сети. Персептроны. Функция активации.
Прогнозирование финансовых временных рядов.
Архитектуры нейросетей и области их области применения.
Среда COLAB.
А. Мюллер, С. Гвидо. Введение в машинное обучение с помощью PYTHON.
Р. Саттон, Э. Барто. Обучение с подкреплением
Ф. Шолле. Глубокое обучение на Python
Н. Шакла. Машинное обучение и TensorFlow.
Запись на курс по почте mikhail.kumskov@math.msu.ru
Рассматриваются основные типы моделей, используемые
закономерностей в данных:
регрессионный анализ,
кластеризация данных,
построение простых и обобщенных деревьев решений, сокращение данных – метод главных компонент.
Эти методы, входящие в научную дисциплину «Распознавания образов» (Pattern Recognition), являются основой такой быстро развивающейся дисциплины как Business Intelligence (BI) и Машинное обучение (Machine Learning).
Методы широко используются в бизнес-аналитике.
Кратко обсуждаются идеи и методы нейронных сетей и машины поддерживающих векторов (SVM – Support Vector Machine), а также методы bootstrap-построения оценок при недостаточном числе исходных данных.
Рассматриваются основные понятия «нечеткого» (fuzzy) анализа данных и их применения для построения новых признаков и ведения «нелинейности» в модели. Предлагаемые алгоритмы могут быть использованы в базах данных для восстановления (предсказания) пропущенных значений.
Проблемы применения математического моделирования для биржевых процессов
Шаткость экономических теорий и выкладок, на основе которых строятся текущие макро- и микроэкономические предсказания.
Основные сложности при стохастических подходах в моделировании
биржевых котировок.
The Black Swan: The Impact of the Highly Improbable. New York: Random House and Penguin Books. 2007. ISBN 978-1-4000-6351-2. Expanded 2nd ed, 2010 ISBN 978-0812973815.
Fntifragile: Things That Gain from Disorder. New York: Random House. 2012. ISBN 978-1-4000-6782-4.
The Essays of Warren Buffett: Lessons for Corporate America, Second Edition, Warren E. Buffett and Lawrence A. Cunningham, The Cunningham Group; 2nd edition (April 14, 2008). ISBN 978-0-9664461-2-8. Reminiscences of a Stock Operator, Edwin Lefèvre, ISBN 978-0-471-77088-6
Fractal financial fluctuations; do they threaten sustainability? Benoit B. Mandelbrot
Дэвид Гребер. Долг: первые 5000 лет
Вычислительная оптимизация
Вспомогательные задачи и оценки точности их решения:
- метод Ньютона-Исаева-Сонина-Федоренко,
- методы решения СЛАУ,
- методы численного диффференцирования,
- методы решения задач Коши для систем ОДУ
- метод декомпозиции и примеры его применения
- метод продолжения решения по параметру и примеры его применения
Прямые методы решения оптимизационных задач. Дискретизация в фазовом пространстве и в пространстве управлений. Примеры.
Методы безусловной оптимизации: сопряжённых градиентов и эвристические методы нулевого порядка. Примеры.
Методы условной оптимизации:
- метод проекции градиента,
- метод условного градиента,
- метод штрафных функций,
- метод линеаризации.
Федоренко Р.П. Введение в вычислительную физику (любое издание)
Федоренко Р.П. Приближённое решение задач оптимального управления. М.: Наука, 1978.
Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. М.: Физматлит, 2005.
Рассматривается проблемы численного решения оптимизационных задач, в том числе многометодные подходы.
Применение ИИ для решения задач аэродинамики
Классические методы обучения с учителем.
Глубинное обучение. Нейронные сети.
Нейронные сети в аэродинамике.
Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin Soljaˇci ́c, Thomas Y.Hou, & Max Tegmark. (2025). KAN: Kolmogorov-Arnold Networks.
Kumar, K., & Vantassel, J. (2023). GNS: A generalizable Graph Neural Network-based simulator forparticulate and fluid modeling. Journal of Open Source Software, 8(88), 5025
https://github.com/BRAIn-Lab-teaching/MACHINE-LEARNING-COURSE/tree/main
Спецкурс познакомит с основами алгоритмов машинного обучения и методами их применения в аэродинамике.