Klausur Algorithmentheorie

Ähnliche Dokumente
Klausur Algorithmentheorie

Klausur Algorithmentheorie

Klausur Algorithmentheorie

2. Klausur Datenstrukturen und Algorithmen SS 2014

Klausur Algorithmen und Datenstrukturen

Karlsruher Institut für Technologie. Klausur Algorithmen I

Datenstrukturen und Algorithmen (SS 2013)

Klausur Algorithmen und Datenstrukturen

Approximationsalgorithmen. 19. Dezember / 28

Klausur Algorithmen und Datenstrukturen

Klausur Algorithmen und Datenstrukturen II

Klausur Algorithmen und Datenstrukturen

Informatik II: Algorithmen & Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

2. Präsenzübung Datenstrukturen und Algorithmen SS 2014

Datenstrukturen und Algorithmen 2. Klausur SS 2001

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

DAP2 Probeklausur. Matrikelnummer Vorname Nachname. Datum: 24. Juli C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ

1.Aufgabe: Minimal aufspannender Baum

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Klausur Algorithmen und Datenstrukturen II 01. Agust 2016

Datenstrukturen und Algorithmen D-INFK

Datenstrukturen und Algorithmen D-INFK

Klausur Algorithmen und Datenstrukturen

Technische Universität München Fakultät für Mathematik Algorithmische Diskrete Mathematik WS 2012/2013 Prof. Dr. P. Gritzmann 22.

1. Klausur Datenstrukturen und Algorithmen SS 2014

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 16/17. Juli 2015 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Jan Hladik

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Klausur Algorithmen und Datenstrukturen II 10. August 2015

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

Datenstrukturen und Algorithmen D-INFK

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

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

Methoden für den Entwurf von Algorithmen

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Algorithmen & Komplexität

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz

Beispielprüfung Datenstrukturen und Algorithmen D-INFK

Richtig oder falsch? Richtig oder falsch? Richtig oder falsch? Mit dynamischer Programmierung ist das Knapsack- Problem in Polynomialzeit lösbar.

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift ... Allgemeine Hinweise

Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)

Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Simulation und Graphik Prof. Dr. Holger Theisel

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Klausur Algorithmen und Datenstrukturen

NAME, VORNAME: Studiennummer: Matrikel:

Klausur Algorithmen und Datenstrukturen

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2005/2006

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Globalübungsaufgabe1 (Rucksackproblem):

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Aufgaben zur Klausurvorbereitung

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

Algorithmen und Datenstrukturen 2 VU 3.0 Nachtragstest SS Oktober 2016

Wie wird ein Graph dargestellt?

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

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

Algorithmen und Datenstrukturen 1 VL Übungstest WS Jänner 2009

Klausur SoSe Juli 2013

Datenstrukturen & Algorithmen

Algorithmentheorie 1. Vorlesung

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

Präsenzübung Datenstrukturen und Algorithmen SS 2014

DAP2-Klausur

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

Vorlesung Datenstrukturen

Effiziente Algorithmen II

Datenstrukturen & Algorithmen

Datenstrukturen und Algorithmen D-INFK

Probleme aus NP und die polynomielle Reduktion

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

Diskrete Modellierung (SS 08) Klausur (Modulabschlussprüfung)

Prüfung Datenstrukturen und Algorithmen, D-INFK. Datenstrukturen & Algorithmen

Approximationsalgorithmen

Tutoraufgabe 1 (Starke Zusammenhangskomponenten):

Approximationsalgorithmen für NP-harte Optimierungsprobleme

A Berlin, 10. April 2017

Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer

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

Klausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Dank. Theoretische Informatik II. Teil VI. Vorlesung

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

Karlsruher Institut für Technologie Institut für Theoretische Informatik. Klausur Algorithmen I

Der Branching-Operator B

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Klausur Theoretische Informatik I WS 2004/2005

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

Algorithmen I. Tutorium Sitzung. Dennis Felsing

Algorithmen und Datenstrukturen Tafelübung 14. Jens Wetzl 8. Februar 2012

ADS: Algorithmen und Datenstrukturen 2

2. Schriftliche Leistungskontrolle (EK)

