mnO + mnO +

Werbung
Übungsaufgaben zur Graphentheorie
SoS 2016
Prof. Dr. Klaus Berberich
Blatt 5
Aufgabe 1:
Ein gerichteter Graph ist durch folgende Bewertungsmatrix gegeben.
⎛ 0 1 ∞ ∞ ∞⎞
⎜
⎟
⎜∞ 0 2 − 5 ∞⎟
⎜∞ 2 0 ∞ 1 ⎟
⎜
⎟
⎜∞ ∞ 2 0 ∞⎟
⎜∞ ∞ ∞ ∞ 0 ⎟
⎝
⎠
a) Gibt es einen kürzesten Pfad von 0 nach 4? Falls ja, geben Sie einen an. Falls nein: Begründung.
b) Gibt es einen kürzesten einfachen Pfad von 0 nach 4? Falls ja, geben Sie einen an. Falls nein:
Begründung.
Aufgabe 2:
a) Skizzieren Sie den gerichteten Graphen, der durch folgende Bewertungsmatrix gegeben ist.
⎛0 6 7 ∞ ∞ ⎞
⎜
⎟
⎜ ∞ 0 8 5 − 4⎟
⎜∞ ∞ 0 − 3 9 ⎟
⎜
⎟
∞⎟
⎜∞ − 2 ∞ 0
⎜2 ∞ ∞ 7
0 ⎟⎠
⎝
b) Führen Sie den Algorithmus von Bellman-Ford gemäß dem Pseudocode der Vorlesung am Graphen
aus a) für den Startknoten 4 aus.
Relaxieren Sie dabei die Kanten bei jedem Durchlauf durch die äußere for-Schleife in der
Reihenfolge (0,1), (0,2), (1,2), (1,3), (1,4), (2,3), (2,4), (3,1), (4,0), (4,3). Geben Sie als Lösung der
Aufgabe die Inhalte der Felder dis und pre nach dem Initialisierungsschritt und nach jedem
Durchlauf durch die äußere for-Schleife an. Geben Sie ferner jeweils einen kürzesten Pfad von 4 zu
den anderen Knoten samt zugehöriger Länge an.
Aufgabe 3:
Wie würden Sie unter Verwendung des Algorithmus von Bellman-Ford folgende Probleme lösen?
a) Bestimmung jeweils eines längsten Pfades von einem Startknoten zu allen anderen Knoten für einen
gerichteten bewerteten Graphen, der keine Zyklen besitzt.
b) Bestimmung jeweils eines kürzesten Pfades von allen Knoten zu einem Zielknoten für einen
gerichteten bewerteten Graphen, der keine Zyklen negativer Länge besitzt.
Aufgabe 4:
Jemand schlägt vor, den Algorithmus von Bellman-Ford wie folgt um eine Prüfung auf Zyklen
negativer Länge zu erweitern: „Lasse die äußere for-Schleife von 0 bis g.n laufen statt bis (g.n – 1);
falls sich im Feld dis Änderungen zwischen dem letzen und dem vorletzten Schleifendurchlauf
ergeben, besitzt der Graph einen Zyklus negativer Länge.“
Was halten Sie von diesem Vorschlag?
Aufgabe 5:
Beschreiben Sie einen Algorithmus (kein Pseudocode erforderlich), der für einen azyklischen
gerichteten bewerteten Graphen mit n Knoten und m Kanten (als Adjazenzliste gegeben) jeweils einen
kürzesten Weg von einem Startknoten s zu allen übrigen Knoten mit einem Aufwand von O(n + m) im
schlechtesten Fall bestimmt.
Hinweis:
Beachten Sie, dass Sie von einem topologisch sortierten Graphen ausgehen können, da jeder
azyklische Graph mit n Knoten mit einem Aufwand von O(n + m) topologisch sortiert werden kann.
Herunterladen