Tatsächlich ist die vollständige und allgemeine Beschreibung eines Problems, das durch einen Greedy-Algorithmus gelöst werden kann, eine Matroid-Einbettung , die sowohl das Konzept eines Matroids als auch das eines Greedoids verallgemeinert . Die Antwort ist nein - ein Problem, das durch einen gierigen Algorithmus lösbar ist, muss keine Matroid-Struktur haben, aber es wird die Struktur einer Matroid-Einbettung haben (was leider viel komplizierter ist).
Ein mentales Modell für einige davon könnte sein, minimale Spannbäume zu finden. Die von Kruskals Algorithmus verwendete Struktur ist eine Matroide, die von Prims Algorithmus (für den ein Startknoten erforderlich ist) jedoch nicht. (Es handelt sich jedoch um eine Gier - und eine Matroid-Einbettung.)
Helman et al. (1993) definieren in ihrer Arbeit Eine genaue Charakterisierung gieriger Strukturen ihren Begriff eines gierigen Algorithmus in Bezug auf Mengen-Systeme, der der gleiche Formalismus ist, der für Matroiden und Greedoiden verwendet wird. Ein Mengen-System besteht aus einer Menge S und einer Sammlung C von Teilmengen von S , den sogenannten Machbaren Mengen . Eine Basis für das Mengen-System ist eine maximal mögliche Menge, dh eine Menge, die machbar ist, aber in keiner anderen machbaren Menge enthalten ist. Eine Zielfunktion f : 2 S → R( S, C)SCS f: 2S→ Rordnet jede Teilmenge von einem Wert zu. Ein Optimierungsproblem in diesem Formalismus besteht darin, eine Basis für den maximalen Zielwert für ein gegebenes Satzsystem und eine gegebene Zielfunktion zu finden.S
Der im Sinne dieses Formalismus definierte Greedy-Algorithmus ist recht einfach: Sie beginnen mit der leeren Menge und fügen nacheinander ein einzelnes Element hinzu, bis Sie zu einer Basis gelangen, wobei Sie stets sicherstellen, dass (i) Ihre Menge bei jedem Schritt durchführbar ist, und ( ii) Das Element, das Sie hinzufügen, maximiert die objektive Funktion des resultierenden Ergebnisses, z. Alle alternativen Elemente, die Sie hätten hinzufügen können. (Das heißt, Sie versuchen konzeptionell, alle möglichen Alternativen hinzuzufügen, und wählen diejenige, die den höchsten objektiven Wert ergibt.)
Sie könnten vielleicht argumentieren, dass es andere Formen von Greedy-Algorithmen geben könnte, aber es gibt mehrere Lehrbücher über Algorithmen und kombinatorische Optimierung, die diesen Algorithmus auf der Basis von Mengen-Systemen als Greedy-Algorithmus beschreiben. Das hindert Sie nicht daran, etwas zu beschreiben, das nicht passt, aber trotzdem als gierig bezeichnet werden könnte, nehme ich an. (Still, dies tut Abdeckung alles , was potenziell eine Matroid Struktur haben könnte, zum Beispiel, obwohl es viel allgemeiner.)
Was Helman et al. Sie beschreiben, wann dieser Algorithmus funktioniert. Genauer:
Sie zeigen, dass für lineare Zielfunktionen (wobei der Zielwert die Summe der Elementgewichte ist) der Greedy-Algorithmus genau auf die Struktur angewendet wird, die sie als Matroid-Einbettung definieren.
Sie geben eine ähnliche Charakterisierung für sogenannte Engpassziele (wobei der Zielwert einer Menge über die einzelnen Elementgewichte gleich dem Minimum ist); und
Sie geben eine genaue Beschreibung, welche objektiven Funktionen (über die linearen hinaus) durch den gierigen Algorithmus bei Matroid-Einbettungen optimiert werden.