Übungsblatt 5 - Arbeitsgruppe Kryptographie und Sicherheit

Werbung
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
Abgabetermin: 14.01.2012
Name
Tutorium Nr.
Matrikelnummer
Mit (K) markierte Aufgaben können zur Korrektur abgegeben werden. Korrigierte Übungsblätter erhalten Sie eine Woche nach Abgabe von ihrem Tutor. Wenn Sie auf jedem bis auf
einem aller Übungsblätter mindestens 50 % der erreichbaren Punkte erreichen, erhalten Sie
einen Übungsschein.
Abgabefrist für dieses Übungsblatt ist Montag, der 14.01.2012, 12:00 Uhr. Die Einwurfkästen befinden sich im Kellergeschoss des Informatik-Neubaus (Geb. 50.34).
1
2
3
4
5
Σ
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 = {s1 , . . . , sn } in den Teig geben muss. Außerdem hat er eine Menge von Zutaten
Z = {z1 , . . . , zm }. Jede Zutat zi ∈ Z besteht aus verschiedenen Inhaltsstoffen zi ⊆ S, wobei
Sm
i=0 zi = S.
Doktor Meta stellt sich das Plätzchenrezeptproblem PRP: Gibt es eine Teilmenge Zk ⊆ Z der
S
Größe höchstens k, so dass ζ∈Zk ζ = 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 0 ⊆ V mit |V 0 | ≤ k so, dass für alle Kanten
{u, v} ∈ E auch u ∈ V 0 oder v ∈ V 0 (oder beide)?
i.)
a) Betrachten Sie zum Einstieg das Rezept mit den Inhaltsstoffen
S = {Aceton, Butan, Kalzium, Propan, Rum, Schwefelsäure}
und den Zutaten
Z ={
Grog = {Aceton, Rum, Schwefelsäure},
Benzin = {Propan, Butan, Kalzium},
Zahnpasta = {Aceton, Kalzium, Schwefelsäure},
X = {Aceton, Rum}
}
Finden Sie eine Zutatenmenge Z2 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
Lösung möglichst nah ab. Verwenden Sie die Landau-Notation1 . (1P)
1
„O-Notation“.
ii
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 v1 , v2 , . . . , vm , sodass
gilt
• v1 = vm .
• Für i = 1, . . . , m − 1 ist (vi , vi+1 ) ∈ E, und: jede Kante in E kommt genau einmal in
dieser Folge von Kanten vor.
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 v1 , . . . , vm , so dass
gilt
• v1 = vm .
• Für i = 1, . . . , m − 1 ist (vi , vi+1 ) ∈ E.
• Jedes v ∈ V kommt in der Folge v1 , . . . , vm 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)
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
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)
iii
Aufgabe 4 (K) (4 Punkte): Subgraphisomorphie
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 G1 = (V1 , E1 ) und G2 = (V2 , E2 ). Enthält G1 einen Subgraphen, der isomorph
zu G2 ist? Gibt es also V ⊆ V1 und E ⊆ E1 derart, dass |V | = |V2 |, |E| = |E2 | und
existiert außerdem eine Bijektion f : V2 → V , so dass {u, v} ∈ E2 ⇔ {f (u), f (v)} ∈ E?
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)
iv
Aufgabe 5 (K) (1 Punkt): Bonusaufgabe
Geben Sie eine Dreifärbung des unten gegebenen Graphen an. (1P)
v
Herunterladen