Netzwerkalgorithmen ¨Ubungsblatt 1 vom 17. 04. 2017

Werbung
Abteilung Algorithmik
Institut für Betriebssysteme und Rechnerverbund
TU Braunschweig
Sommer ’17
Dr. Christian Scheffer
Christian Rieck
Netzwerkalgorithmen
Übungsblatt 1 vom 17. 04. 2017
Die Abgabe der Lösungen zu Blatt 1 ist
bis Dienstag, den 02. 05. 2017 um 13:15 Uhr
im Hausaufgabenrückgabeschrank der Algorithmik möglich.
Luft
(Atrium)
Bitte die Blätter vorne deutlich mit
eigenem Namen sowie Matrikelnummer versehen und zusammenheften!
3. Stock
Informatikzentrum
WICHTIG: Um die Studienleistung zu erhalten, müssen am Ende des Semesters insgesamt mindestens 50% der Hausaufgabenpunkte erreicht worden
sein. Es wird insgesamt fünf Aufgabenblätter mit je 60 möglichen Punkten
geben.
Aufgabe 1: Sei G = (V, E) ein Graph und sei das Gewicht w(ei ) = 1, ∀ei ∈ E. Gib
einen Algorithmus an, der für G einen MST T berechnet. Dein Algorithmus soll eine
Laufzeit von O(|E| + |V |) haben.
(6 Punkte)
Aufgabe 2: Sei G = (V, E) ein Graph und sei e ∈ E eine Kante mit minimalem
Gewicht. Zeige, e ist Teil eines MST T von G.
(7 Punkte)
Aufgabe 3: Sei G = (V, E) ein zusammenhängender Graph, C ein Kreis in G und
e ∈ E die Kante aus C mit dem größten Gewicht. Definiere G0 := G − e, dass heißt, G0
besitzt alle Kanten und Knoten von G mit Ausnahme der Kante e.
a) Zeige oder widerlege: G0 ist zusammenhängend.
b) Zeige oder widerlege: Ist T 0 ein MST von G0 , dann ist T 0 auch ein MST von G.
(5+10 Punkte)
Aufgabe 4: Betrachte den folgenden Algorithmus. Sei G = (V, E) ein Graph. Teile
die Knoten des Graphen G in zwei disjunkte Teilmengen V1 und V2 mit V = V1 ∪ V2
auf, so dass sich die Mengen um höchstens einen Knoten unterscheiden. Seien E1 und E2
die Kantenmengen die jeweils nur zu Knoten aus V1 und V2 inzident sind. Nun wird das
MST-Problem rekursiv für die beiden Teilgraphen G1 = (V1 , E1 ) und G2 = (V2 , E2 ) gelöst.
Seite 1 / 2
Schließlich wird eine Kante von E mit minimalem Gewicht gewählt, die einen Endknoten
in V1 und V2 besitzt, um die beiden Teilbäume zu verbinden. Zeige oder widerlege: der
Algorithmus ist korrekt und berechnet einen MST.
(7 Punkte)
Aufgabe 5: Bestimme den MST mit dem Algorithmus von Kruskal. Gib dazu die Kanten in der Reihenfolge an, in der sie in den Baum aufgenommen werden und zeichne den
gefundenen MST. Kommen in einem Schritt mehrere Kanten in Frage, wähle die bei dem
der konkatenierte Index der Endknoten am kleinsten ist (der konkatenierte Index der
Kante {v4 , v9 } ist 49). Die Kanten haben die folgenden Gewichte:
v4
v1
v7
v0
v2
v9
v5
v3
{v0 , v1 } = 7,
{v1 , v4 } = 2,
{v4 , v5 } = 6,
{v5 , v9 } = 4,
{v0 , v3 } = 2,
{v2 , v3 } = 3,
{v4 , v9 } = 3,
{v6 , v8 } = 5,
v6
{v0 , v6 } = 7,
{v2 , v5 } = 6,
{v5 , v6 } = 3,
{v7 , v8 } = 8,
v8
{v1 , v2 } = 4,
{v3 , v4 } = 1,
{v5 , v7 } = 8,
{v7 , v9 } = 7, {v8 , v9 } = 4
(15 Punkte)
Aufgabe 6: Sei das Gewicht w(T ) eines aufspannenden Baumes T das Gewicht w(e)
der größten Kante e ∈ T . Gib einen Algorithmus an, der einen MST unter dieser Gewichtsdefinition berechnet und begründe kurz seine Korrektheit.
(10 Punkte)
Seite 2 / 2
Herunterladen