ViralSim - Eine Simulation zur Verbreitung von Viren

Die Ausbreitung von Viren ist ein hochgradig dynamisches und emergentes Geschehen. Der Verlauf einer Pandemie und die Frage danach, ob das Gesundheitssystem einem solchen Ausnahmezustand standhalten kann, sind von einer Vielzahl von Faktoren abhängig.

Entdecke unser Projekt

Devpost GitHub YouTube Pitch Video

Was ist ViralSim?

Das Projekt ViralSim des WirvsVirus Hackathon hat es sich zur Aufgabe gemacht, mittels Visualisierungen die individuelle Verantwortung bei der Ausbreitung eines Virus zu verdeutlichen. Unsere Simulation macht es möglich, verschiedenste Attribute eines Virus festzulegen und zudem eine Reihe an Vorsichtsmaßnahmen zu regulieren, um das Virus einzudämmen.

ViralSim hat zweifellos das Potenzial, zu verdeutlichen, wie schon geringfügige Veränderungen durch das Einhalten von Ausgangssperren oder Hygienevorschriften den Verlauf einer Pandemie erheblich beeinflussen.

In welchem Rahmen ist das Projekt entstanden?

Das Projekt entstand im Rahmen der Teilnahme am #WirVsVirus Hackathon der Bundesregierung. Das Ziel des Hackathons war die gemeinschaftliche Entwicklung von Lösungen für die durch Covid-19 entstehenden individuellen und kollektiven Herausforderungen. Der Hackathon fand an dem Wochenende vom 20. - 22. März 2020 statt und bot damit 48 Stunden für die Umsetzung der Projekte. Mit etwa 30.000 TeilnehmerInnen, 2.000 Herausforderungen und 3.000 MentorInnen handelt es sich um den bis zu diesem Zeitpunkt weltweit größten Hackathon. Weitere Informationen finden sich auf der Webseite des #WirVsVirus Hackathon.

Unser Team

Unser Team besteht aus drei Studierenden der Otto-von-Guericke-Universität, die sich schon im Vorfeld über den interdisziplinären Kurs “Data Science und Bildung - Theoretische und methodische Zugänge” zusammengefunden haben. Diese Interdisziplinarität spiegelt sich auch in dem Team wieder. Zwei Studenten – Christopher Klug und Johannes Behrens – kommen aus dem Bereich der Informatik und Jannis Hermann studiert Medienbildung, was zum Bereich der Erziehungswissenschaften gezählt werden kann. So konnten die verschiedenen Aufgabenbereiche von der Ideenfindung bis hin zur Konzeption, Programmierung und Webseiteneinbettung ideal unter dem Projektteam verteilt werden.

Intention

Mit dem Projekt möchten wir erreichen, dass die Akzeptanz für die Schutz- und Vorsorgemaßnahmen, wie zum Beispiel eine Einschränkung der Bewegung oder die Erhöhung der Krankenhauskapazitäten, steigt. Dies wird dadurch erreicht, dass in den aus der Simulation erstellten Graphen sofort der Einfluss der Eingabedaten sichtbar wird. So wird schnell klar, dass sofortige Maßnahmen notwendig sind, um eine hohe Anzahl an Verstorbenen zu verhindern. Gleichzeitig bietet die Simulation einen spielerischen Aspekt. Es kann durch Nutzende versucht werden, ein Optimum aus dem Verhältnis an Todesfällen und Einschränkungen zu erreichen. In der Nutzung der Simulation wird ebenfalls ein kritischer Blick auf die Repräsentativität der Ergebnisse nahelegt, da es sich um ein abstraktes Modell handelt. Schlussendlich hat die Simulation das Ziel, abstrakte Daten zu erzeugen, die mit der Realität abgeglichen werden können. Dabei werden unter anderem Fragen nach der Dunkelziffer, Testkapazitäten und der Repräsentativität der Daten in der Realität aufgeworfen.

Es gibt einige grundlegende Prinzipien, die mit der Simulation verdeutlicht werden sollen. Da wären etwa die spezifischen Auswirkungen auf den Verlauf der Ausbreitung, je nach Konfiguration der unterschiedlichen Parameter. So verlangsamt eine geringere Übertragungswahrscheinlichkeit etwa die Geschwindigkeit der Ausbreitung, es kommt jedoch dennoch zu einem exponentiellen Wachstum, wenn erstmal eine gewisse Anzahl an Infizierten erreicht wird. Die Anzahl der Punkte, die sich nicht bewegen, hat da einen wesentlich größeren Einfluss. Hierdurch wird die Anzahl derjenigen, die den Virus durch Bewegung und Kollision übertragen können, grundlegend verringert. Ein weiteres Prinzip, das bei der Ausführung beinahe jeder Simulation deutlich wird, ist die Herdenimmunität. Sobald sich genug Geheilte in einem Bereich befinden, steigt die Wahrscheinlichkeit, dass einzelne Individuen überhaupt nicht infiziert werden. Das setzt jedoch eine gewisse Dynamik voraus, damit dieser Effekt möglich wird.

