суббота, 2 февраля 2013 г.

решение задач динамическое программирование

Слово «программирование» в словосочетании «динамическое программирование» в действительности к "традиционному" (написанию кода) почти никакого отношения не имеет и имеет смысл как в словосочетании « », которое является синонимом слова «оптимизация». Поэтому слово «программа» в данном контексте скорее означает оптимальную последовательность действий для получения решения задачи. К примеру, определенное расписание событий на выставке иногда называют программой. Программа в данном случае понимается как допустимая последовательность событий.

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

Метод динамического программирования сверху ЂЂЂ это простое запоминание результатов решения тех подзадач, которые могут повторно встретиться в дальнейшем. Динамическое программирование снизу включает в себя переформулирование сложной задачи в виде последовательности более простых подзадач.

Ключевая идея в динамическом программировании достаточно проста. Как правило, чтобы решить поставленную задачу, требуется решить отдельные части задачи (подзадачи), после чего объединить решения подзадач в одно общее решение. Часто многие из этих подзадач одинаковы. Подход динамического программирования состоит в том, чтобы решить каждую подзадачу только один раз, сократив тем самым количество вычислений. Это особенно полезно в случаях, когда число повторяющихся подзадач экспоненциально велико.

Динамическое программирование в и  ЂЂЂ способ решения сложных задач путём разбиения их на более простые подзадачи. Он применим к задачам с  ( ), выглядящим как набор перекрывающихся подзадач, сложность которых чуть меньше исходной. В этом случае время вычислений, по сравнению с «наивными» методами, можно значительно сократить.

Материал из Википедии ЂЂЂ свободной энциклопедии

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

Динамическое программирование ЂЂЂ Википедия

Комментариев нет:

Отправить комментарий