Diffusion/Epidemiologische Ausbreitung

Aus Wikiversity

Das folgende Portfolio thematisiert eine mögliche Verbreitung von Masern in Deutschland.

Autor:innen[Bearbeiten]

  • Laura Aulenbacher,
  • Nicole Frey

Aufgaben für Lernende[Bearbeiten]

  • (Gemeinsamkeiten und Unterschiede) Vergleichen Sie die im Folgenden dargestellte Masernausbreitung in Deutschland als Beispiel für eine epidemiologische Ausbreitung einer Viruserkrankung mit der Ausbreitung von Schadstoffen in einem Raum! Welche Gemeinsamkeiten und Unterschiede gibt es in der Modellbildung?
  • (Tabellenkalkulation) Betrachten Sie die Darstellung der Schadstoffausbreitung mit Tabellenkalkulation und der Objekte und Barrieren im Raum, die die Diffusion beeinflussen! Welche Barrieren oder Hindernisse bei der epidemiologischen Ausbreitung gibt es und wie können diese zur Verlangsamung oder Verhinderung der epidemiologischen Ausbreitung eingesetzt werden.
  • (Raumdimensionen der epidemiologischen Ausbreitung?) Darstellung des Diffusionsproesses mit Octave wird eine dreidimensionale Ausbreitung von Schadstoffen modelliert. In der epidemiologische Ausbreitung auf der Erde kann die Ausbreitung nicht nur durch die Entfernung zweier Punkte abgeschätzt werden, d.h. große Entfernung bedeutet, dass es lange braucht bis ein Virus von Punkt A an dem entfernten Punkt B ankommt. Wie kann man in die epidemiologische Ausbreitung auch Fluglinien mit einbeziehen, auf den Viren innerhalb eines Tages jedes größeren Flughafen auf der Erde über eine Virusträger erreichen kann?

Einleitung[Bearbeiten]

Die Masern ist eine Krankheit, die durch Viren ausgelöst wird [1]. Sie sind keine harmlose Krankheit, denn bei jedem zehnten Betroffenen treten Komplikationen auf wie Lungen- und Hirnhautentzündungen [2] [3].Die Erreger werden über Speichel-Tröpfchen in der Luft durch Niesen, Atmen und Husten übertragen und ist somit hoch ansteckend [4]. Die WHO strebte deshalb die weltweite Ausrottung der Masern durch Impfungen an. Bis 2013 konnte somit ein Rückgang von Masernerkrankungen von über 95 % verzeichnet werden[5]. Diese änderte sich jedoch im Jahre 2015. In diesem Jahr stiegen die Meldungen für Masern. Ein weiterer Anstieg konnte auch in den kommenden Jahren 2016 und 2017 festgestellt werden,sodass die Bundesregierung eine Impfpflicht für Masern einführen möchte. Hierbei ist zu betonen, dass lediglich ein Zweifacher Impfschutz einen ausreichenden Schutz gewährleistet [6].

Nachfolgende wird eine mögliche Masernverbreitung hinsichtlich verschiedener Diffusionsprozesse kontinuierlich und diskret modelliert. So betrachten wir zu Beginn die Verbreitung der Mikroorganismen unter folgenden Aspekten:

  • abgeschlossener Raum
  • Gebiet im Freiem unter Betrachtung von Konvektionsströmungen

Entscheidend ist hierbei die Speichel-Tröpfchen Übertragung des Erregers über die Luft durch Niesen.

Vergleich Schadstoff- und Epidemiologische Ausbreitung[Bearbeiten]

Gemeinsamkeiten

  • Ausbreitung der Viren über Diffusion ähnelt die der Schadstoffausbreitung nur mit geringerem Diffusionskoeffizient.
  • Werden beide im offenen Gebiet von Konvektion beeinflusst.
  • Quelle, von der die Verbreitung ausgeht, kann in beiden Fällen stationär oder dynamisch betrachtet werden.

Unterschiede

  • Krankheitserreger können durch die globale Vernetzung durch Schiffs- und Flugverkehr über weite Strecken transportiert werden.
  • Zusätzliche Barrieren bei Krankheitsübertragung durch geimpfte Personen und Desinfektionsstationen.
  • Je nach Ausprägung der Schutzmaßnahmen vor Krankheitsübertragung (Mundschutz, Handschuhe, Desinfektion, Lüftungssystem, Impfung) können mehr bzw. weniger Mikroorganismen über Barrieren übertragen werden --> abhängig von Finanzen und Ausstattung eines Landes.
  • Ausbreitung einer Krankheit stark abhängig von der Art des Krankheitserregers
    • Übertragungsweg über die Luft oder direkten Kontakt
    • Lebensdauer der jeweiligen Art
    • Umweltbedingungen wie Feuchtigkeit, Temperatur die das Überleben bedingen (nur bei Bakterien da es sich hierbei um Lebewesen handelt).
  • Quelle: Schadstoffe werden dauerhaft von Quelle ausgestoßen. Die Quelle zur Verteilung von Mikroorganismen verteilt stoßweise durch Ein- und Ausatmung die Krankheitserreger bzw. kann stark in verschiedenen Zeitpunkten variieren z.B. durch Niesen oder Husten.

Verbreitung Mikroorganismen im offenen Gebiet - Kontinuierlicher Diffusionsprozess[Bearbeiten]

Im folgenden wird auf Grundlage von Differentialgleichungen ein möglicher Diffussionsprozess mithilfe des Programmes Octave beschrieben. Für diese Beschreibung verwenden wir die Finite-Differenzen Methode. Ziel ist es ein lineares Gleichungssystem zu lösen. Aus diesem Grund wurden folgende Schritte in einer Funktion nacheinander zusammengefasst:

  1. Erstellung einer Systemmatrix. Sie soll die allgemeine Bewegung der Mikroorganismen nach dem zweiten Differentialquotienten beschreiben.
  2. Erstellung einer Quellfunktion. Sie beschreibt die Konzentrationsverteilung ausgehend von der Quelle (dem Niesenden).
  3. Erstellung einer Zeitschleife.
  4. Hinzufügen von Konvektionsströmungen. Sie beeinflussen die Verteilung der Mikroorganismen.


Abbildung 1: Aufsicht Kaiserslautern Stadtpark. Erstellt mit der OpenSource Anwendung Markers4Map - Karte OpenStreetMap


