1. Übungsblatt
Kombinatorische Optimierung WS 2016/17
Jens M. Schmidt
Aufgabe 1: Optimalitätsbedingungen
Beweisen Sie die Äquivalenz folgender Aussagen für einen Spannbaum T eines zu- sammenhängenden Graphens G = (V, E).
i) T ist ein minimaler Spannbaum.
ii) (Kreisbedingung) Für jede Kante vw
∈E
−E(T ) gilt, dass alle Kanten des v -w-Pfades in T höchstens das Gewicht c(vw) haben.
iii) (Schnittbedingung) Für jede Kante e
∈T und Knotenmenge S einer Zusam- menhangskomponente von T
−e ist e minimal in δ(S).
Aufgabe 2: Kruskal und Prim
13 8
4 7
15
12 9
6 10
11
5
b
f
c e
d
a
g
i) Führen Sie den Algorithmus von Kruskal an obigem Graphen aus.
ii) Führen Sie den Algorithmus von Prim an obigem Graphen aus, beginnend mit dem Knoten a.
iii) Eine Kontraktion einer Kante e = vw löscht e und identifiziert die Knoten v und w; hierbei können neue Mehrfachkanten auftreten. Rekapitulieren Sie die aus Graphen und Algorithmen bekannte Inzidenzlisten-Repräsentation von Graphen und überlegen Sie sich, in jeweils welcher Laufzeit
1Kanten gelöscht, eingefügt und kontrahiert werden können.
1Genauer benutzen wir hierbei die Anzahl Rechenschritte auf der sogenanntenunit-cost RAM. Diese erlaubt folgende grundlegende Funktionen auf Registern und Hauptspeicher in jeweilseinemRechenschritt (daher der Name unit-cost): Eingabe-Ausgabe-Operationen, Speicher-Register Transfers, indirektes Ad- dressieren, Verzweigungen, fundamentale arithmetische Operationen und Vergleiche. Ebenso wird als Ein- gabelänge nicht die Bitlänge der Eingabe, sondern die Anzahl der Zahlen in der Eingabe gemessen (also Eingabelängen+mfür Graphen). Wir machen zudem die Annahme, dass die Bitlänge aller Operanden der Anweisungen polynomiell in der Eingabebitlänge sind, da die unit-cost RAM andernfalls nicht mehr polynomiell äquivalent zu anderen grundlegenden Maschinenmodellen ist.