• Keine Ergebnisse gefunden

A9.1Landau-Notation A9.1Landau-NotationA9.2RechenregelnA9.3Zusammenfassung AlgorithmenundDatenstrukturen AlgorithmenundDatenstrukturen InhaltdieserVeranstaltung

N/A
N/A
Protected

Academic year: 2022

Aktie "A9.1Landau-Notation A9.1Landau-NotationA9.2RechenregelnA9.3Zusammenfassung AlgorithmenundDatenstrukturen AlgorithmenundDatenstrukturen InhaltdieserVeranstaltung"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Datenstrukturen

A9. Laufzeitanalyse: Landau-Symbole

Marcel L¨ uthi and Gabriele R¨ oger

Universit¨ at Basel

17. M¨ arz 2021

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 1 / 22

Algorithmen und Datenstrukturen

17. M¨ arz 2021 — A9. Laufzeitanalyse: Landau-Symbole

A9.1 Landau-Notation A9.2 Rechenregeln A9.3 Zusammenfassung

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 2 / 22

Inhalt dieser Veranstaltung

A&D

Sortieren Komplexit¨ ats-

analyse Fundamentale Datenstrukturen

Suchen Graphen

Strings Weiterf¨ uhrende

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

A9.1 Landau-Notation

(2)

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Ergebnis f¨ ur Mergesort

” Die Laufzeit von Mergesort w¨ achst genauso schnell wie n log 2 n.“

Theorem

Mergesort hat leicht ¨ uberlineare Laufzeit, d.h.

es gibt Konstanten c , c 0 , n 0 > 0, so dass f¨ ur alle n ≥ n 0 : cn log 2 n ≤ T (n) ≤ c 0 n log 2 n.

I Wir haben Terme niedrigerer Ordnung (Konstanten und n) in der Absch¨ atzung ignoriert bzw. verschwinden lassen.

I Wir haben uns nicht f¨ ur die genauen Werte der Konstanten interessiert, es reicht, wenn irgendwelche passenden

Konstanten existieren.

I Die Laufzeit f¨ ur kleine n ist nicht so wichtig.

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 5 / 22

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Mehr bisherige Ergebnisse

Theorem

Der Merge-Schritt hat lineare Laufzeit, d.h. es gibt Konstanten c, c 0 , n 0 > 0, so dass f¨ ur alle n ≥ n 0 : c n ≤ T (n) ≤ c 0 n.

Theorem

Mergesort hat leicht ¨ uberlineare Laufzeit, d.h.

es gibt Konstanten c , c 0 , n 0 > 0, so dass f¨ ur alle n ≥ n 0 : cn log 2 n ≤ T (n) ≤ c 0 n log 2 n.

Theorem

Selectionsort hat quadratische Laufzeit, d.h. es gibt Konstanten c > 0, c 0 > 0, n 0 > 0, so dass f¨ ur n ≥ n 0 : c n 2 ≤ T (n) ≤ c 0 n 2 . K¨ onnen wir das nicht irgendwie kompakter aufschreiben?

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 6 / 22

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Edmund Landau

Edmund Landau

I deutscher Mathematiker (1877–1938)

I analytische Zahlentheorie I kein Freund angewandter

Mathematik

International: Bachmann–Landau-Notation auch nach Paul Gustav Heinrich Bachmann (deutscher Mathematiker)

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Landau-Symbol Theta

Definition

F¨ ur eine Funktion g : N → R ist Θ(g ) die Menge aller Funktionen f : N → R , die genauso schnell wachsen wie g :

Θ(g ) = {f | ∃c > 0 ∃c 0 > 0 ∃n 0 > 0 ∀n ≥ n 0 : c · g (n) ≤ f (n) ≤ c 0 · g (n)}

” Die Laufzeit von Mergesort ist in Θ(n log 2 n).“

oder auch

” Die Laufzeit von Mergesort ist Θ(n log 2 n).“

(3)

Landau-Symbol Theta: Illustration

f ∈ Θ(g )

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 9 / 22

Jupyter-Notebook (mit Aufgaben)

Jupyter-Notebook: landau.ipynb

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 10 / 22

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Mehr Landau-Symbole

I ” f w¨ achst nicht wesentlich schneller als g“

O(g ) = {f | ∃c > 0 ∃n 0 > 0 ∀n ≥ n 0 : f (n) ≤ c · g (n)}

I O f¨ ur

” Ordnung“ der Funktion

I ” f w¨ achst nicht wesentlich langsamer als g“

Ω(g ) = {f | ∃c > 0 ∃n 0 > 0 ∀n ≥ n 0 : c · g (n) ≤ f (n)}

I Es gilt Θ(g ) = O(g ) ∩ Ω(g ).

I Es gilt f ∈ Ω(g ) gdw. g ∈ O(f ).

I In der Informatik interessieren wir uns oft nur f¨ ur die Begrenzung des Laufzeitwachstums nach oben: O statt Θ

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Seltener ben¨ otigte Landau-Symbole

I ” f w¨ achst langsamer als g“

o(g) = {f | ∀c > 0 ∃n 0 > 0 ∀n ≥ n 0 : f (n) ≤ c · g (n)}

I ” f w¨ achst schneller als g“

ω(g ) = {f | ∀c > 0 ∃n 0 > 0 ∀n ≥ n 0 : c · g (n) ≤ f (n)}

Aussprache: ω: kleines Omega

