94
Stabilit ¨ atsabsch ¨ atzungen Vorlesung vom 6.12.13 Auswertungsb ¨ aume zur systematischen Stabilit ¨ atsabsch ¨ atzung Auswertungsbaum: Knoten, gerichtete Kanten, Wurzel, Bl ¨ atter Zerlegung in Teilb ¨ aume Von den Bl ¨ attern zur Wurzel: rekursive Funktionsauswertung und Stabilit ¨ atsabsch ¨ atzung Theoretische Grundlage: Satz 7.6 und Satz 7.9 Beispiele. Summationsalgorithmen Rekursive Summation, Auswertungsbaum, Stbilit ¨ atsanalyse Hierarchische Summation. CoMa I

Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Stabilitatsabschatzungen Vorlesung vom 6.12.13

Auswertungsbaume zur systematischen StabilitatsabschatzungAuswertungsbaum: Knoten, gerichtete Kanten, Wurzel, Blatter

Zerlegung in Teilbaume

Von den Blattern zur Wurzel:

rekursive Funktionsauswertung und Stabilitatsabschatzung

Theoretische Grundlage: Satz 7.6 und Satz 7.9

Beispiele.

SummationsalgorithmenRekursive Summation, Auswertungsbaum, Stbilitatsanalyse

Hierarchische Summation.

CoMa I

Page 2: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

bisher:

Auswirkung von (Rundungs)-Fehlern auf das Ergebnis:

Kondition eines Problems: Eingabefehler

Stabilitat eines Algorithmus: Auswertungsfehler

jetzt:

Rechenaufwand:

Komplexitat eines Problems

Effizienz eines Algorithmus

CoMa I

Page 3: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

bisher:

Auswirkung von (Rundungs)-Fehlern auf das Ergebnis:

Kondition eines Problems: Eingabefehler

Stabilitat eines Algorithmus: Auswertungsfehler

jetzt:

Rechenaufwand:

Komplexitat eines Problems

Aufwand und Effizienz eines Algorithmus

CoMa I

Page 4: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat und Effizienz

Wie lange muß ich auf das Ergebnis warten?

a) Ist das Problem schwierig? (Komplexitat)

b) Ist mein Algorithmus zu langsam? (Effizienz)

Theoretische Informatik/Diskrete Mathematik:

Komplexitatstheorie, Berechenbare Funktionen

CoMa I

Page 5: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat und Effizienz

Wie lange muß ich auf das Ergebnis warten?

a) Ist das Problem schwierig? (Komplexitat)

b) Ist mein Algorithmus zu langsam? (Effizienz)

Theoretische Informatik/Diskrete Mathematik:

Komplexitatstheorie, Berechenbare Funktionen

CoMa I

Page 6: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat und Effizienz

Wie lange muß ich auf das Ergebnis warten?

a) Ist das Problem schwierig? (Komplexitat)

b) Ist mein Algorithmus zu langsam? (Effizienz)

Theoretische Informatik/Diskrete Mathematik:

Komplexitatstheorie, Berechenbare Funktionen

CoMa I

Page 7: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat und Effizienz

Wie lange muß ich auf das Ergebnis warten?

a) Ist das Problem schwierig? (Komplexitat)

b) Ist mein Algorithmus zu langsam? (Effizienz)

Theoretische Informatik/Diskrete Mathematik:

Komplexitatstheorie, Berechenbare Funktionen

CoMa I

Page 8: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat und Effizienz

Wie lange muß ich auf das Ergebnis warten?

a) Ist das Problem schwierig? (Komplexitat)

b) Ist mein Algorithmus zu langsam? (Effizienz)

Theoretische Informatik/Diskrete Mathematik:

Komplexitatstheorie, Berechenbare Funktionen

CoMa I

Page 9: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwand (Laufzeit) eines Algorithmus

hangt ab von: Algorithmus, Eingabedaten (”Große“ des Problems)

Aufwandsmaß: reine Rechenzeit

zusatzliche Parameter:

Implementierung, Programmiersprache, Compiler, Prozessor,...

Aufwandsmaß: Anzahl dominanter Operationen

allgemeingultige Resultate

CoMa I

Page 10: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwand (Laufzeit) eines Algorithmus

hangt ab von: Algorithmus, Eingabedaten (”Große“des Problems)

