Das O-Tutorial. 1 Definition von O, Ω, Θ, o und ω

Ähnliche Dokumente
Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen

V. Claus, Juli 2005 Einführung in die Informatik II 45

2 Wachstumsverhalten von Funktionen

Notation für das asymptotische Verhalten von Funktionen

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen

11 Logarithmus und allgemeine Potenzen

(alternierendes Vorzeichen) a n := ( 1)n n + 1 a n := 3n 2 7n a n := n(n 1)(n 2), n 3

Die asymptotische Notation

Ferienkurs Analysis 1, SoSe Unendliche Reihen. Florian Beye August 15, 2008

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 3, Donnerstag 6.

Folgen und Reihen. 1 Konvergenz

Übersicht. Datenstrukturen und Algorithmen. Laufzeit von Algorithmen. Übersicht. Vorlesung 2: Asymptotische Effizienz (K3) Begründung Grenzwerte

GRUNDLAGEN MATHEMATIK

Ferienkurs Analysis 1

,...) ist eine Folge, deren Glieder der Null beliebig nahe kommen. (iii) Die Folge a n = ( 1) n + 1 n oder (a n) = (0, 3 2, 2 3, 5 4, 4 5

Die Topologie von R, C und R n

4. Folgen von (reellen und komplexen) Zahlen [Kö 5]

Analysis I. 2. Übungsstunde. Steven Battilana. battilana.uk/teaching

Konstruktion der reellen Zahlen

Algorithmen und Datenstrukturen Effizienz und Funktionenklassen

1 for ( int index = 0; index < n; index ++) { 3 if ( E[ index1 ] == K) { x++ }

Kapitel 2. Folgen und ihre Konvergenz

A6.1 Logarithmus. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A6.1 Logarithmus. A6.2 Landau-Notation. A6.

Alternativ kann man auch die Differenz a n+1 a n betrachten:

Analysis I - Ferienkurs

4. Folgen. Folge in R 2 mit Grenzwert (1, 1 2 ).

Häufungspunkte und Satz von Bolzano und Weierstraß.

(b) Man nennt die Menge M beschränkt, wenn sie nach oben und unten beschränkt ist.

3 Folgen, Reihen, Grenzwerte 3.1 Zahlenfolgen Definition: Eine Folge ist eine geordnete Menge von Elementen an (den sogenannten Gliedern ), die

WS 2009/10. Diskrete Strukturen

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Serie 4 2 = 10. ) ist). Dann gilt für alle n n 0

Musterlösung zum Weihnahchtsübungsblatt. Teil 1 von Martin Fabricius. Aufgabe 1

Übung Algorithmen & Datenstrukturen

Mathematik für Physiker, Informatiker und Ingenieure

Induktionsbeweis. Satz Primfaktorzerlegung. Jede natürliche Zahl n 2 lässt sich als Produkt von Primzahlen darstellen.

Höhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 10. Übungsblatt. < 0 für alle t > 1. tan(x) tan(0) x 0

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

Kap. 10: Folgen und Reihen. Eine Funktion a : N Ñ R

D-INFK Analysis I FS 2017 Prof. Dr. Özlem Imamoglu. MC-Fragen Serie 1. Einsendeschluss: Freitag, der :00 Uhr

eine reelle oder komplexe Folge ist, kann man daraus eine neue Folge {s n } n=0 konstruieren durch s n = a 0 + a a n, s n = a k.

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

a 0, a 1, a 2, a 3,... Dabei stehen die drei Pünktchen für unendlich oft so weiter.

Kapitel V. Folgen und Konvergenz. V.1 Konvergenz von Zahlenfolgen

TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik

eine reelle oder komplexe Folge ist, kann man daraus eine neue Folge {s n } n=0 konstruieren durch s n = a 0 + a a n, a k.

INGENIEURMATHEMATIK. 8. Reihen. Sommersemester Prof. Dr. Gunar Matthies

3.2 Konvergenzkriterien für reelle Folgen

D-INFK Analysis I FS 2017 Prof. Dr. Özlem Imamoglu. MC-Fragen Serie 1. Einsendeschluss: Freitag, der :00 Uhr

Vorlesungen Analysis von B. Bank

Aufgabensammlung zur Analysis 1

Zusammenfassung zur Konvergenz von Folgen

1 Häufungswerte von Folgen

n=1 a n mit reellen Zahlen a n einen

Grundlagen: Algorithmen und Datenstrukturen

Höhere Mathematik I für die Fachrichtung Informatik. Lösungsvorschläge zum 4. Übungsblatt

Folgen und Reihen. Thomas Blasi

