WS 2006-07 Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Fast Fourier Transformation
Algorithmentheorie 08 – Dynamische Programmierung (4) Editierdistanz Approximative Zeichenkettensuche Sequence Alignment Prof. Dr. Th. Ottmann WS
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Mathematik hat Geschichte
Schnelle Matrizenoperationen von Christian Büttner
Einführung in die Informatik: Programmierung und Software-Entwicklung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS 03/041 Algorithmentheorie 01 - Einleitung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
WS 03/04 Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (04 – Entwurfsverfahren) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 01 – Divide and Conquer (Segmentschnitt) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (3) Konstruktion optimaler Suchbäume Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Algorithmen und Datenstrukturen
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Union-Find-Strukturen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
Kapitel 5 Stetigkeit.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Das freie Randwertproblem von Stokes
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Differentieller Stromverstärker
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
SK / , , in Hochkössen und der Wildschönau flow Ski- und Snowboardschule Intersport Menzel.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Polynome und schnelle Fourier-Transformation
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Auslegung eines Vorschubantriebes
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES KULTURELLER ZUSAMMENHALT UND AUSDEHNUNG DER IDEEN AUF EUROPÄISCHEM.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Analyseprodukte numerischer Modelle
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
Kompetenztraining Jura Martin Zwickel / Eva Julia Lohse / Matthias Schmid ISBN: © 2014 Walter de Gruyter GmbH, Berlin/Boston Abbildungsübersicht.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Korrektur Aufgabe 8.1 Anstatt x2-2x+3 muss es heissen x2-4x+3.
 Präsentation transkript:

WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann

2WS Polynome Reelles Polynom p in einer Variablen x p(x) = a n x n a 1 x 1 + a 0 a 0,..., a n R, a n 0: Koeffizienten von p Grad von p: höchste Potenz in p (= n) Beispiel: p(x) = 3x 3 – 15x x Menge aller reellen Polynome: R[x]

3WS Operationen auf Polynomen 1. Addition

4WS Operationen auf Polynomen 2. Produkt c i : Welche Monomprodukte haben Grad i ? Polynomring R[x]

5WS Operationen auf Polynomen 3. Auswerten an der Stelle x 0 : Horner-Schema Zeit: O(n)

6WS Repräsentation eines Polynoms p(x) R[x] Möglichkeit zur Repräsentation von p(x): 1. Koeffizientendarstellung Beispiel:

7WS Repräsentation eines Polynoms 2. Nullstellenprodukt p(x) R[x] Beispiel:

8WS Repräsentation eines Polynoms 3. Punkt/Wertdarstellung Interpolationslemma Jedes Polynom p(x) aus R[x] vom Grad n ist eindeutig bestimmt durch n+1 Paare (x i, p(x i )), mit i = 0,...,n und x i x j für i j Beispiel: Das Polynom wird durch die Paare (0,0), (1,6), (2,0), (3,0) eindeutig festgelegt.

9WS Operationen auf Polynomen p, q R[x], Grad(p) = Grad(q) = n Koeffizientendarstellung Addition: O(n) Produkt: O(n 2 ) Auswertung an der Stelle x 0 : O(n) Punkt/Wertdarstellung

10WS Operationen auf Polynomen Addition: Zeit: O(n) Produkt: (Voraussetzung: n Grad(pq)) Zeit: O(n) Auswerten an der Stelle x´: ?? Umwandeln in Koeffizientendarstellung (Interpolation)

11WS Polynomprodukt Berechnung des Produkts zweier Polynome p, q vom Grade < n p,q Grad n-1, n Koeffizienten Auswertung: 2 n Punkt/Wertpaare und Punktweise Multiplikation 2 n Punkt/Wertpaare Interpolation pq Grad 2 n -2, 2 n -1 Koeffizienten

12WS Ansatz für Divide and Conquer Idee: (n sei gerade)

13WS Repräsentation von p(x) Annahme: Grad(p) < n 3a. Werte an den n Potenzen der n-ten komplexen Haupteinheitswurzel Potenz von n (Einheitswurzeln): 1 =

14WS Diskrete Fourier Transformation Werte von p für die n Potenzen von n legen p eindeutig fest, falls Grad(p)<n. Diskrete Fourier Transformation (DFT) Beispiel: n=4

15WS Auswertung an den Einheitswurzeln

16WS Auswertung an den Einheitswurzeln