Aufwandsmaß: reine Rechenzeit

zusatzliche Parameter:

Implementierung, Programmiersprache, Compiler, Prozessor,...

Aufwandsmaß: Anzahl dominanter Operationen (problemabhangig!)

implementierungsunabhangige Resultate

CoMa I

Page 11: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Rekursive Summation positiver Zahlen

rekursive Summation: S = a[1]; for i=2:1:m S = S + a[i]; end

Aufwandsmaß: Anzahl der Additionen

Aufwand des rekursiven Algorithmus: n− 1

CoMa I

Page 12: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Rekursive Summation positiver Zahlen

rekursive Summation: S = a[1]; for i=2:1:m S = S + a[i]; end

Aufwandsmaß: Anzahl der Additionen

Aufwand des rekursiven Algorithmus: n− 1

CoMa I

Page 13: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Rekursive Summation positiver Zahlen

rekursive Summation: S = a[1]; for i=2:1:m S = S + a[i]; end

Aufwandsmaß: Anzahl der Additionen

Aufwand des rekursiven Algorithmus: n− 1

CoMa I

Page 14: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Hierarchische Summationx1 x2 x3 x4 x5 x6 x7 x8

ցւ ցւ ցւ ցւs(1)1 s

(1)2 s

(1)3 s

(1)4

ց ւ ց ւs(2)1 s

(2)2

ց ւs(3)1

Aufwandsmaß: Anzahl der Additionen

Aufwand des hierarchischen Algorithmus: (n = 2J):

2J−1 + · · ·+ 1 =J−1∑

j=0

2j =2J − 1

2− 1= 2J − 1 = n− 1

CoMa I

Page 15: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Hierarchische Summationx1 x2 x3 x4 x5 x6 x7 x8

ցւ ցւ ցւ ցւs(1)1 s

(1)2 s

(1)3 s

(1)4

ց ւ ց ւs(2)1 s

(2)2

ց ւs(3)1

Aufwandsmaß: Anzahl der Additionen

Aufwand des hierarchischen Algorithmus: (n = 2J):

2J−1 + · · ·+ 1 =J−1∑

j=0

2j =2J − 1

2− 1= 2J − 1 = n− 1

CoMa I

Page 16: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Hierarchische Summationx1 x2 x3 x4 x5 x6 x7 x8

ցւ ցւ ցւ ցւs(1)1 s

(1)2 s

(1)3 s

(1)4

ց ւ ց ւs(2)1 s

(2)2

ց ւs(3)1

Aufwandsmaß: Anzahl der Additionen

Aufwand des hierarchischen Algorithmus: (n = 2J):

2J−1 + · · ·+ 1 =J−1∑

j=0

2j= 2J−12−1 = 2J − 1 = n− 1

CoMa I

Page 17: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Hierarchische Summationx1 x2 x3 x4 x5 x6 x7 x8

ցւ ցւ ցւ ցւs(1)1 s

(1)2 s

(1)3 s

(1)4

ց ւ ց ւs(2)1 s

(2)2

ց ւs(3)1

Aufwandsmaß: Anzahl der Additionen

Aufwand des hierarchischen Algorithmus: (n = 2J):

2J−1 + · · ·+ 1 =J−1∑

j=0

2j =2J − 1

2− 1= 2J − 1= n− 1

CoMa I

Page 18: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Hierarchische Summationx1 x2 x3 x4 x5 x6 x7 x8

ցւ ցւ ցւ ցւs(1)1 s

(1)2 s

(1)3 s

(1)4

ց ւ ց ւs(2)1 s

(2)2

ց ւs(3)1

Aufwandsmaß: Anzahl der Additionen

Aufwand des hierarchischen Algorithmus: (n = 2J):

2J−1 + · · ·+ 1 =J−1∑

j=0

2j =2J − 1

2− 1= 2J − 1 = n− 1

CoMa I

Page 19: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat der Summation positiver Zahlen

Kann es einen Algorithmus geben, der weniger als n−1 Additionen benotigt?

Nein!

Folgerung: Die Komplexitat der Addition von n Zahlen ist n− 1

CoMa I

Page 20: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat der Summation positiver Zahlen

Kann es einen Algorithmus geben, der weniger als n−1 Additionen benotigt?

Nein!

