Torna alla pagina di Algoritmi e strutture dati
Questa pagina è stata aggiornata GRAZIE agli appunti che AVETE INVIATO nel periodo di chiusura della sezione UniCrema!! È SERVITA A QUALCOSA, NO?! ;)
:: Glossario Programmazione dinamica e Greedy ::
Fasi per risolvere un problema
Problemi decisionali: Il dato di ingresso soddisfa una certa proprietà?
Esempio: Stabilire se un grafo è connesso
Problemi di ricerca: Spazio di ricerca (insieme di soluzioni possibili) e soluzione ammissibile (soluzione che rispetta certi vincoli).
Esempio: posizione di una sottostringa in una stringa.
Definire la soluzione dal punto di vista matematico. Le caratteristiche formali della soluzione possono suggerire una possibile tecnica.
Divide-et-impera: E' una tecnica ricorsiva vantaggiosa quando i sottoproblemi sono indipendenti altrimenti, gli stessi sottoproblemi possono venire risolti più volte.
Programmazione dinamica: E' una tecnica iterativa vantaggiosa quando ci sono sottoproblemi in comune.
Sottostruttura ottimale: E' possibile combinare le soluzioni dei sottoproblemi per trovare la soluzione di un problema più grande. Le decisioni prese per risolvere un problema rimangono valide quando esso diviene un sottoproblema di un problema più grande.
Sottoproblemi ripetuti: Un sottoproblema può occorrere più volte.
Spazio dei sottoproblemi: Deve essere polinomiale.
Ogni volta si fa la scelta migliore localmente.
Sottostruttura ottima: Ogni soluzione ottima non elementare si compone di soluzioni ottime di sottoproblemi.
Prorietà della scelta greedy: La scelta ottima localmente non pregiudica la possibilità di arrivare a una soluzione globalmente ottima.