Kapitel 9: Lineare Programmierung Gliederung

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2016/2017

Stud.-Nummer: Algorithmen & Datenstrukturen Seite 1

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Algorithmen und Datenstrukturen (Informatik II) SS Klausur

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Informatik II, SS 2018

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

Transkript:

Prof. Dr. G. Schnitger Frankfurt, den 06.04.2009 Klausur Algorithmentheorie WS 2008/2009 Name: Vorname: Geburtsdatum: 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 13 durchnummerierten Seiten besteht. Bitte benutzen Sie die Rückseiten. Weitere Blätter sind ggf. erhältlich. Schreiben Sie nicht mit Bleistift. Ein DIN A4 Blatt mit Notizen ist das einzige zugelassene Hilfsmittel. 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 09. April von 10-11:30 Uhr im SR 307.! VIEL ERFOLG! 1a 1b 1c 1d 1e 2a 2b 3a 3b 4a 4b Σ 6 4 5 5 5 10 15 10 15 10 15 100 bestanden nicht bestanden Bonifikation Σ

AUFGABE 1 Sortieren (a, 6 Punkte) Welche der Sortierverfahren Quicksort, Counting Sort oder Radix Sort sind stabil? Quicksort: ja nein, Countingsort: ja nein, Radixsort: ja nein (b, 4 Punkte) Ist die folgende Aussage wahr oder falsch: Jeder Sortieralgorithmus, der ausschließlich benachbarte Schlüssel vertauscht, hat eine Laufzeit von Ω(n 2 ). Wahr Falsch (c, 5 Punkte) Beschreiben Sie das Sortierverfahren Radix Sort. 2

(d, 5 Punkte) n Zahlen x 1,...,x n sind mit Radix Sort zu sortieren. Die natürliche Zahl k sei gegeben, und wir nehmen an, dass jedes x i eine natürliche Zahl mit 0 x i n k ist. Welche Laufzeit besitzt Radix-Sort, wenn die Basis b = n benutzt wird? (e, 5 Punkte) Gegeben ist ein Array A mit n Schlüsseln, die alle zur Menge {1,2,...,n} gehören. Beschreiben Sie einen möglichst schnellen Algorithmus, der für eine vorgegebene Zahl k die k kleinsten Schlüssel aus A ausgibt. Welche Laufzeit hat ihre Lösung? 3

AUFGABE 2 (a, 5+5 Punkte) Gegeben sei der folgende Graph. Graphalgorithmen 2 v 1 1 10 v 4 12 15 v 8 v 0 5 16 7 v 3 9 v 6 3 13 v 2 8 v 5 4 v 7 (1) Geben Sie an, welche Kanten der Algorithmus von Kruskal zur Bestimmung des minimalen Spannbaumes auswählt und in welcher Reihenfolge die Kanten ausgewählt werden. (2) Geben Sie den vom Algorithmus von Dijkstra berechneten Baum der kürzesten Wege an. Startknoten ist der Knoten v 0. 4

(b, 15 Punkte) Gegeben ist ein ungerichter Graph G = (V, E), dessen Kanten positive Gewichte besitzen. Modifizieren Sie Dijkstras Algorithmus, so dass für jeden Knoten v V zusätzlich die Anzahl kürzester Wege vom Startknoten s nach v bestimmt wird. Eine Lösung in Zeit proportional zur Laufzeit von Dijkstra s Algorithmus ist möglich. 5