Daten um Funktion auf bestimmte Situation aufzubauen:

Wir betrachten folgende Situation:

Eine infizierte Person läuft im Zentrum des Stadtparks von Kaiserslautern. Die Abbildung 1 zeigt eine Aufsicht des Stadtparks. Wie zuvor erwähnt wird die Verteilung mit der Finite-Differenz Methode modelliert.

  • Die Mikroorganismen verbreiten sich mit einem Diffusionskoeffizient von [7]
  • Zunächst wird eine Verteilung der Mikroorganismen im Stadtpark ohne Konvektion betrachten. Auf Grund der Größe des Stadtparks und dem geringem Diffusionskoeffizienten entschieden wir uns, die Dirichleten Randbedingungen zu benutzen. Hierbei setzen wir alle Ränder des Stadtparks auf eine Mikroorganismenkonzentration .
  • Wegen der starken Bebauung um den Stadtpark wird für die Konvektion eine durchschnittliche Windgeschwindigkeit von angenommen. Westwinde sind in unseren Breiten am wahrscheinlichsten [8].
  • Wir nehmen an, dass sich unsere Quelle bewegt. Durch Recherche ergab sich eine durchschnittliche Joggergeschwindigkeit von und somit eine vermutete Gehgeschwindigkeit von .



Systemmatrix[Bearbeiten]

Die Systemmatrix wird benötigt um , den Laplace Operator, aufzustellen. Dieser Laplace Operator wird im 2-Dimensionalen Raum wie folgt diskretisiert:

Dieses sog. Sternschema ist am Ende auch in der Systemmatrix erkennbar wie Abbildung 1 zeigt.

Abbildung 2: Erstellte Systemmatrix nach Sternschema für ein Gitter mit 3x3 Gitterpunkten

In Octave wurde zur Erstellung der Systemmatrix folgender Code geschrieben:

% Systemmatrix

 Vec1=ones(N*N,1); % erzeugt vektor der  Länge N*N
 BB=diag(-4.*Vec1,0)+diag(ones(N*N-1,1),1)+ diag(ones(N*N-1,1),-1)+diag(ones(N*(N-1),1),N)+diag(ones(N*(N-1),1),-N);
 % Systemmatrix N^2xN^2 mit -4 auf der Diagonale und 1 auf den Nebendiagonalen 
 %und 1 auf den N und -N-ter Nebendiagonale 
 
 

%Korrektur der Matrix (Blockdiagonalitaet)

 for  i=1:(N-1) 
     BB(i*N+1,i*N)=0;BB(i*N,i*N+1)=0;
 endfor


Die Systemmatrix ist bezüglich des wie folgt zu lesen/ zu verstehen:

  • Die Systemmatrix ist so aufgebaut, dass sie alle Positionen von x und y auf die Sternform des zweiten Differenzquotienten bezieht. Dazu wird jede Zeile der Systemmatrix mit einem Vektor multipliziert, der alle Positionen von u enthält.

Bsp. 3x3

Position im Vektor i=1, j=1:

Position im Vektor i=2, j=1:

Position im Vektor i=3, j=1:

Position im Vektor i=1, j=2:

usw...

Ein Vergleich des Beispiel mit der Diskretisierung zeigt, dass der Aufbau dieser Systemmatrix genau den Anforderungen des zweiten Differentialquotienten gerecht wird.


Weitere Anpassungen bzgl. unserer Situation[Bearbeiten]

Um die geschriebene Funktion in Octave an die Situation anzupassen muss das Gitter, das über das Gebiet gelegt wird Maßeinheiten zugewiesen werden. Hierbei betrachten wir ein Gitter, dass wir zuvor in Octave erstellt haben:

 %definiere Gebiet
 xend=2; yend=2;        
 hx=xend/N;
 hy=yend/N;
 %Koordinatenfeld
 [x,y]=meshgrid(0:xend/(N-1):xend,0:yend/(N-1):yend);

Um dieses Gitter auf unser Beispiel zu übertragen, wurde der Länge 2 konkrete Maßeinheiten zugewiesen. Diese sind 100 m, 50 m und 25 m. Dadurch lässt sich der Abstand der Gitterpunkte für ein bestimmtes N konkret bestimmen wie die nachfolgende Tabelle zeigt:

Umrechnungen der Maßeinheiten bzg. der Gesamtgitterlänge von 2

Je nachdem welche Situation betrachtet wird, können nun die jeweiligen Daten in die Funktion eingesetzt werden.

Weiterhin muss beachtet werden, dass wir uns in einem offenen Gebiet befinden und somit Konvektion durch z.B. Wind die Verbreitung beeinflussen kann. Dadurch können die Mikroorganismen schnell an die Grenzen unseres Gebietes verteilt werden. Um hier eine möglichst realistische Situation darzustellen wurden hier die Neumannrandbedingungen in der Systemmatrix ergänzt. Bei starker Bebauung ist es sinvoll die Dirchleten Randbedingungen einzubauen und bei unbebauten Ränder die Neumannrandbedingung einzubauen. So zeigt der nachfolgende Code, welche Einträge in der Systemmatrix geändert werden müssen, sodass alle Ränder die Neumannrandbedingung enthalten:

