Inizialmente, matroidi sono state introdotte per generalizzare i concetti di indipendenza lineare di una collezione di sottoinsiemi su un terreno impostato . Alcuni problemi che contengono questa struttura consentono agli algoritmi golosi di trovare soluzioni ottimali. Il concetto di greedoids è stato successivamente introdotto per generalizzare questa struttura per catturare più problemi che consentono di trovare soluzioni ottimali con metodi avidi.
Con quale frequenza nascono queste strutture nella progettazione di algoritmi?
Inoltre, molto spesso un algoritmo avido non sarà in grado di catturare completamente ciò che è necessario per trovare soluzioni ottimali, ma può comunque trovare soluzioni approssimative molto buone (Bin Packing, ad esempio). Detto questo, c'è un modo per misurare quanto "vicino" un problema è un avidoideo o un matroid?