Recur : Falls Problem elementar : löse dieses mit spezieller Methode Falls Problem nicht elementar : wende Divide rekursiv an

Ähnliche Dokumente
2 Vollständige Induktion

Übungsaufgaben zur Vorlesung ANALYSIS I (WS 12/13) Serie 10

Aufgaben zur Analysis I

Nachklausur - Analysis 1 - Lösungen

Kapitel 6: Quadratisches Wachstum

Musterlösung zu Übungsblatt 2

Satz Ein Boolescher Term t ist eine Tautologie genau dann, wenn t unerfüllbar ist.

Arithmetische und geometrische Folgen. Die wichtigsten Theorieteile. und ganz ausführliches Training. Datei Nr

... a ik) i=1...m, k=1...n A = = ( a mn

Allgemeine Lösungen der n-dimensionalen Laplace-Gleichung und ihre komplexe Variable

Exponentielles Wachstum

Übungen zur Vorlesung Funktionentheorie Sommersemester Musterlösung zu Blatt 11. c n (z a) n,

Geometrische Folgen. Auch Wachstumsfolgen Viele Aufgaben. Lösungen nur auf der Mathe-CD Hier nur Ausschnitte. Datei Nr

1 Analysis T1 Übungsblatt 1

x m c Φ( r, t) = n q n (t) φ n ( r) (5) ( + k 2 n ) φ n ( r) = 0 (6a)

VORKURS MATHEMATIK DRAISMA JAN, ÜBERARBEITET VON BÜHLER IRMGARD UND TURI LUCA

Zusammenfassung Wirtschaftsinformatik Stefan Käßmann

Mathematik für Wirtschaftswissenschaftler Beispiele, Graken, Beweise. c Uwe Jensen

Kapitel 4: Stationäre Prozesse

Parameter von Häufigkeitsverteilungen

Lösungen der Aufgaben zur Vorbereitung auf die Klausur Mathematik für Informatiker I

2.2.1 Lagemaße. Exkurs: Quantile. und n. p n

Merge-Sort und Binäres Suchen

Übungsblatt 1 zur Vorlesung Angewandte Stochastik

Beweistechniken Vollständige Induktion - Beispiele, Erweiterungen und Übungen

6. Die Gamma-Funktion

Nennenswertes zur Stetigkeit

Page-Rank: Markov-Ketten als Grundlage für Suchmaschinen im Internet

2. Diophantische Gleichungen

3. Tilgungsrechnung Tilgungsarten

Aufgaben und Lösungen der Probeklausur zur Analysis I

Informatik II Dynamische Programmierung

Konfidenzintervall_fuer_pi.doc Seite 1 von 6. Konfidenzintervall für den Anteilswert π am Beispiel einer Meinungsumfrage

Mathematik. Vorlesung im Bachelor-Studiengang Business Administration (Modul BWL 1A) an der FH Düsseldorf im Wintersemester 2008/09

Zahlenfolgen, Grenzwerte und Zahlenreihen

Geodäten im hyperbolischen Raum und Zahlentheorie

-LERNZENTRUM, ETH ZÜRICH

Wirtschaftsmathematik

Übungen zur Vorlesung Funktionentheorie Sommersemester Musterlösung zu Blatt 0

Lerneinheit 2: Grundlagen der Investition und Finanzierung

Fehlerrechnung. 3. Genauigkeit von Meßergebnissen am Beispiel der Längenmessung

n 1,n 2,n 3,...,n k in der Stichprobe auftreten. Für die absolute Häufigkeit können wir auch die relative Häufigkeit einsetzen:

Prof. Dr. Roland Füss Statistik II SS 2008

15.4 Diskrete Zufallsvariablen

2. Gleichwertige Lösungen

3.2 Die Schrödinger-Gleichung

Übungen mit dem Applet Fourier-Reihen

Wahrscheinlichkeit und Statistik

Betriebswirtschaft Wirtschaftsmathematik Studienleistung BW-WMT-S

1 = 1. 6 Induktionsannahme: Die Formal gelte für n = k. Induktionsschritt: Gültigkeit der Formel für k+1: k 2 + (k + 1) 2 = 2 = 6 = 6

Versuch 13/1 NEWTONSCHE INTERFERENZRINGE Blatt 1 NEWTONSCHE INTERFERENZRINGE

Mengenbegriff und Mengendarstellung

Mathematik Abiturwissen. Script von Michael Telgkamp Vorlesung Dr. Bruder

Statistik mit Excel Themen-Special. Peter Wies. 1. Ausgabe, Februar 2014 W-EX2013S

Model CreditRisk + : The Economic Perspective of Portfolio Credit Risk Part I

Wirtschaftsingenieurwesen Wirtschaftsmathematik Prüfungsleistung WI-WMT-P Studiengang Fach Art der Leistung Klausur-Knz. Datum

Statistik I Februar 2005

Ein kleines Einmaleins über Mittelwertbildungen

fdv f x, yz, dzdydx Folie 1

suw m3 = abc. Quadervolumen: abh; Prismenvolumen 1/2abh = Gh.

Die Funktion ist also periodisch mit der Periode 2π. Dabei sind auch Sprungstellen (Sägezahnkurve) (a k cos(kx) + b k sin(kx)) a 0.

AT AB., so bezeichnet man dies als innere Teilung von

Kleines Matrix-ABC. Fachgebiet Regelungstechnik Leiter: Prof. Dr.-Ing. Johann Reger. 1 Elementares

Institut für Stochastik Prof. Dr. N. Bäuerle Dipl.-Math. S. Urban

1.2. Taylor-Reihen und endliche Taylorpolynome

Kapitel II Der Galton-Watson-Prozeß mit Immigration

Ausgangspunkt: Über einen endlichen Zeitraum wird aus einem Kapital (Rentenbarwert RBW v n,i

Transformator. n Windungen

WISTA WIRTSCHAFTSSTATISTIK

Über den Wert der Integralformel

6. Reihen. 6. Reihen 63

FINANZMATHEMATIK. 1. Zinsen und Zinseszinsen. Finanzmathematik 81

(4) = 37,7 % mit 37,7 % Wahrscheinlichkeit sind es höchstens 4 Fahrräder, das ist recht hoch; man kann also die Behauptung nicht wirklich ablehnen.

Folgen und Reihen Glege 03/01

Algebra und Zahlentheorie WS 13/14 Lösungsskizzen zu Zettel 5 PD Dr. Tobias Finis Frederik Garbe, Huy Le Duc

Inhaltsverzeichnis. 3 Stetigkeit. 3.1 Reelle und komplexe Funktionen

Netzwerkreduktion und Pólya's Theorem

Die komplexwertige Gammafunktion

Grundlagen der Mathematik II Lösungsvorschlag zum 2. Tutoriumsblatt

Maximum Likelihood Version 1.6

Finanzmathematik für HAK

LV "Grundlagen der Informatik" Programmierung in C (Teil 2)

SUCHPROBLEME UND ALPHABETISCHE CODES

Differenzengleichungen

Wintersemester 2006/2007, Universität Rostock Abgabetermin: spätestens , 09:00 Uhr. Aufgabe 1.1: (5 P)

Logarithmus - Übungsaufgaben. I. Allgemeines

Weitere Lagemaße: Quantile/Perzentile II. Weitere Lagemaße: Quantile/Perzentile I. Weitere Lagemaße: Quantile/Perzentile IV

Wegen der (mit einem Fehler von nur +1,0 recht guten) Näherung an die Kreiszahl

Höhere Finanzmathematik. Sehr ausführliches Themenheft (d. h. mit Theorie) Aber auch mit vielen Trainingsaufgaben

Gegebenenfalls heisst die Zahl s. der Reihe, und man schreibt

Wissenschaftliches Arbeiten Studiengang Energiewirtschaft

BINOMIALKOEFFIZIENTEN. Stochastik und ihre Didaktik Referentin: Iris Winkler

Statistik Einführung // Konfidenzintervalle für einen Parameter 7 p.2/39

Beschreibende Statistik Kenngrößen in der Übersicht (Ac)

Mathematik für Informatiker I - Prof. Dr. Potts

Lernhilfe in Form eines ebooks

Innerbetriebliche Leistungsverrechnung

von Prof. Dr. Ing. Dirk Rabe FH Emden/Leer

Eine neue Methode zur Berechnung der Anzahl der Primzahlen unter einer gegebenen Größe

Transkript:

Divide-ad-Coquer-Algorithme Fudametales Prizip des Problemlöses Divide : Zerlege das zu lösede Problem i (ei oder) mehrere kleiere Teilprobleme gleiche Typs Recur : Falls Problem elemetar : löse dieses mit spezieller Methode Falls Problem icht elemetar : wede Divide rekursiv a Coquer : Kostruiere Lösug des Problems aus de Lösuge der Teilprobleme Allgemei: sowohl die Koste vo Divide wie vo Coquer sid relevat Beispiele: Mergesort, Quicksort, Karatsuba-Multiplikatio, Strasse-Multiplikatio, closest-pair Algorithmus,... Bemerkug: Mergesort: Divide ist simpel, die eigetliche Arbeit liegt im Coquer (merge) Quicksort: Divide (partitio) ist komplex, Coquer ist simpel Karatsuba: Divide ist simpel, Coquer erfordet Arbeit Strasse: Divide ist simpel, Coquer erfordet Arbeit closest pair: Divide ud Coquer erforder Arbeit wichtige Parameter: Azahl ud Grösse der jeweils erzeugte Teilprobleme 2 Kostebilaz bei divide-ad-coquer-algorithme Mergesort: Vergleichsoperatioe V rek merge() = V rek merge( /2 ) + V rek merge( /2 ) + ( > ), Quicksort: Vergleichsoperatioe (im Mittel) V rek merge() = 0 V quick () = ( ) + X V quick (k) ( 2), V quick () = 0 Karatsuba: Multiplikatioe ud Additioe vo Koeffiziete t K (2) 3 t K () + 8 ( ), t K () = Strasse: arithmetische Operatioe mit Koeffiziete t S (2) = 7 t() + 8 2 ( ), t S () = closest pair: Vergleichsoperatioe ud arithmetische Operatioe t cp () = 2 t cp (/2) + O( log ) ( > 2), t cp (2) = Kostebilaz bei (statische) divide-ad-coquer-algorithme bei Problemgrösse sei Div() : Koste für Divide, Co() : Koste für Coquer a : Azahl der etstadee Teilprobleme, ( i ) i a Grösse der Teilprobleme C() : Gesamtkoste Bilaz: C() = O() ( 0 ) C() = Div() + a i= C( i ) + Co() ( > 0 ) Explizite Lösug bei dieser Allgemeiheit schwierig. Betrachte hier ur eigeschräkte Fälle. 3 4

Vereifachede Aahme: aus Probleme der Grösse etstehe bei Divide jeweils a Teilprobleme der Größe /b, wobei b > kostat auftretede Argumete sid Poteze vo b, d.h. = b m für m 0 Zerlegug wird icht vorzeitig abgebroche: 0 = Zu lösede Rekursio C() = d C() = a C(/b) + Div() + Co() }{{} f() Mit de Abkürzuge c m = C(b m ), f m = f(b m ) (m 0), wobei c 0 = f 0 = d c m = a c m + f m (m > 0) (ihomogee lieare Rekursio. Ordug) 5 ( > ) Lösug (durch Iteratio/Iduktio) c m = a c m + f m = a (a c m 2 + f m ) + f m = a (a (a c m 3 + f m 2 ) + f m ) + f m. j = a j c m j + a k f m k (j =, 2, 3,..., m) m = d a m + a k f m k (m 0) i der ursprügliche Notatio log b C() = d log b a + a k f( b k ) 6 Spezialfall: lieare overhead-fuktio f() = c Für = b m gilt da (beachte m = log b a m = log b a, ( a b ) m = log b a ) Lösugstype für C() = d log b a + c (I) m ( a b ) k (II) m C() = c m = d a m + a k f m k m = d a m + a k c b m k = d log b a + c (I) m ( a b ) k (II) a < b (I) o() (II) Θ() C() Θ() a = b (I) Θ() (II) Θ( log ) C() Θ( log ) a > b (I) Θ( log b a ) (II) Θ( log b a) ) C() Θ( log b a ) Also: Θ() falls a < b C() Θ( log ) falls a = b Θ( log b a ) falls a > b 7 8

Gaz aalog beweist ma im Fall f() = c l mit c, l > 0 Θ( l ) falls a < b l C() Θ( l log ) falls a = b l Θ( log b a ) falls a > b l Diskussio weiterer spezieller Fälle C() = a C(/b) + f() ( > ), C() = f() > 0, wobei b gaz ud 2, a > 0, f() 0. Vereifachug (wie vorher): für ur Poteze vo b betrachte. (Geaue Begrüdug: CLR, Abschitt 4.4.2) Notatio (wie vorher) c m = C(b m ), f m = f(b m ) (m 0) Lösug der Rekursio m c m = f k a m k (m > 0), c 0 = f 0 = f() 9 0 Fall f() Θ ( l) ud a > b l c m = m f k a m k = a m Mit f() A l, also f m A b ml, ist ud daher f 0 m f k m a k A m f k a k b kl a k A a a b l c m Θ ( a m) d.h. C() = c m Θ ( a m) = Θ ( log b a) Fall f() Θ ( l) ud a < b l c m = m f k a m k = a m Mit f() A l, also f m A b ml, ist also c m A b ml Wege c m f m gilt sogar m f k a k m ( a ) k < a b ml b l b l b l a c m O((b m ) l ), d.h. C() O( l ) C() = c m Θ ( l) 2

Fall f() = B l (log b ) q ( > ) ud a = b l m c m = f k a m k = a m (f() m + B k q) Uterfall q < m k= kq kovergiert für m, daher k= c m Θ ( a m), d.h. C() Θ ( log b a) Uterfall q = m k= kq = m k= k = H m log m, daher c m Θ ( a m log m ), d.h. C() Θ ( log b a log log b ) Uterfall q > m k= kq Θ ( m q+), daher c m Θ ( a m m q+), d.h. C() Θ ( log b a (log b ) +q) Beispiele t() = t(/2) + c t() Θ(log ) t() = 2 t(/2) + c t() Θ( log ) t() = 2 t(/2) + c 2 t() Θ( 2 ) t() = 4 t(/2) + c 2 t() Θ( 2 log ) t() = 7 t(/2) + c 2 t() Θ( log 2 7 ) t() = 2 t(/2) + log t() Θ() t() = 3 t(/2) + log t() Θ( log 2 3 ) t() = 2 t(/2) + log t() Θ( log 2 ) t() = 5 t(/2) + ( log ) 2 t() Θ( log 2 5 ) 3 4 Allgemeierer Fall ( Master Theorem ) (Heu, GA Theorem 2.7, Corme, Leiserso, Rivest, Abschitte 4.3 ud 4.4, master method ) Θ(f()) falls f() Ω( log b (a)+ɛ ) ud a f(/b) c f() C() Θ( log b a log ) falls f() Θ( log b a ) Θ( log b a ) falls f() O( log b (a) ɛ ) Aalytischer Kommetar Aufgabe: Utersuchug des Wachstumsverhaltes eier Folge vo Zahle (g ) 0 = (g 0, g, g 2,...) Trasformatio i aalytisches Objekt (Potezreihe) g(z) = g 0 + g z + g 2 z 2 + = g z =0 (wobei ɛ > 0 ud c < kostat) Kovergezradius ρ g : g(z) = g z =0 kovergiert für z < ρ g divergiert für z > ρ g Kriterium vo Cauchy-Hadamard ρ g = lim sup g 5 6

Äquivalete Formulierug: für alle ɛ > 0 ( ρ g ɛ ) i.o. < g a.e. < ( ρ g + ɛ ) i.o. = für uedlich viele, a.e. = für fast alle (edlich-viele Ausahme) Iterpretatio: das asymptotische Wachstum der Koeffiziete eier Potezreihe g(z) wird i seiem expoetielle Verhalte bestimmt durch dere Kovergezradius ρ g. Für geauere Aussage: es kommt auf de Fuktiosverlauf vo g(z) i der Nähe der kleiste Sigularität a, die immer auf dem Kovergezkreis z = ρ g liegt (i de us iteressierede Fälle auch immer auf der positive reelle Achse) Beispiele Geometrische Reihe ρ ga = / a (, a, a 2, a 3,...) g a (z) = 0 a z = Quadrat der geometrische Reihe (, 2a, 3a 2, 4a 3,...) 0( + )a z = g a (z) 2 = ρ g 2 a = / a Logarithmische Reihe ρ log = / a a z ( a z) 2 (0, a, a 2 /2, a 3 /3, a 4 /4,...) a z / = log( a z) 7 8 harmoische Zahle (0,, 3/2, 7/4,..., H,...) H(z) = ρ H = Fiboacci (0,,, 2, 3, 5, 8,...) F (z) = 0 f z = ρ F = /φ = φ = 0.62803... Mittlere Biomialkoeffiziete (, 2, 6, 20,...) B(z) = 0 H z = z log z z z z 2 = z ( φ z)( φ z) ( ) 2 z = 4 z ρ B = /4, also ( ) (4 ɛ) i.o. 2 a.e. < < (4 + ɛ) (geauere Aussage mittels Stirligs Formel) Besoders wichtiges ud istruktives Beispiel: biäre Bäume c = Azahl der biäre Bäume mit iere Kote C(z) = 0 c z = + z + 2z 2 + 5z 3 + 4z 4 + 42z 5 + Wie schell wächst c für? Rekursiosgleichug (folgt direkt aus der Defiitio) c + = c i c i ( 0), c 0 = i=0 Äquivalete Fuktioalgleichug Lösug der quadratische Gleichug C(z) = + z C(z) 2 C(z) = 4z 2z 9 20

Kovergezradius also ρ C = /4 (4 ɛ) i.o. < c a.e. < (4 + ɛ) geauere Aussage durch Reiheetwicklug mittels Newtos Biomialreihe (für x R) ( + z) x = ( ) ( ) x x z x(x ) (x + ) wobei =! 0 Catalas Formel (vgl. Heu, GA, Abschitt 7.7.2) C(z) = ( 4z 2 2z + = 0 Aufgabe.2 für asymptotische Aussage ) z also c = + ( ) 2 Variatio des Beispiels: uäre-biäre Bäume sid defiiert wie biäre Bäume, aber iere Kote köe auch ur eie Nachfolger habe m = Azahl der uäre-biäre Bäume mit + Kote (m ) 0 = (,, 2, 4, 9, 2, 5,...) es gibt keie eifache Formel für m für M(z) = 0 m z gilt wege M(z) = + z M(z) + (z M(z)) 2 M(z) = z 2z 3z 2 2z 2 wege 2z 3z 2 = ( + z)( 3z) ist ρ M = /3, also geauer gilt (3 ɛ) i.o. < c a.e. < (3 + ɛ) m 3 3 4 π 3 2 22 Die Betrachtug vo (eifache) divide-ad-coquer-situatioe führt auf Rekursioe vom Typ Für die Potezreihe bedeutet das c(z) = 0 c m = a c m + f m c z ud f(z) = 0 f z ud Koeffizietevergleich liefert die bekate Formel m c m = a m k f k Für das Produkt vo Potezreihe gilt l 0 h l z l = h(z) = f(z) g(z) = m 0 f m z m g z 0 also c(z) = a z c(z) + f(z) c(z) = a z f(z) ρ h = mi{ρ f, ρ g } Also wird das expoetielle Wachstum vo (h l ) l 0 bestimmt vo ρ f, falls ρ f < ρ g ρ g, falls ρ f > ρ g ρ f (= ρ g ), falls ρ f = ρ g 23 24

Für die divide-ad-coquer-situatio c(z) = a z f(z) sid also prizipiell drei Situatioe möglich ρ f > /a, also ρ c = /a ud somit c m Θ(a m ) Die overhead-koste habe gegeüber de Koste für die a m Elemetarprobleme eie verachlässigbare Ateil ρ f < /a ρ c = ρ f ud somit c m Θ(ρ m f ) Die overhead-koste habe gegeüber de Koste für die a m Elemetarprobleme eie domiierede Ateil ρ f = /a Da ist ρ c = /a, aber die overhead-koste sid erheblich ud mache sich i eiem subexpoetielle Faktor zu a m bemerkbar. Literaturhiweise P. Flajolet, B. Salvy, P. Zimmerma, Automatic average case aalysis of algorithms, Theoretical Computer Sciece, Bad 79 (99), 37-09. P. Flajolet, Mathematical methods i the aalysis of algorithms ad data structures, i: E. Börger (Hrsg.), Treds i Theoretical Computer Sciece, Computer Sciece Press, 988, 225-304. Gruppebibliothek Iformatik: 4GI/mat 7.2-520. J.S. Vitter, P. Flajolet, Average case aalysis of algorithms ad data structures, Kapitel 9 im Hadbook of Theoretical Computer Sciece, herausgegebe vo J.v. Leeuwe, Elsevier, 990, Bad A, 432-524. Gruppebibliothek Iformatik: 4GI/mat 7-3. R. Sedgewick, P. Flajolet, A Itroductio to the Aalysis of Algorithms, Addiso-Wesley, 996. Gruppebibliothek Iformatik: 4GI/mat 2.2.3 004 25 25-