Modulinformationssystem Informatik

 

Algorithmisches Differenzieren URL PDF XML

Modulcode: Inf-AlgDiff
Englische Bezeichnung: Algorithmic Differentiation
Modulverantwortliche(r): Prof. Dr. Thomas Slawig
Turnus: unregelmäßig (WS12/13)
Präsenzzeiten: 2V 2Ü 2PÜ
ECTS: 8
Workload: 30 Std. Vorlesung, 45 Std. Präsenzübungen, 165 Std. Selbststudium/Eigenarbeit
Dauer: ein Semester
Modulkategorien: MSc Math (Export) IG (MSc Inf) TG (MSc Inf) MV (MSc Inf)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Theoretische, mathematische und informatikspezifische Grundlagen, praktische Realisierung in Software des Algorithmischen (oder Automatischen) Differenzierens (AD), Analyse von Problemen der Komplexität

Lernziele:

  • Verständnis der verschiedenen relevanten Ableitungsbegriffes für allgemeine Funktionen
  • Verständnis der Darstellung einer Funktion als Auswertungsgraph
  • Verständnis der Ableitungsgenerierung mit Quelltransformation
  • Verständnis und Beherrschung des Einsatzes des Operatorüberladens
  • Verständnis und Einschätzung der Komplexität beim AD allgemein
  • Verständnis und Einschätzung der Komplexität bei speziellen kritischen Problemklassen (z.B. Iterationen)
  • Kenntnisse und Beherrschung der durch die Ableitungstheorie gegebenen Grenzen des AD.
  • Beherrschung und teilweise Implementierung von AD-Software.

Lehrinhalte:

Algorithmisches Differenzieren (AD) ist eine Technik, die ein gegebenes Computerprogramm, das eine Funktion (im mathematischen Sinne) auswertet, in ein Programm transformiert, das die Ableitung der Funktion berechnet.

Die Ableitung einer Funktion ist ein wichtiges Hilfsmittel zur Berechnung von Minima/Maxima der Funktion und für Sensitivitäts- und Unsicherheitsanalysen bezüglich Funktionsparametern oder verwendeten Daten.

AD kann mit Methoden der Quelltransformation und des Operatorüberladens realisiert werden. Um die Komplexität zu reduzieren, ist die Reihenfolge der Auswertung der Anweisungen des Programms von entscheidender Bedeutung (sog. Vorwärts- und Rückwärtsmodus des AD). Weiterhin spielen Kompressionstechniken (Graphfärbealgorithmen) eine Rolle.

In den Übungen werden beispielhaft vorhandene AD-Programme angewendet und selber exemplarische, einfache AD-Software erstellt.

Weitere Voraussetzungen:

Mathematik für Informatiker A-C oder vergleichbare Veranstaltungen aus der Mathematik.

Prüfungsleistung:

Mündliche Modulprüfung, erfolgreiche Bearbeitung von Übungsaufgaben sind als Bonus anrechenbar.

Lehr- und Lernmethoden:

Präsentation, Lehrgespräch, Gruppenarbeit, Übung von theoretischen und praktischen Aufgaben, tw. am Rechner.

Verwendbarkeit:

Diese Modul ist auch als Wahlpflichtmodul im Studiengang BSc Informatik geeignet.

Literatur:

Griewank, Walther: Evaluating Derivatives - Principles of Algorithmic Differentiation, SIAM 2008 (2.Auflage)

Griewank: Evaluating Derivatives - Principles of Algorithmic Differentiation, SIAM 2000 (1. Auflage)

Fischer: Algorithmisches Differenzieren, Skript TU München 2006 http://www-m1.ma.tum.de/foswiki/pub/M1/Lehrstuhl/HFischerAlgorithmischesDifferenzieren/Vorlesung-10.pdf

Giering, Kaminski: Recipees for Adjoint Code Construction, http://www.fastopt.com/papers/racc.pdf

Verweise:

Kommentar:

Dieses Modul kann auch im Wahlpflichtbereich des Bachelorstudiengangs Informatik gehört werden.