Scelta greedy

<aside> 💡 Un algoritmo greedy è un algoritmo che effettua ad ogni passo la scelta che in quel momento sembra la migliore (localmente ottima) nella speranza di ottenere una soluzione globalmente ottima

</aside>

Questo approccio non sempre porta ad una soluzione ottima

Interval scheduling

Interval scheduling: algoritmi greedy

<aside> 💡 Considera i job in un certo ordine; ad ogni passo viene esaminato il prossimo job nell’ordinamento e se il job è compatibile con quelli scelti nei passi precedenti allora il job viene inserito nella soluzione

</aside>

L’ordinamento dipende dal criterio che si intende ottimizzare localmente

Diverse strategie basate su diversi tipi di ordinamento:

Interval scheduling: algoritmo greedy ottimo

Untitled

Analisi: $O(nlogn)$

Teorema