У одного из моих пожилых людей было собеседование, и его спросили, почему это называется динамическим. Он не мог ответить, и после того, как он сдался, интервьюер сказал, что в этом нет ничего динамичного, его просто так называют. В это трудно поверить.
Относится ли это к тому, что подзадачи решаются во время выполнения и используются для достижения конечной цели? Как динамическое распределение памяти, которое происходит во время выполнения?
[ОТВЕТ]
Я должен был прочитать эту статью, прежде чем задавать вопрос, извините.
terminology
dynamic-programming
Kintoki
источник
источник
Ответы:
Я всегда интуитивно понимал, что это означает, что алгоритмы, использующие динамическое программирование, казалось, редактируют проблемное пространство « динамически », пока проблема не может быть решена с помощью жадного алгоритма.
Например, в задаче « Шахматная доска» алгоритм динамического программирования редактирует всю доску по мере ее прохождения, а затем, наконец, можно использовать жадный алгоритм (аналогично алгоритму Дейкстры по кратчайшему пути и т. Д.).
Я не уверен, если это обобщает все проблемы динамического программирования, хотя.
источник
На самом деле, в названии «динамическое программирование» нет ничего особенного; Сама техника - это просто умная раскрутка рекурсии. Посмотрите на этот вопрос и посмотрите на ответ @Jeffe, в котором сообщается, что Бельман выбрал это имя, чтобы преднамеренно отвлекать.
источник
Здесь есть интересная история. Беллман был пионером этой парадигмы. Но это было на самом деле математическое исследование. В свое время, тогдашний министр обороны был параноидален со словами Research and Math (сумасшедший парень, верно!). Беллман испугался, что секретарта разозлит его работа и в итоге он попадет в беду. Поэтому, чтобы немного размыть вещи, он назвал это динамическим программированием , однако в этом нет ничего «динамического».
источник
Ричард Беллман назвал это динамическим программированием в словах Беллмана
Источник: Глаз Урагана, Ричард Беллман (Автобиография)
источник