Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws2021:protokolle

11.12.2020

Wir schrieben eine Klasse von Agenten, die als Grundlage für eine erste Visualisierung dienen sollte:

Erste Agenten-Klasse

Die Agenten können die Zustände Susceptible, Infected oder Recovered haben (SIR-Modell).

Außerdem haben wir Ideen für das Projekt gesammelt und einen groben Umsetzungsplan erarbeitet.

Hilfreiche Links:

YouTube-Video über Epidemie-Simulation

Mathematische Modelle zur Epidemiesimulation der TU Freiberg

Simulation der ZEIT über Ansteckung über Aerosole in Innenräumen

Corona-Simulation der Washington Post

Berechnungen über FußgängerInnen-Verhalten im Bezug zur Covid-Pandemie

15.12.2020

Wir haben unsere Recherchen zu verschiedenen Visualisierungsprogrammen ausgewertet:

Weil wir mit Turtle bereits vertraut waren, wählten wir zunächst dieses Modul für unsere ersten Visualisierungsversuche.

Wir haben einen Code „bouncing-balls“ geschrieben, der mit Hilfe der Turtle Grafik eine bestimmte Anzahl von Kreisen im Raum bewegen lässt. Im nächsten Schritt haben wir unsere „Agent“-Klasse in den Code von „bouncing-balls“ integriert, sodass eine Anzahl von Agenten, dargestellt als Kreise, sich im Raum bewegen.

Agenten als Bouncing- Balls

17.12.2020

Heute haben wir damit angefangen, uns mit dem Wiki auseinanderzusetzen, den Eintrag zu bearbeiten und wichtige Links hinzuzufügen.

07.01.2021

Wir erstellten einen Zeitplan für das Projekt bis zur Abgabe mit wöchentlichen Aufgaben, die bearbeitet werden sollen. Diese trugen wir anschließend in das Wiki ein. Wir entschlossen uns, zum nächsten Termin, in Einzelrecherche, Informationen über das Social-Force-Modell zu sammeln.

12.01.2021

Besprechung zum weiteren Vorgehen. Wir tragen unsere Erkenntnisse zum Social-Force-Modell zusammen und stellten fest, dass die möglichst genaue Simulation vom Verhalten der Fußgänger nicht so relevant für unser Projekt ist, wie die Maßnahmen, die zur Eindämmung des Infektionsgeschehens führen sollen. Wir entschieden uns also zunächst einmal gegen das Social-Force Modell, schließen aber nicht aus, es als Verfeinerung zu einem späteren Zeitpunkt noch mit einzubauen.

Quellen zum Social-Force-Modell:

Agent-based Simulation of Pedestrian Dynamics for Exposure Time Estimation in Epidemic Risk Assessment

14.01.2021

Wir bearbeiteten den „bouncing-balls“ code und die „Agent“-Klasse, sodass der Zustand der Bälle in der Simulation, nach einer festgelegten Zeit, von „infected“ zu „recovered“ wechselt. Damit wird dargestellt, dass die Erkrankten nach einer Infektion wieder genesen und sich anschließend nicht erneut anstecken können. Es traten noch einige Probleme auf, die wir zum nächten Mal beheben müssen (einige Bälle scheinen in der Simulation aneinander zu'kleben' und die Geschwindigkeit, mit der die Agenten zu „recovered“ wechseln, ist unterschiedlich).

Agenten als Bouncing- Balls mit "recovered"

Aktuelle Agenten-Klasse

19.01.2021

Wir haben die Probleme vom letzten Mal gelöst. Außerdem haben wir einen vierten Zustand („Exposed“) und damit eine gewisse Zeit vom Kontakt bis zur Ansteckung (ca. vier Tage) ergänzt. Unser SIR-Modell vom Anfang wurde somit zum SEIR-Modell erweitert. „Recovered“ sind die Agenten nach circa 14 Tagen.

Wir haben außerdem die Länge der Tage in unserem Programm definiert: Ein Tag sind 200 Schritte im Programm. Diesen Wert haben wir ermittelt, indem wir die durchschnittlichen Begegnungen pro Schritt im Programm mit realen Begegnungen pro Tag verglichen haben.

Aktueller Code der Agenten

Aktuelle Agenten-Klasse

Bis zum nächsten Mal wollen wir uns verschiedene Visualisierungsprogramme anschauen, mit denen wir die Verlaufsgraphen darstellen könnten.

21.01.2021

