Un algoritmo avido è un processo matematico che cerca soluzioni semplici e facili da implementare a problemi complessi in più fasi, decidendo quale passaggio successivo fornirà il vantaggio più ovvio.
Tali algoritmi sono chiamati greedy perché mentre la soluzione ottimale per ogni istanza più piccola fornirà un output immediato, l'algoritmo non considera il problema più grande nel suo complesso. Una volta presa una decisione, non viene mai riconsiderata.
Gli algoritmi Greedy funzionano costruendo ricorsivamente un insieme di oggetti dalle parti costituenti più piccole possibili. La ricorsione è un approccio alla risoluzione dei problemi in cui la soluzione a un problema particolare dipende da soluzioni a istanze più piccole dello stesso problema. Il vantaggio di utilizzare un algoritmo avido è che le soluzioni a istanze più piccole del problema possono essere dirette e facili da capire. Lo svantaggio è che è del tutto possibile che le soluzioni a breve termine più ottimali possano portare al peggior risultato possibile a lungo termine.
Gli algoritmi avidi vengono spesso utilizzati nelle reti mobili ad hoc per instradare in modo efficiente i pacchetti con il minor numero di salti e il ritardo più breve possibile. Sono anche utilizzati nell'apprendimento automatico, nella business intelligence (BI), nell'intelligenza artificiale (AI) e nella programmazione.
Vedi anche: principio KISS, rasoio di Ockham