Wie verlief das Projekt?

Das Projekt begann für uns bereits vor dem offiziellen Start des Hackathons. Für den Unikurs “Data Science und Bildung” gehört die Durchführung eines Projekts im Bereich von Data Science. Unser bis dahin geplantes Thema fiel aufgrund von Problemen bei der Beschaffung von Daten ins Wasser und wir mussten uns ein neues Projektthema suchen. Durch die bereits anlaufenden Maßnahmen zur sozialen Isolation gestaltete sich dies bereits schwierig, da wir uns nicht mehr treffen konnten. Brainstorming über Webkonferenzen ist zwar möglich, aber nicht mit einem realen Treffen zu vergleichen.

Passend kam hier die Nachricht unseres Dozenten, in der er die Möglichkeit der Teilnahme an dem Hackathon als mögliche Leistungserbringung anbot. Nach kurzem Austausch haben wir die Bestätigung bekommen, dass wir an dem Hackathon im Rahmen des Kursprojekts teilnehmen dürfen. Daraufhin folgte unsere Anmeldung für den Hackathon.

Weiter ging es dann am Freitag, den 20. März 2020 mit der Auswahl einer Herausforderung. Um den Hackathon mit dem Unikurs zu vereinbaren, waren wir auf Themen beschränkt, die sich mit Data Science kombinieren ließen. Die Auswahl war dadurch bereits stark eingeschränkt. Entschieden haben wir uns für die Herausforderung “Den Virus durch Daten verstehen: Visualisierungen als Instrument, um für die Ausbreitung und die eigene Rolle zu sensibilisieren” aus der Kategorie “Generelle Kommunikation: Wie verbessern wir offizielle Kommunikation und Informationsweitergabe generell?”.

Zu dieser Herausforderung war ein Link zu Simulationen der Washington Post gegeben, die uns als Inspiration dienten.

Wir entschieden uns dazu, diese Simulation nachzubauen und durch die Eingabe von Daten anpassbar zu gestalten und weitere Parameter einfließen zu lassen. Während der Suche nach eventuellen weiteren Teammitgliedern nahmen wir Kontakt mit zwei weiteren Gruppen auf, die ein sehr ähnliches Vorhaben hatten. Das eine Team nutzte einen spielerischen und das andere einen mathematischen Ansatz. Mit diesen Teams blieben wir über den Verlauf des Hackathon in Kontakt.

Auf der Suche nach einer geeigneten Basis für unser Vorhaben sind wir auf eine Simulation von Partikel Kollisionen auf codepen.io vom Nutzer @djmot gestoßen.



Da es sich dabei um ein Open Source Projekt handelt, haben wir die grundlegenden Strukturen übernommen, überflüssige Funktionalitäten im Quellcode entfernt und begonnen, eigene Parameter in die Simulation einzuarbeiten. Aufbauend auf der Basis von Kollisionen der einzelnen Instanzen in einem abgeschlossenen Raum haben wir den Objekten zunächst verschiedene Zustände hinzugefügt. Dies ermöglicht, dass sie bei einer Kollision andere Objekte “infizieren” können (rote Färbung). Darauf aufbauend wurde eine Genesungszeit eingebaut, nach deren Ablauf das gesunde Stadium erreicht wird (grüne Färbung). Damit war das erste Ziel unseres Vorhabens erreicht, doch es sollten noch zwei weitere Stadien hinzugefügt werden. Einerseits wurde es mit einer einstellbaren Wahrscheinlichkeit möglich, dass die Instanzen in ein Krankenhaus müssen (rotes Kreuz), welches wiederum eine begrenzte Anzahl an einstellbaren Betten zur Verfügung hat und eine bestimmte Aufenthaltszeit besitzt. Andererseits konnten die Instanzen mit einer ebenfalls einstellbaren Wahrscheinlichkeit sterben (schwarze Färbung), nachdem sie in einem Krankenhaus waren, wodurch sie niemanden mehr anstecken konnten. Ist kein Krankenhausplatz (Intensivbett) verfügbar, sterben die Instanzen umgehend. Für diese Parameter und zusätzlich die Einstellbarkeit der Anzahl an Instanzen und der zu Beginn Infizierten wurden entsprechende Schieberegler implementiert.