Wir haben die „Agent“-Klasse umgeschrieben, sodass die Zustände der Agenten einheitlich englisch sind (Susceptible-Infected-Contagious-Recovered). Außerdem haben wir den Gesamtcode bearbeitet, sodass die Funktionsbezeichnungen jetzt auch einheitlich sind.

Aktueller Code der Agenten

Aktuelle Agenten-Klasse

Für die Graphen wollen wir manim oder matplotlib verwenden. Die endgültige Entscheidung dazu treffen wir später.

Wir legen unseren Fokus zunächst auf die Visualisierung des Infektionsgeschehens unter Berücksichtigung verschiedener Parameter. Am 22.02. werden wir voraussichtlich unsere Ergebnisse in einer Präsentation im Wissenschaftsfenster kurz vorstellen.

26.01.2021

Wir haben besprochen, dass wir am Donnerstag mit den Verlaufsgraphen anfangen wollen. Dafür wollen wir zunächst mit Matplotlib arbeiten.

Wir haben eine neue Einschränkung im Code hinzugefügt. Wir können jetzt einstellen, dass sich eine bestimmte Anzahl der Agenten nicht mehr bewegt, wodurch das Infektionsgeschehen stark eingeschränkt wird:

Aktueller Code der Agenten

Außerdem haben wir an der Präsentation fürs Wissenschaftsfenster gearbeitet.

28.01.2021

Wir arbeiteten an der Darstellung des Infektionsverlaufes durch Graphen. Dafür erstellten wir zunächst vier Listen für die die möglichen Zustände der Agenten (susceptible, infected, contagious, recovered). Nach jedem Tag wird die neue Anzahl der Agenten mit diesem Zustand, der Liste hinzugefügt. In matplotlib sollen diese Listen in Graphen dargestellt werden und somit den Infektionsverlauf zeigen.

Aktueller Code der Agenten

Aktueller Code für die Grafikdarstellung

Bis zum nächsten mal wollen wir uns mit plotly als möglichen turtle-Ersatz auseinandersetzen.

02.02.2021

Da es in plotly möglich ist, Graphen auch während der laufenden Simulation zu zeichnen, sodass sie den Verlauf der Ansteckung zeigen, halten wir plotly für eine gute Alternative zu turtle und matplotlib. Nun muss es uns gelingen, den Code entsprechend umzuschreiben und anzupassen. Daran wollen wir am Donnerstag arbeiten und uns bis dahin einzeln mit plotly auseinandersetzen.

04.02.2021

Wir beginnen damit, unseren Code auf plotly zu übertragen. Dabei gelingt es uns zunächst, die Agenten in einem Feld zu zeichnen. Als nächstes folgt die Bewegung der Agenten.

Code in plotly

09.02.2021

Wir haben die Simulation in plotly übertragen. Die Bewegung der Agenten ist jetzt flüssig und es ist möglich, die Graphen zeitgleich mit der Simulation zu zeigen. Das macht die Darstellung anschaulicher.

Code2 in plotly

Wir haben angefangen die Präsentation vorzubereiten.

11.02.2021

Wir haben weiter an der Präsentation gearbeitet. Außerdem haben wir eine weitere Maßnahme in den Code implementiert: Es gibt jetzt die Möglichkeit, eine beliebige Anzahl der infizierten Agenten nach einer beliebigen Zeit nach der Infektion in Quarantäne zu versetzen, sodass diese keine weiteren Agenten anstecken können.

Außerdem haben wir Werte für die Ansteckungswahrscheinlichkeiten p in folgenden Situationen berechnet:

  • normales Virus, ohne Maske: p=0,6
  • mit Virusmutation B117: p=1 (70% ansteckender als normales Virus)
  • normales Virus, mit Maske: p=0,1 (laut einer Studie am Institute of Medical Science der University of Tokyo, bei beidseitigem Tragen einer Maske)
  • Virusmutation B117, mit Maske: p=0,17

16.02. und 18.02.2021

Wir haben weiter an der Präsentation fürs Wissenschaftsfenster gearbeitet und diese fertiggestellt.

29.03 und 30.03.2021

In den ersten beiden Tagen des Blocktermins haben wir uns damit beschäftigt unseren Code in Klassen umzuschreiben und damit begonnen die Hauptseite unseres Wiki - Eintrages zu überarbeiten.

31.03.2021

Wir haben unser Wiki vervollständigt und unseren Code noch fertig kommentiert.

ws2021/protokolle.txt · Zuletzt geändert: 2021/03/31 17:43 von n.gujejiani