Aufgaben zu Komplexität von Algorithmen (SS 2011) Aufgabe 3

Werbung
Aufgaben zu Komplexität von Algorithmen (SS 2011)
Aufgabe 3: Übungen zum Umgang mit asymptotischer Notation
Hinweis: diese Aufgaben sind teilweise dem Buch Introduction to Algorithms (2nd ed.)
von Cormen, Leiserson, Rivest, Stein (MIT Press) entnommen. Abschnitt 3.1
dieses Buchs bietet eine ausführliche Diskussion der Definitionen und Begriffe und viele
Beispiele.
1. Was bedeuten die folgenden vier Aussagen für eine Folge (an )n≥0 = (a0 , a1 , a2 , . . .)
reeller Zahlen in üblicher mathematischer Terminologie:
(a) an ∈ O(1)
(b) an ∈ o(1)
(c) an ∈ Θ(1)
(d) an ∼ 1
Welche dieser Aussagen impliziert welche andere und wo ist das nicht der Fall?
Was bedeuten die Aussagen, wenn man die an als ganzzahlig voraussetzt?
2. Von zwei Folgen (an )n≥0 und (bn )n≥0 sei an ∼ bn bekannt. Man interessiert sich
nun für das asymptotische Verhalten der Differenzenfolge (an −bn )n≥0 . Welche der
folgenden Aussagen sind immer, bzw. machmal, aber nicht immer, bzw. niemals
zutreffend:
(a) an − bn ∈ o(1)
(b) an − bn ∈ O(1)
(c) an − bn ∈ o(an )
(d) an − bn ∈ O(an )
(e) an − bn ∈ Θ(an )
(f) an − bn ∼ an
3. Welche der folgenden Aussagen über Folgen (an )n≥0 und (bn )n≥0 sind wahr und
welche sind falsch:
(a) an ∈ O(bn ) ⇒ bn ∈ O(an )
(b) an + bn ∈ Θ(min(an , bn ))
(c) an ∈ Θ(an/2 )
(d) an ∈ O(a2n )
(e) an ∈ O(bn ) ⇒ bn ∈ Ω(an )
(f) an ∈ O(bn ) ⇒ 2an ∈ O(2bn )
(g) bn ∈ o(an ) ⇒ an + bn ∈ Θ(an )
11. Mai 2011
Aufgaben zu Komplexität von Algorithmen (SS 2011)
4. Vergleichen Sie die in der folgenden Tabelle genannten Paare von Funktionsausdrücken (in Abhängigkeit von n) in ihrem asymptotischen Verhalten, d.h. ob eine
oder mehrer der Relationen O, o, Ω, ω, Θ zwischen ihnen bestehen:
f
g
k
log n
nα
k
n
cn
√
n
nsin n
n
2
2n/2
nlog c clog n
log n! log nn
O
o
Ω
ω
Θ
Dabei seien k ≥ 1, α > 0, c > 1 Konstante.
5. Alle Beziehungen Θ, O, o, Ω, ω auf Folgen (oder Funktionen) sind transitiv. Welche
sind reflexiv? Welche sind symmetrisch?
6. Durch die Relationen auf Folgen (oder Funktionen)
(an )n≥0 ≺ (bn )n≥0 ⇔ an ∈ o(bn )
bzw.
(an )n≥0 4 (bn )n≥0 ⇔ an ∈ O(bn )
wird eine Ordnungsrelation bezüglich des asymptotischen Wachstums definiert,
wobei die “Gleichheit” (im Sinne “gleicher Wachstumsordnung”) durch
(an )n≥0 ≈ (bn )n≥0 ⇔ an ∈ Θ(bn )
ausgedrückt wird.
Ordnen Sie die folgenden mit der Variablen n indizeirten Funktionen (oder Folgen)
im Sinne dieser Ordnungsrelation aufsteigend:
√
2
n!
log n
2n
log
n
n3
4log n
log log n
√
log
n
n
2
2
log
n
2n+1
(log
n)
n
·
2
n
/
log
n
2
1
2
log(n!)
√ log n
Pn
Pn
2n
n
2
n
log
log
n
( 2)
(3/2)
n
k=1 1/k
k=1 1/k
n
3
11. Mai 2011
Aufgaben zu Komplexität von Algorithmen (SS 2011)
Aufgabe 4: Rekursion und Induktion mit Fibonacci
Die durch die Rekursion
F0 = 0, F1 = 1, Fn+1 = Fn + Fn−1 (n ≥ 1)
definierte Folge (Fn )n≥0 = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . .) der Fibonacci-Zahlen (siehe
auch Abschnit 3.1.1 des Skriptums) muss immer wieder als Ur-Beispiel einer rekursiven
Definition herhalten. Tatsächlich hat diese Zahlenfolge aber so interessante Eigenschaften und ist so häufig vorkommend in Natur, Wissenschaft, Kunst, Architektur, etc., dass
man ihr ganze Bücher, eine Serie von Tagungen und sogar eine eigene Zeitschrift (The
Fibonacci Quarterly) gewidmet hat. Der tiefere Grund ist der Zusammenhang mit
dem Goldenen Schnitt, also der reellen Zahl
√
1+ 5
φ=
= 1.61803 . . . ,
2
die positive Lösung der quadratischen Gleichung
X 2 = X + 1.
√
Die andere (negative) Lösung (1 − 5)/2 = −0.61803 . . . wird mit φb bezeichnet.
Im Zusammenhang mit dem euklidischen Algorithmus spielen die Fibonacci-Zahlen
auch eine bedeutsame Rolle – mehr davon später.
Beweise über rekursive Programme bzw. rekursiv definierte Objekte führt man mittels Induktion. Trainieren Sie hier Ihre Fertigkeiten in dieser Technik,
(a) Beweisen Sie per Induktion
Fn =
bn
φn − (φ)
√
(n ≥ 0)
5
(b) Beweisen Sie per Induktion
Fn+1 Fn−1 − Fn2 = (−1)n (n ≥ 1)
(c) Beweisen Sie ebenso sorgfältig (im Sinne der Analysis), dass
Fn+1
=φ
n→∞ Fn
lim
gilt. Veranschaulichen Sie grafisch das Konvergenzverhalten der Folge der Quotienten
Fn+1
Fn n≥1
d.h. tragen Sie die ersten numerischen Werte auf einer Zahlengeraden ab und
beobachten Sie, wie sich die Folge entwickelt.
(d) Wie gross sind F100 , F200 , F300 , F400 ? Damit ist gemeint: wieviel Dezimalziffern
bzw. Binärziffern braucht man, um diese Zahlen hinzuschreiben? Sie sollen diese Zahlen nicht ausrechnen, sondern eine gute Schätzung abgeben, ohne viel zu
rechnen!
11. Mai 2011
Aufgaben zu Komplexität von Algorithmen (SS 2011)
Aufgabe 5: Eine Variante des Frisbee-Spiels
Jetzt wird Frisbee nach einer anderen Regel gespielt:
• N Spieler haben sich in einem regelmäßigen N -Eck aufgestellt.
• Es sind zwei Scheiben vorhanden, die sich anfangs im Besitz von zwei verschiedenen Spielen befinden.
• In jedem Takt wirft ein Spieler, der eine Scheibe hat, diese zu einem der N − 1
Mitspieler. Die Auswahl erfolgt zufällig mit gleicher Wahrscheinlichkeit N 1−1 und
unabhängig davon, wie sich der andere Spieler entscheidet und wie der Spielverlauf
bisher war.
Es gibt in jedem Takt also (N − 1)2 Möglichkeiten, die alle mit Wahrscheinlichkeit
1
auftreten.
(N −1)2
• Das Spiel ist beendet, sobald die beiden Scheiben erstmals bei demselben Spieler
eintreffen.
1. Modellieren Sie dieses Spiel mit einem Transitionssystem T SN , das aus zwei
Zuständen besteht, “1” = verschiedene Spieler haben die Scheiben und “0” =
die beiden Scheiben sind bei einem Spieler zusammengetroffen. Wesentlich ist die
Angabe der Anzahl der Möglichkeiten für jede der Transitionen “1” → “1” und
“1” → “0” in einem Spielzug.
2. Es sei nun
p=
]{Transitionen “1” → “0”}
(N − 1)2
die Wahrscheinlichkeit des Spielabbruchs in einem Takt, falls sich das Spiel im
Zustand “1” befindet und entsprechend
q=
]{Transitionen “1” → “1”}
=1−p
(N − 1)2
Dann ist
Wkeit{Spiel endet nach genau k Takten} = q k−1 · p
(k = 1, 2, 3, . . .)
Zeigen Sie: die mittlere Spieldauer (= Erwartungswert) ist 1/p.
3. Wieviele Spieler benötigt man, damit die erwartete Spieldauer dieses Spiels grösser
12 (= erwartete Spieldauer beim 5-er-Frisbee nach Modell der Vorlesung) ist?
11. Mai 2011
Herunterladen