29.01.2014 Aufrufe

13. Übung

13. Übung

13. Übung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Fakultät Informatik • Institut für Theoretische Informatik • Lehrstuhl Grundlagen der Programmierung<br />

Prof. Dr. H. Vogler / Dr. T. Stüber<br />

http://www.orchid.inf.tu-dresden.de<br />

Algorithmen und Datenstrukturen<br />

<strong>13.</strong> <strong>Übung</strong>sblatt<br />

Zeitraum: 21. – 25. Januar 2013<br />

Aufgabe 1 (AGS 9.53)<br />

Der kantenbewertete Graph G sei durch folgende graphische Darstellung gegeben:<br />

2<br />

13<br />

5<br />

6<br />

1<br />

3<br />

3<br />

4<br />

1<br />

2 3 7<br />

6<br />

8<br />

7<br />

4<br />

2<br />

2<br />

11<br />

4<br />

1<br />

7<br />

(a) Berechnen Sie mit Hilfe des Dijkstra-Algorithmus die minimalen Entfernungen vom Knoten<br />

mit der Nummer 1 zu allen erreichbaren Knoten. Protokollieren Sie schrittweise die aktuelle<br />

Randknotenmenge und den zugehörigen Auswahlknoten. Geben Sie abschließend für alle berechneten<br />

kürzesten Wege die jeweils zu durchlaufende Knotenfolge (Pfadtabelle) an.<br />

(b) Geben Sie die Pfadtabelle für eine weitere Lösung an, die die gleichen minimalen Entfernungen<br />

wie Teilaufgabe (a) besitzt. An welcher Stelle des Algorithmus im Protokoll von Teilaufgabe<br />

(a) ist diese weitere Lösung erkennbar?<br />

Aufgabe 2 (AGS 9.25)<br />

Gegeben ist der Graph G für ein kürzeste-Wege-Problem:<br />

.<br />

1<br />

5<br />

6<br />

4<br />

5<br />

3<br />

6<br />

3<br />

1<br />

2<br />

4<br />

5<br />

3<br />

6<br />

.<br />

(a) Geben Sie für G die Adjanzenz- und die modifizierte Adjazenzmatrix an.<br />

(b) Für welche i gilt: D (i)<br />

G<br />

= D(i−1) G<br />

? Geben Sie jeweils eine Begründung an!<br />

(c) Berechnen Sie mit Hilfe des Aho-Algorithmus die Distanzmatrix D G . Zwischenschritte brauchen<br />

Sie nicht anzugeben.<br />

1/3


Aufgabe 3 (AGS 9.42)<br />

Für eine Fertigungsanlage gilt das im Graphen G dargestellte Prozessdiagramm, wobei die Symbole<br />

a, b, c, d verschiedene Teilschritte des Fertigungsablaufs kennzeichnen.<br />

{a}<br />

2<br />

{d}<br />

{b}<br />

1 3<br />

{c}<br />

(a) Geben Sie den entsprechenden Semiring an. Sie dürfen die Abkürzung Σ = {a, b, c, d} verwenden.<br />

(b) Geben Sie die modifizierte Adjazenzmatrix an.<br />

(c) Berechnen Sie mit dem Aho-Algorithmus die Matrix D (1)<br />

G .<br />

(d) Ermitteln Sie die Werte D (2) (1, 2) sowie D(2) (1, 3).<br />

G<br />

G<br />

Aufgabe 4 (AGS 11.12)<br />

Im Schach darf der Springer in einem Zug immer zwei Felder geradeaus und dann ein Feld links<br />

oder rechts davon gesetzt werden. Je nach Position des Springers ergeben sich somit bis zu acht<br />

verschiedene Zugmöglichkeiten. Diese seien mit a bis h bezeichnet und in Abbildung 1 dargestellt<br />

(wobei der Springer hier in der Mitte steht).<br />

Betrachten Sie nun Abbildung 2. Finden Sie mit Hilfe des Backtracking-Verfahrens einen Weg<br />

(Zugfolge), um mit einem Springer von Feld 1 zum Feld 7 zu gelangen. Hierbei ist zu beachten,<br />

dass:<br />

• schraffierte Felder nicht benutzt werden dürfen,<br />

• kein Feld auf einem Weg mehrfach betreten werden darf.<br />

Zeichnen Sie dazu den optimierten Berechnungsbaum bis zur ersten Lösung. Gehen Sie bei der<br />

Wegeerweiterung immer in der Reihenfolge a bis h vor, wenn es in einer Situation mehrere Zugmöglichkeiten<br />

gibt.<br />

g<br />

h<br />

a<br />

b<br />

21<br />

15<br />

11<br />

16<br />

12<br />

17<br />

18<br />

19<br />

13<br />

22<br />

20<br />

14<br />

f<br />

e<br />

d<br />

c<br />

9<br />

6<br />

1<br />

10<br />

7<br />

2<br />

8<br />

3<br />

4<br />

5<br />

Abbildung 1<br />

Abbildung 2<br />

2/3


Zusatzaufgabe 1 (AGS 9.8)<br />

Der gerichtete Graph G = (V, E) sei durch folgende Darstellung gegeben:<br />

2 3<br />

1<br />

5<br />

7<br />

4<br />

6<br />

(a) Wenden Sie auf den Graphen G den DFS-Algorithmus mit dem Startknoten 1 an, und bestimmen<br />

Sie auf diese Weise einen depth-first-forest. Geben Sie mindestens drei unterschiedliche<br />

Lösungen an. Zwischenschritte zu den Lösungen brauchen Sie nicht anzugeben.<br />

(b) Transformieren Sie G in den ungerichteten Graphen G ′ = (V ′ , E ′ ), indem Sie V ′ = V setzen<br />

und E ′ nach der Vorschrift E ′ = E ∪ {(j, i) | (i, j) ∈ E} erzeugen.<br />

Wenden Sie nun auf G ′ den BFS-Algorithmus mit dem Startknoten 1 an, und bestimmen Sie<br />

einen breadth-first-tree. Geben Sie auch hier mindestens drei unterschiedliche Lösungen an. Zwischenschritte<br />

zu den Lösungen brauchen Sie nicht anzugeben.<br />

Achtung! Ausschließliches Vertauschen von Ästen der Lösungsbäume wird hier nicht als weitere<br />

Lösung gezählt!<br />

Zusatzaufgabe 2 (AGS 9.39)<br />

Es soll das durch den unten abgebildeten gewichteten Graphen G gegebene Prozessproblem untersucht<br />

werden.<br />

{a}<br />

G:<br />

1<br />

{b}<br />

2<br />

{c}<br />

3<br />

(a) Geben Sie den entsprechenden Semiring an.<br />

(b) Geben Sie zwei Pfade von Knoten 1 zu Knoten 3 jeweils mitsamt dem Gewicht an.<br />

(c) Geben Sie die modifizierte Adjazenzmatrix an.<br />

(d) Ermitteln Sie D (3) (1, 3) sowie D(3)<br />

G<br />

G (2, 2). Zwischenschritte brauchen Sie nicht anzugeben. 3/3

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!