Zelluläre Automaten (Multiagentensysteme) (Stefan Bosse) [5.2020]

Hinweise

Zelluläre Automaten

Einführung

Architektur und Grundprinzip

#loops
Zellulärer Automat als Netzwerk aus einfachen kommunizierenden Berechnungseinheiten

Nachbarschaft

#loops
Verschiedene Nachbarschaftsrelationen

neighbors(x,y) = [
  { x:x-1,y:y-1, ... },
  { x:x  ,y:y-1, ... },
  { x:x+1,y:y-1, ... },
  { x:x-1,y:y,   ... },
  { x:x+1,y:y,   ... },
  { x:x-1,y:y+1, ... },
  { x:x  ,y:y+1, ... },
  { x:x+1,y:y+1, ... },
]

  +-----> (x)
  |
  |
  v
  (y)

  0 1 2 
  3 X 4
  5 6 7   (index in array)

Zellen

Mobilität

Experimente

Beispiel: Strukturbildung

Beispiel Cave [ca1]

 ▸ 
 ◼ 

 ✗ 

Aufgabe. A

Frage. A1 Wie hängt die Hohlraumentstehung (Höhlenbildung) von dem Parameter DENSITY={0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9] ab?

Frage. A2 Wie hängt die Hohlraumentstehung (Höhlenbildung) von den Parametern OPEN0 und OPEN1 bei DENSITY=0.5 ab?


Beispiel: Ausbreitungsdynamik

Beispiel Forest Fire [ca2]

 ▸ 
 ◼ 

 ✗ 

Aufgabe. B

Frage. B1 Wie hängt die Wahrscheinlichkeit der Feuerentstehung von den Parametern CHANCE_TO_GROW und CHANCE_TO_IGNITE ab?

Frage. B2 Verändere das Modell so dass ein Feuer erst bei älteren Bäumen auftreten kann. D.h. fügre einen Lebenszeitzähler age zum Zustand hinzu. Dieser wird in der activity Funktion jeweils um eins erhöht. Erst wenn age > CANBURN kann ein Feuer entstehen. Wie ändert sich das dynamische Verhalten?


Beispiel: Mobilität

Beispiel Wanderung [ca3]

 ▸ 
 ◼ 

 ✗ 

Experimente

Krankheitsausbreitung

Krankheitsausbreitung [ca4]

 ▸ 
 ◼ 

 ✗ 

  1. Erstelle ein ZA Simulationsmodell mit dem die einfache Ausbreitung von Krankheiten simuliert werden kann.
  2. Dazu kann jede Zelle durch einen gesunden oder kranken Menschen besetzt sein.
  3. Zunächst bewegen sich die "Menschen" nicht
  4. Wenn sich ein Kranker nahe einem Gesunden (Nachbarschaft) befinde steckt er diesen mit der Wahrscheinlichkeit INFLU an.
  5. Es gibt eine Inkubationszeit von einigen Simulationsschritten. Erst danach wird der Mensch krank und kann andere anstecken
  6. Es gibt also weitere Zustandsvariablen health und virus. Die Variable virus wenn sie > 0 ist verdoppelt sich dann in jedem Simulationsschritt. Wenn virus > VICUSICK ist, ändert sich der Gesundheitszustand 1 → 0
  7. Führe zusätzlich Mobilität der Menschen ein (CHANCE_TO_ḾOVE)! Wenn sie krank sind mit geringer Geschwindigkeit (CHANCE_TO_ḾOVE_SICK < CHANCE_TO_ḾOVE).
Aufgabe. C

Frage. C1 Wie hängt die Ausbreitung von dem Paremeter INFLU ab?

Frage. C2 Wie hängt die Ausbreitung von den Paremetern CHANCE_TO_ḾOVE und CHANCE_TO_ḾOVE_SICK ab?



Created by the NoteBook Compiler Ver. 1.2.5 (c) Dr. Stefan Bosse