Als nächster Schritt sollte der Verlauf der Simulation durch weitere Parameter beeinflusst werden können. Dazu wurde eine Fixierung von Instanzen, die Bewegungsgeschwindigkeit und die Ansteckungswahrscheinlichkeit implementiert. Zu Zwecken der Visualisierung wurde zuletzt ein Graph mit den Anteilen der Stadien und ein Verbindungsnetz mittels Linien zwischen den Punkten eingebaut.



Die folgenden 48 Stunden waren geprägt von zahlreichen Webkonferenzen, in denen wir über die Planung und die Umsetzung diskutierten. Zwischen diesen Konferenzen fand der eigentliche Entwicklungsprozess statt. Abgesehen von wenigen Stunden Schlaf war unser Wochenende von dem Hackathon geprägt. Es wurde fleißig nach Lösungen gesucht, Fehler wurden behoben und die Simulation wurde immer mehr optimiert. So ergab sich kurz vor der Abgabefrist des Projekts eine ansehnliche Simulation, die unserer Intention gerecht werden konnte.

Zum Abschluss musste ein Pitch-Video erstellt und bei YouTube hochgeladen werden.



Dies gelang uns in letzter Sekunde, da wir immer weitere Ideen hatten, die wir eingearbeitet haben. Somit wurden in letzter Sekunde einige Bildschirmaufnahmen angefertigt, ein Text formuliert und eingesprochen und schlussendlich mit etwas Musik zusammengeschnitten.

Nach dem Hackathon haben wir uns einige Tage ausgeruht und beschäftigen uns nun mit der Nachbearbeitung des Projekts. Diese Arbeiten umfassen die Behebung von kleinen Bugs, der Implementierung einiger Erweiterungen und die Erstellung einer Infoseite.

Kritische Betrachtung

Bei der Simulation handelt es sich um eine starke Abstraktion bzw. Modellierung der realweltlichen Geschehnisse, wodurch lediglich die grundlegenden Prinzipien auf vereinfachte Weise verdeutlicht werden können. Nichtsdestotrotz wird der Versuch unternommen, mit einer Übersetzungsleistung von der äußerst dynamischen Ausbreitung von Viren, die Komplexität auf ein einfaches Modell herunterzubrechen. Mit Hilfe dieser Komplexitätsreduktion, die auch auf die Anzahl der miteinander interagierenden Instanzen bezogen ist, wird eine solche Simulation überhaupt erst ermöglicht. Die Ergebnisse der Simulationen können mit dem Verlauf der Pandemie in der Realität abgeglichen werden, um Wissen über die Wirksamkeit der Maßnahmen, aber auch über die Repräsentativität des Modells zu erlangen.

Besonders schwierig hat sich für uns die Verbindung der Simulationszeit zur echten Zeit herausgestellt. Durch die Bewegungsgeschwindigkeit und Genesungszeit existiert lediglich eine abstrakte zeitliche Dimension. Aus diesem Grund ist die Zeitachse über die Simulationsschritte dargestellt. Die Simulation besitzt damit keinen realen zeitlichen Bezug.

ViralSim und Data Science

Data Science, ein nur schwer zu definierendes Forschungsfeld im Schnittfeld von Informatik, Mathematik und Wissensgenerierung, befasst sich unter anderem mit der Qualität von Daten, sozialen Praktiken und ist insbesondere durch seinen interdisziplinären Charakter gekennzeichnet. Ein Bereich im Feld der Data Science befasst sich etwa mit dem Bias bzw. der Tendenz von Daten. Ein Beispiel für Bias in Daten ist etwa der Umstand, dass Spracherkennungssysteme Männer besser als Frauen verstehen können. Solche Bias können sich auf unterschiedlichsten gesellschaftlichen Ebenen abzeichnen und im Umgang mit Daten an unterschiedlichen Stellen aufkommen. Friedman und Nissenbaum (1996) machen hierbei etwa eine Unterscheidung zwischen preexisting, technical und emergent Bias. Um der Frage nachzugehen, wie repräsentativ unsere Simulation sein kann, möchten wir diese drei Ebenen diskutieren.

