Folien

Werbung
Übung Algorithmen I
27.4.16
Lisa Kohl
[email protected]
Teile-und-Herrsche-Paradigma
1. Teile das Problem
2. Beherrsche die Teilprobleme
3. Verbinde die Teillösungen
Problem
direkt lösbare Probleme
Karatsuba-Ofman, Beispiel
1242 · 3163
3982446
12 · 31
372
1·3= 3
2·1= 2
3 · 4 = 12
42 · 63
2646
12 · 31 = 372
42 · 63 = 2646
54 · 94 = 5076
4 · 6 = 24
2·3= 6
6 · 9 = 54
54 · 94 5 · 9 = 45
4 · 4 = 16
5076 9 · 13 = 117
9 · 13
117
0·1= 0
9 · 3 = 27
9 · 4 = 36
Karatsuba-Ofman, Laufzeit
I
I
n ∈ N Länge der Eingabe
(
1
T (n) ≤
3 · T (dn/2e) + 10n
falls n = 1
falls n > 1
Rekurrenz/Rekursionsgleichung
Laufzeit im O-Kalkül?
Mastertheorem, einfache Form
a, b, c, d positive Konstanten und n ∈ N
(
a
für n = 1
T (n) =
d · T (dn/be) + cn für n > 1
Es gilt


Θ(n)
T (n) ∈ Θ(n log n)


Θ nlogb d
I
falls d < b
falls d = b
falls d > b .
Karatsuba-Ofman:
T (n) ∈ Θ nlog2 3
Abschätzung von Rekurrenzen
(
1
T (n) =
2T (dn/3e) + n + log n
falls n = 1
falls n > 1
Master-Theorem anwendbar?
(
1
T1 (n) =
2T1 (dn/3e) + n
falls n = 1
⇒ T1 (n) ∈ Θ(n)
falls n > 1
(
1
falls n = 1
T2 (n) =
⇒ T2 (n) ∈ Θ(n)
2T2 (dn/3e) + 2n falls n > 1
∀n ∈ N : T1 (n) ≤ T (n) ≤ T2 (n)
⇒
T (n) ∈ Θ(n)
Abschätzung von Rekurrenzen
(
1
T (n) =
8T (dn/2e) + n2
falls n = 1
falls n > 1
Master-Theorem anwendbar? Nicht in einfacher Form!
I finde/rate untere/obere Schranken
I beweise Richtigkeit durch vollständige Induktion
I im Beispiel: ∀k ∈ N0 , n = 2k : n 3 ≤ T (n) ≤ 2n 3 − n 2
Bisektion von Bäumen
⇒
I
I
Problem: Zerlege Baum in ähnlich große Teilbäume
Anwendung: Teile-und-Herrsche-Algorithmen auf Graphen
Bisektion von Bäumen
I
I
Gegeben: binärer Baum mit n Knoten
Problem: entferne eine Kante, sodass die entstandenen
Teilbäume Größe ≤ 3/4 · n haben
20
16
3
4
11
3
3
1 1
1 1
1
7
3 3
1111
1
Bisektion von Bäumen
Geht es noch besser? Nein!
Herunterladen