Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
gisma committed Nov 13, 2023
1 parent 98ae83c commit 6a2a4a0
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 24 deletions.
27 changes: 15 additions & 12 deletions docs/modeling/modellierung_warmup_2.html
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../index.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Einführung</span></a>
<span class="menu-text">Abstraktion und Modellierung</span></a>
</div>
</li>
</ul>
Expand Down Expand Up @@ -191,7 +191,7 @@ <h2 id="toc-title">On this page</h2>
<li><a href="#netlogo-implementierungskonzept" id="toc-netlogo-implementierungskonzept" class="nav-link" data-scroll-target="#netlogo-implementierungskonzept">Netlogo Implementierungskonzept</a></li>
</ul></li>
<li><a href="#verwendete-strukturen-und-befehle-im-skript-challengeonebasic" id="toc-verwendete-strukturen-und-befehle-im-skript-challengeonebasic" class="nav-link" data-scroll-target="#verwendete-strukturen-und-befehle-im-skript-challengeonebasic">Verwendete Strukturen und Befehle im Skript ChallengeOneBasic</a></li>
<li><a href="#hinweise-und-lösungen" id="toc-hinweise-und-lösungen" class="nav-link" data-scroll-target="#hinweise-und-lösungen">Hinweise und Lösungen</a></li>
<li><a href="#challengeoneadvanced" id="toc-challengeoneadvanced" class="nav-link" data-scroll-target="#challengeoneadvanced">ChallengeOneAdvanced</a></li>
<li><a href="#zusammenfassung" id="toc-zusammenfassung" class="nav-link" data-scroll-target="#zusammenfassung">Zusammenfassung</a></li>
<li><a href="#literatur" id="toc-literatur" class="nav-link" data-scroll-target="#literatur">Literatur</a></li>
</ul>
Expand Down Expand Up @@ -305,12 +305,6 @@ <h4 class="anchored" data-anchor-id="die-turtles">Die Turtles</h4>
<li><p>Direkte Kommunikation von Agenten: Communication-T-T, Communication-T-P</p></li>
</ul>
</section>
<section id="gipfelstürmer-und-was-nun" class="level4">
<h4 class="anchored" data-anchor-id="gipfelstürmer-und-was-nun">Gipfelstürmer und was nun?</h4>
<p>Schneller, besser, weiter, höher… ist nur der Anfang. Es drängen sich eine Reihe von noch nicht gelösten Fragen und Optimierung auf. So z.B. ist die Visualisierung der Hügel und ihre Formgebung noch wenig ansprechend (oder gar naturnah…). Man könnte auch Informationen über den Zustand der Turtles sammeln und visualisieren oder speichern. Eingedenk der Einleitung kann z.B. die aktuelle minimale, mittlere bzw. maximale Höhe der Agenten eine Maßzahl für seinen Glückszustand sein (=je höher das Turtle je glücklicher). Auch ist bei der vorliegenden Implementierung die Frage ungelöst ob und wie es erreicht werden kann, dass alle Turtles irgendwann auf dem höchsten Gipfel stehen (bleiben). Im Kasten <strong><em>Fragen und Untersuchungen</em></strong> sind einige Anregungen für Modellerweiterungen und Fragen aufgelistet.</p>
<p><img src="../images/image5.png" class="img-fluid"></p>
<p>Im Script <strong>ChallengeOneAdvanced</strong> sind die meisten dieser Fragen bearbeitet. Es bietet eine gute Grundlage um sich mit der Programmierung und den unterschiedlichen Auswirkungen der Suchstrategien vertraut zu machen. Das Skript ist ausführlich kommentiert. Es sollte unbedingt durchgearbeitet werden</p>
</section>
</section>
</section>
<section id="verwendete-strukturen-und-befehle-im-skript-challengeonebasic" class="level2">
Expand All @@ -319,25 +313,34 @@ <h2 class="anchored" data-anchor-id="verwendete-strukturen-und-befehle-im-skript
<p>Gerade als Anfänger darf nicht verwirren, dass viele Befehle miteinander kombinierbar sind. So ist z.B. <strong><em>max-one-of neighbors</em></strong> aus den einzelnen Primitiven <strong><em>max-one-of</em></strong> und <strong><em>neighbors</em></strong> zusammengesetzt. Viele Primitive sind mit <strong><em>with</em></strong> erweiterbar (Achtung mit oder ohne Bindestrich erzielt völlig unterschiedliche Resultate). Also einfach im Command Center ausprobieren was bei Eingabe eines Befehls passiert – anders als in der Wirklichkeit kann nichts kaputtgehen. Eine aus meiner Sicht gelungene Zusammenstellung des Programmierkonzepts von Netlogo inkl. der Begriffsdefinition von Agenten, Prozeduren Funktionen und Primitive hat René Doursat für die Second Annual French Complex Systems Summer School erstellt. Hier werden alle notwendigen Konzepte klar strukturiert erläutert. Auf der Seite der Summerschool finden sich noch einige weitere interessante Beiträge unterschiedlicher Autoren[^6].</p>
<p><img src="../images/image6.png" class="img-fluid"> Tabelle : Hinweise zu den verwendeten Befehlen</p>
</section>
<section id="hinweise-und-lösungen" class="level2">
<h2 class="anchored" data-anchor-id="hinweise-und-lösungen">Hinweise und Lösungen</h2>
<section id="challengeoneadvanced" class="level2">
<h2 class="anchored" data-anchor-id="challengeoneadvanced">ChallengeOneAdvanced</h2>
<p>Im erweiterten Skript finden Sie einige zusätzliche Möglichkeiten um die Agenten-Bewegung im Raum zu untersuchen.</p>
<p>Der Ansatz ist zweigleisig: Zum einen bietet das Skript <strong>ChallengeOneAdvanced</strong> bietet eine gute Grundlage um sich mit der Programmierung Top Down auseinanderzusetzen. Das Skript ist ausführlich kommentiert. Es sollte unbedingt durchgearbeitet werden. Zum Anderen können anhand des Modells raumwirksame Regeln und Muster untersucht und interpretiert werden.</p>
<p>Im Kasten <strong><em>Fragen und Untersuchungen</em></strong> sind einige Anregungen für Fragen aufgelistet.</p>
<p><img src="../images/image5.png" class="img-fluid"></p>
<p>Die Skripte <strong>ChallengeOneBasic</strong> und <strong>ChallengeOneAdvanced</strong> sind auf github <a href="https://github.com/gisma-courses/LV-19-050-189-ABM/tree/main/assets">verfügbar</a>. Das Basic Script implementiert die Grundfragestellung ohne viel Schnörkel. <img src="../images/bm.png" class="img-fluid"> <em>Screenshot ChallengeOneBasic</em></p>
<p>Im <em>ChallengeOneAdvanced</em> sind die im Kasten <strong>Fragen und Untersuchungen</strong> angeregten Punkte eingearbeitet. Vor allem sind die unterschiedlichen räumlichen Wirkungsweisen der Suchlogiken und das resultierende Raumverhalten der Turtles auseinandersetzen. Hierzu dient <em>Import Turtleposition</em>. Technisch wurde das Programm um <em>ifelse</em> Abfragen und die Möglichkeit Daten auszuschreiben/einzulesen erweitert. <img src="../images/am.png" class="img-fluid"> <em>Screenshot ChallengeOneAdvancend</em></p>
<section id="gipfelstürmer-und-was-nun" class="level4">
<h4 class="anchored" data-anchor-id="gipfelstürmer-und-was-nun">Gipfelstürmer und was nun?</h4>
<p>Schneller, besser, weiter, höher… ist nur der Anfang. Es drängen sich eine Reihe von noch nicht gelösten Fragen und Optimierung auf. So z.B. ist die Visualisierung der Hügel und ihre Formgebung noch wenig ansprechend (oder gar naturnah…). Man könnte auch Informationen über den Zustand der Turtles sammeln und visualisieren oder speichern. Eingedenk der Einleitung kann z.B. die aktuelle minimale, mittlere bzw. maximale Höhe der Agenten eine Maßzahl für seinen Glückszustand sein (=je höher das Turtle je glücklicher). Auch ist bei der vorliegenden Implementierung die Frage ungelöst ob und wie es erreicht werden kann, dass alle Turtles irgendwann auf dem höchsten Gipfel stehen (bleiben).</p>
<div class="callout callout-style-simple callout-tip no-icon">
<div class="callout-body d-flex">
<div class="callout-icon-container">
<i class="callout-icon no-icon"></i>
</div>
<div class="callout-body-container">
<p><strong>Sensitivitätsanalyse:</strong></p>
<p><strong>Aufgaben:</strong></p>
<ul>
<li><p>Dokumentieren Sie die beiden Modelle ChallengeOneBasic und ChallengeOneAdvanced gemäß der Vorgaben von Grimm (2006). Sie können dem Protokoll der <a href="https://programmingforresearchers.leeds.ac.uk/netlogo/section-5/">University of Leeds</a>.</p></li>
<li><p>Dokumentieren Sie ChallengeOneAdvanced gemäß der Vorgaben von Grimm (2006). Sie können dem Protokoll der <a href="https://programmingforresearchers.leeds.ac.uk/netlogo/section-5/">University of Leeds</a> folgen.</p></li>
<li><p>Führen Sie eine <a href="https://ccl.northwestern.edu/netlogo/docs/behaviorspace.html">Sensitivitätsstudie</a> mit dem Modell ChallengeOneAdvanced durch. Weitere Unterstützung finden Sie in <a href="https://programmingforresearchers.leeds.ac.uk/netlogo/section-10/">Kapitel 10</a> der University of Leeds.</p></li>
</ul>
<p>Erstellen Sie auf dieser Grundlage eine Tabelle die als Spalten Parameter, Raummuster, Reproduzierbarkeit enthält und interperetieren sie sie Tabelle.</p>
</div>
</div>
</div>
</section>
</section>
<section id="zusammenfassung" class="level2">
<h2 class="anchored" data-anchor-id="zusammenfassung">Zusammenfassung</h2>
<p>In dieser ersten Programmierübung sollte ein erster Einstieg in die Programmierung von Mensch-Umweltsystemen erreicht werden. Es wurde gezielt eine etwas zugespitzte Motivationsgrundlage gewählt um zu zeigen dass die wirklichen Fragen sich erst ergeben wenn eine erste Abstraktion implementiert ist und die Resultate interpretiert werden müssen. Gleichzeitig sollte an einem sehr übersichtlichen Beispiel das Grundgerüst der Netlogo Entwicklungsumgebung, diesmal Bottom up verständlich gemacht werden. In der Advanced Version kommen vor allem weitere technische Programmierfähigkeiten hinzu. Hier geht es um bedingte Abfragen und Dateneingabe bzw und -ausgabe.</p>
Expand Down
Loading

0 comments on commit 6a2a4a0

Please sign in to comment.