W rzeczywistości pełny i ogólny opis problemu, który można rozwiązać za pomocą chciwego algorytmu, polega na osadzeniu matroidu , który uogólnia zarówno pojęcie matroidu, jak i greedoidy . Odpowiedź brzmi: nie - problem rozwiązany przez zachłanny algorytm nie musi mieć struktury matroidu, ale będzie miał strukturę osadzania matroidu (co jest, niestety, znacznie bardziej skomplikowane).
Model mentalny niektórych z nich może polegać na znajdowaniu drzew o minimalnej rozpiętości. Struktura używana przez algorytm Kruskala jest matroidem, ale taka, której używa algorytm Prim (wymagający węzła początkowego), nie jest. (Jest to jednak chciwość - i osadzanie matroidów).
(S,C)SCS f:2S→RS
Algorytm zachłanności, zdefiniowany w kategoriach tego formalizmu, jest dość prosty: zaczynasz od pustego zestawu i sukcesywnie dodajesz pojedynczy element, aż dojdziesz do podstawy, zawsze upewniając się, że (i) twój zestaw jest wykonalny na każdym kroku, i ( ii) dodawany element maksymalizuje funkcję celu wynikowego wyniku, wrt. wszystkie alternatywne elementy, które mogłeś dodać. (Oznacza to, że pod względem koncepcyjnym próbujesz dodać wszystkie możliwe alternatywy i wybrać tę, która daje najwyższą wartość celu.)
Można, być może, twierdzą, że mogą istnieć inne formy algorytm zachłanny, ale istnieje kilka podręczniki algorytmów i optymalizacji kombinatorycznej, które opisują ten set-systemowi algorytmu opartego jak na algorytm zachłanny. To nie powstrzymuje cię przed opisaniem czegoś, co nie pasuje, ale przypuszczam, że nadal można je nazwać chciwym. (Mimo to robi okładkę niczego, co mogłoby potencjalnie mieć matroid strukturę, na przykład, choć jest o wiele bardziej ogólne.)
What Helman i in. robią to, że opisują, kiedy ten algorytm zadziała. Dokładniej:
Pokazują, że dla liniowych funkcji celu (gdzie wartość celu jest sumą wag elementów), zachłanny algorytm będzie działał dokładnie na strukturze, którą definiują jako osadzenie matroidu;
Podają podobną charakterystykę dla tak zwanych celów wąskiego gardła (gdzie wartość obiektywna zestawu jest równa minimum w stosunku do wag poszczególnych elementów); i
Podają dokładną charakterystykę, które funkcje celu (poza liniowe) są zoptymalizowane przez chciwy algorytm osadzania matroidów.