Veränderte Systemmatrix N=3 Gitterpunkt Neumann Randbedingung an allen Rändern
%Neumannrandbedingung an den Rändern in x-Richtung
 for i=1:N
   BB((i-1)*N+1,(i-1)*N+1)=hx;       %Erster Hauptdiagonaleintrag in Hauptdiagonalblock
   BB(i*N,i*N)=hx;                   %Letzter Hauptdiagonaleintrag in Hauptdiagonalblock
   BB((i-1)*N+1,(i-1)*N+2)=-hx;      %Erster oberer Nebendiagonaleintrag in Hauptdiagonalblock
   BB(i*N,i*N-1)=-hx;                %Letzter unterer Nebendiagonaleintrag in Hauptdiagnoalblock
 end
 
 for i=1:N-1
   BB((i-1)*N+1,i*N+1)=0;            %Erster Hauptdiagonaleintrag in oberem Nebendiagonalblock
   BB(i*N,(i+1)*N)=0;                %Letzter Hauptdiagonaleintrag in oberem Nebendiagonalblock
   BB(i*N+1,(i-1)*N+1)=0;            %Erster Hauptdiagonaleintrag in unterem Nebendiagonalblock
   BB((i+1)*N,i*N)=0;                %Letzter Hauptdiagonalentrag in unterem Nebendiagonalblock
 end
 
 %Neumannrandbedingung an den Rändern in y-Richtung
 for i=1:N
   BB((N-1)*N+i,(N-2)*N+i)=-hy;      %unterer vorletzter Block Hauptdiagonale
   BB(i,N+i)=-hy;                    %obere zweiter Block Hauptdiagonale
   BB(i,i)=hy;                       %Änderung im ersten Block die Hauptdiagonale
   BB((N-1)*N+i,(N-1)*N+i)=hy;       %Änderung des letzten Blocks die Hauptdiagonale   
 end
 
 for i=1:N-1
   BB(i,i+1)=0;                      %Erster Block obere Nebendiagonale
   BB(i+1,i)=0;                      %Erster Block untere Nebendiagonale
   BB((N-1)*N+i,(N-1)*N+1+i)=0;      %Letzter Block obere Nebendiagonale
   BB((N-1)*N+1+i,(N-1)*N+i)=0;      %Letzter Block untere Nebendiagonale
 end
 
 %Neumanrandbedingung für Eckpunkte
 BB(1,1)=hx+hy;
 BB(N,N)=hx+hy;
 BB((N-1)*N+1,(N-1)*N+1)=hx+hy;
 BB(N*N,N*N)=hx+hy;
 BB(1,2)=-hx;
 BB(N,N-1)=-hx;
 BB((N-1)*N+1,(N-1)*N+2)=-hx;
 BB(N*N,N*N-1)=-hx;

Dieser Code wurde so geschrieben, sodass die Systemmatrix leicht angepasst werden kann bei anderen Bedingungen.


Die Quellfunktion - 'rechte Seite' des Gleichungssystems[Bearbeiten]

Die Quellfunktion beschreibt die Verteilung der Mikroorganismen ausgehend von einem Mensch mit gleichmäßiger Atmung. Die Grundidee ist hierbei die zurückgelegte Strecke bezüglich eines beliebigen Gitterpunktes mithilfe des Pythagoras zu berechnen. So beschreibt der Punkt die Position der Quelle und ein beliebiger Punkt im Gitter der untersucht wird, ob der Ausatmung noch "spürbar" ist. Die Strecke hat somit folgende Form:

Weiterhin wollen wir den Mensch (Quelle) sich bewegen lassen. Somit sollen sich die Koordinaten von Q in Abhängigkeit der Zeit verändern. Dies ist möglich indem Werte auf den x- und y-Wert der Quellfunktion addiert werden.

In unserem Beispiel soll sich die Quelle um einen Gitterpunkt in x-Richtung mit der Zeiteinheit eine Sekunde bewegen. Die Variable r beschreibt hierbei den Radius in dem die Mikroorganismen noch "spürbar" sind, welcher 1 m beträgt. Dieser Meter muss umgerechnet auf die 2 Längeneinheiten der Gesamtgitterlänge:

  • Maßeinheit 100 m: r=0,02
  • Maßeinheit 50 m: r=0,04
  • Maßeinheit 25 m: r=0,08

Dazu haben wir die Quellfunktion wie folgt umgeschrieben:

function wert=Quellfunktion_Zeit(x,y,t,N)
 if sqrt((x.-2*t/(N-1)).^2+(y.-1).^2)<=r wert=1;       %Quelle ist ein laufender Mensch, wandert also
   else wert=0;                                        %bewegt sich pro t-Intervall einen Gitterpunkt in x-Richtung
 endif                                                 
endfunction

Die Zeitschleife[Bearbeiten]