Folgerung: Die Komplexitat der Addition von n Zahlen ist n− 1

CoMa I

Page 21: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Komplexitat der Summation positiver Zahlen

Kann es einen Algorithmus geben, der weniger als n−1 Additionen benotigt?

Nein!

Folgerung: Die Komplexitat der Addition von n Zahlen ist n− 1.

CoMa I

Page 22: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwand und KomplexitatDefinition 2.4

Problem (P), Algorithmen A(P ) zur Losung von (P)

Eingabedaten der Lange n, Referenzoperation (problemspezifisch!)

Der Aufwand TA(n) eines Algorithmus A ∈ A(P ) ist das

Maximum der benotigten Anzahl von Referenzoperationen

uber alle zulassigen Eingabedaten der Lange n.

Definition 2.5

Die Komplexitat KP (n) von (P) ist

KP (n) = infA∈A(P )

TA(P )

CoMa I

Page 23: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwand und KomplexitatDefinition 2.4

Problem (P), Algorithmen A(P ) zur Losung von (P)

Eingabedaten der Lange n, Referenzoperation (problemspezifisch!)

Der Aufwand TA(n) eines Algorithmus A ∈ A(P ) ist das

Maximum der benotigten Anzahl von Referenzoperationen

uber alle zulassigen Eingabedaten der Lange n.

Definition 2.5

Die Komplexitat KP (n) von (P) ist

KP (n) = infA∈A(P )

TA(P )

CoMa I

Page 24: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwand und KomplexitatDefinition 2.4

Problem (P), Algorithmen A(P ) zur Losung von (P)

Eingabedaten der Lange n, Referenzoperation (problemspezifisch!)

Der Aufwand TA(n) eines Algorithmus A ∈ A(P ) ist das

Maximum der benotigten Anzahl von Referenzoperationen

uber alle zulassigen Eingabedaten der Lange n.

Definition 2.5

Die Komplexitat KP (n) von (P) ist

KP (n) = infA∈A(P )

TA(P )

CoMa I

Page 25: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Effiziente Algorithmen

Problem (P), Algorithmus A ∈ A(P ) zur Losung von (P)

Effizienz eines Algorithmus’ A:

Theoretische Informatik: TA = O(np)

Numerische Mathematik: TA(n) = O(KP (n))

Definition Landau-Symbol O(·) fur f(n), g(n) → ∞ fur n → ∞

f(n) = O(g(n)) fur n → ∞ ⇐⇒ lim supn→∞

f(n)

g(n)

Beispiel: 18n3 + 3n2 + sin(en) = O(n3)

CoMa I

Page 26: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Effiziente Algorithmen

Problem (P), Algorithmus A ∈ A(P ) zur Losung von (P)

Effizienz eines Algorithmus’ A:

Theoretische Informatik: TA = O(np)

Numerische Mathematik: TA(n) = O(KP (n))

Definition Landau-Symbol O(·) fur f(n), g(n) → ∞ fur n → ∞

f(n) = O(g(n)) fur n → ∞ ⇐⇒ lim supn→∞

f(n)

g(n)

Beispiel: 18n3 + 3n2 + sin(en) = O(n3)

CoMa I

Page 27: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Effiziente Algorithmen

Problem (P), Algorithmus A ∈ A(P ) zur Losung von (P)

Effizienz eines Algorithmus’ A:

Theoretische Informatik: TA = O(np)

Numerische Mathematik: TA(n) = O(KP (n))

Definition: Landau-Symbol O(·) fur f(n), g(n) → ∞ fur n → ∞

f(n) = O(g(n)) fur n → ∞ ⇐⇒ lim supn→∞

f(n)

g(n)

Beispiel: 18n3 + 3n2 + sin(en) = O(n3)

CoMa I

Page 28: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Effiziente Algorithmen

Problem (P), Algorithmus A ∈ A(P ) zur Losung von (P)

Effizienz eines Algorithmus’ A:

Theoretische Informatik: TA = O(np)

Numerische Mathematik: TA(n) = O(KP (n))

Definition: Landau-Symbol O(·) fur f(n), g(n) → ∞ fur n → ∞

f(n) = O(g(n)) fur n → ∞ ⇐⇒ lim supn→∞

f(n)

g(n)

Beispiel: 18n3 + 3n2 + sin(en) = O(n3)

