Sortiernetzwerke1 Seminar über Algorithmen SS 2005 von Arash Sarkohi und Christian Bunse.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

(bitones Sortieren, Hyperquicksort, Regular Sampling)
Christian Scheideler SS 2009
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Kapitel 3 Arithmetische Schaltkreise
DNA-Array oder DNA-Chip
Schnelle Matrizenoperationen von Christian Büttner
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Das LCA – Problem in Suffixbäumen
Kapitel 6: Klassifizierung von Sortiertechniken
Kapitel 6. Suchverfahren
<d,a,s, ,i,s,t, ,e,i,n,e, ,L,i,s,t,e>
Kapitel 3: Listen Lineare Liste: endliche Folge von Elementen eines Grundtyps (n>=0), leere Liste falls n=0 Listenelemente besitzen.
5. Sortier-Algorithmen Vorbemerkungen:
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Vorlesung 15. Januar 2009.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Halbzeit: Kurze Wiederholung
Sortieren vorsortierter Daten
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
WS 06/07 Algorithmentheorie 01 - Einleitung Prof. Dr. Th. Ottmann Tobias Lauer.
Vortrag: Ingo Gensch, Mathias Reich am:
Computer Science Unplugged Sortiernetzwerke © Computer Science Unplugged canterbury.ac.nz von Tim Bell, Ian H. Witten und Mike Fellows Übersetzung:
Effiziente Algorithmen
Grenzen der Regularität
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt WS 06/
Polynome und schnelle Fourier-Transformation
Mehrkriterielle Optimierung mit Metaheuristiken
Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz.
Information und Kommunikation
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Analyse der Laufzeit von Algorithmen
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Binärbäume.
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
 Präsentation transkript:

Sortiernetzwerke1 Seminar über Algorithmen SS 2005 von Arash Sarkohi und Christian Bunse

Sortiernetzwerke2 Übersicht Einführung und Begriffe Laufzeit Entwickeln eines effizienten Sortiernetzwerks

Sortiernetzwerke3 Was ist ein Sortiernetzwerk Ein Sortiernetzwerk ist ein Vergleichsnetzwerk, das eine Eingabe sortiert

Sortiernetzwerke4 Was ist ein Vergleichsnetzwerk Ein Vergleichsnetzwerk besteht aus Vergleichselementen Es kann Vergleiche parallel durchführen Begriffe: Eingabe/Ausgabesequenz: Werte auf den Eingangs-bzw. Ausgangsleitungen

Sortiernetzwerke5 Das Vergleichselement

Sortiernetzwerke6 Das Vergleichselement

Sortiernetzwerke7 Das Vergleichselement

Sortiernetzwerke8 Sortiernetzwerke Begriffe Vergleichselement arbeitet in Zeit O(1) Tiefe einer Leitung: Anzahl der VE, die auf der Leitung liegen Tiefe des Netzwerkes: Maximale Tiefe einer Ausgangsleitung

Sortiernetzwerke9 Beispiel

Sortiernetzwerke10 Beispiel

Sortiernetzwerke11 Beispiel

Sortiernetzwerke12 Beispiel

Sortiernetzwerke13 Sortiernetzwerke Begriffe Sortiernetzwerk ist ein Vergleichsnetzwerk, in dem die Ausgabesequenz für jede Eingabesequenz monoton steigend ist.

Sortiernetzwerke14 Sortiernetzwerke Laufzeit Untere Schranke für die Anzahl der Vergleiche bei vergleichsbasierten Sortieralgorithmen:  Auch ein Sortiernetzwerk muss mindestens Vergleichselemente besitzen

Sortiernetzwerke15 Sortiernetzwerke Laufzeit => Jedes Sortiernetzwerk mit n Eingängen muss mindestens die Tiefe haben.

Sortiernetzwerke16 Beispiel

Sortiernetzwerke17 Warum sind Netzwerke mit Tiefe nicht trivial ? Direkte Umsetzung von bekannten Algorithmen in Netzwerke ist nur bedingt möglich Sequentielle Algorithmen sind nur bedingt parallelisierbar

Sortiernetzwerke18 Effiziente Sortiernetzwerke Es existiert in der Tat ein Sortiernetzwerk mit der Tiefe, allerdings mit riesigen Konstanten und nur schwer implementierbar Unser Ziel ist daher ein Sortiernetzwerk mit der Tiefe

Sortiernetzwerke19 Vorgehen Problemreduktion auf das Null-Eins- Prinzip Entwickeln eines bitonischen Sortierers Entwickeln eines Mischers Entwickeln eines Sortiernetzwerks mit Hilfe von Mischern

Sortiernetzwerke20 Problemreduzierung Ziel: Arbeiten mit dem Alphabet {0,1} statt mit beliebigen Zahlen. Zu Zeigen: Wenn SN für Eingabe aus {0,1} korrekt arbeitet, so arbeitet es auch korrekt für beliebige Eingaben.

