Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
gisma committed Nov 11, 2023
1 parent 00e706e commit 2597074
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 40 deletions.
1 change: 0 additions & 1 deletion _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ website:
- text: "---"
- section: "Challenge One"
contents:
- modeling/modellierung_warmup_1.qmd
- modeling/modellierung_warmup_2.qmd
- text: "---"
- section: "Material"
Expand Down
30 changes: 19 additions & 11 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<i class="bi bi-layout-text-sidebar-reverse"></i>
</button>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./index.html">Einführung</a></li><li class="breadcrumb-item"><a href="./index.html">index.html</a></li></ol></nav>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="./index.html">Einführung</a></li><li class="breadcrumb-item"><a href="./index.html">Einführung</a></li></ol></nav>
<a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
</a>
</div>
Expand All @@ -127,7 +127,7 @@
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./index.html" class="sidebar-item-text sidebar-link active">
<span class="menu-text">index.html</span></a>
<span class="menu-text">Einführung</span></a>
</div>
</li>
</ul>
Expand All @@ -144,14 +144,8 @@
<ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 ">
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./modeling/modellierung_warmup_1.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">Modellierung - Eine kuurze Einführung</span></a>
</div>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="./modeling/modellierung_warmup_2.html" class="sidebar-item-text sidebar-link">
<span class="menu-text">ChallengeOne – Top of the World</span></a>
<span class="menu-text">ChallengeOne</span></a>
</div>
</li>
</ul>
Expand Down Expand Up @@ -187,7 +181,13 @@
<div id="quarto-sidebar-glass" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass"></div>
<!-- margin-sidebar -->
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">

<nav id="TOC" role="doc-toc" class="toc-active">
<h2 id="toc-title">On this page</h2>

<ul>
<li><a href="#einführung" id="toc-einführung" class="nav-link active" data-scroll-target="#einführung">Einführung</a></li>
</ul>
<div class="toc-actions"><div><i class="bi bi-github"></i></div><div class="action-links"><p><a href="https://github.com/gisma-courses/LV-19-050-189-ABM/edit/main/index.md" class="toc-action">Edit this page</a></p><p><a href="https://github.com/gisma-courses/LV-19-050-189-ABM/issues/new" class="toc-action">Report an issue</a></p></div></div></nav>
</div>
<!-- main -->
<main class="content" id="quarto-document-content">
Expand All @@ -203,8 +203,16 @@

</style>
<p><img src="./images/logo.png" class="img-fluid"></p>
<section id="einführung" class="level2">
<h2 class="anchored" data-anchor-id="einführung">Einführung</h2>
<p>Das Ableiten wissenschaftlicher Konzepte, bzw. allgemeiner Ideen in eine angemessene Modellstruktur ist ein komplexer und nicht schematisch zu erlernender Vorgang. Die Zusammenhänge der realen Welt in der Regel so komplex, dass sie nur in einer generalisierten Form verständlich darstellbar oder analysierbar sind. Schon im Alltag konstruieren wir kontinuierlich sogenannte mentale oder kognitive Modelle zur Vereinfachung unserer Weltwahrnehmung (Rasch 2006). Dieser Umstand ist auch in den Wissenschaften bekannt. So notiert der Physiker Bridgman 1927: <em>" believe that the model is a useful and indeed unescapable tool of thought, in that it enables us to think about the unfamiliar in terms of the familiar"</em> (Bridgman 1927), während 1972 der Modellierer Rivet schlicht behauptet: <em>"The History of mankind is the history of model building."</em> (Rivett 1972).</p>
<p>Die Perzeption und Interpretation der „realen Welt” sowie die Entwicklung geeigneter Strategien für den praxistauglichen Umgang mit dieser Welt, findet mit dem Hilfsmittel der Abstraktion und Kommunikation ( = Modellbildung) statt. Die Strategien der Abstraktion sind widerstreitend und vielfältig, da Kontextabhängigkeit und Zielsetzung des Abstrahierenden einen wesentlichen Einfluss auf die Resultate ausüben ("Methode Götterblick" s.a. Eckmüllner 2007). Das heißt die gewählte Abstraktion der (räumlichen) Welt ist, wissenschaftlich betrachtet, bestenfalls nachvollziehbar und transparent aber niemals wahr. Auch garantiert die logische Validität der Abstraktion weder die Gültigkeit abgeleiteter noch allgemeiner Aussagen. Ob das konstruierte Modell der Wirklichkeit entspricht, also richtig ist, lässt sich daher nicht beweisen. Bestenfalls lässt sich die Gültigkeit für den definierten Zweck nachweisen, nie aber Wahrheit (Bossel 2004).</p>
<p>Prinzipiell kann man das Erlernen und Implementierenden von Werkzeugen zur Implementierung von Modellkonzepten in <em>bottom up</em> bzw. <em>top down</em> Ansätze unterscheiden. Als bottom up Ansatz kann das schrittweise Erlernen der Modellierungssprache (in diesem Kurs Netlogo) durch Implementierung konzeptioneller Modellideen (z.B. positive oder negative Rückkopplungsschemata etc.) bezeichnet werden. Dieser Ansatz hat den Vorzug, schrittweise elementare Bausteine zu erarbeiten, um so, mit zunehmender Fähigkeiten, auch komplexere Modelle erstellen und verstehen zu können. Er ist mit dem konventionellen Ansatz eine Fremdsprache durch systematisches Lernen von Vokabeln und Grammatik zu erlernen vergleichbar.</p>
<p>Der umgekehrte Weg top down hingegen verfolgt eher den Ansatz „Spring ins kalte Wasser und schwimm' (oder geh' unter)” oder um beim zuvor angeführten Beispiel zu bleiben, dem Erlernen einer Fremdsprache durch sprechen und interagieren in dieser Sprache ohne weitere Vorkenntnisse.</p>
<p>Beide Konzepte haben didaktisch und pragmatisch bekanntermaßen Vor- und Nachteile. In unserem Fall ist der Versuch mit einem existierenden recht komplexen Modell zu beginnen, der Erfahrung geschuldet, dass mit dem bottom up Ansatz unverhältnismäßig viel Zeit benötigt wird um erste inhaltlich auch nur einigermaßen interessante Modelle verstehen und (weiter-)entwickeln zu können.</p>