CoMa I

Page 29: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Sortieren

gegeben: z1, z2, . . . , zn ∈ R

gesucht: Permutation (Umordnung) π: zπ(1), zπ(2), . . . , zπ(n)

Algorithmus: TumbSort: Alle Umordnungen durchprobieren.

Aufwandsmaß: Vergleich zweier Zahlen

Aufwand von TumSort: O(nn)

CoMa I

Page 30: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Sortieren

gegeben: z1, z2, . . . , zn ∈ R

gesucht: Permutation (Umordnung) π: zπ(1), zπ(2), . . . , zπ(n)

Algorithmus: TumbSort: Alle Umordnungen durchprobieren.

Aufwandsmaß: Vergleich zweier Zahlen

Aufwand von TumSort: O(nn)

CoMa I

Page 31: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Sortieren

gegeben: z1, z2, . . . , zn ∈ R

gesucht: Permutation (Umordnung) π: zπ(1), zπ(2), . . . , zπ(n)

Algorithmus: TumbSort: Alle Umordnungen durchprobieren.

Aufwandsmaß: Vergleich zweier Zahlen

Aufwand von TumSort: O(nn)

CoMa I

Page 32: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Sortieren

gegeben: z1, z2, . . . , zn ∈ R

gesucht: Permutation (Umordnung) π: zπ(1), zπ(2), . . . , zπ(n)

Algorithmus: TumbSort: Alle Umordnungen durchprobieren.

Aufwandsmaß: Vergleich zweier Zahlen

Aufwand von TumSort: O(nn)

CoMa I

Page 33: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Sortieren

gegeben: z1, z2, . . . , zn ∈ R

gesucht: Permutation (Umordnung) π: zπ(1), zπ(2), . . . , zπ(n)

Algorithmus: TumbSort: Alle Umordnungen durchprobieren.

Aufwandsmaß: Vergleich zweier Zahlen

Aufwand von TumSort: O(nn)

CoMa I

Page 34: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2)

CoMa I

Page 35: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2)

CoMa I

Page 36: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2)

CoMa I

Page 37: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2)

CoMa I

Page 38: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k= 12n(n− 1) = O(n2)

CoMa I

Page 39: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1)= O(n2)

CoMa I

Page 40: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2)

CoMa I

Page 41: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

BubbleSort

Algorithmus: BubbleSort: Sukzessive Maximierung

Beispiel:

S = {7, 1, 5} , k = 3 : SMax = max{7, 1, 5} = 7, iMax = 1

S = {5, 1, 7} , k = 2 : SMax = max{5, 1} = 5, iMax = 1

S = {1, 5, 7}

Aufwand von BubbleSort:

(n− 1) + (n− 2) + · · ·+ 1 =n−1∑

k=1

k = 12n(n− 1) = O(n2) ≪ O(nn)

CoMa I

Page 42: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

3 10 23 54 1 5 25 75 X: Y:

Result:

Page 43: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

3 10 23 54 5 25 75

1

X: Y:

Result:

Page 44: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

10 23 54 5 25 75

1 3

X: Y:

Result:

Page 45: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

10 23 54 25 75

1 3 5

X: Y:

Result:

Page 46: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

23 54 25 75

1 3 5 10

X: Y:

Result:

Page 47: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

54 25 75

1 3 5 10 23

X: Y:

Result:

Page 48: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

54 75

1 3 5 10 23 25

X: Y:

Result:

Page 49: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

75

1 3 5 10 23 25 54

X: Y:

Result:

Page 50: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merging (cont.)

1 3 5 10 23 25 54 75

X: Y:

Result:

Page 51: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Divide And Conquer

l  Merging a two lists of one element each is the same as sorting them.

l  Merge sort divides up an unsorted list until the above condition is met and then sorts the divided parts back together in pairs.

l  Specifically this can be done by recursively dividing the unsorted list in half, merge sorting the right side then the left side and then merging the right and left back together.

Page 52: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Algorithm

Given a list L with a length k: l  If k == 1 à the list is sorted l Else:

–  Merge Sort the left side (1 thru k/2) –  Merge Sort the right side (k/2+1 thru k) –  Merge the right side with the left side

Page 53: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 99 6 86 15 58 35 86 4 0

