Ungarische Methode Technische Universität München
Bipartiter Graph mit Kantengewichten

Wie sieht das optimale Matching aus?

Matchings optimalen Gewichts

Wir erweitern das das Beispiel einer Zuordnung von Studenten zu passenden Arbeitsstellen durch die Einführung einer Präferenz. Es wird nun eine Zuordnung gesucht, die möglichst die Präferenzen jeden Studenten erfüllt bzw. maximiert.

In der Mathematik ist das Finden von Matchings zwischen Elementen unterschiedlicher Klassen ein häufig auftretendes Problem. In diesem Fall betrachten wir gewichtete Matchingprobleme, d.h. wir suchen Matchings mit optimalen Kantengewichten.

Die hier vorgestellte Ungarische Methode findet dann optimale Matchings in bipartiten Graphen.

Was möchtest du zuerst tun?


SVG Download

Legende

Knoten Knoten
Knoten Kante

Legende

Auf welchem Graph soll der Algorithmus ausgeführt werden?

Nimm ein fertiges Beispiel!

Ändere den Graphen nach deinen Vorstellungen:

  • Um einen Knoten in einer Partition zu erstellen, mache einen Doppelklick in der Nähe dieser Partition. In diesem Graph kannst du maximal 8 Knoten in jeder Partition erstellen.
  • Um eine Kante zu erstellen, klicke zunächst auf den Ausgangsknoten und dann auf den Zielknoten.
  • Du kannst nur Kanten zwischen verschiedenen Partitionen einfügen. Um die Gewichte der Kanten zu ändern, klicke doppelt auf den mittleren Teil der Kante und gib den Gewichtswert ein.
  • Ein Rechtsklick löscht Kanten und Knoten.

Lade den veränderten Graphen herunter:

Download

Lade einen existierenden Graphen hoch:

Ein

trat auf beim Lesen der Datei:

Fehlerbeschreibung:

                    

Was nun?

SVG Download

Legende

MatchedNode Matching-Knoten
Knoten Matching-Kante

Legende

Status des Algorithmus

BEGIN

initialize labels

WHILE matching is not complete DO

find a root of an alternating path

WHILE alternating path not found DO

try to find alternating path

in equality graph

IF alt. path not found

THEN update labels

END

increase matching

END

END

Status der Variablen:

Matching S T

Beim Wechsel des Tabs wird der Algorithmus abgebrochen.

Du kannst die Anwendung in einem anderen Browserfenster öffnen, um parallel einen anderen Tab zu lesen.

SVG Download

Legende

MatchedNode Matching-Knoten
Knoten Matching-Kante

Legende

Prüfe dein Wissen: Wie würde der Algorithmus entscheiden?


BEGIN

initialize labels

WHILE matching is not complete DO

find a root of an alternating path

WHILE alternating path not found DO

try to find alternating path

in equality graph

IF alt. path not found

THEN update labels

END

increase matching

END

END

Status der Variablen:

Matching S T

Beim Wechsel des Tabs wird die Aufgabe abgebrochen.

Du kannst die Anwendung in einem anderen Browserfenster öffnen, um parallel einen anderen Tab zu lesen.

SVG Download

Legende

MatchedNode Matching-Knoten
Knoten Matching-Kante

Legende

Prüfe dein Wissen: Wie würde der Algorithmus entscheiden?


BEGIN

initialize labels

WHILE matching is not complete DO

find a root of an alternating path

WHILE alternating path not found DO

try to find alternating path

in equality graph

IF alt. path not found

THEN update labels

END

increase matching

END

END

Status der Variablen:

Matching S T

Beim Wechsel des Tabs wird die Aufgabe abgebrochen.

Du kannst die Anwendung in einem anderen Browserfenster öffnen, um parallel einen anderen Tab zu lesen.