</section>

</main> <!-- /main -->
<script id="quarto-html-after-body" type="application/javascript">
Expand Down Expand Up @@ -577,7 +585,7 @@
<div class="nav-footer-left">
&nbsp;
</div>
<div class="nav-footer-center">LV-19-050-189-ABM (2023)<div class="toc-actions"><div><i class="bi bi-github"></i></div><div class="action-links"><p><a href="https://github.com/gisma-courses/LV-19-050-189-ABM/edit/main/index.md" class="toc-action">Edit this page</a></p><p><a href="https://github.com/gisma-courses/LV-19-050-189-ABM/issues/new" class="toc-action">Report an issue</a></p></div></div></div>
<div class="nav-footer-center">LV-19-050-189-ABM (2023)</div>
<div class="nav-footer-right">
&nbsp;
</div>
Expand Down
23 changes: 7 additions & 16 deletions docs/modeling/modellierung_warmup_2.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>Agentenbasierte Modellierung LV-19-050-189-ABM - ChallengeOne</title>
<title>Agentenbasierte Modellierung LV-19-050-189-ABM - Top of the World</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand Down Expand Up @@ -63,13 +63,13 @@


<link rel="stylesheet" href="../css/styles.css">
<meta property="og:title" content="Agentenbasierte Modellierung LV-19-050-189-ABM - ChallengeOne">
<meta property="og:title" content="Agentenbasierte Modellierung LV-19-050-189-ABM - Top of the World">
<meta property="og:description" content="">
<meta property="og:image" content="https://gisma-courses.github.io/LV-19-050-189-ABM/images/image3.png">
<meta property="og:site-name" content="Agentenbasierte Modellierung LV-19-050-189-ABM">
<meta property="og:image:height" content="861">
<meta property="og:image:width" content="1382">
<meta name="twitter:title" content="Agentenbasierte Modellierung LV-19-050-189-ABM - ChallengeOne">
<meta name="twitter:title" content="Agentenbasierte Modellierung LV-19-050-189-ABM - Top of the World">
<meta name="twitter:description" content="">
<meta name="twitter:image" content="https://gisma-courses.github.io/LV-19-050-189-ABM/images/image3.png">
<meta name="twitter:creator" content="@gisma">
Expand Down Expand Up @@ -103,7 +103,7 @@
<button type="button" class="quarto-btn-toggle btn" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
<i class="bi bi-layout-text-sidebar-reverse"></i>
</button>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item">Challenge One</li><li class="breadcrumb-item"><a href="../modeling/modellierung_warmup_2.html">ChallengeOne</a></li></ol></nav>
<nav class="quarto-page-breadcrumbs" aria-label="breadcrumb"><ol class="breadcrumb"><li class="breadcrumb-item"><a href="../modeling/modellierung_warmup_2.html">Challenge One</a></li><li class="breadcrumb-item"><a href="../modeling/modellierung_warmup_2.html">Top of the World</a></li></ol></nav>
<a class="flex-grow-1" role="button" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar,#quarto-sidebar-glass" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
</a>
</div>
Expand Down Expand Up @@ -143,12 +143,9 @@
</div>
<ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 show">
<li class="sidebar-item">
<span class="menu-text">modeling/modellierung_warmup_1.qmd</span>
</li>
<li class="sidebar-item">
<div class="sidebar-item-container">
<a href="../modeling/modellierung_warmup_2.html" class="sidebar-item-text sidebar-link active">
<span class="menu-text">ChallengeOne</span></a>
<span class="menu-text">Top of the World</span></a>
</div>
</li>
</ul>
Expand Down Expand Up @@ -188,11 +185,8 @@
<h2 id="toc-title">On this page</h2>