Page 54: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 99 6 86 15 58 35 86 4 0

99 6 86 15 58 35 86 4 0

Page 55: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 99 6 86 15 58 35 86 4 0

99 6 86 15 58 35 86 4 0

86 15 99 6 58 35 86 4 0

Page 56: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 99 6 86 15 58 35 86 4 0

99 6 86 15 58 35 86 4 0

86 15 99 6 58 35 86 4 0

99 6 86 15 58 35 86 4 0

Page 57: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 99 6 86 15 58 35 86 4 0

99 6 86 15 58 35 86 4 0

86 15 99 6 58 35 86 4 0

99 6 86 15 58 35 86 4 0

4 0

Page 58: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example

99 6 86 15 58 35 86 0 4

4 0 Merge

Page 59: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example

15 86 6 99 58 35 0 4 86

99 6 86 15 58 35 86 0 4

Merge

Page 60: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example

6 15 86 99 0 4 35 58 86

15 86 6 99 58 35 0 4 86

Merge

Page 61: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 0 4 6 15 35 58 86 86 99

6 15 86 99 0 4 35 58 86

Merge

Page 62: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Example 0 4 6 15 35 58 86 86 99

Page 63: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Implementing Merge Sort l  There are two basic ways to implement merge sort:

–  In Place: Merging is done with only the input array l  Pro: Requires only the space needed to hold the array l  Con: Takes longer to merge because if the next

element is in the right side then all of the elements must be moved down.

–  Double Storage: Merging is done with a temporary array of the same size as the input array. l  Pro: Faster than In Place since the temp array holds

the resulting array until both left and right sides are merged into the temp array, then the temp array is appended over the input array.

l  Con: The memory requirement is doubled.

Page 64: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Merge Sort Analysis The Double Memory Merge Sort runs O (N log N) for all cases, because of its Divide and Conquer approach.

T(N) = 2T(N/2) + N = O(N logN)

Page 65: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

MergeSort

U

ւ ց

U(1)1 U

(1)2

ւ ց ւ ց

U(2)1 U

(2)2 U

(2)3 U

(2)4

ւց ւց ւց ւց

U(3)1 U

(3)2 U

(3)3 U

(3)4 U

(3)5 U

(3)6 U

(3)7 U

(3)8

Aufwand von MergeSort: TMergeSort(n) ≤ n log2 n optimal!

CoMa I

Page 66: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

MergeSort

U

ւ ց

U(1)1 U

(1)2

ւ ց ւ ց

U(2)1 U

(2)2 U

(2)3 U

(2)4

ւց ւց ւց ւց

U(3)1 U

(3)2 U

(3)3 U

(3)4 U

(3)5 U

(3)6 U

(3)7 U

(3)8

Aufwand von MergeSort: TMergeSort(n) ≤ n log2 n optimal!

CoMa I

Page 67: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

MergeSort

U

ւ ց

U(1)1 U

(1)2

ւ ց ւ ց

U(2)1 U

(2)2 U

(2)3 U

(2)4

ւց ւց ւց ւց

U(3)1 U

(3)2 U

(3)3 U

(3)4 U

(3)5 U

(3)6 U

(3)7 U

(3)8

Aufwand von MergeSort: TMergeSort(n) ≤ n log2 n optimal!

CoMa I

Page 68: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Berechnung von ggT (a, b)

Definition 4.1 (großter gemeinsamer Teiler – ggT)

Eine Zahl d, die zwei ganze Zahlen a, b ∈ N teilt (d|a und d|b),heißt gemeinsamer Teiler von a und b.

Die großte positive Zahl d, die gemeinsamer Teiler von a und b ist,

heißt großter gemeinsamer Teiler von a und b oder kurz ggT (a, b).

Problem (P): Berechne ggT (a, b) fur Eingabedaten a ≥ b ∈ N \ {0}

CoMa I

Page 69: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Ausprobieren: TumbGGT (Algorithmus 4.3)

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

ggT := 1

for i = 2:b

if i|a and i|b

ggT := i

endif

endfor

return ggT

Aufwandsmaß: Anzahl der Divisionen mit Rest Aufwand: 2(b−1)

CoMa I

Page 70: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Ausprobieren: TumbGGT (Algorithmus 4.3)

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

ggT := 1

for i = 2:b