(4)

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

Interessante Funktionsklassen

In aufsteigender Ordnung (abgesehen von allgemeinen n k ):

g Wachstum 1 konstant log n logarithmisch

n linear

n log n leicht ¨ uberlinear n 2 quadratisch n 3 kubisch

n k polynomiell (Konstante k) 2 n exponentiell

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 13 / 22

A9. Laufzeitanalyse: Landau-Symbole Landau-Notation

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 14 / 22

A9. Laufzeitanalyse: Landau-Symbole Rechenregeln

A9.2 Rechenregeln

A9. Laufzeitanalyse: Landau-Symbole Rechenregeln

Beispiele Θ

I Bei der Analyse interessiert nur der Term h¨ ochster Ordnung (= am schnellsten wachsender Summand) einer Funktion.

I Beispiele

I f

1

(n) = 5n

2

+ 3n − 9 ∈ Θ(n

2

)

I f

2

(n) = 3n log

2

n + 2n

2

∈ Θ(n

2

)

I f

3

(n) = 9n log

2

n + n + 17 ∈ Θ(n log n)

I f

4

(n) = 8 ∈ Θ(1)

(5)

Beispiele Gross-O

I Bei der Analyse interessiert nur der Term h¨ ochster Ordnung (= am schnellsten wachsender Summand) einer Funktion.

I Beispiele

I f

1

(n) = 8n

2

− 3n − 9 ∈ O(n

2

) I f

2

(n) = n

3

− 3n log

2

n ∈ O(n

3

)

I f

3

(n) = 3n log

2

n + 1000n + 10

200

∈ O(n log n) I Warum ist das so?

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 17 / 22

Zusammenh¨ ange

Es gilt:

I O(1) ⊂ O(log n) ⊂ O(n) ⊂ O(n log n) ⊂ O(n k ) ⊂ O(2 n ) (f¨ ur k ≥ 2)

I O(n k

1

) ⊂ O(n k

2

) f¨ ur k 1 < k 2 z.B. O (n 2 ) ⊂ O (n 3 )

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 18 / 22

A9. Laufzeitanalyse: Landau-Symbole Rechenregeln

Rechenregeln

I Produkt

f 1 ∈ O(g 1 ) und f 2 ∈ O(g 2 ) ⇒ f 1 f 2 ∈ O(g 1 g 2 ) I Summe

f 1 ∈ O(g 1 ) und f 2 ∈ O(g 2 ) ⇒ f 1 + f 2 ∈ O(g 1 + g 2 ) I Multiplikation mit Konstante

k > 0 und f ∈ O(g ) ⇒ kf ∈ O(g ) k > 0 ⇒ O(kg ) = O(g )

A9. Laufzeitanalyse: Landau-Symbole Rechenregeln

Grund f¨ ur Beschr¨ ankung auf Term h¨ ochster Ordnung

Beispiel: 5n 3 + 2n ∈ O(n 3 )

I Wegen Regel bzgl. Multiplikation mit Konstante:

I 5n

3

∈ O(n

3

) I 2n ∈ O(n)

I Wegen O(n) ⊂ O(n 3 ) und 2n ∈ O(n):

I 2n ∈ O(n

3

) I Wegen Summenregel:

I 5n

3

+ 2n ∈ O(n

3

+ n

3

)

I Mit Multiplikation mit Konstante (bei Klasse):

I 5n

3

+ 2n ∈ O(n

3

)

(6)

A9. Laufzeitanalyse: Landau-Symbole Zusammenfassung

A9.3 Zusammenfassung

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 21 / 22

A9. Laufzeitanalyse: Landau-Symbole Zusammenfassung

Zusammenfassung

I Mit Landau-Symbolen definiert man Klassen von Funktionen, die nicht schneller/nicht langsamer/. . . wachsen als eine Funktion g .

I O(g ): Wachstum nicht schneller als g I Θ(g ): Wachstum im Wesentlichen wie g

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 17. M¨arz 2021 22 / 22

Referenzen

ÄHNLICHE DOKUMENTE

I Insertionsort betrachtet die Elemente von vorne nach hinten und sortiert sie in den bereits sortierten Bereich am.

A5.1 Laufzeitanalyse Allgemein A5.2 Beispiel: Selectionsort A5.3 Zusammenfassung.. R¨ oger (Universit¨ at Basel) Algorithmen und

I In der Analyse von Mergesort werden wir eine Logarithmusfunktion verwendet. I Dies ist bei der Analyse von Laufzeiten oft

→ doppelt so grosse Eingabe, etwas mehr als doppelt so lange Laufzeit Was bedeutet das in der PraxisM. I Annahme: c = 1, eine Operation dauert im Schnitt 10

I Beispiel: GTA online hatte viele Jahre eine Ladezeit von mehreren Minuten. I mehrere Minuten zum Parsen von 10

Beispiel: pos0 7→ pos2, pos1 7→ pos1, pos2 7→ pos0 I Da alle m¨ oglichen Eingaben der Gr¨ osse n korrekt gel¨ osst. werden m¨ ussen, muss der Algorithmus

Dijkstras Algorithmus sehr ¨ ahnlich zu Eager Prim-Algorithmus f¨ ur minimale Spannb¨ aume?. I Beide bauen sukzessive einen

I Insertionsort betrachtet die Elemente von vorne nach hinten und sortiert sie in den bereits sortierten Bereich am.