13. Übung
13. Übung
13. Übung
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