if i|a and i|b

ggT := i

endif

endfor

return ggT

Aufwandsmaß: Anzahl der Divisionen mit Rest Aufwand: 2(b−1)

CoMa I

Page 71: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Ausprobieren: TumbGGT (Algorithmus 4.3)

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

ggT := 1

for i = 2:b

if i|a and i|b

ggT := i

endif

endfor

return ggT

Aufwandsmaß: Anzahl der Divisionen mit Rest Aufwand: 2(b−1)

CoMa I

Page 72: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Geschickteres Ausprobieren: TumbGGT++

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

for i := b:2

if i|a and i|b

return i

endif

endfor

return 1

Aufwandsmaß: Anzahl der Divisionen Aufwandsschranke: 2(b− 1)

CoMa I

Page 73: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Geschickteres Ausprobieren: TumbGGT++

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

for i := b:2

if i|a and i|b

return i

endif

endfor

return 1

Aufwandsmaß: Anzahl der Divisionen Aufwandsschranke: 2(b− 1)

CoMa I

Page 74: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Geschickteres Ausprobieren: TumbGGT++

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

for i := b:2

if i|a and i|b

return i

endif

endfor

return 1

Aufwandsmaß: Anzahl der Divisionen Aufwandsschranke: 2(b− 1)

CoMa I

Page 75: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Strukturelle Einsicht

Definition 4.6 (Kongruenzen)Der bei Division von a durch b bleibende Rest heißt

a mod b = a− ⌊a/b⌋b .

m, n ∈ Z heißen kongruent modulo b, falls m mod b = n mod b.

modulo-Funktion: mod(a, b) = a mod b

Satz 5.5 (Rekursionssatz fur den ggT)Es gilt

ggT (a, b) = ggT (b,mod(a, b)) ∀a, b ∈ N .

CoMa I

Page 76: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Strukturelle Einsicht

Definition 4.6 (Kongruenzen)Der bei Division von a durch b bleibende Rest heißt

a mod b = a− ⌊a/b⌋b .

m, n ∈ Z heißen kongruent modulo b, falls m mod b = n mod b.

modulo-Funktion: mod(a, b) = a mod b

Lemma 4.12 (Rekursionssatz fur den ggT)Es gilt

ggT (a, b) = ggT (b,mod(a, b)) ∀a, b ∈ N .

CoMa I

Page 77: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Umsetzung: Der Euklidische Algorithmus

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

m = a;

n = b;

while n>0

r = m modulo n

m = n

n = r

endwhile

return m

Satz: Der Euklidische Algorithmus terminiert nach hochstens b Schritten.

CoMa I

Page 78: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Umsetzung: Der Euklidische Algorithmus

Input: positive Zahlen a >= b>0

Output: ggT(a,b)

m = a;

n = b;

while n>0

r = m modulo n

m = n

n = r

endwhile

return m

Satz: Der Euklidische Algorithmus terminiert nach hochstens b Schritten.

CoMa I

Page 79: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

AufwandsanalyseDefinition (Fibonacchi–Zahlen)Die durch die Drei–Term–Rekursion

Fn+1 − Fn − Fn−1 = 0 , F0 = 1 , F1 = 1

definierten Zahlen Fk, k = 0, 1, . . . , heißen Fibonacchi–Zahlen.

Lemma 4.14Es sei a > b. Terminiert der Euklidische Algorithmus nach genau k ≥ 1Schritten, so gilt a ≥ Fk+1 und b ≥ Fk.

Satz 4.15 (Lame, 1848)Gilt a > b und b < Fk+1 mit k ∈ N, so terminiert der EuklidischeAlgorithmus nach hochstens k Schritten.

Bemerkung (Lemma 5.8):Im Falle b = Fk, a = Fk+1 braucht man k Schritte.

CoMa I

Page 80: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

AufwandsanalyseDefinition (Fibonacchi–Zahlen)Die durch die Drei–Term–Rekursion

Fn+1 − Fn − Fn−1 = 0 , F0 = 1 , F1 = 1

definierten Zahlen Fk, k = 0, 1, . . . , heißen Fibonacchi–Zahlen.

Lemma 4.14Es sei a > b. Terminiert der Euklidische Algorithmus nach genau k ≥ 1Schritten, so gilt a ≥ Fk+1 und b ≥ Fk.

