Algorithmisches Differenzieren

Modellansatz - A podcast by Gudrun Thäter, Sebastian Ritterbusch

Categories:

Gudruns Arbeitsgruppe begrüßte im Januar 2020 Andrea Walther als Gast. Sie ist Expertin für das algorithmische Differenzieren (AD) und ihre Arbeitsgruppe ist verantwortlich für das ADOL-C Programmpaket zum algorithmischen Differenzieren. Zusammen mit Andreas Griewank hat sie 2008 das Standardbuch zu AD veröffentlicht. Im Abitur und im mathematischen Grundstudium lernt jede und jeder Anwendungen kennen, wo Ableitungen von Funktionen gebraucht werden. Insbesondere beim Auffinden von Minima und Maxima von Funktionen ist es sehr praktisch, dies als Nullstellen der Ableitung zu finden. Bei der Modellierung komplexer Zusammenhänge mit Hilfe von partiellen Differentialgleichungen ist es möglich, diese Idee in ein abstrakteres Setting zu Übertragen. Eine sogenannte Kostenfunktion misst, wie gut Lösungen von partiellen Differentialgleichungen einer vorgegebenen Bedingung genügen. Man kann sich beispielsweise einen Backofen vorstellen, der aufgeheizt wird, indem am oberen und unteren Rand eine Heizspirale Wärme in den Ofen überträgt. Für den Braten wünscht man sich eine bestimmte Endtemperaturverteilung. Die Wärmeverteilung lässt sich mit Hilfe der Wärmeleitungsgleichung berechnen. In der Kostenfunktion wird dann neben der gewünschten Temperatur auch noch Energieeffizienz gemessen und die Abweichung von der Endtemperatur wird zusammen mit der benötigten Energie minimiert. Auch hierzu werden Ableitungen berechnet, deren Nullstellen helfen, diese Kosten zu minimeren. Man spricht hier von optimaler Steuerung. Eine Möglichkeit, die abstrakte Ableitung auszudrücken, ist das Lösen eines sogenannten adjungierten partiellen Differenzialgleichungsproblems. Aber hier wird es sehr schwierig, immer schnell und fehlerfrei Ableitungen von sehr komplexen und verschachtelten Funktionen zu berechnen, zumal sie für jedes Problem immer wieder neu und anders aussehen. Außerdem braucht man in der numerischen Auswertung des Algorithmus oft nur Werte dieser Ableitung an bestimmten Stellen. Deshalb ist die effiziente Berechnung von Funktionswerten der Ableitung ein unverzichtbarer Baustein in zahlreichen Anwendungen, die von Methoden zur Lösung nichtlinearer Gleichungen bis hin zu ausgefeilten Simulationen in der Optimierung und optimalen Kontrolle reichen. Am liebsten sollte dies der Computer fehlerfrei oder doch mit sehr kleinen Fehlern übernehmen können. Auch für das Newtonverfahren braucht man die Ableitung der Funktion. Es ist das Standardverfahren zur Lösung nichtlinearer Gleichungen und Gleichungssysteme. Das algorithmische Differenzieren (AD) liefert genaue Werte für jede Funktion, die in einer höheren Programmiersprache gegeben ist, und zwar mit einer zeitlichen und räumlichen Komplexität, die durch die Komplexität der Auswertung der Funktion beschränkt ist. Der Kerngedanke der AD ist die systematische Anwendung der Kettenregel der Analysis. Zu diesem Zweck wird die Berechnung (...)

Visit the podcast's native language site