23.06.2013 Aufrufe

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

finale Version des Vorlesungsskripts - ZIB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

3 Diskrete Optimierungsprobleme<br />

von Männern zu Frauen (Heirat), so dass die Summe der Antipathiekoeffizienten minimal<br />

ist. Dieses Problem wird häufig Heiratsproblem genannt.<br />

Das Matchingproblem in bipartiten Graphen kann man folgendermaßen interpretieren.<br />

Ein Betrieb habe m offene Stellen und n Bewerber für diese Positionen. Durch Tests hat<br />

man herausgefunden, welche Eignung Bewerber i für die Stelle j hat. Diese “Kompetenz”<br />

sei mit cij bezeichnet. Gesucht wird eine Zuordnung von Bewerbern zu Positionen, so<br />

dass die “Gesamtkompetenz” maximal wird.<br />

Das Zuordnungsproblem und das Matchingproblem in bipartiten Graphen sind offenbar<br />

sehr ähnlich, die Beziehungen zwischen dem Zuordnungsproblem und seiner gerichteten<br />

<strong>Version</strong> sind dagegen nicht ganz so offensichtlich. Dennoch sind diese drei Probleme in<br />

folgendem Sinne “äquivalent”: man kann sie auf sehr einfache Weise ineinander transformieren,<br />

d. h. mit einem schnellen Algorithmus zur Lösung <strong>des</strong> einen Problems kann<br />

man die beiden anderen Probleme lösen, ohne komplizierte Transformationsalgorithmen<br />

einzuschalten.<br />

Transformationstechniken, die einen Problemtyp in einen anderen überführen, sind<br />

außerordentlich wichtig und zwar sowohl aus theoretischer als auch aus praktischer Sicht.<br />

In der Theorie werden sie dazu benutzt, Probleme nach ihrem Schwierigkeitsgrad zu<br />

klassifizieren (siehe Kapitel 4), in der Praxis ermöglichen sie die Benutzung eines einzigen<br />

Algorithmus zur Lösung der verschiedensten Probleme und ersparen daher erhebliche<br />

Codierungs- und Testkosten. Anhand der drei vorgenannten Probleme wollen wir nun<br />

derartige Transformationstechniken demonstrieren.<br />

Bipartites Matchingsproblem −→ Zuordnungsproblem. Angenommen wir haben ein<br />

Matchingproblem in einem bipartiten Graphen und wollen es mit einem Algorithmus<br />

für Zuordnungsprobleme lösen. Das Matchingproblem ist gegeben durch einen bipartiten<br />

Graphen G = (V, E) mit Bipartition V1, V2 und Kantengewichten ce ∈ R für alle e ∈ E.<br />

O. B. d. A. können wir annehmen, dass m = |V1| ≤ |V2| = n gilt. Zur Menge V1 fügen<br />

wir n − m neue Knoten W (künstliche Knoten) hinzu. Wir setzen V ′<br />

1 := V1 ∪ W . Für<br />

je zwei Knoten i ∈ V ′<br />

1 und j ∈ V2, die nicht in G benachbart sind, fügen wir eine neue<br />

(künstliche) Kante ij hinzu. Die Menge der so hinzugefügten Kanten nennen wir E ′ , und<br />

den Graphen (V ′<br />

1 ∪ V2, E ∪ E ′ ) bezeichnen wir mit G ′ . G ′ ist der vollständige bipartite<br />

Graph Kn,n. Wir definieren neue Kantengewichte c ′ e wie folgt:<br />

c ′ e :=<br />

⎧<br />

⎪⎨ 0 falls e ∈ E<br />

⎪⎩<br />

′<br />

0<br />

−ce<br />

falls e ∈ E und ce ≤ 0<br />

falls e ∈ E und ce > 0<br />

Lösen wir das Zuordnungsproblem bezüglich G ′ mit den Gewichten c ′ e, e ∈ E ∪ E ′ ,<br />

so erhalten wir ein perfektes Matching M ′ minimalen Gewichts bezüglich c ′ . Es ist nun<br />

einfach zu sehen, dass<br />

M := {e ∈ M ′ | c ′ e < 0}<br />

ein Matching in G ist, das maximal bezüglich der Gewichtsfunktion c ist.<br />

Zuordnungsproblem −→ gerichtetes Zuordnungsproblem. Wir zeigen nun, dass man<br />

das Zuordnungsproblem mit einem Algorithmus für das gerichtete Zuordnungsproblem<br />

44

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!