Glossario · approach
Dynamic Programming
La tecnica di OR / informatica per risolvere problemi decisionali multistadio tramite decomposizione ricorsiva in sottoproblemi sovrapposti con risultati intermedi memorizzati; introdotta da Bellman (1957).
Programmazione DinamicaDynamic ProgrammingDPBellman DP
La Programmazione Dinamica (DP) è la tecnica di risoluzione dei problemi decisionali multistadio introdotta da Richard Bellman nel suo libro del 1957 (*Dynamic Programming*, Princeton University Press); scompone un problema in sottoproblemi sovrapposti, memorizza i risultati intermedi in una tabella (memoization o tabulation) e risolve ricorsivamente tramite l'equazione di Bellman V(s) = max_a {r(s, a) + γ V(s')}. Il problema dello zaino è l'esempio canonico di DP — Bellman presenta lo schema DP sullo knapsack nel libro del 1957; la complessità O(N×W) è **pseudo-polinomiale** (polinomiale nel valore di W, esponenziale nella sua lunghezza in bit). Altre applicazioni canoniche: cammini minimi (Bellman-Ford), inventario (lot-sizing Wagner-Whitin), sostituzione di attrezzature (Bellman 1955), processi decisionali stocastici (Markov Decision Process), allineamento di sequenze (Needleman-Wunsch), parsing (CYK), ordine di moltiplicazione di catene di matrici. La DP esiste in due forme principali: **DP deterministica** (ogni stadio con esito noto) e **DP stocastica** (ogni stadio con esito probabilistico — processi di Markov). L'applicabilità della DP richiede struttura sub-ottima (gli ottimi dei sottoproblemi si compongono nell'ottimo globale) e sottoproblemi sovrapposti (si ripetono). Approximate Dynamic Programming (ADP) e Stochastic Dual Dynamic Programming (SDDP) estendono la DP a problemi stocastici di grande scala. Bellman 1957 + Bellman e Dreyfus 1962 + Bertsekas 1995 sono i riferimenti canonici.
Örnek
Il comitato di investimento di una holding di medie dimensioni risolve via DP il sottoinsieme NPV-ottimo di 80 progetti candidati sotto un budget annuale di 100M TRY: N = 80, W = 100.000 (in unità di migliaia di TRY), tabella DP 80 × 100.000 = 8M celle, secondi su hardware moderno; l'NPV totale è del 7% superiore all'ordinamento intuitivo.