• Keine Ergebnisse gefunden

Graphentheorie L¨osungen zu Aufgabenblatt 7 Aufgabe 1 (K¨urzeste Wege, Dijkstra-Algorithmus)

N/A
N/A
Protected

Academic year: 2021

Aktie "Graphentheorie L¨osungen zu Aufgabenblatt 7 Aufgabe 1 (K¨urzeste Wege, Dijkstra-Algorithmus)"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Fachbereich Informatik Wintersemester 2019/20 Prof. Dr. Peter Becker

Graphentheorie

L¨ osungen zu Aufgabenblatt 7

Aufgabe 1 (K¨ urzeste Wege, Dijkstra-Algorithmus)

Berechnen Sie f¨ ur das unten angegebene Netzwerk die Abst¨ ande und die k¨ urzesten Wege vom Knoten a zu allen anderen Knoten.

a b

c

d

f

i

j k

l

m

g

e

h 8

12

20

7 12

4 4

10 13

3 20

8

7

16 11

5

3 10

17

9

L¨ osung:

Iteration a b c d e f g h i j k l m u d(u) p(u)

1 0 − − − − − − − − − − − − a 0 −

2 12 20 − − − − − − − − − − b 12 a

3 20 − − 24 − − − − − − 20 c 20 a

4 33 − 24 30 − − − − − 20 m 20 b

5 33 − 24 30 − − 27 − 24 f 24 b

6 33 − 30 − − 27 − 24 l 24 m

7 33 − 29 − − 27 34 j 27 m

8 33 − 29 − 43 34 g 29 l

9 33 − 49 43 32 k 32 g

10 33 − 49 43 d 33 c

11 36 49 43 e 36 d

12 44 43 i 43 j

13 44 h 44 e

Ger¨ ust mit den k¨ urzesten Wegen:

(2)

a b

c

d

f

i

j k

l

m

g

e

h

8

12

20

7 12

4 4

10 13

3 20

8

7

16 11

5

3 10

17

9

Aufgabe 2 (M¨ ullabfuhr)

c

f

h

j

k g a/Depot

b

d e

i 3

5 3

5 4 6

4 3 7

2 5

5 2

3

2 4

3 4

Der angegebene Graph modelliert ein Straßennetz, die Kantenbewertungen geben die Straßenl¨ angen an.

Ermitteln Sie eine m¨ oglichst kurze Route f¨ ur die M¨ ullabfuhr in diesem Straßennetz. Anforderungen:

• Das M¨ ullauto muss im Depot starten und wieder zu diesem zur¨ uckkehren.

• Jede Straße muss mindestens einmal durchfahren werden.

Machen Sie die Herleitung Ihrer Route deutlich.

L¨ osung: Der theoretische Idealfall w¨ urde vorliegen, wenn das Straßennetz einen eulerschen Graphen bildet. Dann w¨ are ein Eulerkreis die optimale L¨ osung.

Der gegebene Graph ist aber nicht eulersch, denn er enth¨ alt zwei Knoten (g und h) mit ungeradem

Grad. Zu einer optimalen L¨ osung kommen wir, indem wir zwischen diesen Knoten eine zus¨ atzliche

Kante einf¨ ugen. Diese Kante muss dabei dem k¨ urzesten Weg von g nach h entsprechen.

(3)

Mit dem Algorithmus von Dijkstra k¨ onnen wir den k¨ urzesten Weg von g nach h berechnen. Dies ist (g, k, j, i, h) mit der L¨ ange 12.

Wir berechnen nun f¨ ur den Graphen, der zus¨ atzlich die Kante {g, h} enth¨ alt, einen Eulerkreis (z.B. mit dem Algorithmus von Hierholzer). Wir erhalten:

(a, b, d, h, i, j, k, g, c, b, e, f, g, h, e, i, k, f, c, a)

F¨ ur die Kante (g, h) setzen wir den zuvor ermittelten k¨ urzesten Weg ein und erhalten somit als optimale Route:

(a, b, d, h, i, j, k, g, c, b, e, f, g, k, j, i, h, e, i, k, f, c, a) Aufgabe 3 (Textfaktorisierung)

Die Nachricht babbbaabba soll mit dem folgenden Code codiert werden:

Text Code L¨ ange

a 00 2

b 010 3

ba 0110 4

bb 0111 4

abb 1 1

Beispiel f¨ ur eine m¨ ogliche Codierung der Nachricht:

ba bb ba a bb a

0110 0111 0110 00 0111 00 Die Gesamtl¨ ange dieser Codierung ist 20.

Finden Sie eine Codierung mit minimaler Gesamtl¨ ange. Erl¨ autern Sie hierzu kurz, wie Sie dieses Pro- blem mit Hilfe der Graphentheorie l¨ osen k¨ onnen und berechnen Sie eine L¨ osung.

L¨ osung: Sei text = babbbaabba = c

1

. . . c

10

. Wir definieren einen gerichteten azyklischen Graphen G = (V, A) mit V = {0, . . . 10} und A = {(i, j)|c

i+1

. . . c

j

ist im Code}.

Die L¨ ange w(e) einer gerichteten Kante e ∈ A ergibt sich durch die L¨ ange der zugeh¨ origen Codierung im Code.

b a b b b a a b b a

3 2 3 3 3 2 2 3 3 2

4 1

4

4 4

4

4 1

Jeder Weg von 0 nach 10 legt eine Codierung fest. Somit erh¨ alt man eine Codierung mit minimaler

Gesamtl¨ ange durch einen k¨ urzesten Weg von 0 nach 10. Dieser kann mit dem Algorithmus von Dijkstra