Kapitel 5 Reihen 196

Aufgabe 1. Multiple Choice (4 Punkte). Kreuzen Sie die richtige(n) Antwort(en) an.

6 Reelle und komplexe Zahlenfolgen

Topologische Grundbegriffe II. Inhaltsverzeichnis

Asymptotik und Laufzeitanalyse

Kapitel V. Folgen und Konvergenz. V.1 Konvergenz von Zahlenfolgen

Datenstrukturen und Algorithmen (SS 2013)

Rechenoperationen mit Folgen. Rekursion und Iteration.

5 Stetigkeit und Differenzierbarkeit

= (n 2 ) 1 (Kurzschreibweise: a n = n 2 ) ergibt die Zahlenfolge 1, 4, 9, 16, 25, 36,.

Kommutativität. De Morgansche Regeln

Das Newton Verfahren.

Lösungen 4.Übungsblatt

Analysis I. 7. Übungsstunde. Steven Battilana. battilana.uk/teaching

Lösungen zum Übungsblatt 7

ANALYSIS 1 Kapitel 4: Folgen von (reellen und komplexen) Zahlen

Analysis I für Studierende der Ingenieurwissenschaften

1 Einleitung. 2 Reelle Zahlen. 3 Konvergenz von Folgen

Datenstrukturen, Algorithmen und Programmierung 2

Lösungsvorschlag zum 2. Übungsblatt zur Vorlesung Analysis II im Sommersemester Mai 2018

4 Reelle und komplexe Zahlenfolgen

Vorbereitungskurs Mathematik zum Sommersemester 2015 Folgen und Reihen

Übungsaufgaben zu Analysis 1 Lösungen von Blatt VI vom

Mathematik für Anwender I

3.3 Laufzeit von Programmen

Analysis I. 6. Übungsstunde. Steven Battilana. battilana.uk/teaching

Kapitel 3: Folgen und Reihen

2.5 Komplexe Wurzeln. Mathematik für Naturwissenschaftler I 2.5

1 0, x C X (A). = 1 χ A(x).

eine Folge in R, für die man auch hätte schreiben können, wenn wir alle richtig raten, was auf dem Pünktchen stehen sollte.

Funktionsgrenzwerte, Stetigkeit

heißt Exponentialreihe. Die durch = exp(1) = e (Eulersche Zahl). n! + R m+1(x) R m+1 (x) = n! m m + 2

D-MAVT/D-MATL Analysis I HS 2017 Dr. Andreas Steiger. Lösung - Serie 1

1,2,3,4,5,... Dabei ist die Reihenfolge wichtig, jede Zahl hat also ihre feste Position. Die Folge 2,1,4,3,... ist eine andere als 1,2,3,4,...

Kapitel 3. Konvergenz von Folgen und Reihen

Skript zur Analysis 1. Kapitel 3 Stetigkeit / Grenzwerte von Funktionen

Aufgabe 1. Version A Multiple Choice (4 Punkte). Kreuzen Sie die richtige(n) Antwort(en) an.

Transkript:

Definition von O, Ω, Θ, o und ω Das O-Tutorial Seien f und g zwei Funktionen von N nach R 0. Hierbei bezeichne R 0 die nicht-negativen reellen Zahlen. Die Funktionsmengen O, Ω, Θ, o und ω sind wie folgt definiert: Definition. Definition 2. O(g) = { f c > 0 n 0 0 n n 0 : c } Ω(g) = { f c > 0 n 0 0 n n 0 : c } Definition 3. Θ(g) = { f f O(g) und f Ω(g) } = { f c > 0 c 2 > 0 n 0 0 n n 0 : c und c 2 } Definition 4. Definition 5. o(g) = { f c > 0 n 0 0 n n 0 : < c } ω(g) = { f c > 0 n 0 0 n n 0 : > c } Wir interessieren uns in der Vorlesung nur für Funktionen über den natürlichen Zahlen mit nicht-negativen Funktionswerten, da wir die O-Notation nur für die Abschätzung von Laufzeiten und des Speicherplatzbedarfs einsetzen werden. Auf beliebige Funktionen von R nach R können die obigen Definitionen leicht erweitert werden. e = k, wobei k > 0, und = : Wähle c = k, dann gilt für alle n N: c und somit folgt k O(). Außerdem gilt für das selbe c für alle n N: c und somit gilt k Ω(). Beides zusammen ergibt k Θ(). Konstante Funktionen wachsen alle asymptotisch gleich schnell (nämlich gar nicht). = 3n 5 + 4n 3 + 5 und = n 5 : Wenn wir z.b. c = 3 + 4 + 5 = 22 wählen, dann gilt für alle n : 3n 5 + 4n 3 + 5 22n 5 und somit folgt 3n 5 + 4n 3 + 5 O(n 5 ). Wählen wir z.b. c =, so gilt 3n 5 +4n 3 +5 n 5 für alle n. Es folgt 3n 5 +4n 3 +5 Ω(n 5 ) und somit gilt 3n 5 + 4n 3 + 5 Θ(n 5 ). Dies gilt für alle Polynome. D.h. wir müssen bei Polynomen nur den Exponent des größten Terms betrachten. Allgemein gilt: = a 0 +a n+ +a k n k Θ(n k ), für a 0,..., a k R und a k > 0. Achtung: Es gilt 3n 5 + 4n 3 + 5 / o(n 5 ) und 3n 5 + 4n 3 + 5 / ω(n 5 ). Die erste Aussage folgt aus der Wahl von c = für alle n, die zweite Aussage folgt aus der Wahl c = 22 und n. Genau diese Werte haben wir für den Beweis von O bzw. Ω benutzt. Gleich sehen wir, dass dies kein Zufall ist.