Sortiernetzwerke21 Problemreduzierung Lemma: Wenn ein Vergleichsnetzwerk die Eingabesequenz a = (a 1, a 2, …, a n ) in eine Ausgabesequenz b = (b 1, b 2, …, b n ) umwandelt, dann transformiert das Netzwerk die Eingabesequenz f(a) = (f(a 1 ), f(a 2 ), …,f(a n )) für jede beliebige monoton steigende Funktion f in eine Ausgabesequenz f(b) = (f(b 1 ), f(b 2 ), …,f(b n ))

Sortiernetzwerke22 Null-Eins-Prinzip Wenn ein Vergleichsnetzwerk mit n Eingängen alle möglichen Sequenzen von Nullen und Einsen korrekt sortiert, dann sortiert es alle Sequenzen beliebiger Zahlen korrekt

Sortiernetzwerke23 Bitonisches Netzwerk Ziel: Vergleichsnetzwerk, das bitonische Sequenzen sortiert

Sortiernetzwerke24 Bitonisches Netzwerk Def.: Eine bitonische Sequenz ist eine Sequenz, die monoton steigt und dann monoton fällt oder zirkulär verschoben werden kann, so dass sie dann monoton steigend und dann monoton fallend ist. Beispiele: (1,4,6,8,3,2) (6,9,4,2,3,5).

Sortiernetzwerke25 Bitonisches Netzwerk Bitonische Null-Eins-Sequenzen haben die Form: oder für i,j,k >= 0.

Sortiernetzwerke26 Bitonisches Netzwerk Halfcleaner ein Halfcleaner ist ein Vergleichsnetzwerk der Tiefe 1, bei dem für i=1,…,n/2 die Eingabezeile i mit der Zeile i+n/2 verglichen wird. alle Elemente der oberen Hälfte sind kleiner gleich alle Elemente der unteren Hälfte

Sortiernetzwerke27 Bitonisches Netzwerk Halfcleaner

Sortiernetzwerke28 Bitonisches Netzwerk Lemma: Wenn die Eingabe eines Halfcleaners eine bitonische Sequenz ist, dann sind sowohl die untere als auch die obere Hälfte der Ausgabe bitonisch Bei Nullen und Einsen ist mind. eine Hälfte rein bitonisch (nur Einsen oder nur Nullen)

Sortiernetzwerke29 Bitonischer Sortierer Der Bitonische Sortierer [n] sortiert eine bitonische Eingabesequenz rekursiv durch einen Halfcleaner[n] und zwei bitonischen Sortierer[n/2].

Sortiernetzwerke30 Bitonischer Sortierer

Sortiernetzwerke31 Bitonischer Sortierer

Sortiernetzwerke32 Bitonischer Sortierer Laufzeit Die Tiefe D(n) kann durch die folgende Rekursionsgleichung berechnet werden:

Sortiernetzwerke33 Bitonischer Sortierer Aus dem Null-Eins-Prinzip folgt, dass jede beliebige bitonische Sequenz in Tiefe log n sortiert werden kann.

Sortiernetzwerke34 Bitonischer Sortierer Vergleichselemente Anzahl der Vergleichselemente in einem bitonischen Sortierer:

Sortiernetzwerke35 Mischnetzwerk Ein Mischnetzwerk ist ein Netzwerk, das zwei sortierte Eingabesequenzen zur einer verschmilzt.

Sortiernetzwerke36 Mischnetzwerk Idee: bilde aus zwei vorsortierten Sequenzen eine bitonische, und sortiere diese wie gehabt. Invertiere dafür die zweite Eingabehälfte

Sortiernetzwerke37 Mischnetzwerk Äquivalent zu Halfcleaner

Sortiernetzwerke38 Mischnetzwerk Das Netzwerk Merger[n] ist identisch mit dem bitonischen Sortierer, allerdings wird der Halfcleaner modifiziert.

Sortiernetzwerke39 Mischnetzwerk

Sortiernetzwerke40 Mischnetzwerk

Sortiernetzwerke41 Mischnetzwerk Laufzeit Die Laufzeit ist identisch mit der des bitonischen Sortierers

Sortiernetzwerke42 Unser Sortiernetzwerk Der Sortierer[n] sortiert eine beliebige Eingabesequenz rekursiv durch zwei Sortierer[n/2] und einen Mischer[n].

Sortiernetzwerke43 Unser Sortiernetzwerk

Sortiernetzwerke44 Unser Sortiernetzwerk

Sortiernetzwerke45 Unser Sortiernetzwerk

Sortiernetzwerke46 Unser Sortiernetzwerk Laufzeit Die Tiefe D(n) kann durch die folgende Rekursionsgleichung bestimmt werden:

Sortiernetzwerke47 Unser Sortiernetzwerk Laufzeit Damit können n beliebige Zahlen parallel in Zeit sortiert werden.

Sortiernetzwerke48 Unser Sortiernetzwerk Vergleichselemente Anzahl der Vergleichselemente:

Sortiernetzwerke49 Ende!

Sortiernetzwerke50 Literatur Th.H.Cormen/C.E.Leiserson/R.Rivest/C.Stein Introduction to Algorithms, Second Edition