oder durch die Rekursionformel gem¨ aß Satz 4.22 bestimmt werden. F¨ ur die Rekursionsformel erhalten

wir:

(4)

v d(v) best(v) Text

0 0 - -

1 3 0 b

2 4 0 ba

3 7 2 b

4 4 1 abb

5 7 4 b

6 8 4 ba

7 10 6 a

8 13 7 b

9 9 6 abb

10 11 9 a

Damit ist

b abb ba abb a

010 1 0110 1 00

eine Codierung mit minimaler Gesamtl¨ ange 11. Veranschaulichung des k¨ urzesten Weges:

b a b b b a a b b a

3 2 3 3 3 2 2 3 3 2

4 1

4

4 4

4

4 1

Bemerkung: Der vorgegebene Code ist ¨ ubrigens ein Pr¨ afixcode. Eine Bitsequenz, die durch eine Co- dierung entstanden ist, kann somit eindeutig decodiert werden.

Aufgabe 4 (Scheduling, Netzplantechnik)

Gegeben sei eine Menge J von Jobs sowie Mengen P (j) f¨ ur j ∈ J , die angeben, welche Jobs beendet sein m¨ ussen, bevor Job j begonnen werden kann.

j P (j)

X ∅

Y ∅

P {X, Y }

Q {P }

R {P }

S {R, Q}

T {R}

U {T, S}

Die Bearbeitung eines Jobs ben¨ otigt stets eine Zeiteinheit. Jeder Job ben¨ otigt zur Bearbeitung eine

Maschine. Es stehen beliebig viele Maschinen zur Verf¨ ugung, so dass Jobs parallel ausgef¨ uhrt werden

k¨ onnen.

(5)

(a) Wieviele Zeiteinheiten ben¨ otigt man mindestens, um die Jobs korrekt auszuf¨ uhren? Geben Sie auch an, wieviele Maschinen man f¨ ur eine m¨ oglichst schnelle Ausf¨ uhrung ben¨ otigt.

(b) Was ¨ andert sich an der Berechnung, wenn die Jobs Q, R, T und U statt einer nun zwei Zeiteinheiten ben¨ otigen? Geben Sie die kleinstm¨ ogliche Gesamtdauer ein.

L¨ osung: Das Problem entspricht der Projektplanung. Wir k¨ onnen die Abh¨ angigkeiten der Jobs in einem Netzplan darstellen:

Y X

P

Q

U S

R

T

Man beachte, dass die gestrichelten Kanten sogenannte Dummy-Vorg¨ ange darstellen, die die Dauer 0 haben. Damit hat der l¨ angste Weg (kritischer Pfad) in diesem Netzplan die L¨ ange 5. Wir brauchen also f¨ unf Zeiteinheiten zur Ausf¨ uhrung der Jobs.

Man sieht der Darstellung weiterhin an, dass h¨ ochstens zwei Jobs parallel ausgef¨ uhrt werden k¨ onnen.

Demnach brauchen wir zwei Maschinen, um die Jobs innerhalb von f¨ unf Zeiteinheiten ausf¨ uhren zu k¨ onnen. Zus¨ atzliche Maschinen beschleunigen die Ausf¨ uhrung nicht!

Die folgende Grafik zeigt eine optimale Ausf¨ uhrung als sogenanntes Gantt-Diagramm, wie es h¨ aufig in der Produktionsplanung verwendet wird. Das Diagramm gibt an, wann welcher Job auf welcher Maschine ausgef¨ uhrt wird.

Maschine 1 Maschine 2

0 1 2 3 4 5

X Y

P R

Q S

T U

Zeit

Wenn die Jobs Q, R, T und U eine Dauer von zwei Zeiteinheiten haben, hat ein kritischer Pfad die L¨ ange 8 (z.B. (X, P, R, T, U)). Das folgende Gantt-Diagramm veranschaulicht eine optimale Ausf¨ uhrung.

Maschine 1 Maschine 2

0 1 2 3 4 5

X Y

P T U

Q S R

6 7 8 Zeit

Referenzen

ÄHNLICHE DOKUMENTE

(b) Zeigen Sie mit Hilfe der Resolutionsmethode, dass die vier Ritter nur zufrieden sind, wenn Galahad als einziger K¨ onig Artus bei der Suche nach dem heiligen Gral

L¨ osung: F¨ ur unsere grafischen Darstellungen gehen wir davon aus, dass die Position (1, 1) im Gitter links oben und die Position (2 n , 2 n ) rechts unten liegt. Die y-Koordinate

Nach dem Schubfachprinzip m¨ ussen von f¨ unf Punkten, die in dem umschließenden Dreieck mit Seitenl¨ ange 1 liegen, mindestens zwei Punkte in dem selben Unterdreieck liegen, denn

Fachbereich Informatik Wintersemester

(b) Geben Sie f¨ ur den obigen Graphen die Breitensuchnummern b(v) sowie die Menge B der Baum- kanten an, die sich bei der Breitensuche ergeben.. Starten Sie die Suche bei

Wenn wir nun aus dem Kreis K die p neuen Kanten entfernen, zerf¨ allt der Kreis in genau p Wege, die dann jede Kante von G genau einmal enthalten.. (b) Wir wenden die Technik aus

Welche Br¨ ucken sollen stillgelegt werden, so dass die j¨ ahrlichen Wartungskosten minimal werden, unter der Bedingung, dass jede Insel von jeder anderen Insel erreichbar bleibt..

Mit dem Max-Flow-Min-Cut-Theorem folgt, dass der vorliegende Fluss ein Minimalfluss ist und der genannte Schnitt ein