Увлекательное путешествие в страну Динамического...

113
(с) Игорь Клейнер 2015 УВЛЕКАТЕЛЬНОЕ ПУТЕШЕСТВИЕ В СТРАНУ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Transcript of Увлекательное путешествие в страну Динамического...

Page 1: Увлекательное путешествие в страну Динамического программирования

(с) Игорь Клейнер 2015

УВЛЕКАТЕЛЬНОЕ ПУТЕШЕСТВИЕ В

СТРАНУ ДИНАМИЧЕСКОГО

ПРОГРАММИРОВАНИЯ

Page 2: Увлекательное путешествие в страну Динамического программирования

ДОБРО ПОЖАЛОВАТЬ

Page 3: Увлекательное путешествие в страну Динамического программирования

ОБО МНЕ:

Page 4: Увлекательное путешествие в страну Динамического программирования

ОБО МНЕ:

Page 5: Увлекательное путешествие в страну Динамического программирования

ОБО МНЕ:

Page 6: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В

МАССЫ

Page 7: Увлекательное путешествие в страну Динамического программирования

ГЛАВНЫЕ ВОПРОСЫ

Page 8: Увлекательное путешествие в страну Динамического программирования

ГЛАВНЫЕ ВОПРОСЫ

• Кто я?

• Кто здесь?

• Зачем мы тут?

Page 9: Увлекательное путешествие в страну Динамического программирования

ГЛАВНЫЕ ВОПРОСЫ

• Кто я?

• Кто здесь?

• Зачем мы тут?

Page 10: Увлекательное путешествие в страну Динамического программирования

ГЛАВНЫЕ ВОПРОСЫ

• Кто я?

• Кто здесь?

• Зачем мы тут?

• Что такое динамическое программирование и

зачем оно нам нужно?

Page 11: Увлекательное путешествие в страну Динамического программирования

МЕТАФОРА

Page 12: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

• Два подхода к объяснениям:

Page 13: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

• Два подхода к объяснениям:

• Сверху вниз

• Снизу вверх

Page 14: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

• Два подхода к объяснениям:

• Сверху вниз

• Снизу вверх

Page 15: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

Пример обычного объяснения «снизу вверх»

Page 16: Увлекательное путешествие в страну Динамического программирования
Page 17: Увлекательное путешествие в страну Динамического программирования
Page 18: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

Объяснение: сверху вниз

Page 19: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

Объяснение: сверху вниз

Мотивация –

Page 20: Увлекательное путешествие в страну Динамического программирования

ЧТО ТАКОЕ ДИНАМИЧЕСКОЕ

ПРОГРАММИРОВАНИЕ И ЗАЧЕМ ОНО НАМ

НУЖНО?

Объяснение: сверху вниз

Мотивация – истории из жизни

Page 21: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

Page 22: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3]

Page 23: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность с

максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3] -7

• [1 -10 2 1 12 -4 5 -3] -2

Page 24: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в последовательности чисел подпоследовательность с максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3] -7

• [1 -10 2 1 12 -4 5 -3] -2

• [1 -10 2 1 12 -4 5 -3] 16

Page 25: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3]

Page 26: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3]

• Ничтоже сумняшеся

Page 27: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• [1 -10 2 1 12 -4 5 -3]

• Ничтоже сумняшеся

Page 28: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

Page 29: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

Page 30: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• +

Page 31: Увлекательное путешествие в страну Динамического программирования

CASE STORY #1

• 2011 Intel интервью

• Предложите алгоритм который находит в

последовательности чисел подпоследовательность

с максимальной суммой элементов

• + =

Page 32: Увлекательное путешествие в страну Динамического программирования

CASE STORY #2

• 2014 Microsoft интервью

Page 33: Увлекательное путешествие в страну Динамического программирования

CASE STORY #2

• 2014 Microsoft интервью

• Сколько существует способов вернуть сдачу n

монетами 1, 2, 3 и 5 копеек?

Page 34: Увлекательное путешествие в страну Динамического программирования

CASE STORY #2

• 2014 Microsoft интервью

• Сколько существует способов вернуть сдачу n

монетами 1, 2, 3 и 5 копеек?

• Решение:

Page 35: Увлекательное путешествие в страну Динамического программирования

CASE STORY #2

• 2014 Microsoft интервью

• Сколько существует способов вернуть сдачу n

монетами 1, 2, 3 и 5 копеек?

• Решение: ???

Page 36: Увлекательное путешествие в страну Динамического программирования

CASE STORY #2

• 2014 Microsoft интервью