2 Zusammenhänge zwischen O, Ω, Θ, o und ω Es gilt: f O(g) g Ω(f). Beweis: Wenn f O(g), dann gibt es ein c > 0 und ein n 0 > 0, so dass für alle n n 0 : c gilt. Folglich gilt aber für c = c und dasselbe n 0 für alle n n 0 : c und somit haben wir g Ω(f). Der Beweis der anderen Richtung ist analog. Mit einem analogen Beweis kann man Folgendes zeigen: Weiterhin gilt: f o(g) g ω(f). f o(g) f / Ω(g). Beweis: Da f o(g), gilt für alle c > 0, dass es ein n 0 > 0 gibt, so dass für alle n n 0 gilt: < c. Daraus folgt, dass es keine Konstante c > 0 gibt, so dass ab irgendeinem n 0 > 0 für alle n n 0 gilt: c. Damit f Ω(g) gilt, muss allerdings so eine Konstante c > 0 existieren. Folglich haben wir f / Ω(g). Mit analogem Beweis gilt: f ω(g) f / O(g). Hier noch eine kleine Zusammenfassung: 3 Notwendige und Hinreichende Kriterien O Ω Θ o ω f o(g) X X f Θ(g) X X X f ω(g) X X Für eine beliebige Folge a: N R 0 betrachten wir den Limes a(n) als Element der erweiterten positiven reellen Zahlen R { }. Sei c R 0. So schreiben wir a(n) = c, wenn c der Grenzwert der Folge a(n) ist. a(n) =, wenn die Folge a(n) gegen bestimmt divergiert. a(n) <, wenn der Grenzwert der Folge a(n) existiert (und in R 0 liegt). a(n) > c, wenn die Folge a(n) gegen bestimmt divergiert oder gegen einen Grenzwert größer als c konvergiert. Sehr nützlich ist die folgende Aussage, welche wir hier ohne Beweis verwenden: < = f O(g). () Intuitiv bedeutet ein endlicher Grenzwert, dass die Funktion im Nenner mindestens so schnell wächst wie die im Zähler, und genau solche Funktionen befinden sich in der entsprechenden O-Menge. 2

Betrachte = 23 und = log log n. Da log log n für n bestimmt divergiert, gilt: = 23 log log n = 0 < und somit folgt 23 O(log log n). Außerdem gilt: Somit folgt, dass 23 o(log log n). = 0 f o(g). (2) Für untere asymptotische Schranken gelten die folgenden Aussagen: > 0 = f Ω(g). (3) = f ω(g). (4) Bemerkung: Bei (2) und (4) sind die Aussagen äquivalent, bei () und (3) dagegen nicht. Die Umkehrung von () gilt nicht, da es Funktionen f, g gibt, so dass f O(g), aber der Grenzwert nicht existiert. Analog gilt die Umkehrung von (3) nicht, da es Funktionen f, g gibt, so dass zwar f Ω(g), jedoch weder der Grenzwert existiert noch bestimmt divergiert. Um ein äquivalentes Kriterium zu erhalten, kann man den Limes superior bzw. Limes inferior (als Element der erweiterten positiven reellen Zahlen R 0 { }) des Quotienten der Funktionen betrachten: sup inf < f O(g), > 0 f Ω(g) Hierbei bezeichnet sup a(n) den Limes superior einer Zahlenfolge a(n) als Element der erweiterten positiven reellen Zahlen R 0 { }, d.h., falls es eine gegen bestimmt divergierende Teilfolge von a(n) gibt, oder andernfalls den größten Häufungspunkt von a(n). Analog bezeichnet inf a(n) den Limes inferior einer Zahlenfolge a(n) als Element der erweiterten positiven reellen Zahlen R 0 { }, d.h. den kleinsten Häufungspunkt von a(n), oder, falls es keinen Häufungspunkt gibt. 4 Abschätzungen mit Hilfe des Satzes von L Hospital Für zwei differenzierbare Funktionen f und g, mit = und = (oder = 0 und = 0) besagt der Satz von L Hospital, dass = f (n) g (n), f falls der Grenzwert (n) g (n) existiert oder f (n) g (n) gegen bestimmt divergiert. Dies ist extrem hilfreich, wenn wir das Kriterium aus Abschnitt 3 anwenden wollen. 3

