Wachstum von Folgen - Fakultät für Mathematik, TU Dortmund

Werbung
5.3 Wachstum von Folgen
In diesem Abschnitt betrachten wir (rekursiv oder anders definierte) Folgen
{an }∞
n=1 und wollen vergleichen, wie schnell sie anwachsen, wenn n wächst.
Wir orientieren uns dabei an W. Hochstättler: Algorithmische Mathematik,
Springer-Lehrbuch, 2010.
Beispiel 1 Wir betrachten die Folge H1 := 1, Hn := Hn−1 + n1 für n ∈
N, n ≥ 2. Dies ist die aus den ersten nP
Gliedern bestehende Teilsumme
1
(Partialsumme) der arithmetischen Reihe ∞
k=1 k ,
Hn =
n
X
1
k=1
k
=1+
1 1
1
+ + ... + .
2 3
n
Rechnung zeigt (hier nur auf 6 Nachkommastellen gerundet angegeben)
n
1
2
3
4
5
6
7
8
9
Hn
1
1, 5
1, 833333
2, 083333
2, 283333
2, 45
2, 592857
2, 717857
2, 828968
n
10
20
30
40
50
60
70
80
90
Hn
2, 928968
3, 597740
4, 994987
4, 278543
4, 499205
4, 679870
4, 832837
4, 965479
5, 082571
n
100
200
300
400
500
600
700
800
900
Hn
5, 187378
5, 878031
6, 282664
6, 569930
6, 792823
6, 974978
7, 129010
7, 262452
7, 380166
Weitere Rechnung gibt z.B. H1000 = 7, 485471 und H10000 = 9, 787606.
Zur Untersuchung des Wachstums setzen wir hier der Einfachheit zuliebe
voraus, dass der Logarithmus aus der Schule bekannt ist als Stammfunktion
zur Funktion f : (0, ∞) → R, x 7→ x1 , und dass Sie auch log(1) = 0 kennen.
Also
Z n
1
dx = log(n).
1 x
Unterteilt man das Integrationsintervall [1, n] in Teilintervalle [k, k + 1], k =
1, . . . , n − 1, so liefern Riemann-Untersumme und -Obersumme
Hn − 1 < log(n) < Hn −
1
1
.
n
Aufgelöst nach Hn also
log(n) +
1
< Hn < log(n) + 1.
n
Die Differenz Hn − log(n) liegt also für alle n ∈ N im Intervall (0, 1]. Für
wachsendes n nähert sie sich immer mehr der sogenannten Euler-MascheroniKonstanten
γ := 0, 5772156649 . . .
an.
n Hn − log(n)
10 0, 626383
100 0, 582207
1000 0, 577716
10000 0, 577266
100000 0, 577220
Definition 5.3.1 Seien f, g : N → R. Dann schreibt man
f = O(g) oder f (n) = O( g(n) )
(und sagt f ist groß Oh von g), wenn es eine Konstante C > 0 gibt und ein
n0 ∈ N mit
|f (n)| ≤ Cg(n) für alle n ≥ n0 .
In diesem Zusammenhang wird das O als Landau-Symbol bezeichnet.
Beispiel 1 (Fortsetzung). Die Abbildung H : N → R, n 7→ Hn , erfüllt
Hn = O(log(n)), denn für n > e = 2, 718281 . . . ist log(n) > 1. Daher gilt für
n ≥ n0 = 3
Hn = |Hn | ≤ log(n) + 1 ≤ 2 log(n).
Umgekehrt gilt auch log(n) ≤ Hn −
1
n
< Hn , also log(n) = O(Hn ).
Proposition 5.3.2 Seien A, a, b ∈ R feste, von n unabhängige Zahlen. Dann
gilt
i) a ≥ b ⇒ nb = O(na ),
ii) A > 1 ⇒ nb = O(An ),
iii) a > 0 ⇒ log(n)b = O(na ).
Beweis
Zu i): Wegen a ≥ b ist na−b ≥ 1, also nb ≤ na . Damit folgt nb = O(na ) (mit
n0 := 1 und C := 1).
2
b
n
, n ∈ N, n ≥ 2. Es gilt an > 1, aber
Zu ii): Betrachte die Zahlen an := n−1
je größer n, desto dichter liegt an an 1 (genauere Begründung kann erst mit
Hilfsmitteln aus der Mathematik 2 für Informatiker gegeben werden). Wegen
1 < A gibt daher ein n0 , sodass
n ≥ n0 ⇒ 1 ≤ an ≤ A.
Wir setzen C :=
nb0
A n0
und zeigen induktiv
nb ≤ CAn
für n ≥ n0 .
Für n = n0 gilt sogar nb = CAn nach Wahl von C. Gilt die Induktionsbehauptung schon für n − 1, dann folgt für n
b
n
b
n =
(n − 1)b = an (n − 1)b ≤ an CAn−1 ≤ CAn .
n−1
Zu iii): Wir setzen A := ea und wählen n0 und C wie in ii). n1 sei so groß
gewählt, dass log(n1 ) ≥ n0 gilt. Dann folgt für n ≥ n1 , wenn man die Monotonie des Logarithmus’ ausnutzt,
log(n)b ≤ CAlog(n) .
Mit A = ea bekommt man Alog(n) = ea log(n) = elog(n)
log(n)b ≤ Cna .
a
= na . Damit also
Fazit. Der Logarithmus und seine Potenzen wachsen nach Proposition 5.3.2
iii) höchstens so schnell wie Polynomfunktionen oder Wurzelfunktionen. Wenn
man genau hinschaut: Sie wachsen sogar langsamer. Polynomfunktionen und
erst recht Wurzelfunktionen wachsen nach Proposition 5.3.2 ii) nicht so schnell
wie (genauer: langsamer als) Exponentialfunktionen.
Beispiel 2 3n4 + 17n = O(n4 ), aber auch z.B. 3n4 + 17n = O(2n ).
Beispiel 3 Es gilt (vgl. Übungsblatt 1)
n
X
n
X
3
k =
k=1
Mit
Pn
k=1
k=
n(n+1)
2
Sn :=
!2
k
.
k=1
also
n
X
k=1
k3 =
n4 + 2n3 + n2
n2 (n + 1)2
=
≤ n4 .
4
4
3
Es folgt Sn = O(n4 ). Das Wachstum bekommt man aber auch ohne Übungsblatt 1, denn man schätzt ab
0 ≤ Sn =
n
X
3
k ≤
k=1
n
X
n3 = n4 .
k=1
Also (mit n0 = 1 und C = 1) Sn = O(n4 ). Die Umkehrung n4 = O(Sn ) gilt
auch
n
n
n 3
X
X
n n 3 n4
3
=d e
≥ .
k ≥
Sn ≥
2
2
2
16
n
n
k=d 2 e
k=d 2 e
Also (mit n0 = 1 und C = 16) gilt n4 = O(Sn ).
Definition 5.3.3 Seien f, g : N → R gegeben. Man schreibt
f = o(g) oder f (n) = o( g(n) )
(n) ∞
(und sagt f ist klein Oh von g), wenn die Folge {| fg(n)
|}n=1 gegen 0 konvergiert. In diesem Zusammenhang wird o auch als Landau-Symbol bezeichnet.
Man schreibt
f = Ω(g) oder f (n) = Ω( g(n) ),
wenn g = O(f ) gilt, und
f = θ(g) oder f (n) = θ( g(n) ),
wenn sowohl f = O(g) als auch g = O(f ) gilt.
Beispielsweise gilt Hn = θ(log(n)) und Sn = θ(n4 ). Während aber Hn und
log(n) voneinander nur durch eine Zahl aus (0, 1] unterscheiden, wächst n4
etwa viermal so schnell wie Sn weil für große n
1
Sn ≈ n4
4
gilt. Man definiert f ∼ g wenn für wachsendes n der Bruch
strebt. Also Hn ∼ log(n) aber nicht Sn ∼ n4 .
Folgende Sprechweisen haben sich eingebürgert.
Für f ∈ O(1) sagt man f ist beschränkt.
Für f ∈ θ(n) sagt man f wächst linear.
Für f ∈ θ(n2 ) sagt man f wächst quadratisch.
Für f ∈ θ(n3 ) sagt man f wächst kubisch.
4
f (n)
g(n)
gegen 1
Für f ∈ θ(nk ), k ∈ N, sagt man f wächst polynomial.
Für f ∈ θ(log(n)) sagt man f wächst logarithmisch.
Beispiel 4 Ist A eine invertierbare n × n-Matrix, so erfordert die Berechnung der Inversen A−1 etwa n3 Multiplikationen, genauer: der Rechenaufwand ist θ(n3 ). Wenn nun die Berechnung der Inversen einer 10 × 10-Matrix
1sec erfordert, dann braucht man daher zur Berechnung der Inversen einer
100 × 100-Matrix rund 1000sec. Wenn man ein Verfahren zur Invertierung
3
hätte, dessen Aufwand ∼ n2 wäre, dann ist der Aufwand eine 100 × 100Matrix zu invertieren, auch nur rund 1000 Mal größer als der Aufwand bei
10 × 10-Matrizen (warum?).
Wir beschäftigen uns jetzt mit dem Abschätzen von Fakultäten und Binomialkoeffizienten.
Beispiel 5 In einem Autohaus stehen vier verschiedene Modelle. Vier Interessenten stehen davor. Jeder will ein Auto kaufen.
Frage: Wie groß ist die Wahrscheinlichkeit, dass sich jeder für ein anderes
Modell entscheidet?
Antwort: Jeder der vier Kunden kann frei wählen, hat also 4 Möglichkeiten.
Das gibt 44 = 256 Möglichkeiten. Wenn jeder ein anderes Modell wählt, genau dann hat man eine Permutation der vier Autos, also 4! = 24 Fälle. Die
3
= 0, 09375.
Wahrscheinlichkeit ist also 44!4 = 32
Bei acht Kunden und acht Modellen hat man dagegen für die entsprechende
315
Wahrscheinlichkeit 88!8 = 131072
= 0, 0024.... Allgemein hat man bei n Kunden
n!
und n Modellen nn . Diese Zahl wird für n → ∞ gegen Null gehen. Aber wie
schnell?
Satz 5.3.4 Für alle n ∈ N gilt
√
n
n ≤ n! ≤
n+1
2
n
.
Beweis. Wir verwenden die arithmetisch/geometrische Ungleichung
√
ab ≤
a+b
,
2
die für alle a, b > 0 gilt, denn sie ist äquivalent zu
√
√
√
( a − b)2 = a − 2 ab + b ≥ 0.
5
Die obere Schranke für n! bekommt man wie folgt. Aus
(n!)2 = (1 · 2 · 3 · · · n) · (n · (n − 1) · (n − 2) · · · 1)
= (1 · n) · (2 · (n − 1)) · (3 · (n − 2)) · · · (n · 1)
erhält man (durch Wurzelziehen und Verwendung der arithmetisch/geometrischen Ungleichung)
p
√
√
n! = 1 · n · 2 · (n − 1) · · · n · 1
n
n+1
n+1
1+n 2+n−1
·
···
=
.
≤
2
2
2
2
Bedenkt man, dass die Funktion f : [1, n] → R, f (x) := x(n + 1 − x),
zwischen 1 und n+1
streng monoton wächst und von da an streng monoton
2
fällt, folgt für jedes k ∈ [1, n]
f (k) = k(n + 1 − k) ≥ min f (x) = f (1) = f (n) = n.
x∈[1, n]
Daher kann man n! =
durch
√
1·n·
n! ≥
p
√
2 · (n − 1) · · · n · 1 nach unten abschätzen
√
n·
√
√
√ n
n··· n = n .
.
Das Wachstum der Fakultät wird am besten beschrieben mit Hilfe der Stirling’schen Formel (den anspruchsvolleren Beweis findet man in Lehrbüchern
der Analysis). Mit der Euler’schen Zahl e = 2, 7181828 . . . gilt
n n
√
n! ∼ 2πn
.
e
√
Damit läßt sich die Größe nn!n aus Beispiel 4 beschreiben durch nn!n ∼ 2πne−n .
Im Pascalschen Dreieck ist in der 2n-ten Zeile
2n
2n
2n
2n
2n
2n
...
0
1
2
2n − 2
2n − 1
2n
2n
der Binomialkoeffizient
der größte. (Er wurde auch benutzt, um die
n
Catalan’sche
Zahl Cn explizit anzugeben.) Sein Wachstum lässt sich durch
22n
2n
√
= θ(
) beschreiben. Es gilt genauer das folgende Resultat.
n
n
6
Satz 5.3.5 Für alle n ∈ N gilt
22n
√ ≤
2 n
Beweis. Betrachte
P :=
2n
n
22n
≤√ √ .
2 n
1 · 3 · 5 · · · (2n − 1)
.
2 · 4 · 6 · · · (2n)
Es folgt
1 · 3 · 5 · · · (2n − 1)
2 · 4 · 6 · · · (2n) (2n)!
= n
=
2 · n! · 2n · n!
P =
2 · 4 · 6 · · · (2n)
2 ·
4 · 6 · · · (2n)
1
2n
· 2n .
n
2
·
Zu zeigen bleibt
1
1
√ ≤P ≤ √
.
2 n
2n
Nutzt man aus, dass
(2k − 1)(2k + 1)
4k 2 − 1
=
<1
(2k)2
4k 2
gilt, bekommt man
P 2 · (2n + 1) =
also P <
√ 1
2n+1
<
√1 .
2n
1>
1·3 3·5
(2n − 1)(2n + 1)
·
···
< 1,
2·2 4·4
2n · 2n
Entsprechend für n ≥ 2
2·4 4·6
(2n − 2)(2n)
1
·
···
=
.
3·3 5·5
(2n − 1)2
2(2n)P 2
Hieraus folgt
1
.
2 · 2n
Wurzelziehen gibt dann die untere Schranke.
P2 >
7
Herunterladen