Um die Zeitschleife zu erstellen war es uns möglich zwischen dem expliziten und impliziten Eulerverfahren zu wählen. Aufgrund der genauen Vorstellung des Verbreitungsprozesses durch den Diffusionskoeffizient können wir davon ausgehen, dass die Konzentration des nächsten Zeitschrittes immer aus dem Zeitschritt davor gefolgert werden kann. Deshalb wurde in unsere Funktion lediglich die explizite Form verwendet. Der nachfolgender Quellcode demonstriert die Programmierung unser Zeitschleife. Zuerst wurde hierbei ein zu durchlaufendes Zeitintervall festgelegt und anschließend den Durchlauf über dieses Zeitintervall mit allen Positionen der Quellfunktion programmiert.

 %Zeitintervalle
 finalT=1 
 t=[0:finalT/n:finalT];   
 deltat=finalT/n
 %Zeitschleifenabschnitt - EXPLIZIT
 for k=1:n-1     
   sol=solneu;                                 %Iteration über Zeitpunkte
   for i=1:N                                   %Aktualisierung von b in Abh. zur Zeit
     for j=1:N
     f(j,i)=1*Quellfunktion_Zeit(x(j,i),y(j,i),t(k));   
     endfor  
   endfor
 b=1*reshape(f',N*N,1);                                  
 solneu=sol +deltat*(BB*sol +b);               %Aktualisierung von sol in Abh. zur Zeit
 sol_matrix=reshape(solneu,N,N)';


Der Konvektionsterm[Bearbeiten]

Der Diffusionsprozess der Mikroorganismen wird auf die Umgebung des Stadtparks Kaiserslautern bezogen. So wird eine Matrix konstruiert, die die Windrichtung miteinbezieht. v_1 beschreibt hierbei die Bewegung in x-Richtung und v_2 die Bewegung in y-Richtung. Diese Matrix wird schließlich zur Systemmatrix hinzuaddiert und liefert somit einen Beitrag. Dieser Beitrag sieht wie folgt aus:

Zudem ist zu beachten von wo der Wind kommt. Je nach Richtung wird der linke oder rechte Differenzenquotient für die partielle Ableitung verwendet. Die Funktion wurde wie folgt in Octave umgeschrieben:

 function [sol_matrix]=solve_Laplace_Konv(N,n,v1,v2)

Anschließend wurde der Konvektionsterm je nach Windrichtung wie folgt in Octave implementiert:

 %Beitrag zur Systemmatrix Konvektion 
 %Unterscheidung für die Windrichtung
 if v1>=0
   CC=(v1/hx)*(diag(1*ones(N*N,1),0)+diag(-ones(N*N-1,1),-1));
 else
   CC=(v1/-hx)*(diag(ones(N*N,1),0)+diag(-ones(N*N-1,1),1));
 end
 
 if v2>=0
   DD=(v2/hy)*(diag(ones(N*N,1),0)+diag(-ones(N*N-N,1),-N));
 else
   DD=(v2/-hy)*(diag(ones(N*N,1),0)+diag(-ones(N*N-N,1),N));
 end
 %Beitrag zur Systemmatrix
 BB=BB-(CC+DD)

Für unser Problem haben wir eine Windgeschwindigkeit von 10 km/h = 2,78 m/s aus westlicher Richtung . Dieser Wert muss umgerechnet auf die 2 Längeneinheiten der Gesamtgitterlänge:

  • Maßeinheit 100 m: v1=0,0556
  • Maßeinheit 50 m: v1=0,1112
  • Maßeinheit 25 m: v1=0,2224

Lösung[Bearbeiten]

Dies ist das Ergebnis sowie die Quellfunktion für ein N=50 Gitterpunkte n=20 Zeitschritte mit Wind von links kommend. Quellfunktion

Ergebnis

Verbreitung Mikroorganismen im abg. Raum - Diskreter Diffusionsprozess[Bearbeiten]

Im folgenden wurde versucht einen örtlichen Diffusionsprozess zu demonstrieren. Dazu wurde zunächst das Programm Excel verwendet. Wir gehen davon aus, dass eine Infizierte Person senkrecht nach oben niest, somit wird nur der eigentlichen Diffusionsverhalten in der Fläche betrachtet. Bei einem Niesvorgang werden rund 1.000.000 Erreger ausgestoßen. Diese werden nach einem bestimmten Diffusionsschema in der näheren Umgebung verteilt. In unserem Modell gehen wir von einem 7 Quadratmeter großen Areal aus. Die Krankheitserreger diffundieren mit einer Geschwindigkeit von 1 Meter die Sekunde. Durch das Niesen nach oben wird die "Niesgeschwindigkeit" im eigentlichen Diffusionsprozess außer Acht gelassen. Das Areal, das betrachtet wird, ist durchaus realistisch, da Krankheitserreger mit der Zeit langsam absinken und aus dem Luftraum verschwinden.

In der Folgenden Abbildung wurde aus Sicht der sendenden Zelle berechnet. Wie verteilt die betrachtete Zelle ihren Inhalt in die umliegenden Zellen.







Hier kann man erkennen, dass bereits nach 3 Zeitschritten das gesamte Areal betroffen und mit Mikroorganismen infiziert ist.

Die genormte Verteilungsmatrizen, die dazu betrachtet wurden, sind die folgenden:

Die oberen Verteilungsmatrizen sind ursprünglich aus den folgenden Matrizen entstanden:

Um auf die eigentlichen Verteilungsmatrizen zu kommen, wurde jeder einzelnen Postion der Matrix eine Grundverteilung zugeschrieben. Die Matrizen des Randes sind keine 3x3 Matrizen sondern um eine Zeile und oder Spalte verkürzt. Hier wurde um die Gleichmäßigkeit der Matrizen nicht zu verletzen die Verteilung der vollständigen 3x3 Matrix genommen und wie gewohnt in die Ecken, Rand und Ausgangsfeld geschrieben. Die Werte der Matrix wurden aufsummiert und jeder Inhalt wurde durch diese Summe geteilt, um bei der eigentlichen Verteilungsmatrix auf 1 zu kommen und somit keine Partikel zu "verlieren". An einem Eckfeld wird nun demonstriert wie die Verteilung verrechnet wird:


Hier wurde die mögliche Verteilung im Eckfeld betrachtet. Ein Eckfeld hat nur 3 direkte Nachbarn. Somit wird eine 2x2 Matrix betrachtet. Jedes entsprechende Feld der 2x2 Matrix der Bakterien des vorherigen Zeitschrittes wird mit dem entsprechenden Wert der 2x2 Matrix der Verteilungsmatrix (also die Matrix für die obere rechte Ecke) multipliziert und die Werte in dem Eckfeld aufsummiert. Dadurch wird der Einfluss des letzten Zeitschrittes der anderen Zellen auf die Eckzelle im aktuellen Zeitschritt berechnet.

Analog geht man nun mit den Rand bzw. zentralen Felder vor. Die Rechnungen verlaufen nach dem gleichen Prinzip:
Ein Randfeld hat entweder eine Spalte oder eine Zeile weniger und stets 5 direkte Nachbarn. Somit wird je nach Position des betrachteten Randfeldes eine 2x3 oder 3x2 Matrix betrachtet. Auch hier werden die entsprechenden Felder der Matrix der Bakterienkonzentration des letzten Zeitschritts mit der passenden Verteilungsmatrix (in Bezug auf das sendende Feld) verrechnet.


Ein zentrales Feld hat 8 direkte Nachbarn. Der betrachtete Sender liegt dabei in der Mitte. Somit sie 3x3 Matrix den sendenden Feldes mit der entsprechenden Matrix der Verteilung über das Summenprodukt verrechnet.


In der folgenden Erklärung wird sich auf ein zentrales Senderfeld bezogen.
Gesprochen in Anteilen würde vom betrachteten Senderfeld des letzten Zeitschrittes ein Anteil von ca. 65% im betrachteten Feld bleiben. Jeweils 5% werden in die waagerechten bzw. horizontalen Nachbarn verteilt und ca. % gehen in die diagonalen Felder über.
Gesprochen in Wahrscheinlichkeiten bleibt ein einzelnes Bakterium mit der Wahrscheinlichkeit von ca. 65% im eigenen Feld oder geht mit der Wahrscheinlichkeit von 5% in ein horizontales bzw. vertikales Feld oder geht mit der Wahrscheinlichkeit von % in ein diagonales Feld über.
Wenn man von Anteilen spricht redet man immer von der gesamten Bakterienanzahl in dem betrachteten Senderfeld. Spricht man hingegen von Wahrscheinlichkeiten, so wird nur die Wahrscheinlichkeit eines einzelnen Bakteriums betrachtet in eines der umliegenden Felder überzugehen.

Die ganze Zeit wurde der Prozess aus der Sicht des Senders betrachtet, aber was genau bedeutet die Diffusion für den Empfänger?
Zunächst müssen die Verteilungsmatrizen aus Sicht des Empfängers aufgestellt werden. Diese sehen wie folgt aus: (Erklärungen der Matrizen folgen im Anschluss)

Wie kommt nun diese Matrix zu Stande?
Bei dem Empfänger müssen auch verschiedene Verteilungen auf Basis seiner Position unterschieden werden. Der Empfänger kann wie zuvor der Sender auch im Eck, am Rand oder zentral stehen. Jedoch ist es mit diesen Fällen aus Sicht des Empfängers nicht getan.
Im Fall des Empfängers sind mehrere Positionen miteinander zu vergleichen. Denn der Empfänger bezieht zum einen Erreger aus seinem eigenen Umfeld, aber auch von den Positionen neben ihm. Somit muss gleichzeitig betrachtet werden wo sich die Nachbarn des Empfängers in Bezug auf Rand/Mitte/Zentrum befinden, da der Empfänger gemäß der entsprechenden Verteilung Erreger auch von dessen Nachbarn bezieht. Der Empfänger kann also Nachbarn haben, die am Rand, in der Ecke oder im Zentrum stehen und je nach dem müssen die Verschiedene Positionen berücksichtigt werden.

Betrachtet wird die obere 2x3 Matrix. Das rote Feld entspricht der Position des betrachteten Empfängers. in diesem Fall steht er am Rand bzw. der Kante K. Die grauen Felder symbolisieren die Position seiner Nachbarn, von denen der Empfänger Erreger beziehen kann. In diesem Fall Hat er einen Eckständigen Nachbar (rot umrandetes Feld). Um dessen Einfluss auf den betrachteten Empfänger festzustellen, müssen wir zurückblicken und unser Wissen aus der vorherigen Senderverteilung einbeziehen.

Der rot umrandete Sender ist das linke obere Eckfeld. Im Bezug zu diesem Sender steht der Empfänger rechts daneben. Somit sendet der Sender nach Sendermatrix ca. 6% seiner Erreger (oder mit 6% Wahrscheinlichkeit einen Erreger) zum Empfänger rechts daneben. Das bedeutet umgekehrt für den Empfänger, dass er 6% der Erreger (oder mit 6% Wahrscheinlichkeit einen Erreger) vom Sender bezieht. Somit ist der Eintrag des rot umrandeten Feldes der Empfängerverteilung von der Senderverteilung abhängig. Um die Empfängerverteilung erfolgreich aufzustellen, ist folgendes Schema zu empfehlen:

  • Welche Position hat der Empfänger? → Bezug zum entsprechenden Senderfeld herstellen (denn jeder Empfänger ist zum Teil auch sein eigener Sender)
  • Welche Positionen haben die Nachbarn des Empfängers?
  • Welche Position hat der Empfänger bezogen auf den sendenden Nachbarn in der Sendermatrix? → Muss ein graues Feld der Sendermatrix sein. Der Eintrag entsprechend der Position des Empfängers zu dem Sender ist der Anteil, der der Empfänger vom entsprechenden Sender beziehen kann.

Insgesamt müssen also mehrere Positionen verglichen werden. Zunächst muss die Position des Empfängers erfasst werden (ein entsprechendes rotes Feld der Sendermatrix). Dann die Positionen der möglichen Sender im Bezug zum Empfänger (das sind die roten Felder der Sendermatrix) und schließlich die Position des Empfängers im Beug zum Sender in der Sendermatrix (graues Feld), um herauszufinden, welcher Anteil vom jeweiligen Nachbarn empfangen werden kann.
Nun zur eigentlichen Erregerverteilung, die wie zuvor auch, durch geschickte Bildung des Summenproduktes für jeden Zeitschritt berechnet wird.
Start:


Nach dem ersten Zeitschritt:


Nach dem zweiten Zeitschritt:


Nach dem dritten Zeitschritt:

In diesem Zeitschritt wird auch erneut auf die Berechnung des Zellinhalts über das Summenprodukt aufmerksam gemacht. Durch die beschriebene Bildung der Verteilungsmatrix, in der ständig die Positionen des Senders und des Empfängers verglichen wurde, kann nun einfach das Summenprodukt aus dem Betrachteten Empfänger und seinen direkten Nachbarn des letzten Zeitschritts und der Verteilungsmatrix entsprechend der Position des Empfängers (rotes Feld) gebildet werden. Der Betrachtete Empfänger ist in diesem Fall ein oberer Rand mt einer Ecke als Nachbar. Somit wird sich auf folgende Verteilungsoption bezogen (betrachte die obere 2x3 Matrix):

Der Inhalt des linken Nachbars wird dann einfach mit dem Eintrag der ersten Zeile und der ersten Spalte der Verteilungsmatrix multipliziert. Der Eintag des Diagonalen linken Nachbars mit dem Eintrag der zweiten Zeile und der Ersten Spalte usw..


Im dynamischen System[Bearbeiten]

Die folgenden Excel-Tabellen zeigen, ein dynamisches System. Es wird demonstriert, wie sich die Mikroorganismen in einem geschlossenen Raum bewegen, wenn sie beispielsweise durch menschliche Bewegung verdrängt bzw. beeinflusst werden.

In den drei folgenden Tabellen wird die Bewegung durch eine Person binnen drei Zeitschritten dargestellt. Daraufhin auch die Verteilung bzw. "Verdrängung" der Mikroorganismen im Raum.





Dieser Tabelle liegen aufwendige Berechnungen mittels Funktionen und Zellbezügen zu Grunde. Um diese Berechnungen durchzuführen müssen zusätzlich folgende Zellen betrachtet werden:

  • Die Gewichtung der Umgebung. Das Feld in der Mitte entspricht dabei der Position des betrachteten Empfängers


  • Um die Positionen bzw. Gewichtung der Umgebung in Bezug auf die Ränder bei der Bildung des Summenproduktes korrekt umzusetzen, wird folgende Tabelle aufgestellt, die pro Zeitschritt auf die jeweilige Situation angepasst wird, da sich die Randsituation durch die Bewegung im Raum ändert. Im folgenden wird die Tabelle zur dritten Situation angegeben







Um den Inhalt einer Zelle nun zu berechnen, werden folgende Zellbezüge gesetzt:




Bei der Ausgesuchten Zelle handelt es sich um die Zelle der dritten Zeile in der dritten Spalte unseres betrachteten Raumes(inklusive Rand). Grundsätzlich besteht der Unterschied hier im Gegensatz zu den bisherigen Arbeitsschritten in der Programmierung der verschachtelten Wenn-Bedingungen. Wir werden im Folgenden die einzelnen Stellen der Zellprogrammierung durchgehen und erläutern. Wir betrachten das Feld D5:

  • Die erste "Wenn-Bedingung" frägt ab, ob sich in dem betrachteten Feld ein Hindernis im aktuellen Zeitschritt befindet. Wenn dem so wäre würde der Zellinhalt dieses Feldes =0 gesetzt werden. Der sonst Fall wird hier den gesamten Rest der Erklärung ausmachen
  • Wenn das betrachtet Feld nicht blockiert wird, wird eine weitere Wenn-Abfragen durchgeführt, sie dient dazu sicherzugehen, dass kein Zellinhalt verloren geht und jeder Erreger im System bleibt, obwohl eine Person rumläuft und so ständig neue Felder "auf 0" setzt. Betrachtet wird zunächst die Veränderung rechts von dem betrachteten Feld. Wenn die Person rechts neben dem betrachteten Feld steht (O15=1)und nach links läuft (P15=-1) soll der Inhalt des rechten Feldes (also von E5) auf unser Feld (D5) hinzuaddiert werden. Gleichzeitig unterliegt D5 auch dem allgemeinen Diffusionsprozess. das wird durch das erste Summenprodukt beschreiben. Dabei wird das Summenprodukt der umliegenden Felder, der Gewichtung der Umgebung, der Umgebung selbst und den Vorfaktoren für das Summenprodukt gebildet.
    • Die Umgebung wird einbezogen, da man aus leeren Feldern nichts beziehen kann und auch in leere Felder nichts verteilen kann.
    • Die "Vorfaktoren für das Summenprodukt" dienen der weiteren Gewichtung der Umgebung. da in der allgemeinen Gewichtung der Umgebung nicht länger darauf eingegangen wird, ob das betrachtete Feld ein Randfeld, ein Eckfeld oder ein Mittelfeld ist muss dieser Sachverhalt anders berücksichtigt werden und unterschieden werden. Somit wird die Position in der Umgebung zusätzlich durch diese Faktoren gewürdigt. Dieser Faktor entsteht aus dem Summenprodukt der Umgebungsgewichtung und der Hindernisse im Raum. Dadurch werden auch Rand und Eck-Bedingungen für Hindernisse beachtet.
  • Sonst: Sollte kein Objekt von rechts kommen, so werden nach dem gleichen Prinzip die anderen Richtungen abgehandelt.
  • Das letzte Sonst: Schließlich, sollte niemand von irgendwo auf das betrachtete Feld zu laufen wird das beschriebene Summenprodukt gebildet, ohne den Inhalt von Nachbarzellen komplett auf sich selbst zu übertragen. (also die Addition des Inhalts der Zelle nebenan aus dem letzten Zeitschritt fällt weg, da keine Mikroorganismen auf das betrachtete Feld "geschoben" werden.

Weitergabe der Erreger - Der Netzwerkgedanke[Bearbeiten]

Weitergabe über menschliche Netzwerke[Bearbeiten]

Menschliches Netzwerk dreier Personen - Octave[Bearbeiten]

Das folgende Octave-Programm ist ein Modell des Netzwerkgedankes zur Weitergabe von Viren. Eine Infizierte Person A gibt durch Kontakt zu einer anderen Person B zum einen Teil seiner Keime weiter. Selbst wenn die infizierte Person A nicht in Kontakt zu Person C steht, können die Keime dennoch über Person B auf Person C übertragen werden. Auch wenn Person B immun wäre, kann er immer noch die Viren beispielsweise durch Berührung weitergeben. Ebenso kann sich der Kontakt verschiedener Personen ändern in dem sie sich bewegen, Türen öffnen usw.. Auch das versuchten wir in dem Programm umzusetzen.




Um die Funktion Bewegen auszuführen, werden 14 Eingaben benötigt a1, a2, a3, a4 bilden dabei die erste Zeile der Verteilungsmatrix, es sollte darauf geachtet werden, dass die Summe der Zeileneinträge stets 1 ergibt. analoges gilt für b1, b2, b3, b4 und c1, c2, c3, c4 und d1, d2, d3, d4. t gibt an wie viele Zeitschritte durchlaufen werden sollen bzw. wie oft Viren übertragen werden. Der Vektor v1 gibt die Anfangssituation an.Beispielsweise könnte Person A krank sein und stößt zu Beginn 1.000 Keime aus. Diese werden dann über die Verteilungsmatrix unter den vier Personen verteilt. Betrachtet wird in diesem Modell die Übertragung zwischen 4 Personen.
Die Verteilungsmatrix sollte in der Eingabe Zeilenweise folgendermaßen verstanden werden. Person A gibt einen Anteil (a1) sich selbst ab, einen Anteil (a2) an Person B, einen Anteil (a3) an Person C und einen Anteil (a4) an Person D. In der weiten Zeile folgt die Abgabe der Erreger durch Person B. Dabei gibt Person B einen Anteil (b2). an Person A ab, einen Anteil (b2) behält Person B, einen Anteil (b3) wird an Person C und ein Anteil (b4) an Person B abgegeben. Analoges gilt anschließend für Person C und Person D. Im Programm selbst wird die Matrix transponiert, da die Matrizenmultiplikation Zeile * Spalte verläuft und aufgrund dessen somit sollten die Spalten stets angeben von wo welcher Anteil kommt und die Zeilen geben an, zu wem er geht. Die Eingabe passiert untransponiert für bessere Übersicht, da Menschen Dinge von links nach rechts lesen (von... zu...)
Des Weiteren sollen sich die Anteile, die an verschiedene Personen abgegeben werden, zufällig innerhalb eines bestimmten Intervalls ändern. Das soll die Bewegung und somit die zufällige Veränderung der Connectivität der Personen simulieren, denn Bewegungen fremder Personen sind eigentlich nicht vorhersagbar.
Der Vektor v ist der Rückgabevektor. Er gibt an, wie viele Keime sich bei der Person A,B,C oder D befinden. Wir betrachten in dem Beispiel auf dieser Seite eine Anzahl von Keimen, man könnte genausogut die Konzentration der Erreger einsetzen und verteilen.
In unserem System gehen wir davon aus, dass i.d.R. keine neuen Keime in unser Netzwerk hinzukommen und auch keine Keime abgetötet werden (z.B. durch Desinfektionsmittel). Will man diese Situation auch betrachten, könnte man dies problemlos im Befehlsfenster tun und so die Situation beliebig anpassen. Will man dabei Erreger nach einem beliebigen Zeitschritt t dem System zufügen, muss die Funktion bis zum Zeitschritt t-1 ausgeführt und ein Zugabevektor v2 addiert werden. Daraufhin kann man die Funktion erneut beliebig viele Zeitschritte laufen lassen. Im Falle der Desinfektion wird auch hier nach bestimmten Zeitschritten t-1 die Funktion abgebrochen und es kommt zur "Desinfektion". Dafür wird der Vektoreintrag der desinfizierenden Person mit einem Faktor aus dem Intervall 0.01 bis 0.1 (1% bis 10% der Keime bleiben nach Behandlung mit Desinfektionsmittel bestehen (je nach Gründlichkeit)) multipliziert werden und der so neu entstandene Vektor weiter verwendet werden. Diese Rechnung kann im Gegensatz zur Vektoraddition bei dem hinzufügen von Keimen, durch eine Matrizenmultiplikation durchgeführt werden. Angenommen Person B verwendet Desinfektionsmittel, dann wären die Einträge der ersten Zeile: 1 0 0 0, der zweiten Zeile: 0 0.1 0 0, der dritten Zeile: 0 0 1 0 und der vierten Zeile: 0 0 0 1. Dabei wird die Desinfektionsmatrix von links an mit dem Ergebnisvektor des letzten Durchganges multipliziert und mit diesem neuen Vektor müsste dann weitergerechnet werden. Also wird die Funktion mit dem neuen Vektor als v1 erneut gestartet und die Art der Verteilung im neuen Zeitschritt beobachtet.
Im folgenden wird das beschriebene Vorgehen einmal durchgeführt:




Menschliches Netzwerk dreier Personen - Excel[Bearbeiten]

Die folgenden Excel-Tabellen zeigen eine weitere Möglichkeit die Verbindungen zwischen Personen auszudrücken und ihre Auswirkung auf die Erregerverteilung zu berechnen. Es ist zu sagen, dass diese Tabellen eine Alternative zur obigen Octave-Programmierung sind. Die Tabellen sehen folgendermaßen aus:








Es wird ein Summenprodukt aus den Zeilen des Vektors der Erreger (t(Verteilung)) und den Spalten Der Verteilungsmatrix gebildet. Da das Summenprodukt nicht funktioniert hat, als wir es über den Zeilenvektor und den Spalten der Matrix bilden wollten, haben wir den Zeilenvektor als Spaltenvektor umgeschrieben und das Summenprodukt aus den Spalten der Matrix und dem Spaltenvektor gebildet.
Möchte man in einem beliebigen Zeitschritt die Verteilungsmatrix bzw. die Verbindung zwischen den Personen ändern, sollte die Verbindung in den weißen Felder geändert werden, die grauen Felder werden automatisch ergänzt. Dabei sollte darauf geachtet werden, dass der Spalten-Eintrag der weißen Felder <=1 bleibt.
Möchte man eine Desinfektion in einem Zeitschritt ausführen, sollte in dem gewollten Zeitschritt bei dem Eintrag der desinfizierenden Person ein Faktor zwischen 0,9 und 0,99 hinzu multipliziert werden. Im darauf folgenden Zeitschritt wird dann mit diesen Werten weitergerechnet. Sollte eine Person in einem Zeitschritt erneut Erreger verteilen, so wird die Anzahl der Erreger, die die Person ausstößt in die Zelle der jeweiligen Person in dem Erregervekot hinzu addiert.
Möchte man auch hier eine zufällige Änderung der Konnektivität der Personen in der Verteilungsmatrix erreichen, so kann man mit dem Befehl Zufallszahl eine Zufallszahl zwischen -0,025 und 0,025 erstellen und sie zu den eintragen der Matrix des letzten Zeitschrittes hinzu multiplizieren. Dabei sollte durch eine Wenn-Bedingungen zuvor abgefragt werden, ob die Einträge der Matrix >=0,025 sind, damit keine negativen Matrixeinträge entstehen.

Vor- und Nachteile der jeweiligen Darstellung[Bearbeiten]

  • Octave
    • Vorteile
      • Man kann das Programm über eine bestimmte Zeit laufen lassen und die Effekte der Verbindung der Personen über einen bestimmten Zeitpunkt verfolgen.
      • Das Programm ist Veränderbar, man kann die zufällige Veränderung der Matrix entfernen.
      • Das Programm hat zwar für die Zufallsoption viele Kontrollabfragen, die aber einfach durch Kopieren und Einfügen zu erstellen sind
      • Für Schüler, die Informatik belegen, ist dieses Programm eine gute Übung um Quellencodes zu übersetzen
      • durch die Ausgaben nach jedem Zeitschritt ist es möglich sowohl die Veränderung der Matrix, als auch den Einfluss auf die Verteilung dieser Veränderung in den Blick zu nehmen.
      • Handelt beliebige Zeitschritte durch einmaliges Ausführen des Programmes ab
      • Man könnte durch leichte Programmänderungen bestimmen, dass beispielsweise nach jedem 3. Zeitschritt eine Desinfektion und nach jedem 5. Zeitschritt neue Erreger hinzukommen.
    • Nachteile
      • Das Programm hat viele kleine Abfragen, über die man bei der Programmierung einen Überblick behalten sollte.
      • Für Schüler ohne Informatik ist der Quellcode schwierig zu verstehen
      • Man muss um zu desinfizieren oder um neue Viren hinzuzufügen das Programm nach einem bestimmten Zeitpunkt abbrechen um die Desinfektion oder das hinzufügen von Erregern auszuführen und das Programm erneut starten.
  • Excel
    • Vorteile
      • Für Schüler sind Excel-Tabellen leichter zu verstehen, besser zu lesen und ein wenig leichter zu deuten
      • In jedem Zeitschritt kann die Verteilungsmatrix angepasst werden
      • In jedem Zeitschritt kann man nach belieben eine Desinfektion durchführen oder Viren hinzufügen, in dem man in den entsprechenden Einträgen den Erreger-vektor anpasst.
    • Nachteile
      • Jeder Zeitschritt wird auf einem neuen Tabellenblatt erneut programmiert
      • Programmierung der Zufälligen Veränderung der Verteilungsmatrix kann durch die erwähnte Wenn-Bedingung und den Befehl "Zufallszahl" schnell unübersichtlich werden
      • Da eigentlich eine Matrizenmultiplikation Zeile*Spalte funktionieren sollte, wir aber das Summenprodukt jeweils ausschließlich Zeilen- oder Spaltenweise ausführen mussten, vermittelt dieser Sachverhalt den Schülern ein falsches Verständnis der Matrizenmultiplikation
      • Die beliebige Änderungen (Desinfektion/neue Erreger) sind momentan schwer nachzuvollziehen. Man könnte hier weitere Zellbezüge herstellen in dem man für jede einzelne Person bestimmt ob sie im jeweiligen Zeitschritt eine Desinfektion durchführt oder Erreger abgibt.

Netzwerk der Flugverbindungen - Excel[Bearbeiten]

Die obige Matrix zeigt zeilenweiße welcher Anteil der Bevölkerung innerhalb von 2 Wochen im eigenen Bundesland bleibt und welcher Anteil das Bundesland ausschließlich über den Flugverkehr verlässt.(Wurde recherchiert)
Die erste bunte Zeile gibt an, wie viele Personen in den Bundesländern in 2 Wochen generell krank sind (berechnet aus den bisherigen Masernfälle des Jahres). (wurde recherchiert)
Wir gehen davon aus, dass die Krankheit unter Behandlung zwei Wochen bleibt und sich die Symptome erst nach zwei Wochen zeigen (wie bei Masern üblich).
Die zweite Zeile gibt somit die Verteilung der Erkrankung zwei Wochen später an. Die Kranken aus dem vorherigen Zeitschritt werden durch Matrizenmultiplikation auf die einzelnen Bundesländer verteilt. Da wir davon ausgehen, dass die Kranken aus dem vorigen Zeitschritt wieder gesund sind, multiplizieren wir die Ergebnisse der einzelnen Einträge des Zeilenvektor mit 0,24, da in unserem im durchschnitt 24% der Bevölkerung der Bundesländer nicht gegen die Krankheit geimpft sind. Somit stecken die Kranken mit 24% Wahrscheinlichkeit eine weitere Person an. Gleichzeitig wird der Durchschnitt der Neuinfektionen binnen 2 Wochen pro Bundesland (erste bunte Zeile) jeweils dazu addiert.
Betrachtet man eine andere Krankheit muss man die Anzahl des Durchschnitts der Erkrankten in 2 Wochen (erste bunte Zeile) der neuen Situation angepasst werden und der durchschnitt der umgeimpften Personen angepasst werden.

Aufgabenstellung für Schüler[Bearbeiten]

Fächerübergreifende Aspekte[Bearbeiten]

  • Wie verbreiten Sie Krankheiten durch Viren und Bakterien? Gibt es Unterschiede in der Ausbreitung bei Viren und Bakterien und wie werden die Erkrankungen bekämpft?
  • Welche Gemeinsamkeiten und Unterschiede gibt es zwischen Erkrankungen, die Viren entstehen im Vergleich zu Krankheiten, die durch (u.U. längeren) Kontakt mit Schadstoffen entstehen? Welche Schadstoffe kennt ihr in der Luft, im Wasser, in Nahrungsmitteln, auf Spielsachen, in Kleidung, ... existieren können, die gesundheitsschädlich, bzw. ggf. der direkt Kontakt in höheren Dosen mit z.B. Haut und Atemwegen nach Möglichkeit vermieden werden sollte?

Mathematik[Bearbeiten]

  • Welche Gemeinsamkeiten könnt ihr bezogen auf die mathematische Modellbildung in Tabellenkalkulation zwischen Schadstoffausbreitung und Ausbreitung von Viren entdecken?
  • Bezogen auf welche Aspekte haltet ihr die Modellbildung als Abbild wirklicher epdimiolischer Ausbreitung als unzureichend und wie kann man überprüfen, wie gut ein mathematisches Modell für die Beschreibung realer Epdemien geeignet ist?

Siehe auch.[Bearbeiten]

Literatur/Quellen[Bearbeiten]

  1. Wikipedia, https://de.wikipedia.org/w/index.php?title=Masern&oldid=188023058, Letzter Zugriff: 30.04.2019
  2. Wikipedia, https://de.wikipedia.org/w/index.php?title=Masern&oldid=188023058, Letzter Zugriff: 30.04.2019
  3. Bundeszentrale für gesundheitliche Aufklärung, https://www.infektionsschutz.de/erregersteckbriefe/masern/ , Letzter Zugriff: 30.04.2019
  4. Bundeszentrale für gesundheitliche Aufklärung, https://www.infektionsschutz.de/erregersteckbriefe/masern/ , Letzter Zugriff: 30.04.2019
  5. Wikipedia, https://de.wikipedia.org/w/index.php?title=Masern&oldid=188023058, Letzter Zugriff: 30.04.2019
  6. ZDF, Debatte um Impfpflicht: Masern in Deutschland und der Welt, https://www.zdf.de/nachrichten/heute/faq-masern-100.html, Letzter Zugriff: 30.04.2019
  7. Engelhard H., Houtermans T., Über die ungeordnete Bewegung von Bakterien, https://www.degruyter.com/downloadpdf/j/znb.1949.4.issue-1/znb-1949-0107/znb-1949-0107.pdf, Letzter Zugriff: 29.05.2019
  8. Internetportal: Weather Spark, Durchschnittswetter in Kaiserslautern, https://de.weatherspark.com/y/57128/Durchschnittswetter-in-Kaiserslautern-Deutschland-das-ganze-Jahr-%C3%BCber, Letzter Zugriff: 29.05.2019