Benutzer-Werkzeuge

Webseiten-Werkzeuge


ss2022:mathesis_meets_histlab

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss2022:mathesis_meets_histlab [2022/09/27 11:24]
malte.wieseke [Vorgehen]
ss2022:mathesis_meets_histlab [2022/09/29 18:28] (aktuell)
malte.wieseke [Vorgehen]
Zeile 15: Zeile 15:
 =====Projektziele===== =====Projektziele=====
  
 +Das Endziel unseres Projektes war es das World 2 Modell aus DYNAMO in Python zu überführen.
 +Hierzu wurde bevor der Projektphase grundlegende Python Programmierung übermittelt so wie die Idee hinter dem World 2 Modell besprochen.
 +In der Projektphase war das erste Ziel sich in den DYNAMO Code einzuarbeiten und diesen nach zu vollziehen. Anschließend sollten die einzelnen Abläufe ungeordnet von in Python Methoden überführt werden sowie die Konstanten und die Startwerte der Variablen festgelegt werden.
 +Diese Python Bausteine sollten anschließend in eine für ein Python Programm logische Anordnung gebracht werden um das selbe Resultat zu erzielen wie das zugrunde liegende DYNAMO Programm.
 +Als weiterreichende Ziele sollten noch die Parameter veränderlich gestaltet werden um ihren Einfluss auf das komplette System nachvollziehen zu können so wie eine Möglichkeit diese Parameter Änderungen durch zu iterieren um den Einfluss von verschiedenen Veränderungen effizient überprüfen zu können.
 =====Vorgehen===== =====Vorgehen=====
-Nach Abschluss des Einführungskurses in die Programmiersprache Python haben wir einen passenden Rahmen für unsere Projektarbeit gesucht. Diesen haben wir in der „Übersetzung“ des World 2 Programmcodes aus der Programmiersprache DYNAMO in Python gefunden. Ein weiterer ​Absprach ​war das fertig übersetzte Modell auf seine Sensitivität zu testen. Das bedeutet die Eingabevariablen des Modells zu verändern und den Effekt auch die Ausgabewerte festzustellen. Daraufhin haben wir damit begonnen ein Verständnis für die Ausgangssprache DYNAMO zu entwickeln, indem wir den Programmcode analysiert haben. Nachdem wir verstanden, hatten was einzelne Zeilen des Programmcodes tatsächlich im Modell bewirken, konnten wir mit der Übersetzung des Modells beginnen. Hierfür haben wir zuerst jede Zeile für sich in Python übersetzt. Da jedoch der Programmablauf in Python anders funktioniert als in DYNAMO mussten wir eine Lösung finden, die dem Ablauf des Programms treu bleibt, aber auch die gewünschten Ausgabewerte erzielt. Durch eine Implementation von Methoden im Python Programmcode konnte diese Hürde umgangen werden. ​+Nach Abschluss des Einführungskurses in die Programmiersprache Python haben wir einen passenden Rahmen für unsere Projektarbeit gesucht. Diesen haben wir in der „Übersetzung“ des World 2 Programmcodes aus der Programmiersprache DYNAMO in Python gefunden. Ein weiterer ​Teil wardas fertig übersetzte Modell auf seine Sensitivität zu testen. Das bedeutet die Eingabevariablen des Modells zu verändern und den Effekt auch die Ausgabewerte festzustellen. Daraufhin haben wir damit begonnen ein Verständnis für die Ausgangssprache DYNAMO zu entwickeln, indem wir den Programmcode analysiert haben. Nachdem wir verstanden, hatten was einzelne Zeilen des Programmcodes tatsächlich im Modell bewirken, konnten wir mit der Übersetzung des Modells beginnen. Hierfür haben wir zuerst jede Zeile für sich in Python übersetzt. Da jedoch der Programmablauf in Python anders funktioniert als in DYNAMO mussten wir eine Lösung finden, die dem Ablauf des Programms treu bleibt, aber auch die gewünschten Ausgabewerte erzielt. Durch eine Implementation von Methoden im Python Programmcode konnte diese Hürde umgangen werden. ​
 Noch haben wir dieses Projekt jedoch nicht vollendet da der Rahmen eines Semesters für ein weit gefächertes Projekt wie dieses nicht ausreichte. Noch haben wir dieses Projekt jedoch nicht vollendet da der Rahmen eines Semesters für ein weit gefächertes Projekt wie dieses nicht ausreichte.
  
