1. Thema: Dynamische Programmierung Das Prinzip des dynamischen Programmierens wird bei der Lösung kombinatorischer Optimierungsprobleme eingesetzt. Grundidee ist, das Problem auf kleinere Teilprobleme zurückzuführen, diesen Proze ss rekursiv fortzuführen bis die Probleme trivial lösbar sind, und dabei die Lösungen der Teilprobleme zu speichern und wiederzuverwenden (memoisation). Dynamische Programmierung erlaubt die globale Optimierung bei exponentiell großsem Suchraum in polynomieller Zeit. Erläutern sie das Prinzip, insbesondere anhand des Problems des String-Matching aus der Bioinformatik. 1. Gusfield: Algorithms on strings, trees and sequences. 2. Gusfield: Algorithms on Strings, Trees and Sequences. 3. Cormen, Leiserson, Rivest, Stein: Algorithmen Eine Einführung.
2. Thema: Teile und Herrsche Das Prinzip Teile und Herrsche (divide and conquer, divide et impera), das bei der Konstruktion effizienter Algorithmen ausgenutzt wird, ist abstrakt unter Quantifizierung der möglichen Laufzeitverbesserungen sowie anhand verschiendener Beispiele zu erläutern. Beispiele: FFT (kurz:anwendungen), Merge-Sort (evtl. Quick-Sort). 1. Cormen, Leiserson, Rivest, Stein: Algorithmen Eine Einführung.
3. Thema: OpenMP Ein wesentliches Ergebnis der Arbeit soll ein Rezeptbuch zur Arbeit mit OpenMP an den Ressourcen des ZIH sein. Zum anderen soll auf Besonderheiten und typische Probleme bei der Arbeit auf shared memory Maschinen (Synchronisation, Datenkonsistenz, etc.) hingewiesen werden. Neben dem klassischen HelloWorld-Programm sollten einzwei Basis-Algorithmen (z.b. Matrizenmultiplikation) parallel implementiert werden. 1. Chandra,... Parallel Programming in OpenMP 2. Handbücher/Material des ZIH
4. Thema: Iterative Verfahren Poisson-Gleichung im Einheitsquadrat, Diskretisierung mit finiten Elementen, Lösen durch iterative Verfahren. Eine der folgenden Klassen sollte ausführlich dargestellt werden: SSOR, Krylov-Raum-Verfahren, Mehrgitter- Verfahren. Zu den anderen Verfahren sollte die prinzipielle Funktionsweise vorgestellt werden. Vergleiche mit direkten Lösern sind zu ziehen. 1. Numerik Standard-Literatur 2. Andreas Meister: Numerik linearer Gleichungssysteme.
5.Thema: Zeitintegration mit Schrittweitensteuerung Zu implementieren ist ein explizites Runge-Kutta- Verfahren (mind. 2. Ordnung) mit Schrittweitensteuerung durch Richardsonextrapolation/Einbettung. Als Anwendungsbeispiel dient ein Räuber-Beute Modell (Lottka- Volterra Gleichung). Zu erläutern sind die theoretischen Grundlagen einer Schrittweitensteuerung, mithin das Konzept des lokalen Fehlers, der Konsistenzordnung und der Fehlerschätzung am Beispiel des expliziten/verbesserten Euler-Verfahrens. Ausarbeitung (ca. 10 S.) zu präsentieren. 1. Strehmel/Weiner: Numerik gewöhnlicher Differentialgleichungen 2. Hairer/Wanner: Solving ordinary differential equations I
13.Thema: Finite Differenzen Eine Diskretisierung mit finiten Differenzen kann zur Lösung partieller Differentialgleichungen von elliptischem, parabolischem und hyperbolischem Typ eingesetzt werden. Eine wichtige Rolle spielen dabei die Begriffe Ordnung und Stabilität. Diese sind anhand der vorliegenden Probleme zu erläutern. Ausgewählte Verfahren sind zu implementieren. Ausarbeitung (ca. 10 S.) zu präsentieren. 1. Hundsdorfer/Verwer: Numerical solution of timedependent reaction-advection-diffusion equations. 2.