Заказать реферат, курсовую или дипломную работу по предмету
Динамическое программирование
Довольно часто на олимпиадах встречаются задачи, провоцирующие к применению алгоритмы перебора. Но простой подсчет числа вариантов убеждает в неэффективности такого подхода. Для решения таких задач используется метод динамического программирования. Суть его заключается в том, что для отыскания решения поставленной задачи решается похожая (или похожие), но более простая. При этом осуществляется переход к еще более простым и так далее, пока не доходят до тривиальной. Как видно, решение можно оформить рекурсивно. Но простое применение этого приема очень легко может привести к переполнению стека. Необходимо позаботиться об оптимизации рекурсивных проходов и не вычислять одно и то же значение несколько раз, сделать так называемое отсечение. Можно вообще отказаться от рекурсии и решать задачу «наоборот» - прежде «решить» тривиальные случаи, а затем переходить ко все более сложным. Для решения таких задач существует специальная теория, большая заслуга в ее создании принадлежит Р.Беллману. Выполнение курсовой работы / диплома по динамическому программированию является неотъемлемым элементом системы подготовки специалистов в области компьютерных технологий.