Um dos meus idosos teve uma entrevista de emprego e ele foi perguntado por que é chamado de dinâmico. Ele não conseguiu responder e, depois de desistir, o entrevistador disse que não havia nada de dinâmico nisso, é chamado assim. Isso é difícil de acreditar.
Refere-se ao fato de que os subproblemas são resolvidos durante o tempo de execução e usados para atingir a meta final? Como a alocação dinâmica de memória que acontece durante o tempo de execução?
[RESPONDA]
Eu deveria ter lido este artigo da wiki antes de fazer a pergunta, desculpe.
terminology
dynamic-programming
kintoki
fonte
fonte
Respostas:
Sempre intuí que isso significava que algoritmos usando programação dinâmica pareciam editar o espaço do problema " dinamicamente " até que o problema pudesse ser resolvido com um algoritmo ganancioso.
Por exemplo, com o problema do tabuleiro de damas , o algoritmo de programação dinâmica edita toda a placa à medida que passa por ela e, finalmente, um algoritmo ganancioso pode ser usado (da mesma forma, com o algoritmo de caminho mais curto de Dijkstra, etc.).
Não tenho certeza se isso generaliza para todos os problemas de programação dinâmica.
fonte
Na verdade, não há nada de especial no nome "programação dinâmica"; a técnica em si é apenas sobre recursão inteligente desenrolando. Veja esta pergunta e veja a resposta @Jeffe, na qual é relatado que Belman escolhe esse nome para distrair intencionalmente.
fonte
Há uma história interessante aqui. Bellman foi pioneiro nesse paradigma. Mas, na verdade, essa era uma pesquisa matemática. Naquela época, o então secretário de Defesa era paranóico das palavras Pesquisa e Matemática (cara louco, né!). Bellman estava com medo de que a arte secreta ficasse furiosa com seu trabalho e, eventualmente, o colocasse em problemas. Então, para confundir um pouco as coisas, ele chamou de Programação Dinâmica , mas não há nada de 'dinâmico' nisso ..
fonte
Richard Bellman chamou de Programação Dinâmica nas palavras em Bellman
Fonte: Olho do furacão, Richard Bellman (autobiografia)
fonte