• Keine Ergebnisse gefunden

¨Ubungen zur Vorlesung Datenstrukturen und Algorithmen SS 2007 Blatt 10

N/A
N/A
Protected

Academic year: 2022

Aktie "¨Ubungen zur Vorlesung Datenstrukturen und Algorithmen SS 2007 Blatt 10"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Christian Sohler Paderborn, den 29. Juni 2007

u.v.a. Abgabe 9. Juli 2007

Ubungen zur Vorlesung ¨

Datenstrukturen und Algorithmen SS 2007

Blatt 10

AUFGABE 35:

Sei G = (V, E) ein gerichteter Graph, dessen Knoten Computer sind und dessen Kan- ten Kommunikationsverbindungen. F¨ur jede Kante (u, v) E ist ein Zuverl¨assigkeitswert r(u, v)∈[0,1] gegeben, welcher die Wahrscheinlichkeit angibt, dass die Kommunikationsver- bindung zwischen u und v nicht ausf¨allt. Wir nehmen an, dass diese Wahrscheinlichkeiten unabh¨angig voneinander sind.

Geben Sie einen effizienten Algorithmus an, der den zuverl¨assigsten Pfad von einem gegebenen Computer zu einem anderen gegebenen Computer findet. Dabei ist die Zuverl¨assigkeit auf einem Pfad definiert durch das Produkt der Zuverl¨assigkeitswerte der Kanten auf dem Pfad.

Zeigen Sie die Korrektheit Ihres Algorithmus.

AUFGABE 36:

Modifizieren Sie den Algorithmus von Bellman-Ford, so dass dieser in Laufzeit O(|V| · |E|) f¨ur jeden Knoten v V die Kosten eines k¨urzesten s-v-Pfades berechnet, wobei |E| > 0 gelten soll. Zeigen Sie, dass Ihr Algorithmus die gew¨unschte Laufzeit hat.

AUFGABE 37:

F¨uhren Sie den Floyd-Warshall Algorithmus auf dem angegebenen gerichteten Graphen G= (V, E) aus. Geben Sie dabei die MatrixD(k)an, die sich f¨ur jede Iteration der ¨außeren Schleife ergibt.

(2)

AUFGABE 38:

Wir betrachten das All-Pairs-Shortest-Path Problem f¨ur ungewichtete, ungerichtete Graphen G= (V, E). Die L¨ange eines k¨urzesten Pfades ist somit durch die Anzahl an Kanten auf dem Pfad gegeben. Sei A die Adjazenzmatrix des Graphen G, d.h. aij = 1 genau dann, wenn i und j benachbart sind. Sei gradA(j) der Grad des Knoten j in G. Beachten Sie, dass gradA(j) := Pn

k=1akj. Der folgende Algorithmus berechnet aus der Adjazenzmatrix A die Distanzmatrix D.

All-Pairs-Distance(A)

1: Z ←A·A

2: for i←1 to n do

3: for j 1 to n do

4: if (i6=j) and ((aij = 1) or (zij >0)) then

5: bij 1

6: else

7: bij 0

8: if (bij = 1)∀i6=j then

9: return(2·B−A)

10: T All-Pairs-Distance(B)

11: X ←T ·A

12: for i←1 to n do

13: for j 1 to n do

14: if xij ≥tij ·gradA(j)then

15: dij = 2·tij

16: else

17: dij = 2·tij 1

18: return D

Es soll nun gezeigt werden, dass dieser rekursive Algorithmus die korrekte Distanzmatrix berechnet. Nehmen Sie dazu an, dass zij >0 gilt genau dann, wenn es einen Pfad mit genau 2 Kanten zwischen i und j gibt. Des Weiteren ist B die Adjazenzmatrix eines Graphen G0, in dem f¨ur jeden Weg der L¨ange 2 in G eine Abk¨urzung eingef¨uhrt wurde.

Beweisen Sie die folgenden Behauptungen:

a) Wenn G0 ein vollst¨andiger Graph ist (d.h. bij = 1∀i6=j), dann gilt dij =

½ 1⇔aij = 1 2⇔aij = 0

¾

⇔dij = 2·bij −aij.

b) Bezeichnedij die Distanz zwischen den Knoteniundj inGundtij die Distanz zwischen ihnen in G0. Dann gilt:

dij gerade dij = 2·tij, dij ungerade dij = 2·tij1.

c) Aus dij gerade folgt tik tij f¨ur alle Nachbarn k von j in G. Aus dij ungerade folgt tik ≤tij f¨ur alle Nachbarnkvonj und es gibt einen Nachbarnk vonj inGmittik < tij.

(3)

Nachdem die Behauptungen gezeigt worden sind, l¨asst sich die Korrektheit des Algorithmus wie folgt zeigen. Wenn man nun ¨uber alle Nachbarn k von j aufsummiert, erh¨alt man

dij gerade X

k N achbarvon j

tik ≥grad(j)·tij

dij ungerade X

k N achbarvon j

tik < grad(j)·tij

Beachten Sie, dass

X

k N achbarvon j

tik = Xn

k=1

tik·akj =xij.

Also kann man nach dem Berechnen der MatrixX aus den tij’s die gew¨unschtendij’s herlei- ten.

Referenzen

ÄHNLICHE DOKUMENTE

Die M¨onche benutzen drei Stapel, einen Start- (A), einen Hilfs- (B) und einen Zielstapel (C), und die strenge Regel des Brahma besagt, daß niemals eine gr¨oßere Scheibe auf

Das Spiel bevorteilt die Bank, falls die Bank im Erwartungswert von einem Spieler mehr Geld einnimmt als sie an diesen auszahlt?.

Wenden Sie dann den Tiefensuchalgorithmus startend bei Knoten 1 auf den Graphen an und geben Sie zu jedem Knoten v die Discovering/Finishing-Times (d[v], f [v]) an. Benutzen Sie

Christian Sohler Paderborn, den 22. Ist dies notwendig, oder existiert auch ein vern¨unftiger Begriff der topologischen Sortierung f¨ur allgemeine gerichtete oder ungerichtete

(b) Die sogenannten Isospin und Hyperladung sind

(a) Zeigen Sie, dass ein Protonzustand zwei u-Quarks und ein d-Quark enth¨ alt w¨ ahrend ein Neutronzustand zwei d-Quarks und ein u-Quark enth¨ alt?. (b) Wiederholen Sie die in

Ubungen zur Theoretischen Physik V, SS 2007, Blatt 11 ¨.. Aufgabe 17: Greensche Funktion und

Ausdrucksauswertung, aber mit abstrakten Werten und Operatoren.. Abstrakte Ausdrucksauswertung ist