Übungen zu Algorithmik I Wintersemester 2004/05 Prof. Dr. Herbert Stoyan, Dr.-Ing. Bernd Ludwig Aufgabenblatt 14 (Lösungen) vom 30.01.2005 Aufgabe 1 Graphen Tafelübung 1. Der Graph schaut aus, wie folgt: B E D C A 2. Der Graph ist kein Baum und hat die folgenden Zyklen: A, B, D, A A, D, B, A B, D, A, B B, A, D, B D, A, B, D D, B, A, D 3. Der folgende Graph hat keine Zyklen und ist kein Baum: Knoten: A, B Kanten: keine Kanten Aufgabe 2 Tiefen- und Breitensuche in Graphen Tafelübung 1. Es ergibt sich die folgende Warteschlange: Schritt: 1 2 3 4 5 6 Warteschlange: A B, C, D C, D D, E E leer 1 2. Es ergibt sich z.B. folgender Keller: Schritt: 1 2 3 4 5 6 Keller: A B, C, D C, D E, D D leer Aufgabe 3 Kürzeste Pfade in Graphen Tafelübung 1. Im Folgenden sind für jeden Schritt bei der Ausführung des Algorithmus die Kostentabelle und die noch abzuarbeitende Warteschlange angegeben. Die Warteschlange enthält als Elemente Paare von Positionen der alpabetisch sortierten und durchnumerierten Knoten. (a) Initialisierung: Kostentabelle: Knoten A B C Position 1 2 3 Gesamtgewicht 0 10 2 D 4 1000 E 5 6 F 6 1000 G 7 1000 H 8 1000 Warteschlange: zu besuchende Kante (1,3) (1,5) (1,2) Gesamtkosten der Kante 2 6 10 Baum der kürzesten Pfade: A (b) nächster Schritt: Kostentabelle: Knoten A B C Position 1 2 3 Gesamtgewicht 0 10 2 D 4 1000 E 5 6 F 6 20 G 7 1000 Warteschlange: zu besuchende Kante (1,5) (1,2) (3,2) (3,6) Baum der kürzesten Pfade: 2 Gesamtkosten der Kante 6 10 17 20 H 8 1000 C A (c) nächster Schritt: Kostentabelle: Knoten A B Position 1 2 Gesamtgewicht 0 10 C 3 2 D 4 1000 E 5 6 F 6 20 G H 7 8 23 1000 Warteschlange: zu besuchende Kante (1,2) (5,2) (3,2) (3,6) (5,7) Gesamtkosten der Kante 10 11 17 20 23 Baum der kürzesten Pfade: C A E (d) nächster Schritt: Kostentabelle: Knoten Position Gesamtgewicht A B 1 2 0 10 C 3 2 D 4 15 E 5 6 F 6 20 G H 7 8 23 1000 Warteschlange: zu besuchende Kante (2,4) (3,2) (3,6) (5,7) Baum der kürzesten Pfade: 3 Gesamtkosten der Kante 15 17 20 23 C A B E (e) nächster Schritt: Kostentabelle: Knoten A B Position 1 2 Gesamtgewicht 0 10 C 3 2 D 4 15 E 5 6 F 6 19 G H 7 8 23 34 Warteschlange: zu besuchende Kante (4,6) (3,6) (5,7) (4,8) Gesamtkosten der Kante 19 20 23 34 Baum der kürzesten Pfade: C A B D E (f) nächster Schritt: Kostentabelle: Knoten A B Position 1 2 Gesamtgewicht 0 10 C 3 2 D 4 15 E 5 6 F 6 19 G H 7 8 23 29 Warteschlange: zu besuchende Kante (3,6) (5,7) (6,8) (4,8) Baum der kürzesten Pfade: 4 Gesamtkosten der Kante 20 23 29 34 C A F B D E (g) nächster Schritt: Kostentabelle: Knoten A B Position 1 2 Gesamtgewicht 0 10 C 3 2 D 4 15 E 5 6 F 6 19 G H 7 8 23 29 Warteschlange: zu besuchende Kante (6,8) (7,8) (4,8) Gesamtkosten der Kante 29 29 34 Baum der kürzesten Pfade: C A F B D E G (h) nächster Schritt: Kostentabelle: Knoten A B Position 1 2 Gesamtgewicht 0 10 C 3 2 D 4 15 E 5 6 F 6 19 G H 7 8 23 29 Warteschlange: zu besuchende Kante (4,8) (4,8) Baum der kürzesten Pfade: 5 Gesamtkosten der Kante 34 29 C A F B D E H G (i) nächster Schritt: Warteschlange ist leer. Ende. Aufgabe 4 Dijkstras Algorithmus 28 Punkte 1. Siehe Musterlösung! 28 28 28 Aufgabe 5 Endliche Automaten als Graphen 28 Punkte 1. Der Ausdruck führt zu folgendem Automaten: 4 [’0’ .. ’9’] [’0’ .. ’9’] [’0’ .. ’9’] ’.’ 2. Siehe Musterlösung! 24 [’0’ .. ’9’] 28 28 6