Klausur Algorithmentheorie

Ähnliche Dokumente
Datenstrukturen und Algorithmen 2. Klausur SS 2001

NAME, VORNAME: Studiennummer: Matrikel:

Klausur Algorithmen und Datenstrukturen

Heapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]

1.Aufgabe: Minimal aufspannender Baum

Klausur. Diskrete Mathematik I. Donnerstag, den um 14 Uhr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Klausur WS 2006/07 Software-Engineering und Technische Informatik Bachelor

Die Komplexitätsklassen P und NP

Quicksort ist ein Divide-and-Conquer-Verfahren.

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006

Datenstrukturen und Algorithmen D-INFK

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Algorithmen und Datenstrukturen

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

Klausur Algorithmen und Datenstrukturen II 10. August 2015

2. Schriftliche Leistungskontrolle (EK)

Algorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007

Wie wird ein Graph dargestellt?

Algorithmen und Datenstrukturen SS09. Foliensatz 15. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Endkontrolle Informatik-Propädeutikum (Ermel/Hartung/Nichterlein/Niedermeier, Wintersemester 2013/14)

Methoden für den Entwurf von Algorithmen

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Grundlagen der Informatik

Kochrezept für NP-Vollständigkeitsbeweise

5. Übungsblatt zu Algorithmen I im SoSe 2016

Grundlagen der Programmierung 2. Sortierverfahren

Name:... Vorname:... Matr.-Nr.:... Studiengang:...

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Vorname:... Matrikel-Nr.:... Unterschrift:...

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

TheGI 2: Berechenbarkeit und Komplexität. Veranstalter: Uwe Nestmann, Johannes Borgström, Philipp Küfner Sommersemester

Übung: Algorithmen und Datenstrukturen SS 2007

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Klausur Theoretische Informatik I WS 2004/2005

Kurs 1663 Datenstrukturen" Musterlösungen zur Klausur vom Seite 1. Musterlösungen zur Hauptklausur Kurs 1663 Datenstrukturen 15.

Algorithmen und Datenstrukturen

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

2. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2006/ April 2007

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Teil III. Komplexitätstheorie

Probeklausur Computerorientierte Mathematik II

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.

10. Übungsblatt zu Algorithmen I im SS 2010

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Universität des Saarlandes

Nachklausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Algorithmen & Komplexität

Algorithmen und Datenstrukturen VO UE 2.0 Nebentermin Vorlesungsprüfung / 4. Übungstest SS

Breitensuche BFS (Breadth First Search)

Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik

Algorithmische Graphentheorie

Algorithmen und Datenstrukturen

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Grundlagen: Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 VL Übungstest WS Januar 2011

Kapitel 2: Sortier- und Selektionsverfahren Gliederung

7. Sortieren Lernziele. 7. Sortieren

Relationen und DAGs, starker Zusammenhang

3. Musterlösung. Problem 1: Boruvka MST

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

a) Geben Sie für die folgenden Paare von Mengen jeweils die Teilmengenbeziehung mit Hilfe der Symbole, und = an. lässt sich wie folgt umformen:

Kapitel 9: Lineare Programmierung Gliederung

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Algorithmen & Datenstrukturen 1. Klausur

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Vorname:... Matrikel-Nr.:... Unterschrift:...

Algorithmen und Datenstrukturen 1 VL Übungstest WS November 2007

DAP2-Klausur

Graphalgorithmen 2. Dominik Paulus Dominik Paulus Graphalgorithmen / 47

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Zentralübung zur Vorlesung Diskrete Strukturen

9 Minimum Spanning Trees

Algorithmentheorie 1. Vorlesung

Effiziente Algorithmen I

Algorithmen und Datenstrukturen 2-1. Seminar -

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Informatik B Sommersemester Musterlösung zur Klausur vom

Datenstrukturen & Algorithmen

Übung Algorithmen und Datenstrukturen

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Graphdurchmusterung, Breiten- und Tiefensuche

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

durch Einfügen von Knoten konstruiert werden kann.

Transkript:

