Семинар 4. Динамическое программирование

Суббота, 12 октября 2019
НГУ, ауд. 2128, НГУ, новый корпус

Описание

Динамическое программирование вперёд. Граф зависимостей.

Процесс построения/перебора решения. Как получить по процессу решение динамическим программированием: шаги, остановка, важная информация. Параметры динамики, внесение параметра в целевую функцию. Уменьшение затрачиваемой памяти для динамики по слоям.

Примеры построения динамики для наибольшей возрастающей подпоследовательности:

  • на шаге выбираем следующий добавляемый элемент
  • на шаге решаем, добавлять или не добавлять элемент

Примеры построения динамики для задачи о рюкзаке:

  • на шаге решаем, брать или не брать предмет
  • как в 1, только можно добавлять балласт в любой момент
  • на шаге решаем, какой предмет взять следующим

Решение задачи 8. Букет. Параметры динамики, если перебирать предметы. Параметры, если добавить сортировку. Решение за O(N S) времени и O(S) памяти.

Видео для студентов заочного отделения: https://compscicenter.ru/courses/algorithms-1/nsk/2018-autumn/classes/4213/