-Gliederung: + 
-  * Einleitung ​Motivation +=====DYNAMO-Funktionsweise===== 
-  * Projektziele + 
-  * Vorgehen +Dynamo unterscheidet zwischen drei Berechnungsebenen: ​Levels, ​Rates und Auxiliaries. Levels werden zuerst berechnet. Es sind die Variablendie am Ende von Interesse sind: Bevölkerung,​ natürliche Ressourcen, Kapital, Investitionen in der Landwirtschaft und Verschmutzung. Sie werden für jeden Zeitabschnitt berechnet und die Werte am Ende als Graph ausgegeben. Rates, zum Beispiel die Geburtenrate,  ​sind die Änderungsraten eines Levels zu einem bestimmten Zeitpunkt. Auxiliaries sind Hilfswertedie für die Berechnung der Rates benötigt werden. Pro Zeitschritt werden immer zuerst die Levels, dann die Rates und dann die Auxiliaries berechnet. Die jeweiligen Werte ergeben sich aus den Werten des vorherigen Zeitschritts.  
-  * mathematische Dokumentation(Levels, ​Systemtheorie (KomplexitätVerhalten des SystemsSensitivitätstests)) +
-  * Fazit - Ausblick - Schluss +
-  * LinksQuellenverzeichnis+
  
 =====komplexe Systeme===== =====komplexe Systeme=====
  
-Die wesentliche Eigenschaft komplexer Systeme ist die Interdependenz aller Bestandteile:​ Alles+Die wesentliche Eigenschaft ​[[https://​www.eolss.net/​sample-chapters/​c15/​E1-29-01-00.pdf|komplexer Systeme]] ist die Interdependenz aller Bestandteile:​ Alles
 hängt mit allem zusammen. Wenn man an der einen Stelle etwas verändert, ändert sich etwas an hängt mit allem zusammen. Wenn man an der einen Stelle etwas verändert, ändert sich etwas an
 einer ganz anderen Stelle. Diese Zusammenhänge sind oft so kompliziert,​ dass man sie nicht einer ganz anderen Stelle. Diese Zusammenhänge sind oft so kompliziert,​ dass man sie nicht
Zeile 61: Zeile 64:
 Welche Bevölkerungsgruppe sollte zuerst geimpft werden, um eine Ausbreitung trotzdem zu Welche Bevölkerungsgruppe sollte zuerst geimpft werden, um eine Ausbreitung trotzdem zu
 verhindern? Das alles kann mit einem Computermodell einfach mal durchgespielt werden, quasi als verhindern? Das alles kann mit einem Computermodell einfach mal durchgespielt werden, quasi als
-virtuelles Experiment (eine Gruppe der Humboldtuniversität hat das übrigens tatsächlich gemacht: +[[https://​oinf.ch/​kurs/​simulationen/​modellieren/​|virtuelles Experiment]] (eine Gruppe der Humboldtuniversität hat das übrigens tatsächlich gemacht: 
-Hier zum nachlesen).+[[https://​www.hu-berlin.de/​de/​pr/​nachrichten/​mai-2022/​nr-22531|Hier]] zum nachlesen).
 Weitere Systeme, die sich mit Computermodellen nachbilden lassen sind: Weitere Systeme, die sich mit Computermodellen nachbilden lassen sind:
-Stoffwechselwege in einer Krebszelle, die Aufteilung von Molekülen in einer Zelle, die Bildung +[[https://​www.tagesspiegel.de/​berlin/​wie-ein-computermodell-die-krebstherapie-revolutionieren-soll-4086280.html|Stoffwechselwege in einer Krebszelle]][[https://​www.ds.mpg.de/​3950004/​220726_EvolutionaryModelCell|die Aufteilung von Molekülen in einer Zelle]], die [[https://​www.spektrum.de/​news/​komplexe-schaeume-im-computer/​1193736|Bildung 
-von Seifenblasen oder einfach das Wetter.+von Seifenblasen]] oder einfach ​[[https://​www.br.de/​nachrichten/​wissen/​wie-wetter-vorhersagen-entstehen-moderne-meteorologie,​TBZSq6H|das Wetter]]. 
 +=====Fazit===== 
 + 
 +Die Einarbeitung in DYNAMO und die Verschaffung eines Verständnis für das World 2 Modell hat gut funktioniert. Die Übersetzung des DYNAMO Codes war allerdings aufwendiger als anfangs geplant, da unsere Gruppe kleiner als üblich war, weshalb die letzten Projektziele leider nicht erreicht werden konnten. Deshalb war es uns nicht möglich, die Sensitivitätstests durchzuführen. Dieses Projekt und unsere bisherigen Fortschritte könnten jedoch zukünftigen weiterführenden Projekten zu Gute kommen
ss2022/mathesis_meets_histlab.1664270682.txt.gz · Zuletzt geändert: 2022/09/27 11:24 von malte.wieseke