LEA
Fakultät für Informatik der Technischen Universität München
Lehrstuhl für Effiziente Algorithmen
Postadresse: 80290 München; Hausadresse: Arcisstr.21, 80333 München
english

Parallele Algorithmen II (SS97)


* Dozent:
Prof. Dr. Ernst W. Mayr

* Bereich:
4 SWS Vorlesung im Bereich Informatik III (Theoretische Informatik)
Vertiefende Vorlesung im Gebiet Algorithmen

* Zeit und Ort:
Di 08:30 - 10:00, Hörsaal 2770
Fr 08:30 - 10:00, Hörsaal 1100
Beginn: 2. Mai

* Übung:
2 SWS Übung zur Vorlesung
Di 10:15 - 12:15, Raum S2225
Übungsleitung: Tom Friedetzky
Übungsschein: Einen Schein erhält, wer wenigstens 40% der Punkte zu den Hausaufgaben erreicht und erfolgreich an der Semestralklausur teilnimmt.

* Hörerkreis:
Studierende im Hauptstudium der Informatik
Studierende mit Nebenfach Informatik

* Voraussetzungen:
Stoff des Informatik-Grundstudiums
Vorlesung Parallele Algorithmen empfehlenswert

* Empfehlenswert für:
Grundlegend im Bereich Algorithmen

* Inhalt:
Der Zweck dieser Vorlesung ist das Studium fundamentaler Konzepte in der Parallelrechnung. Es werden Maschinenmodelle, der Entwurf paralleler Algorithmen und die Grundlagen paralleler Komplexitätstheorie besprochen.

* Themenübersicht:
  1. Hyperwürfel und hyperwürfelartige Netzwerke
    1. Shuffle-Exchange und de Bruijn-Netzwerke
      1. Definitionen und grundlegende Eigenschaften
      2. The Diaconis Card Tricks:
        1. Ein Misch-Trick
        2. Ein Gedankenlese-Trick
      3. Simulation normaler Hyperwürfel-Algorithmen
      4. Weitere Einbettungs- und Teilgraph-Resultate
    2. Die Diskrete Fourier-Transformation (FFT)
      1. Die algorithmischen Grundlagen
      2. Implementation auf dem Butterfly- und SE-Netzwerk
      3. Anwendungen: Konvolution, Polynomarithmetik
      4. Bitkomplexität der DFT
    3. Algorithmen für Packet-Routing
      1. Definitionen, Modelle
      2. Greedy-Algorithmen, worst-case Instanzen
      3. Eine untere Schranke für oblivious Routing
      4. Konzentrations- und Monotones Routing:
        1. Konzentrationsrouting auf dem Hyperwürfel
        2. Konzentrationsrouting auf dem Butterfly
        3. Inverses Konzentrationsrouting
        4. Monotones Routing
        5. Verallgemeinertes monotones Routing
      5. Randomisiertes Routing auf dem Butterfly
        1. Analyse der Knotenbelastung
        2. Analyse des Zeitbedarfs
        3. Andere Contention-Resolution-Protokolle
        4. Übertragung auf den Hyperwürfel
      6. Umwandlung von Worst-case Instanzen in Average-Case Instanzen
        1. Hashing, $r$-fach unabhängige Hashfunktionen
        2. Randomisiertes Routing
      7. Ergänzungen: Ranade's Algorithmus, Combining, Mehrfachkopien
    4. Sortieren
      1. Odd-Even-Merge-Sort
      2. Sortieren kleiner Datenmengen
  2. Das PRAM-Modell
    1. Grundlegende Diskussion
    2. Die Varianten des PRAM-Modells
    3. Grundlegende Algorithmen
      1. Censusfunktionen und Präfixberechnung
      2. Beschleunigte Kaskadierung
        1. Maximum in konstanter Zeit
        2. Algorithmus mit doppelt-logarithmischem Zeitbedarf
        3. Beschleunigte Kaskadierung
      3. Partitionierung
        1. Einfacher Merging-Algorithmus
        2. Optimaler EREW-Merging-Algorithmus
      4. Symmetrieauflösung
        1. Die grundlegende Routine
        2. Ein schneller 3-Färbungsalgorithmus
        3. Optimaler 3-Färbungsalgorithmus
    4. Listen und Bäume
      1. List Ranking
        1. Ein einfacher LR-Algorithmus
        2. Ein arbeits- und zeitoptimaler LR-Algorithmus, mit Analyse
      2. Euler-Tour
        1. Definition, einfacher Algorithmus
        2. Berechnung von Baumfunktionen:
          1. Wurzeln eines Baums
          2. Postorder-Numerierung
          3. Knotentiefe
      3. Baumkontraktion
        1. Die Rake-Operation
        2. Auswertung arithmetischer Baumausdrücke
      4. Lowest Common Ancestors
        1. Definition
        2. Der Schieber/Vishkin-Algorithmus
      5. Sortieralgorithmen
        1. Definitionen
        2. Merging-basierte Algorithmen
        3. Cole's Merge-Sort
      6. Untere Schranken für die PRAM
        1. Grundlagen
        2. Die allgemeine Methode
        3. Schranken für spezifische Probleme
    5. P-Vollständigkeit
      1. Konzepte der Parallelisierbarkeit
      2. CVP ist P-vollständig
      3. Anwendungen auf DFS, LP

* Weiterführende bzw. vertiefende Vorlesungen:
Effiziente Algorithmen und Datenstrukturen II

* Skript:
kein Skript

* Literatur:
F. Thomson Leighton:
Introduction to Parallel Algorithms and Architectures:
Arrays - Trees - Hypercubes

Morgan Kaufman Publishers, San Mateo, CA, 1992
Joseph JáJá:
Parallel Algorithms
Addison Wesley Publishing Company, 1992

* Sprechstunde:
siehe hier


mayr@informatik.tu-muenchen.de