Курс за бакалаври 2+ курс и магистри на ФМИ СУ.
- Заниманията ще се провеждат във вторник от 18:30 в стая 107
- контролно 3 - 28.05.2019 от 18:30, стая 107
- https://classroom.github.com/a/U4Ze_xE- - домашно 4; срок до 08.05.2019.
- https://classroom.github.com/a/7_fHC-Mc - домашно 5; срок до 22.05.2019.
- https://classroom.github.com/g/X-BZ2KJO - предложение за проект; срок до 05.06.2019.
В това репозитори ще се публикуват програмите, които ще използваме по време на лекциите и упражненията. Всяка седмица ще има отделена директория. Голяма част от курса и качените програми са от курса на проф. Краут Statistical Mechanics: Algorithms and Computations. От книгата със същото име ще ползваме първа и седма глава. Тя може лесно да се намери в интернет. Ще ползваме пакетите на Python за научни изследвания numpy, scipy и pymc3. Повече за тях може да намерите на SciPy.org.
За да си набавите нужните пакети и Python 3, може да ползвате Anaconda.
За IDE може да ползвате PyCharm, Eclipse+PyDev или каквото ви е удобно.
- добро познаване на линейна алгебра и математически анализ
- програмиране на поне един език
Всичко останало може да бъде научено по време на курса: теория на вероятностите ще бъде подробно изложена; работа с гит ще е на съвсем просто ниво; да се премине на Python е много лесно, ако имате опит с друг език.
Ще има:
- 5 домашни по 10 точки.
- 3 контролни по 50 точки.
- предложение за кусов проект 20 точки
- 1 курсов проект по 80 точки.
Общо 300 точки. Ако съберете повече от 220 точки получавате 6. При повече от 190: 5, повече от 150: 4, повече от 120: 3. Домашните и предложението за курова работа се предава в определен срок в GitHub.
- Въведение в изчислителното програмиране с Python
- Монте Карло(МК) методи: директна извадка (Direct sampling), Марковска верига Монте Карло (Markov chain Monte Carlo)(MCMC)
- Случайни числа. Вероятностни разпределения, Централна гранична теорема
- Оценка на грешката на МК методи, корелация в MCMC
- Симулация на твърди дискове(статистическа механика)
- Ентропични взаимодействия, статистическа сума
- Случайни числа върху и в сфера. Разпределение на Максуел. Интегриране в голяма размерност
- Интегриране на по-сложни разпределения. Намаляване на вариацията, приоритетни извадки (importance sampling)
- Оптимизация с МК- симулирано охлаждане
- Други вероятностни оптимизационни алгоритми
- Приложения в Бейсови оценки с пакета pymc3
- Примери с pymc3
- Particle Filters
- +курсови работи
Приемливо е всяко приложение на Монте Карло метод в проблем, който ви интересува. Курсовата работа трябва да съдържа
- Описание на задачата.
- Монте Карло решение
- Оценка на грешката и поведение на алгоритъма
- каква е теоретическата грешка какво е поведението при увеличаване на входните параметри?
- каква е практическата наблюдавана грешка и приемлива ли е?
- какво е времето за изпълнение спрямо различни входни данни?
- сравнение на алгоритъма с друг подход.
Курсовия проект ще се счита за успешен дори ако Монте Карло алгоритъма не е по-добър от детерминистичния, с който го сравнявате.
Ако все пак се затруднявате да си изберете тема, ето няколко насоки:
- Прилагане на Монте Карло алгоритъм към комбинаторна или друга оптимизационна задача. Например TSP, но не точно този, защото него ще разгледаме в час.
- Оценяване на финасови инструменти с МК сумулация MKF
- Интегриране на сложен интеграл, например такъв, който представлява осветеността на обект.
- Симулация на флуид или какъв да е друг процес от природата, в който има случайно поведение.
- Анализ на данни, в които обучението се извършва с МК алгоритъм, например