Als ich das Material über den gierigen Ansatz durchging, stellte ich fest, dass ein Wissen über Matroiden (Greedoiden) mir helfen wird, das Problem richtig anzugehen. Nachdem ich über Matroiden gelesen habe, habe ich ungefähr verstanden, was Matroiden sind. Aber wie verwenden Sie das Konzept einer Matroid zur Lösung eines bestimmten Optimierungsproblems?
Nehmen Sie zum Beispiel das Problem der Aktivitätsauswahl . Was sind die Schritte, um die Matroidentheorie zur Lösung des Problems zu verwenden?
Antworten:
Die Verbindung besteht darin, dass Sie, wenn Sie die Struktur, die Ihrem Optimierungsproblem zugrunde liegt, als Matroid darstellen können, den kanonischen Greedy-Algorithmus verwenden können, um die Summe aller positiven Gewichtsfunktionen zu optimieren. Wenn Ihr Optimierungsziel zu diesem Paradigma passt, können Sie Ihr Problem mit dem gierigen Ansatz lösen.
Beispiel
Betrachten Sie das minimale Spanning Tree-Problem bei positiven Kantengewichten¹. Wir werden zeigen, dass es eine Matroid gibt, die diesem Problem entspricht, was bedeutet, dass es gierig gelöst werden kann, dh durch den kanonischen Greedy-Algorithmus auf dieser Matroid.
Sei ein ungerichteter Graph mit der Kantenkostenfunktion. Dann mitG=(V,E,c) c:E→R+ (E,I)
ist eine Matroid. Somit können wir das Element von finden, das die Summe der Kantengewichte maximiert . Dies ist zufällig ein minimaler Spannbaum. Beachten Sie, dass der kanonische Greedy -Algorithmus in diesem Zusammenhang aus historischen Gründen als Kruskal-Algorithmus bezeichnet wird.I c′(e)=(maxe∈Ec(e))−c(e)
Beweise
Zu zeigen: ist eine Matroid. Wir müssen drei Eigenschaften überprüfen :(E,I)
Um zu zeigen: jedes Element mit Maximalgewicht in ein minimalen Spannbaum ist . Zunächst ist klar, dass ein maximales Gewicht gemäß , so dass es per Definition von auch ein minimales Gewicht gemäß . Jetzt müssen wir nur noch zeigen, dass es sich um einen Spanning Tree handelt: Wenn dies nicht der Fall wäre, wäre es nicht maximal in dem Sinne, dass wir noch Kanten (mit positivem Gewicht) hinzufügen könnten, was dem maximalen Gewicht widerspricht.F∗ I G F∗ c′ c′ c
quelle