a n = ( 1 + n 1 ) n
b n = ( 1 + n 1 ) n + 1 e = lim n → ∞ a n
a n = ( 1 + x n a ) x n ⟶ e a
x n ⟶ ± ∞
( n − 2 n + 7 ) n = ( n ⋅ ( 1 − n 2 ) n ⋅ ( 1 + n 7 ) ) n = ( 1 − n 2 ) n ( 1 + n 7 ) n ⟶ e − 2 e 7 = e 9
weiter mit Landau
T ( n ) = 3 wichtig n 2 − 27 n 2 + lg n + 7
2. Die Groß O Notation
Für Folge f : N → R definiert man die Klasse O ( f )
Funktionen (Folgen) O ( f ) = { g : N → R ∣ ∃ c > 0 ∃ n 0 ∀ n > n 0 : ∣ g ( n )∣ ≤ c ⋅ ∣ f ( n )∣} die sich durch f nach oben beschränken lassen
(Skizze auf Seite 1: Kurven y = g ( n ) , y = f ( n ) , y = c ⋅ f ( n ) , Stelle n 0 )
Bemerkung:
eigentlich statt g ∈ O ( f ) schreibt man auch
g = O ( f ) oder g ( n ) = O ( f ( n ))
> g(n) ist groß O von f(n)
Kriterium:
K1 Ist lim n → ∞ f ( n ) g ( n ) = a ∈ R
dann ist g ( n ) = O ( f ( n ))
K2 Ist lim n → ∞ f ( n ) g ( n ) = ± ∞
dann ist g ( n ) = O ( f ( n ))
Beweis von K1
lim n → ∞ f ( n ) g ( n ) = a
⟹ lim n → ∞ ∣ f ( n )∣ ∣ g ( n )∣ = ∣ a ∣
∀ ϵ > 0 ∃ n 0 ∀ n > n 0
∣ f ( n )∣ ∣ g ( n )∣ − ∣ a ∣ < ϵ
⟹ ∣ f ( n )∣ ∣ g ( n )∣ − ∣ a ∣ < ϵ
⟹ ∣ f ( n )∣ ∣ g ( n )∣ < ϵ + ∣ a ∣ ∣ ⋅ ∣ f ( n )∣
∣ g ( n )∣ < ( ϵ + ∣ a ∣) ⋅ ∣ f ( n )∣
⟹ g ( n ) = O ( f ( n ))
Beweis von K2
Vor. lim n → ∞ f ( n ) g ( n ) = ± ∞
⟹ lim n → ∞ ∣ f ( n )∣ ∣ g ( n )∣ = ∞
Beh: g ( n ) = O ( f ( n ))
Bew. z.z. ∀ c > 0 ∀ n 0 ∃ n > n 0 : ∣ g ( n )∣ > c ∣ f ( n )∣
∀ S ∃ n 0 ∀ n > n 0 : f ( n ) g ( n ) > S
( lim n → ∞ f ( n ) g ( n ) = ∞ )
c = S
∀ c > 0 ∀ n 0 ∃ n > n 0 : f ( n ) g ( n ) > c
: ∣ g ( n )∣ > c ∣ f ( n )∣
Beispiele:
a) 5 n 3 − 7 n 2 + 70 = O ( n 3 )
lim n → ∞ n 3 5 n 3 − 7 n 2 + 70 = lim n → ∞ 5 − n 7 + n 3 70 = 5 ∈ R
K 1 5 n 3 − 7 n 2 + 70 = O ( n 3 )
b) n 3 = O ( 5 n 3 − 7 n 2 + 70 )
da lim n → ∞ 5 n 3 − 7 n 2 + 70 n 3 = 5 1 ∈ R
c) n 2 = O ( n 3 )
da lim n → ∞ n 3 n 2 = lim n → ∞ n 1 = 0 ∈ R
d) n 3 = O ( n 2 )
da lim n → ∞ n 2 n 3 = ∞
e) g ( n ) = O ( 1 ) ⟺ ∃ c ∃ n 0 ∀ n > n 0 Fast alle : ∣ g ( n )∣ ≤ c
⟺ ∃ d > 0 ∀ n : ∣ g ( n )∣ ≤ d
⟺ g ( n ) ist beschränkt
Rechenregeln
R1: g 1 ( n ) = O ( f 1 ( n )) g 2 ( n ) = O ( f 2 ( n )) } ⟹ g 1 ( n ) + g 2 ( n ) = O ( max { f 1 , f 2 }) g 1 ( n ) ⋅ g 2 ( n ) = O ( f 1 ( n ) ⋅ f 2 ( n ))
R2: c ⋅ f ( n ) = O ( f ( n ))
R3: h ( n ) = O ( g ( n )) , g ( n ) = O ( f ( n ))
dann ist h ( n ) = O ( f ( n ))
R4: g ( n ) = O ( f ( n )) ⟺ O ( g ( n )) ⊆ O ( f ( n ))
Beweis zu R3
∃ c 1 ∃ n 1 ∀ n > n 1 : ∣ h ( n )∣ ≤ c 1 ∣ g ( n )∣
∃ c 2 ∃ n 2 ∀ n > n 2 : ∣ g ( n )∣ ≤ c 2 ∣ f ( n )∣
∃ c 3 n 3 = m a x { n 1 , n 2 } ∃ n 3 ∀ n > n 3 : ∣ h ( n )∣ ≤ c 3 c 1 c 2 ∣ f ( n )∣
Beispiel:
g ( n ) = 5 n ⋅ g 1 ( n ) + ( n − 1 ) ⋅ g 2 ( n )
Dann gilt: g 1 ( n ) = O ( n ) g 2 ( n ) = O ( n 2 )
g ( n ) = 5 n ⋅ O ( 1 ) + ( n − 1 ) ⋅ O ( n 2 )
= 5 n = O ( n ) , n − 1 = O ( n ) O ( n ) ⋅ O ( n ) + O ( n ) ⋅ O ( n 2 )
= R 1 O ( n 2 ) + O ( n 3 )
= R 1 O ( n 3 )
Achtung
Ist g ( n ) = O ( n ) so ist g ( n ) = O ( n 2 ) da O ( n ) ⊆ O ( n 2 )
Es gilt aber nicht O ( n 2 ) = O ( n ) weil O ( n 2 ) ⊆ O ( n )
n 2 = O ( n )
Laufzeiten:
g ( n ) = Laufzeit O ( 1 ) konstant 🙂 O ( log a n ) Logarithmisch ( a > 1 ) O ( n ) Linear O ( n log n ) überlinear O ( n 2 ) Quadratisch O ( n k ) Polynomial O ( a n ) Exponentiell ☹️
log a n = l o g b a l o g b n = c log b a 1 ⋅ log b n
O ( 1 ) ⊂ O ( log n ) ⊂ O ( n log n ) ⊂ O ( n 2 ) ⊂ O ( n k ) ⊆ ⋃ k = 1 ∞ O ( n k ) ⊂ O ( a n ) ⊂ O ( n !) ⊂ O ( n n )
3. Weitere Landau-Symbole
a) Ω ( f ) = { g : N → R ∣ f ∈ O ( g )} Groß-Omega
b) Θ ( f ) = O ( f ) ∩ Ω ( f ) Groß-Teta
c) o ( f ) = { g : N → R ∣ lim n → ∞ f ( n ) g ( n ) = 0 } klein-O
d) ω ( f ) = { g : N → R ∣ f = o ( g )} klein-Omega
e) g ∼ f ⟺ lim n → ∞ f ( n ) g ( n ) = 1 Schlange
g und f sind asymptotisch gleich
Bemerkung Statt g ∈ Ω ( f ) g ∈ o ( f )
schreibt man wieder g = Ω ( f ) g = o ( f )
Kriterium
K3 g ( n ) = Ω ( f ( n )) ⟺ f ( n ) = O ( g ( n ))
K4 g ( n ) = Θ ( f ( n )) ⟺ g ( n ) = O ( f ( n )) , f ( n ) = O ( g ( n ))
K5 lim n → ∞ ∣ f ( n )∣ ∣ g ( n )∣ = ⎩ ⎨ ⎧ 0 a > 0 ∞ g = o ( f ) , f ω ( g ) , g = O ( f ) f = Ω ( g ) g = Θ ( f ) g = O ( f ) , f = O ( g ) , g = Ω ( f ) , f = Ω ( g ) , g = Θ ( f ) f = o ( g ) , g = ω ( f ) , f = O ( g ) , g = Ω ( f )
Beispiel:
Ist p Polynom vom Grad k, d.h. … so gilt
p ( n ) = Θ ( n k ) , d.h. p ( n ) = O ( n k ) und n k = O ( p ( n ))
Insbesondere ist O ( p ( n )) = O ( n k )
p ( n ) = a k n k + a k − 1 n k − 1 + ⋯ + a 0 n 0
⟹ lim n → ∞ n k p ( n ) = lim n → ∞ a k + n a k − 1 + n 2 a k − 2 + ⋯ + n k a 0 = a k = 0
⟹ lim n → ∞ n k ∣ p ( n )∣ = ∣ a k ∣ > 0
K 5 p ( n ) = Θ ( n k )
Regeln:
K6 g ( n ) = o ( f ( n )) K 1 g ( n ) = O ( f ( n ))
K7 g ( n ) ∼ f ( n ) K 5 g ( n ) = Θ ( f ( n ))
(Skizze auf Seite 4: Rechteck „alle Folgen f : N → R “ mit den Mengen ω ( f ) , Θ ( f ) , o ( f ) , O ( f ) , Ω ( f ) und Fragezeichen)
a) n ! ∼ 2 πn ⋅ ( e n ) n
b) n ! = 2 πn ⋅ ( e n ) n ⋅ ( 1 + 12 n 1 + O ( n 2 1 ) )