Satz 4.15 (Lame, 1848)Gilt a > b und b < Fk+1 mit k ∈ N, so terminiert der EuklidischeAlgorithmus nach hochstens k Schritten.

Bemerkung :Im Falle b = Fk, a = Fk+1 braucht man k Schritte.

CoMa I

Page 81: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

AufwandsanalyseDefinition (Fibonacchi–Zahlen)Die durch die Drei–Term–Rekursion

Fn+1 − Fn − Fn−1 = 0 , F0 = 1 , F1 = 1

definierten Zahlen Fk, k = 0, 1, . . . , heißen Fibonacchi–Zahlen.

Lemma 4.14Es sei a > b. Terminiert der Euklidische Algorithmus nach genau k ≥ 1Schritten, so gilt a ≥ Fk+1 und b ≥ Fk.

Satz 4.15 (Lame, 1848)Gilt a > b und b < Fk+1 mit k ∈ N, so terminiert der EuklidischeAlgorithmus nach hochstens k Schritten.

Bemerkung :Im Falle b = Fk, a = Fk+1 braucht man k Schritte.

CoMa I

Page 82: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

AufwandsanalyseDefinition (Fibonacchi–Zahlen)Die durch die Drei–Term–Rekursion

Fn+1 − Fn − Fn−1 = 0 , F0 = 1 , F1 = 1

definierten Zahlen Fk, k = 0, 1, . . . , heißen Fibonacchi–Zahlen.

Lemma 4.14Es sei a > b. Terminiert der Euklidische Algorithmus nach genau k ≥ 1Schritten, so gilt a ≥ Fk+1 und b ≥ Fk.

Satz 4.15 (Lame, 1848)Gilt a > b und b < Fk+1 mit k ∈ N, so terminiert der EuklidischeAlgorithmus nach hochstens k Schritten.

Bemerkung:Im Falle b = Fk, a = Fk+1 braucht man k Schritte.

CoMa I

Page 83: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwandsschranke fur den Euklidischen Algorithmus

Moivre-Binet: Fk = (φk − (1− φ)k)/√5 φ = 1+

√5

2

Satz 4.16Fur den Aufwand TEA des Euklidische Algorithmus gilt

TEA(n) = logΦ(b) + 1, Φ =1 +

√5

2

Bemerkung:

Das ist eine exponentielle Verbesserung gegenuber dem naiven Algorith-mus!

Beispiel: logΦ(10.000) < 20 ≪ 10.000

CoMa I

Page 84: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwandsschranke fur den Euklidischen Algorithmus

Moivre-Binet: Fk = (φk − (1− φ)k)/√5 φ = 1+

√5

2

Satz 4.16Fur den Aufwand TEA(n) des Euklidische Algorithmus gilt

TEA(n) ≤ logφ(b) + 1

Bemerkung:

Das ist eine exponentielle Verbesserung gegenuber dem naiven Algorith-mus!

Beispiel: logΦ(10.000) < 20 ≪ 10.000

CoMa I

Page 85: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Aufwandsschranke fur den Euklidischen Algorithmus

Moivre-Binet: Fk = (φk − (1− φ)k)/√5 φ = 1+

√5

2

Satz 4.16Fur den Aufwand TEA(n) des Euklidische Algorithmus gilt

TEA(n) ≤ logφ(b) + 1

Bemerkung:

Das ist eine exponentielle Verbesserung gegenuber TUMBGGT!

Beispiel: logΦ(10.000) < 20 ≪ 10.000

CoMa I

Page 86: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Principal component analysis

Page 87: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:
Page 88: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

yi(t)

Page 89: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

yi(t)

Page 90: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

yi(t)

Page 91: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

yi(t)

Page 92: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

Speicherbedarf o(n2)

yi(t)

Page 93: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

yi(t)

Page 94: Vorlesung vom 6.12.13 Stabilit¨atsabsch¨atzungen€¦ · Stabilit¨atsabsch¨atzungen Vorlesung vom 6.12.13 Auswertungsb¨aume zur systematischen Stabilit ¨atsabsch ¨atzung Auswertungsbaum:

• If we want to optimize we must start at the most expensive step.

• Here: calculation of the correlation matrix.

• In complex programs, 99% of the runtime are spent in 1% of the code.