Anhand unserer Simulation kommt zunächst jedoch die Frage nach der Qualität von Daten auf. Zuerst stellt sich die Frage nach den Grundannahmen der Simulation, die sich auf konstitutive Weise auf die entstehenden Daten auswirken. An dieser Stelle wird auf bestehendes Wissen zurückgegriffen, um ein Modell zu entwickeln, das wiederum in der Simulation Daten liefert. Mit der jeweiligen Konfiguration der verschiedenen Parameter der Simulation ergeben sich dafür spezifische Daten, die in ihrer Ausprägung jedoch immer wieder eine gewisse Varianz mit sich bringen. Die Qualität der Daten ist damit grundsätzlich abhängig von der Art und Weise, wie die Vorannahmen mit Hilfe einer physikalischen Simulation modelliert werden. An dieser Stelle wird eine zuvor existente Tendenz deutlich, die durch den Prozess der Modellierung in eine technische Tendenz übergeht. Eine wesentliche Vorannahme der Simulation ist beispielsweise, dass schwer Erkrankte, für welche kein Intensivbett vorhanden ist, umgehend sterben. Außerdem gibt es einen festgelegten Wert dafür, wie lange der Krankheitsverlauf und der Aufenthalt im Krankenhaus dauern. Somit lässt die Simulationen keinen Raum für eine solche Varianz, die in der Realität vorhanden ist. Auf welche Weise sich das Virus ausbreitet, ist maßgeblich durch die Limitationen und Mechanismen der Kollision, Bewegungsrichtungen und Geschwindigkeiten abhängig. Bei der Simulation handelt es sich um eine stark normalisierte Form der Verbreitung, indem alle Punkte die gleiche Verhaltensweise haben. Hierin wird die dritte Form von Bias – der emergent Bias – deutlich. Mit der Ausführung jeder Simulation zeigt sich die emergente Beschaffenheit der Simulation, wobei keine Simulation identisch verläuft. Diese Emergenz sorgt auf der einen Seite für einen Bias anhand der strikten Simulation, vermag jedoch ebenfalls, das emergente Verhalten eines echten Virus widerzuspiegeln.



Durch den Blick der Data Science bzw. auf den Bias unserer Simulation wird deutlich, auf welche Weise die entstehenden Daten eingeschriebene Tendenzen haben. Damit wird erneut deutlich, dass die Repräsentativität des Modells stark anzuzweifeln ist. Gerade diese Auseinandersetzung und die Hinterfragung der zugrundeliegenden Strukturen in Rückbindung zu den realweltlichen Begebenheiten kann eine Ebene der Reflexion auf die Daten und das Wissen eröffnen, was aus einer erziehungswissenschaftlichen Perspektive von Interesse ist. Hierbei werden grundsätzlich Selbst- und Weltreferenzen tangiert, indem die Simulation sowohl individuelle, als auch kollektive Verantwortungen während einer Epidemie verdeutlicht. Es geht aber ebenfalls um die Frage nach den Grenzen derartiger Modelle, wie sie sich in bestimmten Tendenzen manifestieren und wie anhand dieser Grenzen bildende Potenziale in der Auseinandersetzung mit einer solchen Simulation erkennbar werden.

Ausblick

Während der Umsetzung und auch danach hatten wir viele Ideen, wie das Projekt erweitert werden kann. Diese möchten wir hier kurz vorstellen.

Aktuell sind die Bewegungen der einzelnen Punkte komplett zufällig. Interessant wäre hier eine gezieltere Simulation. Die Idee, die hier kam war, dass wir die Deutschlandkarte auf unser Simulationsfeld abbilden und die Bewegung entsprechend der Bewegungsdaten der Telekom ausführen. Hierbei könnten die Bewegungsmechanismen ebenfalls komplexer werden, um beispielsweise verringerte Geschwindigkeiten bei schweren Erkrankten festzulegen. In diesem Zuge könnte die Simulation auch auf 80 Millionen Punkte erweitert werden, wobei dies wohl zu Problemen bei den Rechenkapazitäten führen würde. Klar sollte sein, dass seine solche Simulation nichtsdestotrotz keinerlei Anspruch eine eine reale Repräsentation haben könnte.

Um die Nutzbarkeit zu verbessern wäre es sinnvoll, wenn wir den Nutzenden die Möglichkeit geben, ihre Vorgaben für die Simulation inklusive der Ergebnisse zu speichern. Gleichzeitig möchten wir gerne Presets für unterschiedliche Szenarien und Virengruppen ausliefern. Damit diese sinnvoll eingesetzt werden können, müssen wir allerdings eine zeitliche Dimension herstellen.

Eine weitere Gegenmaßnahme, die zu implementieren wäre, ist die Isolation einzelner Gebiete. Um dies umzusetzen, können entsprechend der Simulation bei der Washington Post Mauern eingezogen werden, welche die Punkte nicht überwinden können. Auf diese Weise könnte die Simulation in ihrer Ausführung eine interaktive Komponente haben.

Quellen

Friedman, Batya/Nissenbaum, Helen (1996): Bias in Computer Systems. In: Rijke, Maarten de (Hrsg.): ACM Transactions on Information Systems. Vol 13. Online: hier. S. 330-347).

So weit scrollt doch keiner ...

... und doch bist du hier. Hast du weiterführende Fragen, Anregungen oder Bemerkungen?

Kontaktiere uns!