Übungsblatt Nr. 5. Lösungsvorschlag

Ähnliche Dokumente
Übungsblatt Nr. 5. Lösungsvorschlag

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

WS 2009/10. Diskrete Strukturen

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

15. Elementare Graphalgorithmen

Bipartite Graphen. Beispiele

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

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

3 Klassifikation wichtiger Optimierungsprobleme

Probleme aus NP und die polynomielle Reduktion

Bäume und Wälder. Definition 1

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

Universität des Saarlandes

Algorithmen & Komplexität

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Diskrete Mathematik für Informatiker

Graphalgorithmen 2. Oleksiy Rybakov. 3. Juni Betreuer: Tobias Werth, Daniel Brinkers

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Wiederholung zu Flüssen

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

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

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Algorithmen zum Lösen von Vertex und Set Cover Instanzen zur Planung von Angriffen auf Netzwerke

Übungsblatt 2 - Lösung

Minimal spannende Bäume

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

abgeschlossen unter,,,, R,

Übung zur Vorlesung Berechenbarkeit und Komplexität

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

3. Musterlösung. Problem 1: Boruvka MST

Grundbegriffe der Informatik

Graphen und Bäume. A.1 Graphen

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Algorithmen II Vorlesung am

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Grundbegriffe der Informatik

Rechnerische Komplexität

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Minimal spannende Bäume

8 Diskrete Optimierung

Algorithmische Graphentheorie

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

Teil III. Komplexitätstheorie

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2009/2010

Wie komme ich von hier zum Hauptbahnhof?

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

6. Übungsblatt zu Algorithmen II im WS 2011/2012

NP-vollständig - Was nun?

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Das Heiratsproblem. Definition Matching

Formale Grundlagen der Informatik

Klausur Theoretische Informatik I WS 2004/2005

Anmerkungen zur Übergangsprüfung

Graphen: Datenstrukturen und Algorithmen

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

9. Übung Algorithmen I

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Theoretische Informatik 1

Nichtdeterministische Platzklassen

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Vorlesung Theoretische Grundlagen

1. Einleitung wichtige Begriffe

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2006/07 in Trier. Henning Fernau Universität Trier

Die Komplexität von Domino

Flüsse, Schnitte, bipartite Graphen

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Graphen. Leonhard Euler ( )

Kombinatorische Optimierung


Schwierige Probleme in der Informatik Informationen für die Lehrperson

Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten

Quicksort ist ein Divide-and-Conquer-Verfahren.

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

Effiziente Algorithmen I

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Klausur Algorithmen und Datenstrukturen II 29. Juli 2013

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Einführung in die Graphentheorie. Monika König

Einführung in die Informatik 2

Approximationsklassen für Optimierungsprobleme

3. Übungsblatt zu Algorithmen I im SoSe 2017

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Isomorphie von Bäumen

Algorithmik Funke/Bahrdt/Krumpe/Mendel/Seybold SS Übungsblatt 4

Algorithmen und Datenstrukturen (WS 2007/08) 63

Ausarbeitung über den Satz von Menger und den Satz von König

11. Übung zu Algorithmen I 6. Juli 2016

Praktikum Planare Graphen

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

(Prüfungs-)Aufgaben zur Berechenbarkeits- und Komplexitätstheorie

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Transkript:

Institut für Kryptographie und Sicherheit Prof. Dr. Jörn Müller-Quade Nico Döttling Dirk Achenbach Tobias Nilges Vorlesung Theoretische Grundlagen der Informatik Übungsblatt Nr. 5 svorschlag