• Сколько существует способов вернуть сдачу n

монетами 1, 2, 3 и 5 копеек?

• Решение: динамическое программирование

Page 37: Увлекательное путешествие в страну Динамического программирования

CASE STORY #3

• Хайфский университет, 2000 год, лекция именитого

профессора

Page 38: Увлекательное путешествие в страну Динамического программирования

CASE STORY #3

• Хайфский университет, 2000 год, лекция именитого

профессора

• Задача: 100 этажей + два яйца:

Определить за минимальное

количество попыток, этаж

начиная с которого яйцо разбивается

Page 39: Увлекательное путешествие в страну Динамического программирования

CASE STORY #3

• Хайфский университет, 2000 год, лекция именитого

профессора

• Задача: 100 этажей + два яйца:

Определить за минимальное

количество попыток, этаж

начиная с которого яйцо разбивается

Page 40: Увлекательное путешествие в страну Динамического программирования

МАГИЯ ДИНАМИЧЕСКОГО ПРОГРАММРОВАНИЯ

Page 41: Увлекательное путешествие в страну Динамического программирования

МАГИЯ ДИНАМИЧЕСКОГО ПРОГРАММРОВАНИЯ

[1 -10 2 1 12 -4 5 -3]

Page 42: Увлекательное путешествие в страну Динамического программирования

МАГИЯ ДИНАМИЧЕСКОГО ПРОГРАММРОВАНИЯ

[1 -10 2 1 12 -4 5 -3]

Page 43: Увлекательное путешествие в страну Динамического программирования

МАГИЯ ДИНАМИЧЕСКОГО ПРОГРАММРОВАНИЯ

Page 44: Увлекательное путешествие в страну Динамического программирования

ЕЩЕ НЕМНОГО МОТИВАЦИИ

Page 45: Увлекательное путешествие в страну Динамического программирования

ЕЩЕ НЕМНОГО МОТИВАЦИИ

Page 46: Увлекательное путешествие в страну Динамического программирования

ЕЩЕ МОТИВАЦИЯ

• Олимпиады по программированию

Page 47: Увлекательное путешествие в страну Динамического программирования

ЕЩЕ НЕМНОГО МОТИВАЦИИ

Page 48: Увлекательное путешествие в страну Динамического программирования

И ЕЩЕ СОВСЕМ ЧУТЬ-ЧУТЬ МОТИВАЦИИ

Page 49: Увлекательное путешествие в страну Динамического программирования

И ЕЩЕ СОВСЕМ ЧУТЬ-ЧУТЬ МОТИВАЦИИ

Page 50: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

Page 51: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• ДП – позволяет решать комбинаторные задачи и

задачи оптимизации, обладающие определенным

свойством

Page 52: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• ДП – позволяет решать комбинаторные задачи и задачи оптимизации, обладающие определенным свойством

• СКОЛЬКО:

• сколько способов вернуть сдачу

• сколько способов обойти граф

• сколько способов выполнить план

• сколько игр надо сыграть чтобы …

Page 53: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• ДП – позволяет решать комбинаторные задачи и задачи

оптимизации, обладающие определенным свойством

• Минимум или максимум

• прибыли \ ущерба

• вероятности успеха

• среднего ожидаемого дохода

• продолжительности жизни процесса

Page 54: Увлекательное путешествие в страну Динамического программирования

ВОПРОС НА ЗАСЫПКУ

• Выбор лучшей невесты это:

• Задача оптимизации

• Комбинаторная задача

• Задача вариационного исчисления

• Хитрая казуистика

Page 55: Увлекательное путешествие в страну Динамического программирования

ВОПРОС НА ЗАСЫПКУ

• Выбор лучшей невесты это:

• Задача оптимизации

• Комбинаторная задача

• Задача вариационного исчисления

• Хитрая казуистика

Page 56: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• ДП – позволяет решать комбинаторные задачи и

задачи оптимизации, обладающие

определенным свойством

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности

Page 57: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения аналогичной задачи

меньшей размерности

Page 58: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности:

Page 59: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности:

Page 60: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности:

Page 61: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности:

Page 62: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Оптимальность у подзадач – можно решить

задачу, с помощью решения задачи меньшей

размерности:

Page 63: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Хватит теории, дайте практики!

Page 64: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Хватит теории, дайте практики!

• Определить минимальное количество монет,

необходимое для возврата сдачи n

Page 65: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Хватит теории, дайте практики!

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• сдача 11 - ?

• сдача 6 - ?

