Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gerburg Fürst Geändert vor über 6 Jahren
1
Struktur Einleitung Teil 1: Programmieren
Teil 2: Räuber-Beute Systeme als Multi-Agenten Simulation
2
Zielsetzung des Vorlesungs-teils
Vermittlung der Grundlagen zur Programmierung von Multi-Agenten Modellen mit mehreren Agenten-Typen am Beispiel von Räuber-Beute Modellen
3
Begleitende und weitergehende Literatur & Software
Netlogo Handbuch & Help-Dateien Netlogo 3.1.5 Für Interessierte: Netlogo 4.1 (RC) von
4
Einleitung & kurze Wiederholung
2 Arten des Modellierens: „Top down“ Differenzial-Gleichungs Modelle „Bottom up“ Multi-Agenten Modelle
5
Vor- und Nachteile des Multi-Agenten Simulation
Vorteile bietet die Möglichkeit der Simulation von: Heterogenen Populationen Einflussnahme von individuellen Handlungen auf das Gesamt-Geschehen Individuelle Verhaltensänderungen die auf Erfahrung und/oder zeitlichen Veränderungen (= Alter) basieren Einfache Implementierung räumlicher Aspekte der Interaktion von Lebewesen
6
Vor- und Nachteile des Multi-Agenten Simulation
Wesentlich höhere Rechenzeit Schlechte Möglichkeiten zur mathematische Analyse des erstellten Modells
7
Aufbau eines Multiagenten Modells
Es gibt Agenten Umwelt Interaktionen zwischen Agent und Umwelt
8
Der Agent Klar definierte abgeschlossene Einheit die:
In einer virtuellen Umwelt lebt über inneren Zustand verfügt („turtles-own“-variable) mit ihrer Umwelt in Kontakt steht (Sensoren, Aktuatoren) Möglichst über keine Globale Information verfügt. x,y Heading Speed Age Energy Genome ...
9
Die virtuelle Welt Die Welt besteht aus:
Räumlich variablen Umweltparametern (diskret / kontinuierlich) Agenten
10
Die diskrete Welt Das „Patch“ Konzept:
Jeder Patch hat einen klar definierte: Position (unbeweglich) Grenzen (fix) Interne Werte („patches-own“)
11
Räuber und Beute Systeme
( ) Parasit-Wirt Modelle unterscheiden größtenteils sich von R&B-Modellen durch die Anzahl der jeweiligen Akteure !
12
Räuber und Beute Systeme
Hudson Bay Daten: (Gute Beschreibbarkeit durch Lotka–Volterra Gleichungen)
13
Räuber und Beute Systeme
Feedbacks in einem 2 stufigen R&B-System: Mehr Pflanzen → Mehr Pflanzenfresser Mehr Pflanzenfresser → weniger Pflanzen Weniger Pflanzen → Weniger Pflanzenfresser Weniger Pflanzenfresser → mehr Pflanzen
14
Räuber und Beute Systeme
Feedbacks in einem 3 stufigen R&B-System: Mehr Pflanzen → Mehr Beutetiere Mehr Beutetiere → Weniger Pflanzen Mehr Beutetiere → Mehr Räuber Mehr Räuber → Weniger Beutetiere Weniger Beutetiere → Mehr Pflanzen
15
Programmieren Allgemeine Einführung Grundlagen in Netlogo
Imperative Programmiersprachen, was'n das? Grundlagen in Netlogo Codebeispiele & Erklärungen Agenten in Netlogo
16
Imperative Programmiersprachen
Ein Befehl nach dem anderen wird ausgeführt. Schleifen steuern den Programmverlauf. Variablen beinhalten konkrete Werte und ermöglichen das Rechnen im Programm. Es gibt: Globale Variablen Lokale Variablen Unterprogramme strukturieren das Programm.
17
Syntax „Grammatik“ der Programmiere-Sprache: z.b.:
if condition [ commands ] soll heissen: „WENN condition WAHR, DANN MACH commands Anwendungsbeispiel: if a > 5 [print „Die Variable A hat den Wert “ + a] (vergleiche mit „if“-beschreibung im Netlogo-Handbuch)
18
Einige Basisbefehle in Netlogo
; Der folgende Text ist nicht Teil des Programms. Print Der folgende Text wird ausgegeben. Set Setze eine Variable auf einen bestimmten Wert. If Wenn die folgende Bedingung erfüllt wird führe die danach folgende Anweisung aus. While Solange die folgende Bedingung erfüllt wird, führe die danach folgende Anweisung aus. Random Erstelle („erwürfle“) mir eine Zufallszahl. Global Erstelle eine Variable, die im ganzen Programm gültig ist. Local Erstelle eine Variable, die nur hier gültig ist („scope“). Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
19
Anlegen von Buttons etc. („Die Basics“)
Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
20
Anlegen von Buttons etc. („Die Basics“)
Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
21
Unterprogramme Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
22
Unterprogramme Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
23
Netlogo-spezifische Befehle
Create-custom-turtles Breed Create-custom-<breed> Turtles-own / <breed>-own Ask Fd Die Für Details bitte Netlogo Handbuch oder Mitschrift zu verwenden
24
Implementierung von R&B in Netlogo
Einfaches zweistufiges Modell mit immobilem Agenten (Beute): Schrittweiser Aufbau Beschreibung, nicht Code
25
Schritt 1: der „random walker“
Variablen erstellen Breed „rabbits“ erzeugen Zeit-variable Turtles own-variablen Setup-Prozedur Clear-all Erschaffung der Turtles (Breed: “rabbits“) Alle sollen gleich aussehen Alle sollen woanders sitzen Go-Prozedur “rabbits“ bitten zu: Auswürfeln ob sie sich drehen Falls ja, ob links oder rechts, und wie weit Schritt vorwärts machen! Zeit hoch zählen
26
Schritt 1: der „random walker“
Ergebnis: Turtles bewegen sich zielstrebig planlos über den Bildschirm.
27
Schritt 2: Erschaffung der „carrots“
In den „random walker“-code wird eingearbeitet: Variablen erstellen - Setup-Prozedur Patches bitten: Auszuwürfeln ob sie eine Karotten sind Wenn ja, Farbe auf grün setzen Go-Prozedur
28
Schritt 2: Erschaffung der „carrots“
Ergebnis: Einige der Patches werden grün (= „carrot)“ (während nach wie vor die „rabbits“ drüber hinweg laufen)
29
Schritt 3: Interaktion („Hase trifft Karotte“)
Variablen erstellen - „rabbits“ bekommen Variable „energy“ Setup-Prozedur - Go-Prozedur “rabbits“ bitten: Wenn auf Patch trifft, der grün, Patch schwarz machen, und eigene Energie hoch zählen Patches bitten: Auswürfeln, ob Karotte nachwächst. Wenn ja, Patch grün färben.
30
Schritt 3: Interaktion („Hase trifft Karotte“)
Ergebnis: Karotten kommen und gehen Energie der Hasen wird immer größer (nur bei individueller Beobachtung eines Hasen sichtbar!)
31
Schritt 4: Interaktion II („Hase trifft Hase“)
Variablen erstellen - Setup-Prozedur - Hasen bekommen „Basis-Energie“ (Tip I: Hasenerschaffung in Unterprogramm auslagern, da später bei „Mach neuen Hase“ wieder gebraucht!) Go-Prozedur “rabbits“ bitten: Wenn auf Patch trifft, wo andere Hasen, UND genug Energie: Mach neuen Hasen! (Tip: mit „hatch“ Befehl, nicht „sprout“) Entziehe dir selbst Energie für Reproduktion. Entziehe dir selbst Energie für Energieverbrauch (incl. Bewegung etc.) Graphen zeichnen für : „rabbits“ und „carrots“
32
Schritt 4: Interaktion II („Hase trifft Hase“)
Ergebnis: Bei richtiger Einstellung der Parameter (ev. noch zu finden!) entstehen Graphen die sich Hudson Bay Daten vergleichen lassen! Dies kann als Basismodelle für alle folgend beschriebenen Versuche/Untersuchungen benutzt werden!
33
Weiter Modelle (für Übungen)
Einstufiges Modelle mit unterschiedlichen räumlichen Gebieten. Zweistufiges Modell mit 2 bewegten Agenten. Zweistufiges Modell mit 1 oder 2 bewegten Agenten mit Genetik.
34
Weiter Modelle (für Übungen / Diplomarbeiten / Projektanträge)
Zweistufiges Modell mit 2 bewegten Agenten mit ANN & Genetik. Virtuelles Ökosystem.
35
Sie wissen nun: Was ist und was kann ein Multi-Agenten Modell
Wie programmiert man in einer Imperativen Programmiersprache. Was ist Netlogo, wofür ist es ausgelegt. Wie programmiere ich eine Random-Walker. Wie programmiere ich ein einfaches Räuber- Beute Modell!
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.