<ul>
<li><a href="#top-of-the-world" id="toc-top-of-the-world" class="nav-link active" data-scroll-target="#top-of-the-world">“Top of the World”</a>
<ul class="collapse">
<li><a href="#challengeone---beschreibung-des-problems" id="toc-challengeone---beschreibung-des-problems" class="nav-link" data-scroll-target="#challengeone---beschreibung-des-problems">ChallengeOne - Beschreibung des Problems</a></li>
<li><a href="#challengeone---beschreibung-des-problems" id="toc-challengeone---beschreibung-des-problems" class="nav-link active" data-scroll-target="#challengeone---beschreibung-des-problems">ChallengeOne - Beschreibung des Problems</a></li>
<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="#lösungshinweise" id="toc-lösungshinweise" class="nav-link" data-scroll-target="#lösungshinweise">Lösungshinweise</a></li>
<li><a href="#zusammenfassung" id="toc-zusammenfassung" class="nav-link" data-scroll-target="#zusammenfassung">Zusammenfassung</a></li>
Expand All @@ -205,7 +199,7 @@ <h2 id="toc-title">On this page</h2>

<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">ChallengeOne</h1>
<h1 class="title">Top of the World</h1>
</div>


Expand All @@ -220,8 +214,6 @@ <h1 class="title">ChallengeOne</h1>

</header>

<section id="top-of-the-world" class="level2">
<h2 class="anchored" data-anchor-id="top-of-the-world">“Top of the World”</h2>
<p>Modelle sind -wie bereits einführend erwähnt- spezifische, vereinfachte Ausschnitte der Wirklichkeit. Diese erste Programmierübung <strong>ChallengeOne</strong> soll anhand eines einfachen Beispiels vermitteln, wie dieser recht komplexe Vorgang praktisch realisiert werden kann.</p>
<p>Zunächst geht es um die Entwicklung einer Motivation und Fragestellung. Nach Festlegung der Zielsetzung geht es dann um die Hypothesen die untersucht werden sollen. Zur bearbeitung benötige ich ein Konzept oder einen Wirkungsgraph der die funktionalen und regelhaften Wechselwirkungen beschreibt.</p>
<p>Erst dann stellt sich die Frage <em>„Wie programmiere ich das Ganze?“</em>. Leider ist es nicht nur zu Beginn wiissenschaftlicher Modellbildung schwierig diese Ebenen zu trennen und in effizienter Weise zu bearbeiten. Es gibt kein wirkliches Patentrezept. Die Übung <strong>ChallengeOne</strong> versucht eine praxisorientierte Vorgehensweise aufzuzeigen. Lernziel ist es durch geschicktes und geeignetes Anpassen von Beispielmodellen (=Netlogo-Skripten) und ein eigenes Modell zu erstellen und es schrittweise zu erweitern und verbessern. Dabei ist es, zumindest zu Beginn, nicht zwingend erforderlich den Programmcode (vollständig) zu verstehen (das kommt hoffentlich mit der Übung…), sondern eher darum zu folgende Ziel zu erreichen: „Beurteile ich das Resultat des Programmcodes hinsichtlich meiner Zielsetzung als zureichend?”</p>
Expand Down Expand Up @@ -315,7 +307,6 @@ <h4 class="anchored" data-anchor-id="gipfelstürmer-und-was-nun">Gipfelstürmer
<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">
<h2 class="anchored" data-anchor-id="verwendete-strukturen-und-befehle-im-skript-challengeonebasic">Verwendete Strukturen und Befehle im Skript ChallengeOneBasic</h2>
<p>Beispielhaft sind in Tabelle 1 die Befehle aufgelistet. Unter beabsichtigte Aktion ist in normaler Sprache skizziert was mit dem Befehl erreicht werden soll während unter Rolle das unbedingt zu berücksichtigende Akteurskonzept von Netlogo dargestellt ist (vgl. auch Tutorial #2: Commands). Für eigene Aktivitäten um etwa die Bearbeitung der Anregungen umsetzten zu können, hilft nur das konsequente Nutzen des NetLogo Programming Guides und NetLogo Dictionaries. Ganz wichtig für das Erlernen von Netlogo ist natürlich das „Abschauen” von Lösungswegen aus Modellen der Model Library. 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>
Expand Down
Loading

0 comments on commit 2597074

Please sign in to comment.