Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sören Tönis Seminar: Ergänzungen zu DAP2

Ähnliche Präsentationen


Präsentation zum Thema: "Sören Tönis Seminar: Ergänzungen zu DAP2"—  Präsentation transkript:

1 Sören Tönis Seminar: Ergänzungen zu DAP2
Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

2 Polynome Addition Multiplikation Alternative Darstellungsformen
Koeffizientendarstellung Point-Value-Darstellung Komplexe Einheitswurzeln Diskrete Fouriertransformation Schnelle Fouriertransformation

3 Polynome Polynome vom Grad n-1 und Länge n z.B.:

4 Addition von Polynomen
wobei mit

5 Addition von Polynomen

6 Addition von Polynomen
Polynom hat Grad des höheren der beiden addierten Polynome Bei Polynomen vom Grad n-1 sind n Additionen notwendig

7 Multiplikation von Polynomen
wobei mit

8 Multiplikation von Polynomen

9 Multiplikation von Polynomen
Grad (C) = Grad (A) + Grad (B)

10 Darstellungsweise von Polynomen
Koeffizientendarstellung Point-Value-Darstellung

11 Koeffizientendarstellung
Koeffizientendarstellung von Polynom mit Grad n-1 durch Vektor Auswertung erfolgt nach Horn-Schema über den gewählten Punkt:

12 Koeffizientendarstellung
Addition erfolgt wie bei den Polynomen:

13 Koeffizientendarstellung
Addition hat den Zeitaufwand von Q(n), wie auch die normale Addition von zwei Polynomen. Genau so Multiplikation möglich, mit Zeitaufwand Q( ). Wir multiplizieren einfach jeden Koeffizienten in Vektor a mit jedem Koeffizienten in Vektor b.

14 Point-Value-Darstellung
Die Punkt-Wert Darstellung eines Polynoms des Grades n-1 besteht aus n Paaren: Wobei alle verschieden sind und für

15 Point-Value-Darstellung
Polynom hat viele verschiedene Point-Value Darstellungen da n verschieden x als Basis der Abbildung genutzt werden können. Wir können beliebige auswählen.

16 Point-Value-Darstellung
Aufwand für diese Auswertung/Entwicklung (ab jetzt nur der Begriff Evaluation) Q( ) nach Horn-Schema. Ziel: Q( ) ist kein Vorteil, wir wollen die Evaluation möglichst in linearer Zeit abwickeln. Weg: Kluge wählen.

17 Begriffsklärung Umwandlung von Koeffizientendarstellung Evaluation:
in Point-Value-Darstellung Interpolation: Umwandlung von Point-Value-Dartellung in Koeffizientendarstellung

18 Vorschau Wir brauchen für Multiplikation von Polynomen
nach Standard-Rechnung Q( ), es gilt zu zeigen, daß wir durch Umformungen eine Aufwandsersparnis erzielen.

19 Addition in Point-Value-Darst.
Voraussetzung: A und B wurden an den gleichen Punkten evaluiert A B C

20 Multiplikation in Point-Value-Darst.
Voraussetzung: A und B wurden an den gleichen Punkten evaluiert A B C Problem ! : Grad C = Grad A + Grad B

21 Vorschau Problematik: A,B Polynome vom Grad n-1 und C
Polynom von Grad 2n-2, für punktweise Multiplikation müssen wir bei der Evaluation unsere Spaltenvektoren „auffüllen“ !

22 Multiplikation in Point-Value-Darst.
Lösung: Extended Point-Value-Darstellung von A und B ! A B C Bemerkung: 2n-1 wegen Gradgrenze 2n

23 Einschub Literatur spricht von „degree bound“ Gradschranke!
Polynom der Länge n hat Grad n-1 und Gradschranke n, Polynom der Länge 2n-1 hat den Grad 2n-2 und Gradschranke 2n-1 und somit auch Gradschranke 2n.

24 Vorschau 1. Verdoppeln der Gradschranke.
Erstellen einer Koeffizientendarstellung von A(x) und B(x), durch hinzufügen von höherwertigen 0-Koeffizienten. 2. Evaluation Berechnen der Point-Value-Darstellung von A(x) und B(x), durch Anwenden der FFT.

25 Vorschau 3. Punktweises Multiplizieren:
Berechnen von C(x)=A(x)B(x) punktweises Multiplizieren der Werte 4. Interpolation: Erstellen der Koeffizientendarstellung zum Polynom C(x).

26 Vorschau Standard-Multiplikation Zeitaufwand Koeffizienten-
darstellung Evaluation Zeitaufwand Interpolation Zeitaufwand Point-Value- Darstellung punktweise Multiplikation Zeitaufwand

