BTU Cottbus, Lehrstuhl für Theoretische Informatik Übungen zu Approximationsalgorithmen WS 11/12 Blatt 1 Approximationsalgorithmen Prof. Dr. Klaus Meer, Randolf Rotta Aufgabenblatt 1 Version 2. November 2011 Aufgabe 1. (Landau-Symbole, Groß-Oh Notation) Zur Wiederholung etwas über die LandauSymbole. Seien f, g : R+ → R+ zwei nicht negative, reelle Funktionen, dann gilt: 1. f ∈ O(g) ⇔ ∃c, N ∈ R : ∀n ≥ N : f (n) ≤ cg(n). 2. f ∈ Ω(g) ⇔ ∃c, N ∈ R : ∀n ≥ N : f (n) ≥ cg(n). 3. f ∈ Θ(g) ⇔ f ∈ O(g) ∧ f ∈ Ω(g). 4. f ∈ o(g) ⇔ limn→∞ f (n)/g(n) = 0. 5. f ∈ ω(g) ⇔ limn→∞ g(n)/f (n) = 0. 6. f ∼ g ⇔ limn→∞ f (n)/g(n) = 1. In der Praxis wird häufig anstelle von f ∈ O(g) einfach f = O(g) und f (n) = O(g(n)) geschrieben. Allerdings ist das “=” in diesem Falle nicht symmetrisch! (a) Ordnen Sie die folgenden Funktionen nach ihren Wachstumseigenschaften bezüglich√O- und √ o-Beziehungen: √ log n , log n , n , (log n)2 , logn n , nk (für k ∈ N, k ≥ 1) , nlog n , nlog log n , n n √ P P log(n2 ) , (log n)2 , nn , log log log n , i, i2 , 2n log n , ( log n)log log n . i=0 i=0 (b) Geben Sie Funktionen f und g (von N nach N) an, so dass weder f ∈ O(g) noch g ∈ O(f ). Beweisen Sie diese Eigenschaften. Hinweis: Betrachten Sie die Funktion h(n) = n2 , falls n gerade n4 , sonst (c) Zeigen Sie O(log) = O(log10 ) = O(ln) = O(log(2n)) = O(log(n + log(n))) = O(log(n2 )). Aufgabe 2. Wie können rationale Zahlen Q kompakt kodiert werden? Ändern sich mit rationalen Zahlen die Kosten (Groß-O Laufzeit) für Addition, Multiplikation und Division wesentlich? Aufgabe 3. Gegeben sei eine Matrix A ∈ Qn,m und der Gauß-Algorithmus soll auf dieser Matrix ausgeführt werden. (a) Wie kann diese Matrix als Bitfolge kodiert werden? Wie groß ist die Kodierung? 1/2 BTU Cottbus, Lehrstuhl für Theoretische Informatik Übungen zu Approximationsalgorithmen WS 11/12 Blatt 1 (b) Wieviele Additionen, Multiplikationen und Divisionen wird der Gauß-Algorithmus maximal benötigen? Schätzen Sie dies mit Groß-O relativ zu n und m ab. (c) Ist die Laufzeit des Gauß-Algorithmus noch in P, wenn die Bit-Kosten für die Rechenoperationen mitgezählt werden? Aufgabe 4. (Die Klasse NP) Zeigen Sie, dass die folgende Definition der Klasse NP äquivalent zu der Definiton aus der Vorlesung ist: Eine Sprache L ⊆ Σ∗ ist in NP genau dann, wenn es eine nicht-deterministische polynomial-zeitbeschränkte Turing-Maschine M auf Σ∗ gibt, so dass ∀x ∈ Σ∗ : x ∈ L ⇔ M (x) = 1 . Aufgabe 5. Sei Φ eine boolsche Formel in Konjunktiver Normalform mit n Variablen und m Klauseln. (a) Wie können solche Formeln als Bitfolge kodiert werden, wenn für Zahlen eine binäre Kodierung verwendet wird? (b) Von welcher Größenordnung ist die maximal mögliche Kodierungslänge für gegebenes n und m? (c) Von welcher Größenordnung ist die maximal mögliche Kodierungslänge, wenn nur die Anzahl der Variablen n gegeben ist? Wie verhält sich dies zur vorherigen Größe basierend auf n und m? (d) Ändern sich die Größenordnungen, wenn eine unäre Kodierung für die auftretenden Zahlen verwendet wird? Aufgabe 6. Wir betrachten das Hamilton-Kreis-Problem: Eingabe: Graph G = (V, E) mit E ⊆ V × V . Frage: Hat G einen Hamilton-Kreis (einen Kreis, in dem alle Knoten aus V genau einmal vorkommen)? Wie kann dieses Entscheidungsproblem kodiert werden? Was wäre die Eingabegröße? Zeigen Sie, dass das Problem in NP liegt. Aufgabe 7. Wir betrachten das Traveling-Salesman-Problem: Eingabe: Graph G = (V, E), eine totale Funktion f : E → N und eine natürliche Zahl k ∈ N. P Frage: Hat G einen Hamilton-Kreis H mit Kosten e∈H f (e) ≤ k? Wie kann dieses Entscheidungsproblem kodiert werden? Was wäre die Eingabegröße? Zeigen Sie, dass das Problem in NP liegt. 2/2