2017-2018, I семестр
Наш курс знакомит с применением информационных технологий в естественных науках, с так называемыми "научными вычислениями" (scientific computing).
Все мы используем результаты этих вычислений, по крайней мере, в виде готовых программ и библиотек. Основу их составляют математические модели, процесс разработки и применения которых рассматривается в данном курсе. Из каких элементов должна состоять модель, чтобы ею можно было воспользоваться? Какую модель выбрать в конкретной ситуации? На какую точность мы можем рассчитывать? Каковы ограничения на применение модели? Ответив на эти вопросы, мы сможем грамотно использовать имеющиеся в нашем распоряжении программные средства.
Одновременно с рассмотрением самих моделей, мы попытаемся проследить за их эволюцией, и тем, какую роль играет в этом совершенствование информационных технологий.
Кроме того, наш курс служит ступенькой для освоения других курсов: основ языка Matlab, численных методов и методов оптимизации.
Файлы презентаций и исходного кода находятся в OneDrive.
1. Модель и моделирование
Что такое модель и моделирование. Зачем нужны модели. Какими бывают модели.
Процесс принятия решений и место моделирования в нем.
Что нового привносит в моделирование компьютер. Новые подходы к решению задач. Методы Монте-Карло. Молекулярная динамика. Особенности компьютерной арифметики.
Пример: решение уравнения графическим способом (Matlab: векторы, операции с ними, построение графика).
2. Этапы моделирования. Обыкновенные дифференциальные уравнения
Процесс построения модели на примерах: модель народонаселения Мальтуса, колебания груза на пружине. Этапы построения математической модели. Перечень допущений — неотъемлемая составляющая модели.
Недостатки разностной модели. Переход от разностной модели к обыкновенному дифференциальному уравнению (ОДУ). Аналитическое решение. Пример: символьные решения в Matlab (модель Мальтуса, колебания груза). Что дает знание аналитического решения.
Исследование при помощи модели. Основные этапы исследования. Недостатки модели Мальтуса и возможности ее развития. Емкость среды. Модель Ферхюльста. Трение и его влияние на колебания.
Области применения ОДУ. Чего не хватает ОДУ (пространство, разрывы).
3. Численное решение дифференциальных уравнений
Метод Эйлера. Локальная и общая ошибки. Причины возникновения ошибок. Точность метода Эйлера. Реализация метода Эйлера на Matlab (модель Мальтуса). Проблемы метода Эйлера: малая точность, неустойчивость. Поиски выхода. Модифицированный метод Эйлера.
Решатели ОДУ в Matlab. Приведение ОДУ к каноническому виду. Пример: колебания груза на пружине.
4. Источники погрешности расчетов
Некоммутативность сложения и другие проблемы. Представление действительных чисел на компьютере. Особенности машинной арифметики.
Приближенные вычисления. Абсолютная и относительная погрешности. Разность двух близких чисел.
Виды погрешностей по их происхождению. Неустранимые погрешности. Расстановка приоритетов.
Пример: логистическое отображение (модель Ферхюльста) и детерминированный хаос.
5. Методы Монте-Карло
Статистические испытания. Генератор случайных чисел. Численное интегрирование. Пример: определение числа "пи". Вычисление экстремумов. Моделирование диффузии. Задача о назначениях.
Калибровка модели. Задача об остывании чашки кофе: подбор коэффициента остывания.
КОНТРОЛЬНАЯ РАБОТА 1
Примеры задач:
- Решение уравнения графическим способом.
- Вычисление рекуррентного соотношения для закона Мальтуса.
- Найти аналитическое решение дифференциального уравнения закона Ферхюльста.
- Найти аналитическое решение уравнения радиоактивного распада.
- Найти численное решение уравнения методом Эйлера; модифицированным методом Эйлера.
- Подобрать шаг h численного метода так, чтобы ошибка не превышала заданную величину (сравнивая аналитическое и численное решение). Построить графики решений, график погрешности.
- Решить уравнение при помощи решателя Matlab.
- Вычисление интеграла методом Монте-Карло.
- Вычисление экстремумов функций методом Монте-Карло.
6. Аппроксимация и прогнозирование
Метод наименьших квадратов. Задача об остывании чашки кофе возвращается. Аппроксимация функций. Интерполяция и подбор эмпирических формул. Реализация в Matlab (polyfit).
Прогнозирование (регрессия) и аппроксимация: сравнение задач. Регрессионный анализ. Обобщающая способность модели. Кросс-валидация. Проблемы "черного ящика": пример Бернарда Шоу, производство молока без коров.
7. Поиск оптимума: одномерные задачи
Общая постановка задачи оптимизации. Примеры задач оптмизации. Критерий качества, целевая функция, функция потерь. Задачи безусловной оптимизации и оптимизации с ограничениями. Унимодальность функции.
Аналитическое решение задачи безусловной одномерной оптимизации. Их ограничения. Интервал неопределенности. Метод перебора. Использование унимодальности: метод дихотомии. Метод Ньютона. Функция fminbnd.
8. Поиск оптимума: многомерные задачи
Локальный и глобальный экстремумы. Классификация методов поиска локальных экстремумов. Метод Нелдера-Мида (0-го порядка). Функция fminsearch.
Градиентные методы. Дробление шага. Метод скорейшего спуска.
Методы 2-го порядка. fminunc
Поиск глобального экстремума. Перебор. Мультистарт.
Оптимизация с ограничениями. Штрафные функции.
9. Дифференциальные уравнения в частных производных
Добавляем пространственные измерения. Построение модели (уравнение диффузии). Аналитическое решение. Что делать, если аналитического решения нет. Метод конечных разностей. Программа на Matlab'е.
Область распространения ДУЧП (движение сплошной среды). Проблемы переноса наработок в другие области науки (транспортный поток как течение жидкости).
10. Клеточные автоматы
Идея: если аналитического решения ДУ нет, можно сразу создавать модель из малых, но конечных фрагментов. Клеточные автоматы (КА). Моделирование диффузии. Приложения КА. Игра "Жизнь".
Агентное моделирование (agent-based modeling): к неподвижным "клеткам" добавим подвижных "агентов" и получим возможность моделировать неоднородные системы. Правила взаимодействия агентов. Возникновение сложного коллективного поведения и простых правил взаимодействия агентов. Компьютерная анимация: boids. Модели социологии и экономики: Sugarscape.
КОНТРОЛЬНАЯ РАБОТА 2
- Приближение функции.
- Поиск минимума функции.
Комментарии
comments powered by Disqus