Wie passen große Aufgaben in kleine Rechner? Steffen Börm Christian-Albrechts-Universität zu Kiel Night of the Profs, 16. November 2012 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 1 / 14
Beispiel: Gravitationskräfte in Galaxien NGC 4414, Quelle: NASA/Wikipedia S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 2 / 14
Beispiel: Elektrostatische Kräfte in Molekülen Hexokinase, Quelle: Wikipedia S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 3 / 14
Gemeinsamkeiten Sehr viele Körper (Sonnen bzw. Atome), jeder beeinflusst jeden anderen (Gravitation bzw. Elektrostatik), ähnliche Naturgesetze wirken (reziprokes Abstandsquadrat). S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 4 / 14
Gemeinsamkeiten Sehr viele Körper (Sonnen bzw. Atome), jeder beeinflusst jeden anderen (Gravitation bzw. Elektrostatik), ähnliche Naturgesetze wirken (reziprokes Abstandsquadrat). Aufgabe: Simulation solcher großen Systeme im Computer. Quelle: NASA/Wikipedia, Wikipedia S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 4 / 14
Gemeinsamkeiten Sehr viele Körper (Sonnen bzw. Atome), jeder beeinflusst jeden anderen (Gravitation bzw. Elektrostatik), ähnliche Naturgesetze wirken (reziprokes Abstandsquadrat). Aufgabe: Simulation solcher großen Systeme im Computer. Quelle: NASA/Wikipedia, Wikipedia S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 4 / 14
Gemeinsamkeiten Sehr viele Körper (Sonnen bzw. Atome), jeder beeinflusst jeden anderen (Gravitation bzw. Elektrostatik), ähnliche Naturgesetze wirken (reziprokes Abstandsquadrat). Aufgabe: Simulation solcher großen Systeme im Computer. Quelle: NASA/Wikipedia, Wikipedia S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 4 / 14
Aufgabenstellung Typisches Beispiel: Gravitation zwischen Sonnen in einer Galaxie. Jede Sonne übt auf jede andere eine Gravitationskraft aus. Die Kräfte summieren sich. Wenn wir die Kräfte kennen, können wir das Verhalten der Galaxie vorhersagen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 5 / 14
Aufgabenstellung Typisches Beispiel: Gravitation zwischen Sonnen in einer Galaxie. Jede Sonne übt auf jede andere eine Gravitationskraft aus. Die Kräfte summieren sich. Wenn wir die Kräfte kennen, können wir das Verhalten der Galaxie vorhersagen. Problem: Eine Galaxie enthält mehrere hundert Millionen Sonnen. 100.000.000 Sonnen 10.000.000.000.000.000 einzelne Kräfte. Auch bei schnellen Rechnern sehr hoher Aufwand. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 5 / 14
Approximation Kräfte zwischen einzelnen Sonnen sind leicht zu berechnen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 6 / 14
Approximation Kräfte zwischen einzelnen Sonnen sind leicht zu berechnen. Kräfte zwischen mehreren kosten mehr Zeit. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 6 / 14
Approximation Kräfte zwischen einzelnen Sonnen sind leicht zu berechnen. Kräfte zwischen mehreren kosten mehr Zeit. Idee: Ersetze hinreichend weit entfernte Sonnen durch eine virtuelle Ersatz-Sonne, die näherungsweise dieselbe Kraft ausübt. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 6 / 14
Approximation Kräfte zwischen einzelnen Sonnen sind leicht zu berechnen. Kräfte zwischen mehreren kosten mehr Zeit. Idee: Ersetze hinreichend weit entfernte Sonnen durch eine virtuelle Ersatz-Sonne, die näherungsweise dieselbe Kraft ausübt. Genauigkeit: Ausreichend hoch, falls Durchmesser gegen Abstand nicht zu groß. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 6 / 14
Approximation Kräfte zwischen einzelnen Sonnen sind leicht zu berechnen. Kräfte zwischen mehreren kosten mehr Zeit. Idee: Ersetze hinreichend weit entfernte Sonnen durch eine virtuelle Ersatz-Sonne, die näherungsweise dieselbe Kraft ausübt. Genauigkeit: Ausreichend hoch, falls Durchmesser gegen Abstand nicht zu groß. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 6 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Partition Idee: Zerlege den gesamten Raum in Teile, die sich durch eine Ersatz-Sonne beschreiben lassen. Beobachtung: Relativ wenige Teilgebiete reichen aus. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 7 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Wiederverwendbarkeit Idee: Viele Ersatz-Sonnen lassen sich für mehrere Berechnungen verwenden. Frage: Wie hoch ist der Rechenaufwand? S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 8 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 Restgebiet der Kantenlänge 1/2 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 + 3 Restgebiet der Kantenlänge 1/4 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 + 3 + 3 Restgebiet der Kantenlänge 1/8 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 + 3 + 3 + 3 Restgebiet der Kantenlänge 1/16 S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 + 3 + 3 + 3 +... + 3 = 3m, Restgebiet der Kantenlänge 1/2 m. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Rechenaufwand Frage: Wie aufwendig ist die Berechnung für eine Sonne? Ergebnis: Anzahl Ersatz-Sonnen 3 + 3 + 3 + 3 +... + 3 = 3m, Restgebiet der Kantenlänge 1/2 m. Bei n Sonnen lediglich log 2 n Ersatz-Sonnen erforderlich. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 9 / 14
Verbesserungen Höhere Ordnung: Verwende mehr als eine Ersatz-Sonne pro Teilgebiet. Wesentlich bessere Näherung. Hierarchie: Nutze Zusammenhänge zwischen Ersatz-Sonnen. Wesentlich schnellere Berechnung. Symmetrie: Fasse auch Zielsonnen in Teilgebieten zusammen. Noch schnellere Berechnung. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 10 / 14
Abstraktion Ziel: Verallgemeinerung unseres Verfahrens, um neue Anwendungsgebiete zu erschließen. Ansatz: Mathematische Abstraktion. Gegeben sind Punkte im Raum (beispielsweise Sonnen). Zu jedem Punkt gehören gewisse Größen (beispielsweise Massen, Ladungen, Kräfte). Die Beziehung der Größen können durch wenige Hilfsgrößen (beispielsweise Ersatz-Sonnen) beschrieben werden. Einschränkung: Wir kennen die Beziehungen zwischen den Größen einzelner Punkte, aber nicht die allgemeinen Gesetzmäßigkeiten. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 11 / 14
Kreuzapproximation Ziel: Konstruiere Approximation ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 12 / 14
Kreuzapproximation Ziel: Konstruiere Approximation ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne alle Kräfte f kj, die auf eine Masse k wirken. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 12 / 14
Kreuzapproximation Ziel: Konstruiere Approximation ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne alle Kräfte f kj, die auf eine Masse k wirken. Berechne alle Kräfte f il, die eine Masse l ausübt. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 12 / 14
Kreuzapproximation Ziel: Konstruiere Approximation ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne alle Kräfte f kj, die auf eine Masse k wirken. Berechne alle Kräfte f il, die eine Masse l ausübt. Dann können wir alle Kräfte durch f ij f il f kj /f kl approximieren. Exakt sowohl für i = k als auch für j = l. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 12 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. Setze größere Gebiete aus kleineren zusammen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. Setze größere Gebiete aus kleineren zusammen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. Setze größere Gebiete aus kleineren zusammen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Divide et impera Ziel: Konstruiere Ersatz-Sonnen ohne Kenntnis der allgemeinen physikalischen Gesetze aus den individuellen Wechselwirkungen. Algorithmus: Berechne Kräfte für ein kleines Teilgebiet. Konstruiere eine Ersatz-Sonne für dieses Teilgebiet. Wiederhole für alle kleinen Teilgebiete. Setze größere Gebiete aus kleineren zusammen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 13 / 14
Hardware Bisher: Rechenaufwand von n 2 auf n log 2 n reduziert. Problem: Für großes n immer noch sehr viel Arbeit. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 14 / 14
Hardware Bisher: Rechenaufwand von n 2 auf n log 2 n reduziert. Problem: Für großes n immer noch sehr viel Arbeit. Quelle: Wikipedia Lösungsansatz: Missbrauche Grafikkarten für die Behandlung wissenschaftlicher Fragestellungen. S. Börm (CAU Kiel) Große Aufgaben Kleine Rechner 16. November 2012 14 / 14