Nach der letzten Artikelserie zum Thema Computergrafik (keine Angst – die vorgebrachten Themenwünsche habe ich weiter auf dem Radar) geht es mit der neuen Artikelserie in einen gänzlich anderen Themenbereich. Wie bereits im letzten Artikel angedeutet, möchte ich mich etwas mit der Frage beschäftigen, wie die Informatik eingesetzt werden kann, um wissenschaftliche Theorien zu überprüfen. Das Mittel der Wahl ist hier die Simulation – und die soll uns auch in einigen (etwas loser verteilten) Artikeln beschäftigen. Wir wollen uns dabei nicht nur auf verbale Beschreibungen beschränken, sondern die ein oder andere Simulation auch tatsächlich einmal programmieren – und los geht es.
In der Presse ist des Öfteren zu lesen, dass diese oder jene Theorie mit Computersimulationen überprüft wurde – insbesondere im Bereich der Klimawissenschaften hört man oft davon. Das liegt nun aber natürlich nicht daran, dass hier Simulationen besonders oft zum Einsatz kommen, sondern eher daran, dass die Presse über diesen Bereich tendenziell öfter berichtet – aber das ist ein anderes Thema und soll hier nicht zur Debatte stehen. Fakt ist, dass in sehr vielen Bereichen der Wissenschaft Computersimulationen zum Einsatz kommen; das ist übrigens nicht nur auf die technischeren Bereiche beschränkt – prinzipiell lässt sich fast alles simulieren, was einigermaßen mathematisch beschrieben werden kann.
Damit wären wir dann auch schon beim Kernpunkt einer jeden Simulation: der mathematischen Beschreibung. Alle Simulationen folgen weitgehend dem gleichen Schema. Zuerst wird die zu untersuchende Problematik mit Hilfe eines formalen (in der Regel mathematischen) Modells beschrieben. Das Modell umfasst dabei zum einen eine Beschreibung des Zustands der Welt (mit Welt ist damit die Problemumgebung gemeint) und zum anderen Regeln, nach welchen sich dieser Zustand ändern kann. Die Begriffe “Zustand” und “Regel” sind hierbei sehr weit gefasst und können – je nach Problem – vollkommen unterschiedliche Dinge beschreiben, aber das werden wir im Verlauf der Artikelserie noch sehen.
Im Anschluss an die Definition des Modells wird der Ausgangszustand definiert; das ist der Zustand der Welt, mit welchem die Simulation beginnen soll. Der Ausgangszustand kann dabei entweder fest gewählt sein, wenn er nämlich eine bestimmte Hypothese darstellen soll, die mit Hilfe eines (genau definierten) Modells untersucht werden soll (wenn etwa untersucht werden soll, wie sich eine bestimmte Verteilung von Individuen einer Population langfristig auf die Entwicklung innerhalb der Population auswirkt); oder er wird (mehr oder weniger) zufällig gewürfelt, wenn der Fokus der Simulation eher auf dem Modell liegt und der Ausgangszustand nicht so wichtig ist (die Simulation von Teilchen in Physiksimulationen ist hierfür ein Beispiel).
Sind Modell und Ausgangszustand bestimmt, kann die eigentliche Simulation beginnen. Die besteht nun darin, dass die im Modell definierten Regeln ausgehend vom Ausgangszustand immer wieder auf den Zustand angewendet werden – es wird also eine (meist zeitliche) Entwicklung des Zustandes simuliert. Die Simulation wird nach einer festgelegten Anzahl von Regelanwendungen (man spricht mitunter auch von Runden) abgebrochen – oder wenn ein vorher definierter Zielzustand erreicht wurde.
Das ist bisher zwar alles wunderbar abstrakt und unkompliziert, aber die eigentliche Frage bleibt noch offen: wie wird eine derartige Simulation tatsächlich umgesetzt? Das könnte nun auch wieder an konkreten Beispielen rein verbal beschrieben werden, aber das wäre langweilig. Wir wollen daher an dieser Stelle ganz konkret werden und eine Simulation auch selber einmal programmieren. Für dieses erste Beispiel werde ich die Programmiersprache JavaScript wählen, da sie sich einfach im Browser ausführen lässt und die Beschreibungen damit sehr einfach nachvollzogen werden können. Wer mit dem Programmieren allgemein noch nicht vertraut ist, dem empfehle ich die entsprechende Artikelserie (Punkt: Programmierung); ein kurzer Ausflug in die Artikelserien zum Thema Web-Programmierung (Punkt: Web) kann dabei auch nicht schaden. 1
1 Wer den hier aufgeführten Code ausprobieren möchte, der erstellt einfach eine neue Datei auf seinem Computer, welche die Dateiendung “.html” trägt (also z.B. “test.html”). Diese Datei muss dann in einem Texteditor (Microsoft Word ist kein Texteditor) geöffnet werden; die hier beschriebenen Inhalte werden dann einfach in die Datei kopiert (Speichern nicht vergessen) und diese dann per Doppelklick im Standardbrowser geöffnet.
Kommentare (22)