www.wikidata.de-de.nina.az
Perfekte Paarung ist eine Weiterleitung auf diesen Artikel fur den Begriff der nicht ausgearteten Bilinearform aus der linearen Algebra siehe ausgeartete Bilinearform Die Theorie um das Finden von Matchings in Graphen ist in der diskreten Mathematik ein umfangreiches Teilgebiet das in die Graphentheorie eingeordnet wird Folgende Situation wird dabei betrachtet Gegeben sei eine Menge von Dingen und zu diesen Dingen Informationen daruber welche davon einander zugeordnet werden konnten Ein Matching in der Literatur manchmal auch Paarung ist dann als eine solche Auswahl aus den moglichen Zuordnungen definiert die kein Ding mehr als einmal zuordnet Die am haufigsten gestellten Fragen in dieser Situation sind dann die folgenden Wie findet man ein Matching das eine maximale Anzahl A 1 an Dingen einander zuordnet Dieses Problem ist das klassische Matchingproblem Gibt es ein Matching das alle Dinge zuordnet Wenn ja wie viele Solche Matchings heissen perfektes Matching Die Anzahl der perfekten Matchings in einem Graphen G displaystyle G wird meistens mit F G displaystyle Phi G notiert Angenommen man konnte quantifizieren wie wichtig oder teuer die einzelnen Zuordnungen waren Wie findet man dann ein Matching das eine maximale Zahl von Dingen zuordnet und dabei ein moglichst grosses oder kleines Gewicht hat Dieses Problem heisst gewichtetes Matchingproblem Zwischen einer Maximierungs und einer Minimierungsaufgabe wird hier oftmals nicht unterschieden Indem man bei allen Gewichten Kosten das Vorzeichen vertauscht kann man beide Probleme ohne nennenswerten Aufwand ineinander uberfuhren Angenommen man hatte genau zwei Klassen von Dingen und angenommen man wusste dass es ausschliesslich zwischen diesen Klassen mogliche Zuordnungen gibt Werden die Probleme 1 3 dadurch einfacher Dieses Problem heisst bipartites gewichtetes Matchingproblem und ist ein viel diskutierter Spezialfall Kann man anderes Wissen das man uber die Struktur der moglichen Zuordnungen hat ahnlich wie in 4 geschickt benutzen um die Probleme 1 3 effizienter zu losen Die Theorie um die Matchings untersucht moglichst effiziente Losungsverfahren dieser Probleme klassifiziert diese nach ihrer Laufzeit mit den Methoden der Komplexitatstheorie und stellt Beziehungen dieser Probleme zueinander und zu anderen Problemen in der Mathematik her Inhaltsverzeichnis 1 Definitionen 1 1 Definitionen gewichtetes Matching Problem 2 Eigenschaften 3 Kombinatorik 4 Historisches 5 Bipartite Matchings 5 1 Losungsverfahren 5 2 Programmierung 6 Allgemeiner Fall 6 1 Satz von Tutte 6 2 Algorithmus von Edmonds 7 Literatur 8 Weblinks 9 Einzelnachweise 10 AnmerkungenDefinitionen Bearbeiten nbsp Ein einfacher Graph mit einem nicht erweiterbaren Matching maximal matching nbsp Derselbe Graph mit einem perfekten wie auch grosstmoglichen MatchingDas oben beschriebene Problem lasst sich wie folgt formalisieren Gegeben sei ein endlicher ungerichteter Graph G V E displaystyle G V E nbsp Eine Menge M E displaystyle M subseteq E nbsp heisst Matching wenn keine zwei Kanten aus M displaystyle M nbsp einen Knoten gemeinsam haben Ein Matching heisst nicht erweiterbar engl maximal matching falls es keine Kante e E M displaystyle e in E setminus M nbsp derart gibt dass e M displaystyle e cup M nbsp ein Matching ist Maximale Matchings sind im Vergleich zu den folgenden Begriffen sehr einfach zu berechnen grosstmoglich engl maximum matching falls M displaystyle M nbsp als Menge eine maximale Kardinalitat unter allen Matchings von G displaystyle G nbsp hat Maximum Matchings sind maximal Die Machtigkeit eines Maximum Matchings wird Matchingzahl genannt und mit n G displaystyle nu G nbsp notiert perfekt falls 2 M V displaystyle 2 cdot M V nbsp gilt d h wenn jeder Knoten gematcht wurde Perfekte Matchings sind Maximum Matchings und damit auch maximal Perfekte Matchings konnen als 1 Faktoren eines Graphen das heisst 1 regulare aufspannende Teilgraphen aufgefasst werden Dieser Auffassung folgend spricht man auch von faktorisierbaren Graphen wenn sie einen 1 Faktor besitzen 1 Definitionen gewichtetes Matching Problem Bearbeiten Fur das gewichtete Matchingproblem spielt eine Kostenfunktion c E R displaystyle c colon E to mathbb R nbsp eine Rolle Ein Matching heisst maximal falls c M e M c e displaystyle c M sum e in M c e nbsp maximal unter allen Matchings von G displaystyle G nbsp ist minimal maximal falls c M displaystyle c M nbsp minimal unter allen maximalen Matchings ist Eigenschaften BearbeitenIn jedem Graphen ohne isolierte Knoten ist die Summe der ubereinstimmenden Matchingzahl und der Kantenuberdeckungszahl gleich der Anzahl der Knoten Wenn es ein perfektes Matching gibt sind sowohl die Matchingzahl als auch die Kantenuberdeckungszahl gleich V 2 displaystyle tfrac V 2 nbsp Wenn A displaystyle A nbsp und B displaystyle B nbsp zwei nicht erweiterbare Matchings sind dann gilt A 2 B displaystyle A leq 2 cdot B nbsp und B 2 A displaystyle B leq 2 cdot A nbsp Das liegt daran dass jede Kante in B A displaystyle B setminus A nbsp hochstens mit zwei Kanten in A B displaystyle A setminus B nbsp benachbart sein kann weil A displaystyle A nbsp ein Matching ist Ausserdem grenzt jede Kante in A B displaystyle A setminus B nbsp an eine Kante in B A displaystyle B setminus A nbsp weil B displaystyle B nbsp nicht erweiterbar ist Daher gilt A B 2 B A displaystyle A setminus B leq 2 cdot B setminus A nbsp Daraus folgt A A B A B A B A B 2 A B 2 B A 2 B A B A 2 B A B A 2 B displaystyle A A cap B cup A setminus B A cap B A setminus B leq 2 cdot A cap B 2 cdot B setminus A 2 cdot B cap A B setminus A 2 cdot B cap A cup B setminus A 2 cdot B nbsp also A 2 B displaystyle A leq 2 cdot B nbsp Wenn der Graph zum Beispiel ein Pfad mit 3 Kanten und 4 Knoten ist betragt die Grosse eines minimalen maximalen Matchings 1 und die Grosse eines perfekten Matchings betragt 2 Kombinatorik BearbeitenDie Anzahl der Matchings mit k displaystyle k nbsp Kanten fur bestimmte Graphen zeigt die folgende Tabelle 2 Anzahl der Matchings mit k Kantenvollstandiger Graph K n displaystyle K n nbsp n 2 k n 2 k n 2 k k n 2 k displaystyle frac n 2 cdot k cdot n 2 cdot k frac n 2 k cdot k cdot n 2 cdot k nbsp vollstandig bipartiter Graph K n n displaystyle K n n nbsp k n k 2 n 2 k n k 2 displaystyle k cdot binom n k 2 frac n 2 k cdot n k 2 nbsp Kreisgraph C n displaystyle C n nbsp n n k n k k n n k 1 k n 2 k displaystyle frac n n k cdot binom n k k frac n cdot n k 1 k cdot n 2 cdot k nbsp Pfadgraph P n displaystyle P n nbsp n k k n k k n 2 k displaystyle binom n k k frac n k k cdot n 2 cdot k nbsp Historisches Bearbeiten nbsp Sylvester gab fur Aussage 2 ein Beispiel an das zeigt dass sie fur Graphen mit drei oder mehr Brucken nicht mehr stimmt ein 3 regularer Graph mit 16 Knoten drei Brucken und keinem perfekten Matching Als eine der fruhesten 3 4 systematischen Untersuchungen von Matchings wird ein Artikel von Julius Petersen angefuhrt der 1891 uber Die Theorie der regularen graphs schrieb 5 Er untersuchte ein Zerlegungsproblem aus der Algebra das David Hilbert 1889 6 gestellt hatte indem er es als Graphenproblem formulierte 3 Letztlich bewies er darin folgendes Fur alle Zahlen k N displaystyle k in mathbb N nbsp kann jeder 2 k displaystyle 2k nbsp regulare Graph in disjunkte 2 displaystyle 2 nbsp Faktoren zerlegt werden 1 Jeder kubische zusammenhangende Graph mit weniger als drei Brucken besitzt ein perfektes Matching 2 Die Tatsache 2 bekannt als Satz von Petersen lasst sich auch als eine leichte Verallgemeinerung des Eulerkreisproblems formulieren A 2 Ruckblickend erscheinen Petersens Argumente mit denen er das Obige bewies kompliziert und umstandlich 7 Bei der weiteren Untersuchung etwa durch Brahana 1917 8 Errera 1922 9 und Frink 1926 10 sowie zusammenfassend durch Konig 1936 11 wurden aber viele Methoden der modernen Graphentheorie entwickelt oder zuerst systematisch formuliert Petersens Denkansatz wurde dann von Babler 1938 12 1952 13 und 1954 14 sowie von Gallai 1950 15 Belck 1950 16 und schliesslich Tutte auf andere regulare Graphen ubertragen In modernen Lehrbuchern und Vorlesungen tauchen Petersens ursprungliche Resultate wenn uberhaupt meist nur noch als Folgerungen aus den Resultaten von Tutte oder Hall auf Im Buch von Diestel folgt die erste Aussage aus dem Heiratssatz von Hall 7 Die zweite Aussage wird auf den Satz von Tutte zuruckgefuhrt 17 Bipartite Matchings BearbeitenEines dieser fruhen Resultate betrifft bipartite Graphen die sich in der Folge als ein sehr naturlicher und aus heutiger Sicht fur die Praxis zentraler Spezialfall herausgestellt haben Konig und Egervary untersuchten beide unabhangig voneinander das bipartite Matchingproblem und das Knotenuberdeckungsproblem und fanden dabei heraus dass beide Probleme in dem folgenden Sinn aquivalent sind Die Grosse einer minimalen Knotenuberdeckung und eines maximum Matching stimmen auf bipartiten Graphen uberein 3 Dieser Satz wird meistens Konig zugeschrieben oder Min Max Theorem bzw Dualitatssatz genannt Beide bewiesen die Aussage fur endliche Graphen Aharoni bewies 1984 die Aussage fur uberabzahlbar unendliche Graphen 18 Ein elementarer Beweis von 3 findet sich in Lovasz amp Plummer 43 der von den meisten Lehrbuchern ubernommen wurde Bondy amp Murty 200 fuhrt den Satz auf ein Resultat der linearen Programmierung zuruck Ist A displaystyle A nbsp die Inzidenzmatrix des Graphen G displaystyle G nbsp dann lassen sich maximum Matchings als Losungen von folgendem ganzzahligen linearen Programm auffassen max e x unter A x 1 x 0 displaystyle max ex text unter Ax leq 1 land x geq 0 nbsp Dabei ist e displaystyle e nbsp der Einsvektor bestehend aus lauter Einsen Das Programm des Knotenuberdeckungsproblems hat folgende Gestalt min y e unter y A 1 y 0 displaystyle min ye text unter yA geq 1 land y geq 0 nbsp Diese Programme haben eine sogenannte primal dual Gestalt Fur Programme von dieser Gestalt wird in der Theorie der linearen Programme gezeigt dass sie in ihren Optima ubereinstimmen Fur bipartite Graphen lasst sich ausserdem leicht zeigen dass A displaystyle A nbsp total unimodular ist was in der Theorie der ganzzahligen linearen Programme ein Kriterium fur die Existenz einer optimalen Losung der Programme mit Eintragen nur aus Z displaystyle mathbb Z nbsp und damit in diesem speziellen Fall sogar aus 0 1 displaystyle left 0 1 right nbsp ist also genau solchen Vektoren die auch fur ein Matching bzw fur eine Knotenuberdeckung stehen konnen Dieser Primal Dual Ansatz der linearen Programme scheint zunachst wenig mit der Matching Theorie zu tun zu haben stellt sich aber als einer der fruchtbarsten Ansatze zur effizienten Berechnung von Matchings insbesondere im gewichteten Fall heraus Es gibt eine ganze Vielzahl von Satzen die zum Satz von Konig aquivalent sind 19 20 21 Darunter der Satz von Birkhoff und von Neumann der Satz von Dilworth und das Max Flow Min Cut Theorem fur bipartite Graphen Fur die Matchingtheorie am interessantesten ist folgende Bedingung die Hall 1935 22 angab um bipartite Graphen mit perfektem Matching zu charakterisieren Dieser Charakterisierungssatz ist ebenfalls aquivalent zum Satz von Konig Ein bipartiter Graph mit Knotenpartitionen S T displaystyle S dot cup T nbsp und o B d A S T displaystyle S geq T nbsp hat genau dann ein perfektes Matching wenn fur jede Auswahl von Knoten H S displaystyle H subseteq S nbsp gilt N H H displaystyle N H geq H nbsp Dabei ist N H displaystyle N H nbsp die Nachbarschaftsmenge von H displaystyle H nbsp 4 Aus 4 folgt schnell dass sich unter den bipartiten Graphen genau alle regularen Graphen 1 displaystyle 1 nbsp faktorisieren lassen 23 und die Aussage 1 von Petersen lasst elegant auf diese Folgerung zuruckfuhren 7 Eine Verallgemeinerung dieses Resultats liefert eine Formel fur die Grosse eines maximum Matchings die sogenannte Konig Ore Formel 24 25 n G S max H S H N H displaystyle nu G S max H subseteq S H N H nbsp Losungsverfahren Bearbeiten Algorithmus I Eingabe G displaystyle G nbsp mit einem beliebigen Matching M displaystyle M nbsp 1 repeat 2 suche verbessernden Pfad P displaystyle P nbsp 3 Falls gefunden Augmentiere M displaystyle M nbsp entlang P displaystyle P nbsp 4 until Suche nach verbesserndem Pfad war erfolglos Ausgabe G displaystyle G nbsp mit maximum Matching M displaystyle M nbsp Viele der folgenden Konzepte spielen in fast allen Losungsverfahren von Matchingproblemen eine Rolle Ist ein Graph G displaystyle G nbsp mit einem Matching M displaystyle M nbsp gegeben dann heisst ein Knoten von G displaystyle G nbsp frei in der Literatur auch ungepaart exponiert verfugbar falls er zu keiner Kante in M displaystyle M nbsp inzident ist Andernfalls heisst der Knoten gesattigt Ein Pfad P displaystyle P nbsp in G displaystyle G nbsp heisst alternierend falls dieser abwechselnd Kanten aus M displaystyle M nbsp und aus M c displaystyle M c nbsp enthalt Falls dieser Pfad in einem freien Knoten beginnt und endet heisst der Pfad verbessernd oder auch augmentierend Die letzte Bezeichnung kommt von der Tatsache dass P displaystyle P nbsp durch M P displaystyle M oplus P nbsp A 3 ein grosseres Matching als M displaystyle M nbsp liefert Folgendes grundlegendes Resultat von Berge 1957 26 motiviert das Studium von augmentierenden Pfaden Ein Matching ist genau dann Maximum wenn es keinen verbessernden Pfad in G displaystyle G nbsp bezuglich M displaystyle M nbsp gibt Diese Bezeichnungen entsprechen genau der Sprache die auch bei der Behandlung von Flussen in Netzwerken gebraucht wird Das ist kein Zufall denn Matchingprobleme lassen sich in der Sprache der Netzwerktheorie formulieren und mit den dort entwickelten Verfahren losen Im bipartiten Fall ist diese Zuruckfuhrung wie das folgende Beispiel zeigt sogar fast trivial Gegeben ein Graph G displaystyle G nbsp mit Knotenmenge V G S T displaystyle V G S dot cup T nbsp Konstruiere ein Netzwerk N G u s t displaystyle N G u sigma tau nbsp Dabei ist V G V G s t displaystyle V G V G cup sigma tau nbsp und E G E G s s s S t t t T displaystyle E G E G cup sigma s s in S cup t tau t in T nbsp Ausserdem ist u displaystyle u nbsp die Fortsetzung von der Kostenfunktion c displaystyle c nbsp die alle neuen Kanten mit Inf A 4 belegt Mit dem Satz von Berge lasst sich auch gleich ein Algorithmus I zum Finden von maximum Matchings angeben 27 Weil jeder verbessernde Pfad zu einem gegebenen Matching einen weiteren Knoten matcht und maximal n 2 displaystyle tfrac n 2 nbsp Knoten zu matchen sind beschrankt sich die Zahl der Schleifendurchlaufe asymptotisch durch O n displaystyle mathcal O n nbsp Eine sehr naive Methode zum Finden verbessernder Pfade stellen sogenannte Graph Scans dar etwa eine Breitensuche BFS mit einer Laufzeit von O n m displaystyle mathcal O n m nbsp Ferner ist m O n 2 displaystyle m in mathcal O n 2 nbsp weil der Graph bipartit ist und damit ist die angegebene Methode in O n 3 displaystyle mathcal O n 3 nbsp Einer der fruhesten Beitrage zum Berechnen von Maximum Matchings der uber die oben angefuhrte naive Methode hinausgeht war der Algorithmus von Hopcroft und Karp 1973 28 Die Grundidee folgt dem Algorithmus von Dinic mit dem das Problem mit derselben asymptotischen Laufzeit gelost werden kann 29 der in jeder Phase wo der Algorithmus nach einem verbessernden Pfad sucht Zeile 2 moglichst kurze Pfade und nach Moglichkeit mehrere gleichzeitig sucht Alt Blum Mehlhorn amp Paul 1991 30 schlagen eine Verbesserung von Hopcroft amp Karp vor indem sie ein Scanningverfahren fur Adjazenzmatrizen nach Cheriyan Hagerup and Mehlhorn 1990 31 anwenden Eine einfache Beschreibung der Methode findet sich auch in Burkard Dell Amico amp Martello 47 ff Feder und Motwani 1991 32 haben eine Methode vorgeschlagen die auf der Zerlegung von G displaystyle G nbsp in bipartite Cliquen beruht und erreichen damit eine asymptotische Laufzeit von O n m log n 2 m log n displaystyle mathcal O sqrt n m log n 2 m log n nbsp Eine Methode die nicht auf der Idee augmentierender Pfade beruht sondern sogenannte starke Spannbaume benutzt haben Balinski amp Gonzalez 1991 33 vorgeschlagen und erreichen damit eine Laufzeit von O n 3 displaystyle mathcal O n 3 nbsp Programmierung Bearbeiten Das folgende Beispiel in der Programmiersprache C zeigt ein Programm das die Matchingzahl fur einen bipartiten Graphen bestimmt Der bipartite Graph wird als zweidimensionales Array vom Datentyp bool Boolesche Variable deklariert Wenn zwei Knoten verbunden sind wird der Wert true gespeichert wenn nicht wird der Wert false gespeichert Die Methode BipartiteMatching die feststellt ob es ein passendes Matching gibt verwendet einfache Rekursion Bei der Ausfuhrung des Programms wird die Methode Main verwendet die die Matchingzahl auf der Konsole ausgibt 34 using System class Program Diese Methode verwendet Tiefensuche und stellt fest ob es ein Matching mit dem Knoten mit startIndex gibt bool BipartiteMatching bool bipartiteGraph int startIndex bool visitedIndexes int matchedIndexes int n for int targetIndex 0 targetIndex lt n targetIndex for Schleife die alle Indexe der Zielknoten durchlauft if bipartiteGraph startIndex targetIndex amp amp visitedIndexes targetIndex Wenn die Knoten mit startIndex und targetIndex im bipartiten Graphen verbunden sind und Zielknoten nicht besucht ist visitedIndexes targetIndex true Setzt den Zielknoten auf besucht Wenn der Knoten mit targetIndex nicht zugeordnet ist wird er dem Knoten mit startIndex zugeordnet Wenn der Knoten mit targetIndex auf besucht gesetzt ist wird er im rekursiven Aufruf nicht erneut zugeordnet if matchedIndexes targetIndex 1 BipartiteMatching bipartiteGraph matchedIndexes targetIndex visitedIndexes matchedIndexes n Rekursiver Aufruf der Methode mit dem Nachbarknoten als Startknoten matchedIndexes targetIndex startIndex return true return false Diese Methode gibt die Matchingzahl des bipartiten Graphen zuruck int GetMatchingNumber bool bipartiteGraph int m int n int matchedIndexes new int n Array das die Indexe der zugeordneten Knoten speichert for int i 0 i lt n i for Schleife die alle Indexe der Zielknoten durchlauft matchedIndexes i 1 Setzt alle Knoten auf nicht zugeordnet int matchingNumber 0 Zahlt die Anzahl der Matchings for int startIndex 0 startIndex lt m startIndex for Schleife die alle Indexe der Startknoten durchlauft bool visitedIndexes new bool n Array das die Indexe der besuchten Knoten speichert for int i 0 i lt n i for Schleife die alle Indexe der Zielknoten durchlauft visitedIndexes i false Setzt alle Knoten auf nicht besucht if BipartiteMatching bipartiteGraph startIndex visitedIndexes matchedIndexes n Untersucht ob es ein Matching mit dem Knoten mit startIndex gibt matchingNumber return matchingNumber Hauptmethode die das Programm ausfuhrt public static void Main Erzeugt einen bipartiten Graphen bool bipartiteGraph new bool false true true false false false true false false true false false false false true false false false false false true true false false false false false false false false false false false false false true Program program new Program Console WriteLine Die Matchingzahl des bipartiten Graphen ist program GetMatchingNumber bipartiteGraph 6 6 Ausgabe auf der Konsole Console ReadLine Allgemeiner Fall BearbeitenSatz von Tutte Bearbeiten Hauptartikel Satz von Tutte Wahrend Charakterisierungen von Matchings und effiziente Algorithmen zum Bestimmen relativ schnell nach der Formulierung von Matchings als Problem gefunden wurden dauerte es bis 1947 bis Tutte 35 eine Charakterisierung fur perfekte Matchings in allgemeinen Graphen formulieren und beweisen konnte Aus diesem tiefliegenden Resultat lassen sich alle bisher besprochenen vergleichsweise leicht herleiten 36 Tutte benutzt die einfache Tatsache dass eine Komponente mit ungerader Knotenzahl in einem Graphen kein perfektes Matching haben kann Wenn also eine Knotenmenge S displaystyle S nbsp so gefunden werden kann dass G S displaystyle G S nbsp mehr ungerade Komponenten als S displaystyle S nbsp Knoten hat dann musste fur ein perfektes Matching aus jeder solcher Komponente wenigstens ein Knoten mit einem Knoten aus S displaystyle S nbsp gematcht werden und das kann nicht sein Es stellt sich heraus dass die Existenz einer solchen Menge S displaystyle S nbsp Graphen ohne perfektes Matching nicht nur beschreibt sondern charakterisiert Ein Graph G displaystyle G nbsp hat genau dann ein perfektes Matching wenn fur jede Menge T V G displaystyle T subseteq V G nbsp gilt c G T T displaystyle c G T leq T nbsp c displaystyle c nbsp gibt die Anzahl der ungeraden Komponenten eines Graphen an 5 Eine solche Menge T displaystyle T nbsp heisst Tutte Menge und die Bedingung in 5 heisst Tutte Bedingung Dass sie notwendig fur die Existenz perfekter Matching ist wurde schon skizziert und es gibt mittlerweile viele Beweise dafur dass die Bedingung hinreichend ist Tuttes ursprunglicher Beweis formulierte das Problem als ein Matrix Problem und benutzte die Idee der pfaffschen Determinante 35 Elementare Abzahlargumente wurden relativ rasch danach veroffentlicht wie in Maunsell 1952 37 Tutte 1952 38 Gallai 1963 39 Halton 1966 40 oder Balinski 1970 41 Andere Beweise wie Gallai 1963 39 Anderson 1971 42 oder Marder 1973 43 verallgemeinern den Satz 4 von Hall systematisch Ferner gibt es Beweise aus der Perspektive der Graphentheorie die die Struktur von Graphen betrachten die selbst kein Perfektes Matching besitzen doch falls eine Kante erganzt wird hat der resultierende Graph ein solches Diesen Ansatz verfolgen etwa Hetyei 1972 44 oder Lovasz 1975 45 nbsp Es genugt nicht erst alle Bluten zu suchen und zu kontrahieren und dann eine Breitensuche zu fahren Die Prioritat der Fallunterscheidungen spielt eine Rolle fur die Korrektheit des Algorithmus 46 In diesem Beispiel enthalt der kontrahierte Graph keinen augmentierenden Pfad wohl aber der Ausgangsgraph Algorithmus von Edmonds Bearbeiten Der erste Polynomialzeitalgorithmus fur das klassische Matchingproblem stammt von Jack Edmonds 1965 47 Die Grundstruktur der Methode entspricht Algorithmus I Sie sucht verbessernde Pfade und gibt ein maximum Matching zuruck falls kein solcher gefunden werden kann Einen verbessernden Pfad zu finden stellt sich hier aber als schwieriger heraus als im bipartiten Fall weil einige neue Falle auftreten konnen Edmonds Suchmethode konstruiert nach und nach einen alternierenden Wald Das ist ein kreisfreier Graph F displaystyle F nbsp mit so vielen Zusammenhangskomponenten wie es freie Knoten gibt Jeder freie Knoten ist Wurzel r i displaystyle r i nbsp eines Baumes T F displaystyle T subset F nbsp und F displaystyle F nbsp ist so konstruiert dass fur alle anderen Knoten v F displaystyle v in F nbsp der eindeutig bestimmte r i displaystyle r i nbsp v displaystyle v nbsp Pfad ein alternierender Pfad ist Ein Knoten in v F displaystyle v in F nbsp heisst dann innen oder ungerade falls d r i v 1 mod 2 displaystyle operatorname d r i v equiv 1 mod 2 nbsp und andernfalls aussen oder gerade d displaystyle operatorname d nbsp sei hier die Distanzfunktion in T displaystyle T nbsp gebe also die Lange des eindeutig bestimmten r i displaystyle r i nbsp v displaystyle v nbsp Pfades an Es genugt die Betrachtung auf die Konstruktion eines alternierenden Baumes zu reduzieren Falls diese Konstruktion keinen augmentierenden Pfad findet wird sie mit einem neuen freien Knoten reinitialisiert und alle bereits betrachteten Kanten werden ignoriert Existiert kein freier Knoten mehr dann existiert auch kein augmentierender Pfad Diesen alternierenden Baum konstruiert Edmonds indem er ausgehend von einem freien Knoten nach und nach alle Kanten hinzufugt oder ignoriert Dabei konnen fur eine neue Kante e u v displaystyle e uv nbsp u displaystyle u nbsp gehore bereits zum Baum folgende Falle auftreten Wenn u displaystyle u nbsp ein innerer Knoten ist konnen nur Kanten e M displaystyle e in M nbsp zu T displaystyle T nbsp hinzugefugt werden weil T displaystyle T nbsp alternierend werden soll Diese Kante ist eindeutig durch u match u displaystyle u operatorname match u nbsp gegeben Falls u displaystyle u nbsp ein ausserer Knoten ist dann kann v displaystyle v nbsp frei sein und noch nicht in T displaystyle T nbsp Dann ist der r displaystyle r nbsp v displaystyle v nbsp Pfad augmentierend gepaart sein und weder v displaystyle v nbsp noch match v displaystyle operatorname match v nbsp ist in T displaystyle T nbsp Dann konnen v displaystyle v nbsp und match v displaystyle operatorname match v nbsp zu T displaystyle T nbsp hinzugefugt werden bereits in T displaystyle T nbsp als innerer Knoten enthalten sein Damit schliesst e displaystyle e nbsp einen geraden Kreis Diese Kanten konnen ignoriert werden 48 bereits in T displaystyle T nbsp als ein ausserer Knoten enthalten sein Dann schliesst e displaystyle e nbsp einen ungeraden alternierenden Kreis B displaystyle B nbsp eine sogenannte Blute Edmonds zieht die Knoten in B displaystyle B nbsp zu einem Pseudoknoten b displaystyle b nbsp zusammen mit den Inzidenzen aller Knoten aus B displaystyle B nbsp Diese Operation lasst sich auch beschreiben als Bildung des Quotientengraphen G G B displaystyle G G B nbsp Er reinitialisiert dann die Suche in G displaystyle G nbsp und gibt ein Verfahren an einen dort gefundenen augmentierenden Pfad P displaystyle P nbsp zu einem augmentierenden Pfad P displaystyle P nbsp in G displaystyle G nbsp zu liften Bluten konnen anders als bei Fall 3 displaystyle 3 nbsp nicht ignoriert werden 49 Der Knoten der die Blute mit dem Baum verbindet lasst sich in das Schema der inneren und ausseren Knoten nicht einordnen Die naheliegende Idee ihn als sowohl innen als auch aussen zu behandeln fuhrt zu einem falschen Algorithmus 50 Die Behandlung von Bluten mit Kontraktion ist neben dem Ansatz von Berge die zentrale Idee von Edmonds Algorithmus und Grundlage vieler spaterer Verfahren Bipartite Graphen enthalten keine ungeraden Kreise und damit auch keine Bluten Edmonds Algorithmus reduziert sich daher im bipartiten Fall auf die Methode von Munkres Man kann ablesen dass die skizzierte Methode von Edmonds einen Aufwand von O n 4 displaystyle mathcal O n 4 nbsp hat In Fall 2 4 displaystyle 2 4 nbsp reinitialisiert Edmonds die Suche und verwirft damit den bereits geleisteten Suchaufwand Gabow 1976 51 und Lawler haben eine naive Implementierung vorgeschlagen die den Suchaufwand nicht verwirft und eine Laufzeit von O n 3 displaystyle mathcal O n 3 nbsp erreicht Das Beispiel folgt bereits dieser Methode Beispiel zu Edmonds nbsp Der reduzierte Graph G G B displaystyle G G B nbsp nbsp G displaystyle G nbsp mit einer weiteren Blute B displaystyle B nbsp nbsp Der weiter reduzierte Graph G G B displaystyle G G B nbsp nbsp Von b displaystyle b nbsp wird der freie Knoten 9 displaystyle 9 nbsp gefunden der nach Fall 2 1 displaystyle 2 1 nbsp in G displaystyle G nbsp den augmentierenden Pfad P 1 2 b 9 displaystyle P 1 2 b 9 nbsp schliesst Die Liftung dieses Pfades liefert P 1 2 3 5 6 7 8 9 displaystyle P 1 2 3 5 6 7 8 9 nbsp zunachst in G displaystyle G nbsp der aber auch schon in G displaystyle G nbsp selbst liegt Literatur BearbeitenM D Plummer L Lovasz Matching Theory Annals of Discrete Mathematics 1 Auflage Elsevier Science und Akademiai Kiado Budapest Budapest 1986 ISBN 0 444 87916 1 Reinhard Diestel Graphentheorie 3 neu bearb und erw A Auflage Springer Berlin 2006 ISBN 3 540 21391 0 diestel graph theory com Dieter Jungnickel Graphs Networks and Algorithms Algorithms and Computation in Mathematics Band 5 3 Auflage Springer 2007 ISBN 978 3 540 72779 8 Guizhen Liu Qinglin Roger Yu Graph Factors and Matching Extensions 1 Auflage Springer Beijing 2009 ISBN 978 3 540 93951 1 Alexander Schrijver Combinatorial Optimization Polyhedra and Efficiency Algorithms and Combinatorics A Springer Amsterdam 2003 ISBN 3 540 44389 4 U S R Murty Adrian Bondy Graph Theory Graduate Texts in Mathematics Springer 2008 ISBN 978 1 84996 690 0 springer com Mauro Dell Amico Silvano Martello Rainer Burkard Assignment Problems Revised reprint Society for Industrial and Applied Mathematics Philadelphia 2012 ISBN 978 1 61197 222 1 assignmentproblems com David S Johnson Network Flows and Matching First Dimacs Implementation Challenge American Mathematical Society 1993 ISBN 0 8218 6598 6 Eugene Lawler Combinatorial Optimization Networks and Matroids Dover Publications Rocquencourt 1976 ISBN 0 03 084866 0 HistorischDenes Konig Theorie der endlichen und unendlichen Graphen kombinatorische Topologie der Streckenkomplexe Teubner Archiv zur Mathematik 1 Auflage 1986 Teubner Verlagsgesellschaft Leipzig 1936 ISBN 3 322 00303 5 E Keith Lloyd Robin J Wilson Norman L Biggs Graph Theory 1736 1936 Oxford University Press USA 1999 ISBN 0 19 853916 9 Weblinks Bearbeiten nbsp Commons Matching Sammlung von Bildern Videos und AudiodateienEinzelnachweise Bearbeiten Yu amp Liu 4 Wolfram MathWorld Matching a b Lovasz amp Plummer xi Yu amp Liu 3 Julius Petersen Die Theorie der regularen graphs In Acta Mathematica 15 Jahrgang 1891 S 193 220 doi 10 1007 BF02392606 David Hilbert Uber die Endlichkeit des Invariantensystems fur binare Grundformen In Mathematische Annalen 33 Jahrgang Nr 2 1889 S 223 226 a b c Reinhard Diestel Graphentheorie 3 neu bearb und erw A Auflage Springer Berlin 2006 ISBN 3 540 21391 0 S 43 diestel graph theory com Henry Roy Brahana A Proof of Petersen s Theorem In The Annals of Mathematics 19 Jahrgang Nr 1 1917 ISSN 0003 486X S 59 63 doi 10 2307 1967667 Alfred Errera Une demonstration du theoreme de Petersen In Mathesis 36 Jahrgang 1922 S 56 61 Orrin Frink A Proof of Petersen s Theorem In The Annals of Mathematics 27 Jahrgang Nr 4 1926 ISSN 0003 486X S 491 493 doi 10 2307 1967699 Denes Konig Theorie der endlichen und unendlichen Graphen kombinatorische Topologie der Streckenkomplexe 1936 Fridolin Babler Uber die Zerlegung regularer Streckenkomplexe ungerader Ordnung In Commentarii Mathematici Helvetici 10 Jahrgang Nr 1 1938 ISSN 0010 2571 S 275 287 doi 10 1007 BF01214296 Fridolin Babler Bemerkungen zu einer Arbeit von Herrn R Cantoni In Commentarii Mathematici Helvetici 26 Jahrgang 1952 ISSN 0010 2571 S 117 118 digizeitschriften de Fridolin Babler Uber den Zerlegungssatz von Petersen In Commentarii Mathematici Helvetici 28 Jahrgang Nr 1 1954 ISSN 0010 2571 S 155 161 doi 10 1007 BF02566927 Tibor Gallai On factorization of graphs In Acta Mathematica Academiae Scientiarum Hungaricae 1 Jahrgang 1950 ISSN 0236 5294 S 133 153 Hans Boris Belck Regulare Faktoren von Graphen In Journal fur die reine und angewandte Mathematik Crelles Journal 1950 Jahrgang Nr 188 1950 ISSN 0075 4102 S 228 252 doi 10 1515 crll 1950 188 228 Reinhard Diestel Graphentheorie 3 neu bearb und erw A Auflage Springer Berlin 2006 ISBN 3 540 21391 0 S 45 diestel graph theory com Ron Aharoni Konig s Duality Theorem for Infinite Bipartite Graphs In Journal of the London Mathematical Society s2 29 Jahrgang Nr 1 1984 ISSN 0024 6107 S 1 12 doi 10 1112 jlms s2 29 1 1 Lovasz amp Plummer 5 40 Notizen zu einem Vortrag von Robert D Borgersen Equivalence of seven major theorems in combinatorics PDF 66 kB November 26 2004 K Jacobs Der Heiratssatz In Selecta Mathematica I 1969 S 103 141 Philip Hall On representatives of subsets In Journal of London Mathematics Society 10 Jahrgang 1935 S 26 30 Jungnickel 216 Yu amp Liu 9 Bondy amp Murty 422 Claude Berge Two theorems in graph theory In Proceedings of the National Academy of Sciences 43 Jahrgang Nr 9 15 September 1957 S 842 844 pnas org PDF Aus didaktischen Grunden sehr stark vereinfacht nach Burkard Dell Amico amp Martello 38 In der Referenz ist die Methode zum Finden eines verbessernden Pfades wesentlich detaillierter angegeben John E Hopcroft Richard M Karp An n 5 2 displaystyle n 5 2 nbsp Algorithm for Maximum Matchings in Bipartite Graphs In SIAM Journal on Computing 2 Jahrgang Nr 4 1973 ISSN 0097 5397 S 225 231 doi 10 1137 0202019 englisch Shimon Even Robert E Tarjan Network flow and testing graph connectivity In SIAM Journal on Computing 4 Jahrgang Nr 4 1975 ISSN 0097 5397 S 507 518 doi 10 1137 0204043 englisch H Alt N Blum K Mehlhorn M Paul Computing a maximum cardinality matching in a bipartite graph in time O n 1 5 m log n displaystyle mathcal O n 1 5 sqrt m log n nbsp In Information Processing Letters 37 Jahrgang Nr 4 1991 ISSN 0020 0190 S 237 240 doi 10 1016 0020 0190 91 90195 N englisch Joseph Cheriyan Torben Hagerup Kurt Mehlhorn Automata Languages and Programming Band 443 Springer Verlag Berlin Heidelberg 1990 ISBN 3 540 52826 1 Can a maximum flow be computed in O n m displaystyle mathcal O nm nbsp time S 235 248 englisch Tomas Feder Rajeev Motwani Clique partitions graph compression and speeding up algorithms twenty third annual ACM symposium on Theory of computing In Proceedings of the twenty third annual ACM symposium on Theory of computing ACM New York 1991 ISBN 0 89791 397 3 S 123 133 doi 10 1145 103418 103424 englisch M L Balinski J Gonzalez Maximum matchings in bipartite graphs via strong spanning trees In Networks 21 Jahrgang Nr 2 1991 ISSN 1097 0037 S 165 179 doi 10 1002 net 3230210203 englisch GeeksforGeeks Maximum Bipartite Matching a b W T Tutte The factorization of linear graphs In Journal of the London Mathematical Society 1 Jahrgang Nr 2 1947 S 107 Lovasz amp Plummer 84 F G Maunsell A note on Tutte s paper The factorization of linear graphs In Journal of the London Mathematical Society 1 Jahrgang Nr 1 1952 S 127 englisch W T Tutte The factors of graphs In Classic Papers in Combinatorics 1987 S 164 178 englisch a b T Gallai Neuer Beweis eines Tutte schen Satzes Magyar Tud In Akad Kutato Int Kozl 8 Jahrgang 1963 S 135 139 John H Halton A Combinatorial Proof of a Theorem of Tutte In Mathematical Proceedings of the Cambridge Philosophical Society 62 Jahrgang Nr 04 1966 S 683 684 doi 10 1017 S0305004100040342 englisch M L Balinski On perfect matchings In SIAM Review 12 Jahrgang 1970 S 570 572 englisch I Anderson Perfect matchings of a graph In Journal of Combinatorial Theory Series B 10 Jahrgang Nr 3 1971 S 183 186 englisch W Mader 1 Faktoren von Graphen In Mathematische Annalen 201 Jahrgang Nr 4 Dezember 1973 ISSN 0025 5831 S 269 282 doi 10 1007 BF01428195 G Hetyei A new proof of a factorization theorem In Acta Acad Paedagog Civitate Pecs Ser 6 Math Phys Chem Tech 16 Jahrgang 1972 S 3 6 englisch L Lovasz Three short proofs in graph theory In Journal of Combinatorial Theory Series B 19 Jahrgang Nr 3 1975 S 269 271 englisch Jungnickel 409 J Edmonds Paths trees and flowers In Canadian Journal of mathematics 17 Jahrgang Nr 3 1965 S 449 467 doi 10 4153 CJM 1965 045 4 englisch Jungnickel 396 Betrachte dieses Beispiel nach Jungnickel 398 Diese Idee wurde in Oldenbourg U Pape D Conradt Ausgewahlte Operations Research Software in FORTRAN Oldenbourg 1979 ISBN 3 486 23911 2 Maximales Matching in Graphen S 103 114 vorgeschlagen Jungnickel 399 hat ein Gegenbeispiel das auf Christian Fremuth Paeger zuruckgeht Harold N Gabow An Efficient Implementation of Edmonds Algorithm for Maximum Matching on Graphs In Journal of the ACM 23 Jahrgang Nr 2 April 1976 ISSN 0004 5411 S 221 234 doi 10 1145 321941 321942 englisch Anmerkungen Bearbeiten Beachte den Unterschied zwischen einem maximalen Element und einem Maximum Bei der Formalisierung wird darauf genauer eingegangen Es ist nicht bekannt ob Petersen mit den Arbeiten von Euler 1736 zu diesem Problem vertraut war Lovasz amp Plummer xi displaystyle oplus nbsp notiert die symmetrische Differenz Programmiersprachen die das Konzept Inf nicht unterstutzen konnen die kunstlichen Kanten stattdessen mit einer absurd grossen Zahl belegen e E G c e displaystyle textstyle sum e in E G c e nbsp genugt in jedem Fall Normdaten Sachbegriff GND 4831446 8 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Matching Graphentheorie amp oldid 239513069