Prof. Dr. G. Schnitger Frankfurt, den 13.02.2009 Klausur Algorithmentheorie WS 2008/2009 Name: Vorname: Studiengang: BITTE GENAU LESEN Die Klausur besteht aus 4 Aufgaben, in denen maximal 100 Punkte erreicht werden können. Die Klausur ist mit Sicherheit bestanden, wenn zusammen mit der Bonifikation aus den Übungen mindestens 50 Punkte erreicht werden. Bitte schreiben Sie oben auf jede Seite in Blockschrift Namen und Matrikelnummer. Überprüfen Sie, ob die Klausur aus insgesamt 11 durchnummerierten Seiten besteht. Schreiben Sie nicht mit Bleistift. Ein DIN A4 Blatt mit Notizen ist das einzige zugelassene Hilfsmittel. Am Ende der Klausur befinden sich noch zwei leere Seiten, benutzen Sie bitte auch Rückseiten. Weitere Blätter sind ggf. erhältlich. Eine umgangssprachliche, aber strukturierte Beschreibung von Algorithmen ist völlig ausreichend. Werden zu einer Aufgabe 2 Lösungen angegeben, so gilt die Aufgabe als nicht gelöst. Entscheiden Sie sich also immer für eine Lösung. Die Klausur dauert 180 Minuten. Der Termin für die Einsichtnahme ist Donnerstag, der 19. Februar von 10-11:30 Uhr im SR 307.! VIEL ERFOLG! 1a 1b 1c 1d 2a 2b 3a 3b 4a 4b Σ 4 6 10 5 10 15 10 15 10 15 100 bestanden nicht bestanden Bonifikation Σ 1

AUFGABE 1 Sortieren (a, 4 Punkte) In der Vorlesung haben wir Quicksort nicht-rekursiv mit Hilfe eines Stacks implementiert. Wir haben erreicht, dass der Stack höchstens logarithmisch groß wird. Welches Teilproblem, das größere oder das kleinere, wird auf den Stack gelegt? Das größere Teilproblem das kleinere Teilproblem (b, 6 Punkte) Welche der Sortierverfahren Quicksort, Bubblesort und Mergesort sind in-place Verfahren, benutzen also höchstens n + o(n) Speicherplatz, um n Zahlen zu sortieren? Quicksort: ja nein, Bubblesort: ja nein, Mergesort: ja nein, (c, 5 + 5 Punkte)] Gegeben sind zwei Arrays A und B mit insgesamt n Schlüsseln. Wir möchten feststellen, ob A B gilt, d.h. ob alle Elemente aus A auch in B enthalten sind. (1) Entwerfen Sie einen möglichst schnellen Algorithmus und analysieren Sie seine Laufzeit. (2) Wir mehmen jetzt an, dass alle Schlüssel zur Menge {1,..., n 5 } gehören. Entwerfen Sie einen möglichst schnellen Algorithmus für die neue Situation und analysieren Sie seine Laufzeit. 2

(d, 5 Punkte) Um nachzuweisen, dass jedes vergleichsorientierte Sortierverfahren mindestens Ω(n log 2 n) Vergleiche für das Sortieren von n Schlüsseln benötigt, haben wir Sortierbäume betrachtet. Beweisen Sie, dass jeder Sortierbaum für n Schlüssel mindestens die Tiefe Ω(n log 2 n) besitzt. 3

AUFGABE 2 (a, 5+5 Punkte) Gegeben sei der folgende Graph. Graphalgorithmen (1) Geben Sie an, in welcher Reihenfolge die Knoten von Prims Algorithmus ausgewählt werden. Startknoten ist der Knoten A. Geben Sie den resultierenden minimalen Spannbaum an. (2) Geben Sie an, in welcher Reihenfolge die Knoten vom Algorithmus von Dijkstra abgearbeitet werden, wenn A zum Startknoten gemacht wird. Geben Sie den resultierenden Baum der kürzesten Wege an. 4

(b, 15 Punkte) Der ungerichtete Graph G = (V, E) modelliert ein Rechnernetz: Die Knoten in V entsprechen also den Rechnern und die Kanten in E entsprechen den Direktverbindungen zwischen Rechnern. Jeder Kante e E ist eine Bandbreite b(e) 0 zugewiesen. Wir definieren die Bandbreite eines Weges W als die kleinste Bandbreite einer Kante in W. (1) Ein Knoten s ist ausgezeichnet. Entwerfen Sie einen möglichst schnellen Algorithmus, der für jeden Knoten v V die größte Bandbreite eines Weges von s nach v bestimmt. (2) Begründen Sie die Korrektheit ihrer Lösung und analysieren Sie die Laufzeit. 5

