Satz 227 (Master-Theorem)
Seien a ∈ N , b > 1 und C ≥ 0 Konstanten, und sei f (n) eine nichtnegative Funktion.
Weiter seien c 1 (n), . . . , c a (n) Funktionen mit |c i (n)| ≤ C f¨ ur alle 1 ≤ i ≤ a und n ∈ N 0 . Ist dann T (n) eine Funktion, die f¨ ur n = 1 gleich 0 ist und die f¨ ur n ≥ 1 die Rekursionsgleichung
T (n) = T (n/b + c 1 (n)) + · · · + T (n/b + c a (n)) + f (n) erf¨ ullt, dann gilt
T (n) =
Θ(n
logba), falls f (n) = O(n
logba−) f¨ ur ein > 0, Θ(n
logbalog n), falls f (n) = Θ(n
logba· log
δn) f. δ > 0, Θ(f (n)), falls f (n) = Ω(n
logba+) f¨ ur ein > 0.
Diskrete Strukturen 4.12 Das Master-Theorem 396/556
c
Ernst W. Mayr
F¨ ur den Beweis des Master-Theorems verweisen wir auf die Literatur, z.B. in:
Verma, Rakesh M.:
A general method and a master theorem for divide-and-conquer recurrences with applications.
J. Algorithms 16(1), pp. 67–79, 1994 Roura, Salvador:
An improved master theorem for divide-and-conquer recurrences.
Proceedings of the 24th International Colloquium on Automata, Languages and Programming, ICALP’97 (Bologna, Italy, July 7–11, 1997). LNCS 1256,
pp. 449–459, 1997
Diskrete Strukturen 4.12 Das Master-Theorem 397/556
c
Ernst W. Mayr
Satz 228 (“Baby-Version” des MT)
Wenn die Funktion T f¨ ur x < 1 gleich 0 ist und wenn f¨ ur x ≥ 1 die Rekursion T (x) = aT (x/b) + x
gilt (also T (1) = 1), dann gilt f¨ ur n = b t eine ganzzahlige Potenz von b:
T(n) = (1 + o(1)) ·
b
b−a n, falls a < b, n log b n, falls a = b,
a
a−b n log
ba , falls a > b .
Diskrete Strukturen 4.12 Das Master-Theorem 398/556
c
Ernst W. Mayr
Beweis:
Zuerst wenden wir die Rekursionsgleichung so oft an, bis wir die Anfangsbedingung erreichen. Wir haben also
T (n) = n + aT (n/b)
= n + a n
b + a 2 T (n/b 2 )
= n + a n
b + a 2 n
b 2 + a 3 T (n/b 3 )
= · · ·
= n + a n
b + a 2 n
b 2 + · · · + a t T (n/b t ), wobei t = log b n. Also
T (n) = n
1 + a
b + · · · + a t b t
Diskrete Strukturen 4.12 Das Master-Theorem 399/556
c
Ernst W. Mayr
Beweis (Forts.):
Fallunterscheidung:
a < b: In diesem Fall konvergiert die Summe und wir erhalten:
T (n) ≤ n X
k≥0
a b
k
= b b − a n .
a = b: In diesem Fall ist die L¨ osung
T (n) = n (log b n + 1) = (1 + o(1)) · n log b n .
Diskrete Strukturen 4.12 Das Master-Theorem 400/556
c
Ernst W. Mayr
Beweis (Forts.):
a > b: Wir erhalten:
T (n) = n a b
t 1 + b
a + · · · + b t a t
≤ n a a − b
a b
t
= a
a − b a log
bn
= a
a − b n log
ba , da t = log b n.
Diskrete Strukturen 4.12 Das Master-Theorem 401/556
c
Ernst W. Mayr
Kapitel IV Graphen und Algorithmen
1. Grundlagen
Definition 229
Ein Graph G = (V, E) besteht aus einer Menge V von Knoten (aka Ecken, engl.
vertex, vertices) und einer (Mehrfach-)Menge E ⊆ V × V von Paaren (u, v) ∈ V × V , genannt Kanten (engl. edges).
Diskrete Strukturen 1.0 Das Master-Theorem 402/556
c
Ernst W. Mayr
Ein Graph heißt ungerichteter Graph, falls f¨ ur alle (u, v) ∈ E auch (v, u) ∈ E ist. Man schreibt dann E auch als Menge von ungeordneten Paaren {u, v} von Kanten.
Ein Graph heißt ein gerichteter Graph, falls E (wie in obiger Definition) eine Menge von geordneten Paaren (u, v) ist.
Diskrete Strukturen 1.0 Das Master-Theorem 403/556
c
Ernst W. Mayr
1.1 Schlingen
Definition 230
Eine Schlinge ist eine Kante der Form (u, u) bzw. {u, u}.
u u
Diskrete Strukturen 1.1 Schlingen 404/556
c
Ernst W. Mayr
1.2 Mehrfachkanten
Definition 231
Ist E eine Multimenge (d. h. Kanten treten mit Vielfachheit auf), sind die Kanten mit Vielfachheit 2 oder gr¨ oßer Mehrfachkanten.
Ein Graph, der Mehrfachkanten enth¨ alt, heißt auch Multigraph.
Diskrete Strukturen 1.2 Mehrfachkanten 405/556
c
Ernst W. Mayr
1.3 Einfache Graphen
Definition 232
Ein Graph heißt einfach, falls er keine Schlingen oder Mehrfachkanten enth¨ alt.
Definition 233
Ein Graph G = (V, E) (=: K n ) mit |V | = n Knoten heißt vollst¨ andig (der vollst¨ andige Graph mit n Knoten), falls E = {{u, v}; u, v ∈ V, u 6= v} bzw.
E = {(u, v); u, v ∈ V, u 6= v}.
Beispiel 234
K 0 K 1 K 2 K 3 K 4
Diskrete Strukturen 1.3 Einfache Graphen 406/556
c
Ernst W. Mayr
Der K 4 l¨ asst sich auch kreuzungsfrei zeichnen:
F¨ ur die Anzahl der Kanten in einem vollst¨ andigen Graphen (und damit f¨ ur die maximale Anzahl von Kanten in einem einfachen Graphen) gilt:
|E| = n
2
= n · (n − 1) 2
Diskrete Strukturen 1.3 Einfache Graphen 407/556
c
Ernst W. Mayr
1.4 Bipartiter Graph
Definition 235
Ein Graph heißt bipartit, falls sich V in V 1 ] V 2 mit V 1 6= ∅ 6= V 2 so partitionieren l¨ asst, dass gilt:
(∀e ∈ E)
e ∈ (V 1 × V 2 ) ∪ (V 2 × V 1 )
Beispiel 236 (C 8 , Kreis mit 8 Knoten)
Diskrete Strukturen 1.4 Bipartiter Graph 408/556
c
Ernst W. Mayr
Bemerkung:
Schreibweise f¨ ur bipartite Graphen:
G = (V 1 , V 2 , E)
Diskrete Strukturen 1.4 Bipartiter Graph 409/556
c
Ernst W. Mayr
1.5 Vollst¨ andiger bipartiter Graph
Definition 237
Ein bipartiter Graph G = (V 1 , V 2 , E ) heißt vollst¨ andig, falls E = V 1 × V 2 ∪ V 2 × V 1 . (Notation: K m,n , mit m = |V 1 |, n = |V 2 |)
Beispiel 238
K 1,1 K 1,2 K 3,3
Diskrete Strukturen 1.5 Vollst¨andiger bipartiter Graph 410/556
c
Ernst W. Mayr
1.6 k-partiter Graph
Definition 239
Ein Graph heißt k-partit (k ∈ N, k ≥ 2), falls es eine Partition V = V 1 ] V 2 ] . . . ] V k
mit V i 6= ∅, i = 1, . . . , k gibt, so dass (∀e ∈ E)
e ∈ V i × V j ; 1 ≤ i, j ≤ k, i 6= j
Beispiel 240 (Vollst¨ andiger tripartiter Graph K 2,2,2 )
Diskrete Strukturen 1.6k-partiter Graph 411/556
c
Ernst W. Mayr
1.7 (Bin¨ arer) Hyperw¨ urfel Definition 241
Ein Graph G = (V, E) heißt n-dimensionaler bin¨ arer Hyperw¨ urfel (aka Q n ), falls V = V n = {0, 1} n mit
E = n
{v, w} ∈ V n 2 ; Hamming-Abstand(v, w) = 1 o .
Beispiel 242
Q0
0 1
Q1
0000 01
10 11
Q2
000 001
010 011
100 101
110 111
Q3
0000 0001
0010 0011
0100 0101
0110 0111
1000 1001
1010 1011
1100 1101
1110 1111
Q4
Diskrete Strukturen 1.7 (Bin¨arer) Hyperw¨urfel 412/556
c
Ernst W. Mayr
Q 4 : 4-dimensionaler Hyperw¨ urfel
Diskrete Strukturen 1.7 (Bin¨arer) Hyperw¨urfel 413/556
c
Ernst W. Mayr
Q 8 : 8-dimensionaler Hyperw¨ urfel
Diskrete Strukturen 1.7 (Bin¨arer) Hyperw¨urfel 414/556
c
Ernst W. Mayr
F¨ ur die Anzahl der Knoten in Q n gilt:
|V | = 2 n
F¨ ur die Anzahl der Kanten in Q n gilt:
|E| = n · 2 n
2 = n · 2 n−1
Diskrete Strukturen 1.7 (Bin¨arer) Hyperw¨urfel 415/556
c
Ernst W. Mayr
1.8 Pfade Definition 243
1
Ein Pfad der L¨ ange n ist eine Folge (v 1 , v 2 , . . . , v n ) von Knoten eines Graphen G = (V, E), so dass (v i , v i+1 ) ∈ E f¨ ur alle i = 1, . . . , n − 1.
2
Der Graph P n ist der Graph (V, E) mit V = {v 1 , . . . , v n } und E =
{v i , v i+1 }; i = 1, . . . , n − 1 .
Beispiel 244
P 0 P 1 P 2 P 3 P 4
Diskrete Strukturen 1.8 Pfade 416/556
c
Ernst W. Mayr
Definition 245
Ein Pfad heißt einfach, falls alle Knoten paarweise verschieden sind.
Beispiel 246 (Pfad, aber nicht einfacher Pfad der L¨ ange 7)
Diskrete Strukturen 1.8 Pfade 417/556
c
Ernst W. Mayr
1.9 Kreise
Definition 247
Ein Graph G = (V, E) heißt (einfacher) Kreis der L¨ ange n (i. Z. C n , n ≥ 3), falls V = {v 0 , . . . , v n−1 } und E =
{v i , v (i+1) mod n }; i = 0, . . . , n − 1 .
v 0 v n−1
Diskrete Strukturen 1.9 Kreise 418/556
c
Ernst W. Mayr
1.10 Gitter
Definition 248
Ein Graph G = (V, E) heißt ein m-n-Gitter (zweidimensionales Gitter mit den Seitenl¨ angen m und n, i. Z. M m,n ), falls V = {1, . . . , m} × {1, . . . , n} und
{(i, j), (k, l)}
| {z }
Kante zwischen Knoten (i, j) und Knoten (k, l)
∈ E ⇐⇒ |i − k| + |j − l| = 1
Diskrete Strukturen 1.10 Gitter 419/556
c
Ernst W. Mayr
Beispiel 249
M 1,2 M 3,4 M 4,3
Diskrete Strukturen 1.10 Gitter 420/556
c
Ernst W. Mayr
1.11 Torus
Definition 250
Ein Graph G = (V, E) heißt zweidimensionaler Torus (pl. Tori) mit den Seitenl¨ angen m und n, falls V = {1, . . . , m} × {1, . . . , n} und
{(i, j), (k, l)} ∈ E ⇐⇒
|i − k mod m| + |j − l mod n| = 1
Beispiel 251
T
1,2T
3,3T
3,4Diskrete Strukturen 1.11 Torus 421/556
c
Ernst W. Mayr
1.12 Petersen-Graph
Definition 252
Der folgende Graph heißt Petersen-Graph:
Diskrete Strukturen 1.12 Petersen-Graph 422/556
c
Ernst W. Mayr