Aufgabe 1 (K) (4 Punkte): Das Plätzchenrezeptproblem Der ebenso geniale wie turingmächtige Wissenschaftler und Superbösewicht Doktor Meta möchte Weihnachtsplätzchen backen. Sein Rezept sieht vor, dass er eine Menge von Stoffen S = {s 1,..., s n } in den Teig geben muss. Außerdem hat er eine Menge von Zutaten Z = {z 1,..., z m }. Jede Zutat z i Z besteht aus verschiedenen Inhaltsstoffen z i S, wobei mi=0 z i = S. Doktor Meta stellt sich das Plätzchenrezeptproblem PRP: Gibt es eine Teilmenge Z k Z der Größe höchstens k, so dass ζ Z k ζ = S? Aus seinem lange zurückliegenden Informatikstudium weiß Doktor Meta, dass das Problem VERTEX COVER NP-vollständig ist: Gegeben einen ungerichteten Graphen G = (V, E) und k N, existiert eine Teilmenge der Knoten V V mit V k so, dass für alle Kanten {u, v} E auch u V oder v V (oder beide)? i.) a) Betrachten Sie zum Einstieg das Rezept mit den Inhaltsstoffen und den Zutaten S = {Aceton, Butan, Kalzium, Propan, Rum, Schwefelsäure} Z ={ Grog = {Aceton, Rum, Schwefelsäure}, Benzin = {Propan, Butan, Kalzium}, Zahnpasta = {Aceton, Kalzium, Schwefelsäure}, X = {Aceton, Rum} } Finden Sie eine Zutatenmenge Z 2 der Größe höchstens k = 2, die ganz S abdeckt. (0,5P) b) Betrachten Sie nun beispielhaft das Haus vom Nikolaus: Finden Sie ein Vertex Cover des gegebenen Graphen der Größe 3. (0,5P) ii.) Zeigen Sie: PRP ist NP-vollständig. Zeigen Sie dazu zunächst, dass PRP NP. Reduzieren Sie dann VERTEX COVER auf PRP. (2P) iii.) Doktor Meta ist in Weihnachtsstimmung und gibt sich ausnahmsweise mit Näherungslösungen zufrieden. Überlegen Sie sich einen Approximationsalgorithmus für PRP mit polynomieller Laufzeit. Schätzen Sie den Aufwand des Algorithmus und die Güte seiner möglichst nah ab. Verwenden Sie die Landau-Notation 1. (1P) 1 O-Notation. ii

svorschlag i.) a) Z 2 = {Grog, Benzin} b) ii.) PRP NP: Gegeben eine Menge von Zutaten kann man einfach die Liste durchgehen, ob alle Stoffe enthalten sind. VERTEX COVER T PRP: Wir transformieren eine Instanz von VERTEX COVER in eine Instanz des PRP, indem wir die Kanten als Inhaltsstoffe nutzen und die Knoten als Zutaten. Dann ist durch Z min das minimale Vertex Cover gegeben und löst somit das Entscheidungsproblem, ob es ein Vertex Cover der Größe k gibt. iii.) Wir nutzen folgenden Approximations-Alogrithmus: wir wählen einen beliebigen unmarkierten Inhaltsstoff aus und speichern uns alle Zutaten, die diesen Stoff enthalten. Dann markieren wir alle Inhaltsstoffe, die durch die Zutaten abgedeckt werden. Diesen Schritt wiederholen wir so oft, bis es keinen unmarkierten Inhaltsstoff mehr gibt. Die auf diese Weise gespeicherten Zutaten decken also die Menge S ab. Mit diesem Algorithmus erhalten wir garantiert eine für das PRP mit Komplexität O(n). Um die Güte in Abhängigkeit der optimalen zu bestimmen, betrachten wir den schlimmsten Fall der eintreten kann. Dies passiert, falls mit den zu einem Inhaltsstoff zugehörigen Zutaten nur gemeinsame Inhaltsstoffe hinzukommen, sodass keine anderen Inhaltsstoffe gestrichen werden. Die Anzahl der unnötig hinzugefügten Zutaten ist l max s S Zutaten(s). Damit ist die maximal um den Faktor l schlechter als die optimale. Aufgabe 2 (K) (4 Punkte): Kreise auf Graphen Zur Erinnerung: Ein gerichteter Graph G besteht aus einer endlichen Menge V von Knoten und einer Menge E V V von Kanten; eine Kante ist also ein geordnetes Paar zweier Knoten. In einem ungerichteten Graphen sind Kanten ungeordnete Paare zweier Knoten. Ein Eulerkreis für einen Graphen G = (V, E) ist eine Folge von Knoten v 1, v 2,..., v m, sodass gilt v 1 = v m. Für i = 1,..., m 1 ist (v i, v i+1 ) E, und: jede Kante in E kommt genau einmal in dieser Folge von Kanten vor. iii