AUFGABE 3 Entwurfsmethoden (a, 10 Punkte) In einer Gallerie sollen Gemälde bedeutender Künstler ausgestellt werden. Es versteht sich von selbst, dass die Versicherung die Auflage macht, dass jedes Werk im Blickfeld mindestens eines Wachmanns liegt. Da Personal teuer ist, werden Sie gebeten, die Anzahl notwendiger Wachleute zu mininieren. Als Ausstellungsraum wurde ein langer, gerader Gang gewählt. Die Positionen der Gemälde sind als aufsteigende Folge 0 x 1 x 2 x n reeller Zahlen gegeben. Der Standort eines Wachmanns wird ebenfalls durch eine reelle Zahl y festgelegt: Ein Wachmann in Position y garantiert die Sicherheit der Gemälde im Intervall [y 1, y + 1]. Beschreiben Sie einen möglichst schnellen Algorithmus, welcher die minimale Anzahl benötigter Wachleute bestimmt, geben Sie die Laufzeit an und begründen Sie seine Korrektheit. 6

(b, 15 Punkte) Sie führen ein Team von IT-Beratern und müssen für jede der nächsten n Wochen festlegen, welcher Job zu erledigen ist. Dabei haben Sie für Woche i die Wahl zwischen einem konventionellen Job, der einen Gewinn von l i > 0 Euro bringt, und einem komplexen Job mit einem Gewinn von h i > 0 Euro (1 i n). Der Haken ist allerdings, dass das Team für komplexe Jobs eine Woche Vorbereitungszeit benötigt: Wird also in Woche i ein komplexer Job angenommen, dann darf in Woche i 1 kein Job angenommen werden. Für Woche 1 darf kein komplexer Job angesetzt werden. Andererseits ist es stets in Ordnung, einen konventionellen Job für Woche i anzusetzen, egal welcher Art von Tätigkeit das Team in der vorausgehenden Woche nachgegangen ist. Beschreiben Sie einen effizienten Algorithmus, der für Eingaben l 1, l 2,..., l n und h 1, h 2,..., h n den Wert eines Arbeitsplans mit höchstem Gewinn bestimmt. Bestimmen Sie die Laufzeit ihrer Lösung. 7

AUFGABE 4 NP-Vollständigkeit (a, 10 Punkte) Beantworten Sie die folgenden Fragen mit Wahr oder Falsch. Eine Begründung ist nicht erforderlich. Es kann angenommen werden, dass P = N P gilt. Für jede richtige Antwort werden 2 Punkte vergeben. Eine falsche Antwort erhält 2 Punkte. Keine Antwort ergibt 0 Punkte. Die Mindestpunktzahl für diese Aufgabe ist 0 Punkte. Wenn L 1 und L 2 in P liegen, dann ist auch L 1 L 2 in P. Wahr Falsch Wenn L 1 und L 2 in N P liegen, dann ist auch L 1 L 2 in N P. Wahr Falsch Wenn L 1 und L 2 N P-vollständig sind, dann ist auch L 1 L 2 N P-vollständig. Wahr Falsch Wenn L 1 P L 2 und L 2 N P, dann auch L 1 N P. Wahr Falsch Die Sprache L = {G G ist 2-färbbar} aller ungerichteten und 2-färbbaren Graphen liegt in P. (Ein Graph ist k-färbbar, wenn die Knoten so mit k Farben markiert werden können, dass keine Kante gleichgefärbte Endpunkte besitzt.) Wahr Falsch 8

(b, 3+12 Punkte) Im Problem der binären Programmierung sind eine reellwertige m n Matrix A sowie ein reellwertiger Vektor b der Länge m gegeben. Gesucht wird ein Vektor z {0, 1} n, der das Ungleichungssystem Az b löst, insbesondere müssen also alle Ungleichungen für i = 1,..., m erfüllt werden. n A[i, j] z j b i j=1 (1) Zeigen Sie, dass das Problem der binären Programmierung in N P liegt. (2) Weisen Sie nach, dass das Problem der binären Programmierung N P hart ist. Für eine Reduktion bietet sich beispielsweise 3-SAT an. 9

10

11