Approximationsalgorithmen - WWW-Docs for TU

Werbung
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
Herunterladen