AUFGABE 3 Entwurfsmethoden (a, 10 Punkte) In der Vorlesung wurde das Rucksack Problem vorgestellt. Zur Erinnerung: Es sind n Objekte mit Gewichten g 1,g 2,...,g n Ê und Werten w 1,w 2,...,w n N 0 sowie eine Gewichtsschranke G vorgegeben. Es ist eine Bepackung des Rucksacks zu finden, welche die Gewichtsschranke nicht überschreitet und den Wert der eingepackten Objekte maximiert. Für eine Lösung des Rucksackproblems verwenden wir die Methode der dynamischen Programmierung. Wir setzen W = n i=1 w i. Für jedes 1 i n und jeden möglichen Wert w mit 0 w W betrachten wir das Teilproblem Bestimme Gewicht(i, w) = das minimale Gewicht einer Auswahl aus den ersten i Objekten, die einen Wert von genau w erreicht. Gibt es keine solche Bepackung mit Wert w, dann ist Gewicht(i,w) = zu setzen. (1) Stellen Sie Rekursionsgleichungen auf, um ein Teilproblem Gewicht(i, w) mit Hilfe der Teilprobleme Gewicht(j,v) für 1 j < i und 0 v w zu lösen. (2) Wie kann die optimale Lösung des Rucksackproblems rekonstruiert werden, wenn bereits alle Teilprobleme gelöst wurden? (3) In welcher Laufzeit wird die optimale Lösung des Rucksackproblems bestimmt? 6

(b, 15 Punkte) Im Problem der längsten gemeinsamen Teilfolge sind zwei Folgen x = (x 1,x 2,...,x n ) und y = (y 1,y 2,...,y n ) natürlicher Zahlen gegeben. Die Länge einer längsten gemeinsamen Teilfolge ist zu bestimmen. (Eine gemeinsame Teilfolge der Länge k wird durch Indizes i 1,...,i k, j 1,...,j k mit 1 i 1 < i 2 < < i k n und 1 j 1 < j 2 < < j k n beschrieben. Die Indizes beschreiben eine gemeinsame Teilfolge genau dann, wenn x i1 = y j1,x i2 = y j2,...,x ik = y jk gilt.) (1) Konstruieren Sie einen möglichst effizienten Algorithmus, der das Problem der längsten Teilsequenz löst. Hinweis: Wenden Sie das Verfahren der dynamischen Programmierung an und betrachten Sie Präfixe (x 1,x 2,...,x r ) und (y 1,y 2,...,y s ). (2) Begründen Sie die Korrektheit Ihres Algorithmus und analysieren Sie seine Laufzeit. 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 NP 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 p L 2 und wenn L 2 NP-hart ist, dann ist auch L 1 NP-hart. Wahr Falsch Wenn L 1 NP und L 2 L 1, dann auch L 2 NP. Wahr Falsch Jedes Problem L gehört entweder zur Klasse P oder zur Klasse NP. Wahr Falsch Im Problem Min-Spannbaum ist ein ungerichteter Graph G gegeben, dessen Kanten Gewichte besitzen. Ebenso ist ein Schwellenwert S gegeben. Das Paar (G, S) gehört genau dann zu Min-Spannbaum, wenn G einen Spannbaum mit Gesamtgewicht höchstens S besitzt. Es existiert eine polynomielle Reduktion 3-SAT p Min-Spannbaum von 3-SAT auf Min- Spannbaum. Wahr Falsch Das Problem { 5-Clique = G ist N P-vollständig. Wahr Falsch G = (V,E) ist ein ungerichteter Graph und G enthält nur Cliquen der Größe höchstens 5 } 8

(b, 3+12 Punkte) Im Problem des Multiprocessor Scheduling sind gegeben: - eine Menge von n Aufgaben, wobei die ite Aufgabe die Bearbeitungszeit b(i) besitzt, - m Maschinen sowie - eine Frist F. Es ist zu entscheiden, ob die n Aufgaben auf die m Maschinen verteilt werden können, sodass die Frist F eingehalten wird. (Die Frist F wird eingehalten, wenn jede Maschine nur Aufgaben mit Gesamtbearbeitungszeit höchstens F erhält.) (1) Zeigen Sie, dass das Multiprocessor Scheduling Problem in N P liegt. (2) Weisen Sie nach, dass Multiprocessor Scheduling N P-vollständig ist. Hinweis: Sie können annehmen, dass das Partition Problem N P-vollständig ist. Im Partition Problem sind k natürliche Zahlen a 1,...,a k gegeben, und es ist zu entscheiden, ob die k Zahlen in zwei Klassen mit gleicher Gesamtsumme aufgeteilt werden können, also: { } Es gibt eine Indexmenge I {1,...k} PARTITION = (a 1,a 2,...,a k ) mit i Ia i = a j j {1,...,k}\I 9

10

11

12

13