Page 66: Увлекательное путешествие в страну Динамического программирования

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ЗА 5 МИНУТ

• Хватит теории, дайте практики!

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• сдача 11 – 2 монеты (10) (1)

• сдача 6 - 2 монеты (3)(3) или (5) (1)

Page 67: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество

монет, необходимое для возврата сдачи n

Page 68: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество

монет, необходимое для возврата сдачи n

• Напишем “чудо формулу” для вычисления F(n)

Page 69: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет, необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [ , , , ]

Page 70: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет, необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [ , , , ]

Page 71: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет, необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [1+ , , , ]

Page 72: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет, необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [1+ F(n-1) , , , ]

Page 73: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет, необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [1+ F(n-1), 1+F(n-2) , , ]

Page 74: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество

монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = [1+F(n-1), 1+F(n-2), 1+F(n-3) ,1+F(n-5) ]

Page 75: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество

монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = ??? [1+F(n-1), 1+F(n-2), 1+F(n-3) ,1+F(n-5) ]

Page 76: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• Обозначим через F(n) минимальное количество

монет, необходимое для возврата сдачи n

• Напишем чудо формулу для вычисления F(n)

• F(n) = min [1+F(n-1), 1+F(n-2), 1+F(n-3) ,1+F(n-5) ]

Page 77: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• F(n) = min [1+F(n-1),1+F(n-2),1+F(n-3),1+F(n-5)]

• Не стоит пугаться если не все понятно!

Page 78: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О СДАЧЕ

РЕШЕНИЕ

• Определить минимальное количество монет,

необходимое для возврата сдачи n

• F(n) = min [1+F(n-1),1+F(n-2),1+F(n-3),1+F(n-5)]

• Не стоит пугаться если не все понятно!

• И даже если все не понятно

Page 79: Увлекательное путешествие в страну Динамического программирования

ВОПРОС

• Любую задачу можно решить с помощью

динамического программирования?

• Да

• Нет

Page 80: Увлекательное путешествие в страну Динамического программирования

ВОПРОС

• Любую задачу можно решить с помощью

динамического программирования?

• Да

• Нет

Page 81: Увлекательное путешествие в страну Динамического программирования

РЕЗЮМЕ

• Динамическое программирования –

относительно простая и одновременно

мощная техника позволяющая решать

широкий класс задач

Page 82: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О ВЫБОРЕ НЕВЕСТЫ \ РАЗБОРЧИВЫЙ

ПРИНЦ

• Принцу необходимо выбрать лучшую из n

невест которые подходят к нему по одной в

случайном порядке, раз отказав невесте,

принц не сможет вернуться к ней

Page 83: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О ВЫБОРЕ НЕВЕСТЫ \ РАЗБОРЧИВЫЙ

ПРИНЦ

• Принцу необходимо выбрать лучшую из n

невест которые подходят к нему по одной в

случайном порядке, раз отказав невесте,

принц не сможет вернуться к ней

Page 84: Увлекательное путешествие в страну Динамического программирования

ЗАДАЧА О ВЫБОРЕ НЕВЕСТЫ \ РАЗБОРЧИВЫЙ

ПРИНЦ

• Принцу необходимо выбрать лучшую из n

невест которые подходят к нему по одной в

случайном порядке, раз отказав невесте,

принц не сможет вернуться к ней

Page 85: Увлекательное путешествие в страну Динамического программирования

БИРЖА

Page 86: Увлекательное путешествие в страну Динамического программирования

БИРЖА

• Опцион -

Page 87: Увлекательное путешествие в страну Динамического программирования

БИРЖА

• Опцион дает право купить или продать продукт по

специальной цене

Page 88: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Пример: Вася хочет купить через год 1000 долларов, но

переживает, что курс может вырасти.

Page 89: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Пример: Вася хочет купить через год 1000 долларов но

переживает, что курс может вырасти.

• Сегодня доллар стоит 56 рублей. Вася покупает за х

рублей опцион на покупку 1000 долларов через год за 60

рублей.

• Если через год доллар будет стоить больше 60, Вася

воспользуется опционом иначе выбросит его в мусор

Page 90: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Пример: Вася хочет купить через год 1000 долларов но

переживает, что курс может вырасти.

• Сегодня доллар стоит 56 рублей. Вася покупает за х

рублей опцион на покупку 1000 долларов через год за 60

рублей.

• Если через год доллар будет стоить больше 60, Вася

воспользуется опционом иначе выбросит его в мусор

• Как определить цену опциона?

Page 91: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Как определить цену опциона?