27 Komplexe Einheitswurzeln
Eine Komplexe n-te Einheitswurzel ist eine komplexe Zahl mit heißt primitive n-te Einheitswurzel, wenn

28 Eigenschaften der Einheitswurzel
Es gibt n verschiedene n-te Einheitswurzeln, diese sind darstellbar als die Potenzen einer primitiven n-ten Einheitswurzel

29 Eigenschaften der Einheitswurzel
Jede ganzzahlige Potenz einer n-ten Einheitswurzel ist wieder n-te Einheitswurzel, denn Dies gilt auch für negative k.

30 Eigenschaften der Einheitswurzel
Ist n gerade, so gilt für jede primitive n-te Einheitswurzel , denn ,d.h ist 2-te Einheitswurzel, also 1 oder -1. Da aber  ist, da primitiv ist, gilt

31 Eigenschaften der Einheitswurzel
Das Quadrat einer primitiven n-ten Einheitswurzel (n gerade) ist primitive n/2-te Einheitswurzel, denn 1. 2. Angenommen, sie sei nicht primitiv, dann Dann ist aber ein Widerspruch dazu, daß primitiv ist.

32 Eigenschaften der Einheitswurzel
Ist primitive n-te Einheitswurzel, so ist ebenfalls primitive n-te Einheitswurzel, denn 1. 2. Angenommen, sei nicht primitiv, dann Dann ist aber ein Widerspruch dazu, dass primitiv ist.

33 Eigenschaften der Einheitswurzel
Die n komplexen n-ten Einheitswurzeln bilden mit der Multiplikation zusammen eine Gruppe mit der gleichen Struktur wie die additive Gruppe

34 Komplexe Einheitswurzeln
Lemma (Cancellation Lemma): Für jede ganze Zahl gilt

35 Komplexe Einheitswurzeln
Korollar: Für jede ganze Zahl gilt

36 Komplexe Einheitswurzeln
Lemma (Halving Lemma): n>0 ist gerade, dann sind die Quadrate der n komplexen n-ten Einheitswurzeln die n/2 komplexen (n/2)ten Einheitswurzeln.

37 Komplexe Einheitswurzeln
Lemma (Summation Lemma): Für jede ganze Zahl und nicht negative ganze Zahl k, nicht durch n teilbar,

38 Diskrete Fouriertransformation
Polynom an Wir definieren für Der Einfachheit halber betrachten wir wieder nur n anstatt 2n.

39 Diskrete Fouriertransformation
Der Vektor y heißt diskrete Fouriertransformation des Vektors a, oder

40 Schnelle Fouriertransformation
FFT nutzt Divide & Conquer Strategie FFT bildet aus zwei Polynome der Länge n/2. Das erste Polynom enthält die Koeffizienten mit geradem Index, das zweite die mit ungeradem Index. Daraus folgt:

41 Schnelle Fouriertransformation
Anstelle der Evaluation des gesamten Polynoms, müssen wir nur noch unsere beiden Teilpolynome über evaluieren und die Ergenis dann nach obiger Gleichung kombinieren. Die Zerlegung in Polynome der Länge n/2, lässt uns zwar die Gleiche Rechnung, aber die Größe halbiert sich. Für unseren Algorithmus ist oBdA n eine Potenz von 2

42 Rekursive FFT 1 n  length [a] n ist Potenz von 2 if n=1 then return a
for k  0 to n/2-1 do return y y soll ein Spaltenvektor sein

43 Interpolation Für n Point-Value Paare
existiert ein eindeutiges Polynom der Länge n, so daß für

44 Interpolation Dazu betrachten wir die Matrizengleichung nach Folie 14
Vandermonde-Matrix, invertierbar falls alle x verschieden

45 Interpolation

46 Interpolation Mit der Inversen der Vandermonde-Matrix erhalten wir
Vergleich mit Folie 38: Tausch im Algorithmus von a und y und mit , nur noch Division von jedem Element durch n. Es folgt Interpolation hat gleiche Laufzeit wie Evaluation !

47 Ergebnis a,b Vektoren der Länge n, n Potenz von 2
a,b durch 0 zu Länge 2n aufgefüllt

48 Laufzeit T(n)=2T(n/2)+Q(n)=Q(nlg n)
Laufzeit FFT Laufzeit T(n)=2T(n/2)+Q(n)=Q(nlg n)

49 Zur Veranschaulichung Parallele FFT

50 Literatur Cormen, Leiserson, Rivest: Introduction to algorithm
H.W. Lang: Algorithmen in Java


Herunterladen ppt "Sören Tönis Seminar: Ergänzungen zu DAP2"

Ähnliche Präsentationen


Google-Anzeigen