Wir betrachten = log n und = log n n. Wir betrachten den Grenzwert: n und wollen zeigen, dass dieser endlich ist. Beide Funktionen gehen für wachsendes n gegen. Wir können somit den Satz von L Hospital anwenden, doch dafür müssen wir die beiden Funktionen ableiten. Um uns dies zu erleichtern, wandeln wir zuerst die Basis des Logarithmus im Zähler in die Basis e um, denn die Funktion ln n können wir ganz leicht ableiten. Es gilt ln 2 ln n = log n. Somit gilt log n = n ln 2 ln n = n ln n ln 2 n = Wir haben also gezeigt, dass log n o( n) gilt. 5 Transitivität von O n ln 2 2 n 2 Seien f, g und h Funktionen von N nach R 0. Dann gilt folgendes: f O(g) und g O(h) = f O(h) 2 = ln 2 n = 0 <. Sei = 3n 5 + 4n 3 + 5, sei = n 5 und sei h(n) = (n + ) 6. Mit Hilfe der Transitivität können wir ganz leicht zeigen, dass f O(h) gilt. Wir haben bereits oben gezeigt, dass f O(g) gilt. Wenn wir jetzt noch zeigen, dass auch g O(h) wahr ist, dann folgt mit Hilfe der Transitivität die gewünschte Aussage. Wir wählen c =. Damit folgt für alle n N: = n 5 (n + ) 5 (n + ) 6 = c h(n). Folglich gilt g O(h) und somit ergibt sich f O(h). 6 Logarithmen Logarithmen zu verschiedenen Basen können alle mit einem zusätzlichen konstanten Faktor ineinander umgerechnet werden. Dies ist oft sehr nützlich. Betrachten wir die beiden Funktionen log a n und log b n, wobei a, b R >0. Es gilt a log a n = n. Weiterhin gilt: log b n log b a = log b(a loga n ) = log a n log b a = log log b a log b a a n Somit gilt mit c = log b a für alle n N >0: log a n c log b n und damit folgt log a n O(log b n). Beachtenswert ist hierbei, dass log b a eine Konstante ist und somit c auch konstant ist. Mit c = log b a gilt für alle n N >0: log a n c log b n und somit log a n Ω(log b n). Beide Aussagen zusammen ergeben log a n Θ(log b n). 7 Ausnutzen der Monotonie Seien f, g und h Funktionen von R 0 nach R 0. Die Funktion f sei streng monoton wachsend. Es bezeichne k l die Komposition der Funktionen k und l, d.h. k l(x) = k(l(x)). Es gilt: n 0 > 0 n n 0 : h(n) n 0 > 0 n n 0 : f() f(h(n)). Beweis: Die Richtung von links nach rechts folgt aus der Monotonie von f, wobei n 0 = n 0. Für die andere Richtung sei f() f(h(n)) für alle n n 0 für ein n 0 > 0. Angenommen es 4

gibt ein n n 0 so dass g(n ) > h(n ), dann muss aufgrund der strengen Monotonie von f gelten, dass f(g(n )) > f(h(n )). Dies ist ein Widerspruch zur Annahme, dass für alle n n 0 f() f(h(n)) gilt. Für n 0 = n 0 folgt, dass h(n) für alle n n 0 gilt. Wir wollen die Funktionen 2 log n und 2 n vergleichen. Hier ist = 2 n, = log n und h(n) = n. Wir haben bereits in Abschnitt 6 gezeigt, dass g o(h). D.h. für jedes c > 0 gibt es ein n 0 > 0 so dass für alle n n 0 gilt, dass < c h(n). Folglich gibt es auch für c = ein solches n 0 > 0 für das gilt: n n 0 : h(n). Somit gilt für dieses n 0 auch n n 0 : f() c f(h(n)). Wir haben damit gezeigt, dass 2 log n O(2 n ). 5