Ein Eulerkreis ist also eine Rundreise durch einen Graphen, auf welcher jede Kante genau einmal auftaucht. Das Eulerkreis-Suchproblem SEARCH-EULERKREIS besteht darin, für einen gegebenen Graphen G = (V, E) einen Eulerkreis zu berechnen, falls ein solcher existiert. Ein Hamiltonkreis für einen Graphen G = (V, E) ist eine Folge von Knoten v 1,..., v m, so dass gilt v 1 = v m. Für i = 1,..., m 1 ist (v i, v i+1 ) E. Jedes v V kommt in der Folge v 1,..., v m genau einmal vor. Das Hamiltonkreis-Entscheidungsproblem HAMILTON besteht darin, festzustellen, ob ein gegebener Graph G = (V, E) einen Hamiltonkreis besitzt. i.) Zeigen Sie: SEARCH-EULERKREIS P. (2P) ii.) Zeigen Sie: Das Hamiltonkreisproblem für gerichtete Graphen ist mindestens so schwer wie das Hamiltonkreisproblem für ungerichtete Graphen. (1P) iii.) Zeigen Sie: Das Hamiltonkreisproblem für ungerichtete Graphen ist mindestens so schwer wie das Hamiltonkreisproblem für gerichtete Graphen. (1P) svorschlag i.) Algorithmus HORST berechnet für einen gegebenen Graphen G = (V, E) einen Eulerkreis (falls ein solcher existiert). HORST läuft in Linearzeit (und ist damit in P): In jeder Iteration der Schleife wird eine Kante e E markiert und jede Kante wird höchsten einmnal markiert. Damit läuft der Algorithmus in O( E ). HORST ist korrekt: Nach dem Euler-Kriterium existiert genau dann ein Eulerkreis, wenn jeder Knoten geraden Grad besitzt. Beginnt ein Pfad also an einem Knoten v 0, so muss ein Pfad über unmarkierte Kanten zu v 0 zurückführen, denn für jeden Knoten ausser v 0 zu welchem eine unmarkierte Kante hinführt, muss auch eine unmarkierte Kante wieder wegführen (da jeder Knoten v geraden Grad besitzt). Daher endet der Pfad zwangsläufig bei v 0 (da dies der einzige Knoten mit einer ungeraden Anzahl an nichtmarkierten Kanten ist). Weiterhin bleiben Kreise durch das Einfügen von Unterkreisen erhalten. Der Algorithmus terminiert erst wenn keine unmarkierten Kanten mehr existieren. ii.) Sei G = (V, E) ein ungerichteter Graph. Wir konstruieren einen gerichteten Graphen G = (V, E ) welcher genau dann einen gerichteten Hamiltonkreis besitzt wenn G einen ungerichteten Hamiltonkreis besitzt. Wir setzten V = V und für jede ungerichtete Kante e = (v 1, v 2 ) in E fügen wir zwei gerichtete Kanten e 1 = (v 1, v 2 ) und e 2 = (v 2, v 1 ) in E ein. Jeder Hamiltonkreis v 1,..., v n in G ist nun auch ein Hamiltonkreis in G und umgekehrt. iii.) Sei G = (V, E) ein gerichteter Graph. Wir konstruieren einen ungerichteten Graphen G = (V, E ) welcher genau dann einen gerichteten Hamiltonkreis besitzt wenn G einen ungerichteten Hamiltonkreis besitzt. Für jeden Knoten v V fügen wir drei Knoten v 1, v 2 und v 3 in E. Wir verbinden v 2 mit v 1 und v 3, v 1 mit allen Knoten von welchen iv