• Формула Блека-Шоулза

• Успех и широкое распространение формулы привело к

тому, что Шоулз получил Нобелевскую премию по

экономике в 1997 году «за новый метод определения

стоимости производных ценных бумаг».

Page 92: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Как определить цену опциона?

• Формула Блека-Шоулза

Page 93: Увлекательное путешествие в страну Динамического программирования

ОПЦИОН ДАЕТ ПРАВО КУПИТЬ ИЛИ ПРОДАТЬ

ПРОДУКТ ПО СПЕЦИАЛЬНОЙ ЦЕНЕ

• Как определить цену опциона?

• Формула Блека-Шоулза

Page 94: Увлекательное путешествие в страну Динамического программирования

РЕЗЮМЕ

• Динамическое программирования –

относительно простая и одновременно

мощная техника позволяющая решать

широкий класс задач

Page 95: Увлекательное путешествие в страну Динамического программирования

МАГИЯ ДИНАМИЧЕСКОГО ПРОГРАММРОВАНИЯ

Page 96: Увлекательное путешествие в страну Динамического программирования
Page 97: Увлекательное путешествие в страну Динамического программирования

ЧТО ДЕЛАТЬ ЕСЛИ Я ХОЧУ ИЗУЧИТЬ

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ?

Page 98: Увлекательное путешествие в страну Динамического программирования

ЧТО ДЕЛАТЬ ЕСЛИ Я ХОЧУ ИЗУЧИТЬ

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ?

• Что понять идеи метода стоит посмотреть на

решения 3-5 задач и столько же задач решить

самостоятельно

Page 99: Увлекательное путешествие в страну Динамического программирования

ЧТО ДЕЛАТЬ ЕСЛИ Я ХОЧУ ИЗУЧИТЬ

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ?

• Чтобы уметь самостоятельно пользоваться

методом и решать нестандартные задачи стоит

посмотреть на решения и решить самостоятельно

10-15 задач

Page 100: Увлекательное путешествие в страну Динамического программирования

ЧТО ДЕЛАТЬ ЕСЛИ Я ХОЧУ ИЗУЧИТЬ

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ?

• Чтобы стать гуру в ДП, стоит увеличить количество

решенных задач до 30 и более

Page 101: Увлекательное путешествие в страну Динамического программирования

МОЖНО ЛИ САМОСТОЯТЕЛЬНО ИЗУЧИТЬ

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ?

• Можно и нужно!

• Идеи метода доступны даже школьникам

Page 102: Увлекательное путешествие в страну Динамического программирования

КАК ИЗУЧИТЬ САМОСТОЯТЕЛЬНО

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Бархатный путь

Page 103: Увлекательное путешествие в страну Динамического программирования

КАК ИЗУЧИТЬ САМОСТОЯТЕЛЬНО

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Page 104: Увлекательное путешествие в страну Динамического программирования

СЕРТИФИКАТ ДОСТИЖЕНИЙ

Page 105: Увлекательное путешествие в страну Динамического программирования

ОБРАТНАЯ СВЯЗЬ

[email protected]

Ваши вопросы и обратная связь суть лучший источник

мотивации

Page 106: Увлекательное путешествие в страну Динамического программирования

ССЫЛКИ

• Бесплатный онлайн курс «Динамическое

программирование» https://goo.gl/p5yks2

Page 107: Увлекательное путешествие в страну Динамического программирования

ССЫЛКИ

• Задача о выборе невесты

• https://goo.gl/ij25ZJ

Page 108: Увлекательное путешествие в страну Динамического программирования

ССЫЛКИ

• Задача о сдаче

• https://goo.gl/BZJh1V

Page 109: Увлекательное путешествие в страну Динамического программирования

ССЫЛКИ

• Задача о подпоследовательности

• https://goo.gl/ulEBor

Page 110: Увлекательное путешествие в страну Динамического программирования

ЛИТЕРАТУРА

• Е.С. Вентцель «Исследование операций»

• А. Кофман «3аймемся исследованием операций»

• Dynamic programming and optimal control D.

Bertsekas

Page 111: Увлекательное путешествие в страну Динамического программирования

БЛАГОДАРНОСТИ

Page 112: Увлекательное путешествие в страну Динамического программирования

БЛАГОДАРНОСТИ

Page 113: Увлекательное путешествие в страну Динамического программирования

БЛАГОДАРНОСТИ

• Клейнер Надежда

• Бородин Захар

• Гольцман Александр

• Дубинский Игаль

• Гликин Григорий

• Емельянов Юрий