Der ungarische Algorithmus ist ein kombinatorischer Optimierungsalgorithmus, der das Problem der bipartiten Anpassung mit maximalem Gewicht in der Polynomzeit löst und die spätere Entwicklung der wichtigen Primal-Dual-Methode vorwegnimmt . Der Algorithmus wurde 1955 von Harold Kuhn entwickelt und veröffentlicht, der den Namen "Ungarischer Algorithmus" erhielt, da der Algorithmus auf den früheren Arbeiten zweier ungarischer Mathematiker basierte: Dénes Kőnig und Jenő Egerváry. Munkres überprüfte den Algorithmus 1957 und stellte fest, dass es tatsächlich Polyzeit ist. Seitdem ist der Algorithmus auch als Kuhn-Munkres-Algorithmus bekannt.
Obwohl der Ungar die Grundidee der Primal-Dual-Methode enthält, löst er das Problem der bipartiten Anpassung mit maximalem Gewicht direkt, ohne einen linearen Programmierapparat (LP) zu verwenden. Auf die folgende Frage antwortete Jukka Suomela
Natürlich können Sie jede LP mit einem Allzweck-LP-Löser lösen, aber spezialisierte Algorithmen weisen in der Regel eine viel bessere Leistung auf. [...] Sie können auch häufig Probleme vermeiden, z. B. die Verwendung genauer rationaler Zahlen im Vergleich zu Gleitkommazahlen. alles kann leicht mit ganzen Zahlen gemacht werden.
Mit anderen Worten, Sie müssen sich keine Gedanken darüber machen, wie Sie eine Rational / Floating-Point-Lösung aus dem LP-Solver runden können, um eine perfekte Übereinstimmung der maximalen Gewichtung eines gegebenen zweigeteilten Graphen zu erhalten.
Meine Frage ist folgende:
Gibt es eine Verallgemeinerung des ungarischen Algorithmus, die für allgemeine ungerichtete Graphen ohne die Verwendung von LP-Maschinen ähnlich dem Geist des ursprünglichen ungarischen Algorithmus funktioniert ?
Ich würde lieber eine moderne und leicht lesbare Darstellung als ein kompliziertes Originalpapier vorziehen. Aber jeder Zeiger wird sehr geschätzt!
Vielen Dank im Voraus und Frohe Weihnachten !!!
Update: Die Frage wird von Arman unten schön beantwortet. Ich möchte nur darauf hinweisen, dass eine weitere gute Quelle zum Studium des Edmonds-Blossom-Algorithmus (für den gewichteten Fall) Kapitel 11 der kombinatorischen Optimierung von Korte und Vygen ist . Google Buch zeigt eigentlich fast alle Teile, die ich brauche, um den Algorithmus zu verstehen.