- 1 ноември 2017 е неучебен ден и няма да имаме занятие
- в директория exams е качено примерно контролно
- домашно 1 https://classroom.github.com/g/J9VRU-NQ
- пършото контролно ще се провед на 8.11.2017 г. от 18:00 в стая 107.
В това репозитори ще се публикуват програмите, които ще използваме по време на лекциите и упражненията. Всяка седмица ще има отделена директория. Голяма част от курса и качените програми са от курса на проф. Краут Statistical Mechanics: Algorithms and Computations. От книгата със същото име ще ползваме първа и седма глава. Тя може лесно да се намери в интернет. Ще ползваме пакетите на Python за научни изследвания numpy, scipy и pymc3. Повече за тях може да намерите на SciPy.org.
За да си набавите нужните пакети и Python 3, може да ползвате Anaconda.
За IDE може да ползвате PyCharm, Eclipse+PyDev или каквото ви е удобно.
Ще има:
- 5 домашни по 10 точки.
- 3 контролни по 50 точки.
- 1 курсов проект по 100 точки.
Общо 300 точки. Ако съберете повече от 220 точки получавате 6. При повече от 190: 5, повече от 150: 4, повече от 120: 3.
- Въведение в изчислителното програмиране с Python
- Монте Карло(МК) методи: директна извадка (Direct sampling), Марковска верига Монте Карло (Markov chain Monte Carlo)(MCMC)
- Случайни числа. Вероятностни разпределения, Централна гранична теорема
- Оценка на грешката на МК методи, корелация в MCMC
- Симулация на твърди дискове(статистическа механика)
- Ентропични взаимодействия, статистическа сума
- Случайни числа върху и в сфера. Разпределение на Максуел. Интегриране в голяма размерност
- Интегриране на по-сложни разпределения. Намаляване на вариацията, приоритетни извадки (importance sampling)
- Оптимизация с МК- симулирано охлаждане
- Други вероятностни оптимизационни алгоритми
- Приложения в Бейсови оценки с пакета pymc3
- Примери с pymc3
- +курсови работи
Някои от курсовите работи от миналата година може да намерите на:
https://docs.google.com/spreadsheets/d/1Ox9uW7PB7qVWlSIHqTzQqGzcvHSIAWJLvtWfNrWBsUI/edit?usp=sharing
Приемливо е всяко приложение на Монте Карло метод в проблем, който ви интересува. Курсовата работа трябва да съдържа
- Описание на задачата.
- Монте Карло решение
- Оценка на грешката и поведение на алгоритъма
- каква е теоретическата грешка какво е поведението при увеличаване на входните параметри?
- каква е практическата наблюдавана грешка и приемлива ли е?
- какво е времето за изпълнение спрямо различни входни данни?
- сравнение на алгоритъма с друг подход.
Курсовия проект ще се счита за успешен дори ако Монте Карло алгоритъма не е по-добър от детерминистичния, с който го сравнявате.
Ако все пак се затруднявате да си изберете тема, ето няколко насоки:
- Прилагане на Монте Карло алгоритъм към комбинаторна или друга оптимизационна задача. Например TSP, но не точно този, защото него ще разгледаме в час.
- Оценяване на финасови инструменти с МК сумулация MKF
- Интегриране на сложен интеграл, например такъв, който представлява осветеността на обект.
- Симулация на флуид или какъв да е друг процес от природата, в който има случайно поведение.
- Анализ на данни, в които обучението се извършва с МК алгоритъм, например