17WS Polynomprodukt Berechnung des Produkts zweier Polynome p, q vom Grade < n p,q Grad n-1, n Koeffizienten Auswertung: 2 n Punkt/Wertpaare und Punktweise Multiplikation 2 n Punkt/Wertpaare Interpolation pq Grad 2 n -2, 2 n -1 Koeffizienten

18WS Eigenschaften der Einheitswurzel bilden eine multiplikative Gruppe Kürzungslemma Für alle n > 0, 0 k n, und d > 0 gilt: Beweis: Folge:

19WS Diskrete Fourier Transformation Fast Fourier Transformation: Berechnung von DFT n (p) mittels eines Divide-and-Conquer Ansatzes

20WS Diskrete Fourier Transformation Idee: (n sei gerade)

21WS Diskrete Fourier Transformation Auswertung für k = 0,..., n – 1

22WS Diskrete Fourier Transformation Beispiel:

23WS Berechnung von DFT n Einfachster Fall: n = 1 (Grad(p) = n –1 = 0) DFT 1 (p) = a 0 Sonst : Divide: Teile p in p 0 und p 1 auf Conquer: Berechne DFT n/2 (p 0 ) und DFT n/2 (p 1 ) rekursiv Merge: Berechne für k = 0,..., n –1: DFT n (p) k =

24WS Eine kleine Verbesserung Also falls k < n/2:

25WS Eine kleine Verbesserung Beispiel:

26WS Fast Fourier Transformation Algorithmus FFT Input: Ein Array a mit den n Koeffizienten eines Polynoms p und n = 2 k Output: DFT n (p) 1.if n = 1 then /* p ist konstant */ 2.return a 3.d [0] = FFT([a 0, a 2,..., a n-2 ], n/2) 4.d [1] = FFT([a 1, a 3,..., a n-1 ], n/2) 5. n = e 2 i/n 6. = 1 7. for k = 0 to n/2 – 1 do /* = n k */ return d

27WS FFT : Beispiel a = [0, 18, -15, 3 ] a [0] = [0, -15] a [1] = [18, 3] FFT([0, -15], 2) = (FFT([0],1) + FFT([-15],1), FFT([0],1) - FFT([-15],1)) = (-15,15) FFT([18, 3],2) = (FFT([18],1) + FFT([3],1), FFT([18],1) - FFT([3],1)) = (21,15) k = 0 ; = 1 d 0 = * 21 = 6 d 2 = -15 – 1 * 21 = -36 k = 1 ; = i d 1 = 15 + i*15 d 3 = 15 – i*15 FFT(a, 4) = (6, 15+15i, -36, 15 –15i)

28WS Analyse T(n) = Zeit um ein Polynom vom Grad < n an den Stellen auszuwerten. T(1) = O(1) T(n) = 2 T(n/2) + O(n) = O(n log n)

29WS Polynomprodukt Berechnung des Produkts zweier Polynome p, q vom Grade < n p,q Grad n-1, n Koeffizienten Auswertung durch FFT: 2 n Punkt/Wertpaare und Punktweise Multiplikation 2 n Punkt/Wertpaare Interpolation pq Grad 2 n -2, 2 n -1 Koeffizienten

30WS Interpolation Umrechnung der Punkt/Wert-Darstellung in die Koeffizientendarstellung Gegeben: (x 0, y 0 ),..., (x n-1, y n-1 ) mit x i x j, für alle i j Gesucht: Polynom p mit Koeffizienten a 0,..., a n-1, so dass

31WS Interpolation Matrixschreibweise

32WS Interpolation Spezialfall (hier) : Definition:

33WS Interpolation Satz Für alle 0 i, j n – 1 gilt: Beweis zu zeigen:

34WS Interpolation

35WS Interpolation Fall 1: i = j Fall 2: i j,

36WS Interpolation Summationslemma Für alle n > 0, l 0 mit n l Beweis:

37WS Interpolation

38WS Interpolation

39WS Interpolation und DFT denn

40WS Polynomprodukt durch FFT Berechnung des Produkts zweier Polynome p, q vom Grade < n p,q Grad n-1, n Koeffizienten Auswertung durch FFT: 2 n Punkt/Wertpaare und Punktweise Multiplikation 2 n Punkt/Wertpaare Interpolation durch FFT pq Grad 2 n -2, 2 n -1 Koeffizienten