Eingabe : Graph G = (V, E) Ergebnis : Ein Eulerkreis v 1,..., v n ) Beginn Wähle einen Startknoten v 0 V ; Setze v := v 0 ; Setze C := [ ]; Setze i := 1; solange Unmarkierte Kanten existieren tue Wähle eine umarkierte Kante e E welche mit v inzident ist und markiere e; Füge v in die Folge C an der Stelle i ein ein.; Setze v auf den anderen Endknoten von e; Setze i := i + 1; wenn v = v 0 und unmarkierte Kanten existieren dann Suche einen Knoten v C welcher inzident zu einer nichtmarkierten Kante ist; Sei i der Index von v in der Liste C; Setze v 0 := v; wenn v v 0 und keine unmarkierten Kanten inzident zu v sind dann Zurück ; zurück C Algorithmus 1 : HORST eingehende Kanten kommen und v 3 mit allen Knoten zu welchen ausgehende Kanten führen v v 1 v 2 v 3 Der Knoten v 2 stellt nun sicher, dass ein Kreis den Knoten v 1 über v 2 und v 3 verlässt, ansonsten wäre v 2 nichtmehr erreichbar. Jeder Kreis erreicht also den simulierten Knoten v über v 1 und verlässt ihn über v 3. Damit besitzt G genau dann einen Hamiltonkreis wenn G einen Hamiltonkreis besitzt. Aufgabe 3 (K) (4 Punkte) Das Problem k-color ist folgendermaßen definiert. Gegeben sei ein Graph G = (V, E). Frage: Lassen sich die Knoten so mit k Farben einfärben, sodass je zwei adjazente Knoten (also Knoten v

u, v V mit (u, v) E) unterschiedlich gefärbt sind? i.) Zeichnen Sie das Haus vom Nikolaus ohne Absetzen. (1P) ii.) Zeigen Sie: Für jede Konstante k 3 ist das k-color-problem mindestens so schwer wie das 3-COLOR-Problem. (3P) svorschlag i.) 1 2 3 5 7 ii.) Sei G = (V, E) ein 3-COLOR-Instanz. Wir konstruieren nun aus G einen Graphen G, welcher genau dann k-färbbar ist wenn G 3-färbbar ist. Zunächst fügen wir zu G k neue Knoten hinzu und verbinden diese alle miteinander, wir fügen also eine k-clique hinzu. Seien v 1,... v k die Knoten dieser k-clique. v 1,..., v k dient uns nun als Farbpalette: Wird dieser Graph mit k Farben eingefärbt, so taucht jede Farbe in dieser k-clique exakt einmal auf. Nun verbinden wir die jeden Knoten in V mit v 4,..., v k. Die Knoten in V können also nurnoch mit drei verschiedenen Farben eingefärbt werden, nämlich den Farben von v 1, v 2 und v 3. Damit ist G genau dann k-färbbar wenn G 3-färbbar ist. 4 6 Aufgabe 4 (K) (4 Punkte): Subgraphisomorphie 8 Aus der Vorlesung kennen Sie das Problem CLIQUE in der Entscheidungsvariante: Gegeben ist ein Graph G = (V, E) und eine natürliche Zahl k N. Gibt es eine Clique der Größe k in G? (Eine Clique ist ein vollständig verbundener Graph.) i.) Betrachten Sie außerdem das Problem SUBGRAPHISOMORPHIE: Gegeben sind zwei Graphen G 1 = (V 1, E 1 ) und G 2 = (V 2, E 2 ). Enthält G 1 einen Subgraphen, der isomorph zu G 2 ist? Gibt es also V V 1 und E E 1 derart, dass V = V 2, E = E 2 und existiert außerdem eine Bijektion f : V 2 V, so dass {u, v} E 2 {f(u), f(v)} E? vi

Zeigen Sie: SUBGRAPHISOMORPHIE ist NP-vollständig, wenn CLIQUE NP-vollständig ist? (1,5P) ii.) Stellen Sie sich nun vor, Sie verfügen über ein CLIQUE-Orakel. a) Zeigen Sie: Die Optimierungsvariante von CLIQUE ist dann in P. Das heißt also, es existiert ein Polynomialzeitalgorithmus, der das größte k findet, so dass eine Clique der Größe k in G existiert. (1P) b) Können Sie einen Polynomialzeitalgorithmus angeben, der einen Zeugen dafür findet, wenn ein gegebener Graph eine k-clique enthält? (1,5P) svorschlag i.) Wir zeigen, dass wir eine gegebene Instanz von CLIQUE (in polynomieller Zeit) so transformieren können, dass sie eine Instanz von SUBGRAPHISOMORPHIE ist, die genau dann eine Ja-Instanz ist, wenn die CLIQUE-Instanz eine Ja-Instanz ist: Wir setzen G 1 = G und G 2 = K k, wobei K k der vollständig verbundene Graph mit k Knoten ist. ii.) Wir stellen uns vor, wir verfügen über ein CLIQUE-Orakel. Dieses aufzurufen, koste uns polynomiell viel Zeit. Wir nennen es CLIQUE. a) Wir beschreiben den Algorithmus und analysieren dessen Laufzeit: Eingabe : Graph G = (V, E) Ergebnis : k, die Größe der größten Clique in G Beginn k := 0; solange CLIQUE(G, k + 1) = Ja tue k := k + 1 zurück k; Die Schleife wird k mal durchlaufen. Ihr Rumpf hat eine polynomielle Laufzeit. Damit hat auch der Algorithmus polynomielle Laufzeit. b) Ja: vii

Eingabe : Graph G = (V, E), k N Ergebnis : Clique V V mit V = k Beginn wenn CLIQUE(G, k) = Nein dann zurück E V := ; für v V tue wenn CLIQUE(V \ {v}, k) = Ja dann V := V \ {v}; sonst V := V {v}; zurück V Der Algorithmus geht die Knoten des Graphen einzeln durch und löscht sie testweise. Ist nach dem Löschen eines Knoten immer noch eine k-clique im Graph, gehört der gelöschte Knoten nicht dazu. Andernfalls schon. Aufgabe 5 (K) (1 Punkt): Bonusaufgabe Geben Sie eine Dreifärbung des unten gegebenen Graphen an. (1P) viii

ix

svorschlag x