173
Einführung Internetseite zum Download von NetLogo: http://ccl.northwestern.edu/netlogo Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe: ca. 65 MB Achtung: Die verschiedenen Versionen sind zum Teil untereinander nicht kompatibel.

Einführung Internetseite zum Download von NetLogo: Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Embed Size (px)

Citation preview

Page 1: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungInternetseite zum Download von NetLogo:

http://ccl.northwestern.edu/netlogo

Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe: ca. 65 MB

Achtung:

Die verschiedenen Versionen sind zum Teil untereinander nicht kompatibel.

Page 2: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungDer Ausgabebildschirm

Der Ausgabebildschirm ist in sog. Patches eingeteilt. Die Größe des Bildschirms und die der Patches kann verändert werden. Dazu geht man auf das Feld MORE, rechte Maustaste drücken und dann EDIT anklicken. Hier kann man die Größen von Screen Edge X, Screen Edge Y und Patch Size verändern.

Page 3: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungVielecke zeichnen

to setup ca ;;Löscht den Bildschirm crt 4 ;; erzeugt 4 neue Turtles ask turtle 0[set color yellow set heading 0] ask turtle 1[set color blue set hedaing 90 ask turtle 2[set color red set heading 180] ask turtle 3[set color green set heading 270]end

Page 4: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungVielecke zeichnen

to draw-polygon pd repeat num-sides [ fd laenge rt (360 / num-sides)]endto polygon ask turtles[draw-polygon ]end

Für den Aufruf eines Programms muss ein Button erzeugt werden. Hier soll polygon aufgerufen werden.

Page 5: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungVielecke zeichnen

Mit der Erzeugung des Buttons erhält man obiges Bild.Einzustellen sind dabei1. der Agent (Observer, Turtles, Patches), 2. der Name des Programms, der den Code beinhaltet und 3. der Text, der auf dem Button erscheinen soll.

Page 6: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungVielecke zeichnen

Variable werden meistens über einen sog. Slider mit einem Wert belegt. Es geht dann dieses Fenster auf.

Page 7: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungVielecke zeichnen

Hier muss jetzt der Name der Variablen eingetragen werden (hier: laenge). Zusätzlich sind noch einzutragen:

1. Minimum (hier: 0)2. Maximum (hier:100)3. um wieviel erhöht

wird (increment) und4. der derzeitige Wert

(hier 42)- ist auto-matisch eingestellt

Page 8: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Page 9: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

to setup ca crt 100 ask turtles[ fd random 100 set color lime set heading random 360 if who = 1 [set color red]]end

ca – ist die Abkürzung für clear-all. Damit werden der Bildschirm und alle Turtles gelöscht und es werden alle Variablen auf 0 gesetzt.

crt 100 – damit werden 100 Turtles erzeugt

ask turtles – dieser Befehl ordnet allen Turtles die in eckigen Klammern angegebenen Befehle zu.

Diese sind: 1. vorwärts um 0 bis 99 Einheiten, 2. die Farbe lime, 3. die Richtung zwischen 0 und 359 Grad, 4. eine Turtle erhält die Farbe rot (das soll die infizierte Turtle sein).

Page 10: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

to goask turtles[ right random 40 left random 40 forward 1]wait 0.05end

Diese Prozedur bewirkt, dass alle Turtles sich um einen Winkel zwischen 0 und 40 Grad sowohl links als auch rechts herum drehen und dann einen Schritt nach vorn machen. Danach gibt es eine kleine Verzögerung (wait).

Page 11: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Jetzt müssen für die beiden Prozeduren setup und go jeweils ein Button eingerichtet werden. Die Namen der beiden Prozeduren könnten auch anders sein. Beim go-Button wird das Kästchen für FOREVER angeklickt, so dass diese Prozedur wiederholt ausgeführt wird. Beim nochmaligen Drücken dieses Buttons hört der wiederholte Aufruf der Prozedur auf.

Page 12: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie - Ausbreitung einer Krankheit

In der Setup-Prozedur erhält die Turtle mit der Nummer 1 die Farbe rot. Dies soll die infizierte Turtle sein. Wenn eine gesunde Turtle den Weg dieser roten Turtle kreuzt, soll diese angesteckt werden, d.h. diese Turtle ändert ihre Farbe in rot.

to setup ca crt 100 ask turtles[ fd random 100 set color lime set heading random 360 if who = 1 [set color red]]end

In der Prozedur go wird folgende Zeile eingefügt, um dies zu realisieren.

if color = red [set color-of one-of turtles-here red]

Page 13: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Jetzt soll in einem Diagramm die Anzahl der infizierten Turtles dargestellt werden. Dies geschieht mit:

plot (count turtles with[color = red])

Hierzu muss ein Plot-Button erzeugt werden.

Page 14: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Hier müssen einige Dinge eingestellt, bzw. angegeben werden.

1. Der Name des Plots2. Die Beschriftung der x-Achse mit Angabe des Mini-mums und des Maximums3. Die Beschriftung der y-Ach-se mit Angabe des Minimums und des Maximums4. Der Plot Pen wird mit einem Namen versehen5. Die Stiftfarbe, der PlotMode und das Intervall können noch speziell angegeben werden.

Page 15: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Die Skalierung der x- und y-Achse erfolgt nor-malerweise automatisch. Das führt zu perma-nenten Skalierungsänderungen. Darum sollte man diese in der Setup-Prozedur von Hand einstellen (zumindest die y-Skalierung).

Mit Hilfe dieses Befehls wird die Skalierung der y-Achse von 0 bis 100 festgelegt

set-plot-y-range 0 100

Page 16: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Der ganze Vorgang soll abgebrochen werden, wenn die An-zahl der infizierten Turtles gleich der Anzahl der gesamten Turtles ist (hier: 100).

Mit Hilfe dieses Befehls wird gestoppt, wenn die Anzahlung der infizierten Turtles 100 erreicht hat:

Achtung: Bei Gleichheitsabfragen muss vor dem Gleich-heitszeichen und danach eine Leerstelle eingefügt werden.

if (count turtles with [color = red]) = 100 [stop]

Page 17: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

In einem Ausgabefeld, dem sog. Monitor, soll die Anzahl der Aufrufe der Prozedur go gezählt werden. Diese Variable nennen wir CLOCK. Sie ist global zu definieren. Dies geschieht durchglobals[CLOCK] (vor allen Prozeduren)

Hier werden eingetragen:

1.Der Variablenname 2.Der Text auf dem Monitor und 3.die Anzahl der Dezimalstellen.

Page 18: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

In der go-Prozedur muss natürlich nach jedem Aufruf der Wert der CLOCK-Variablen um 1 erhöht werden. Dies geschieht durch: set CLOCK CLOCK + 1Zusätzlich müssen alle Variable, die nicht durch einen Slider verändert werden, ein Wert zugewiesen werden. Dies geschieht in der Setup-Prozedur mit: set CLOCK 0

to goset CLOCK CLOCK + 1ask turtles[ right random 40 left random 40 forward 1 if color = red [set color-of random-one-of turtles-here red] ] wait 0.05 plot (count turtles with[color = red]) if (count turtles with [color = red]) = 100 [stop]end

Page 19: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

to setupcrt POPULATIONset-plot-y-range 0 POPULATION

if who < INITIAL-SICK [set color red]end

Die Anzahl der Nichtinfizierten soll über eine Variable mit Hilfe eines Schiebers veränderbar sein. Die Variable ist POPULATION.

Auch die Anzahl der Infizierten soll über ei-ne Variable mit Hilfe eines Schiebers verän-derbar sein. Die Variable ist INITIAL-SICK

Damit kann auch der maximale y-Wert durch POPULATION eingestellt werden.

Page 20: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Page 21: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

to goset CLOCK CLOCK + 1ask turtles[ right random 40left random 40 ifelse color = red[forward SICK-MOBILITY][forward 1]end

Wenn die Individuen krank sind, ist ihre Bewegungs-fähigkeit eingeschränkt. Dies wird durch die Variable SICK-MOBILITY ausgedrückt. Wenn das Individuum krank ist (also red), bewegt es sich nur um den Wert von SICK-MOBILITY vorwärts, andernfalls um 1 Pixel. Diese Variable wird ebenfalls über einen Schieber verändert.

Page 22: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

to goset CLOCK CLOCK + 1ask turtles[ right random 40left random 40 if color = red[set color-of random-one-of turtles in-radius ANSTECKUNGS-RADIUS red]end Kranke Individuen infizieren Gesunde nur dann, wenn

sie mit den Gesunden in Kontakt kommen. Die Entfernung, ab der eine Infizierung erfolgt, wird mit Hilfe der Variablen ANSTECKUNGS-RADIUS eingestellt. Dieses geschieht wiederum mit Hilfe eines Sliders.

Page 23: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungEpidemie – Ausbreitung einer Krankheit

Page 24: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Ausgedacht hat sich dieses "Spiel" der amerikanische Mathematiker Conway. Bekannt wurde das Game of Life, als es im Jahr 1970 im Wissenschaftsmagazin Scientific American (dessen deutsche Ausgabe heute Spektrum der Wissenschaft heißt) vorgestellt wurde. Die Regeln sind einfach: Gespielt wird auf einem Feld, das wie ein Schachbrett in lauter quadratische Zellen eingeteilt ist. Eine Zelle ist entweder besetzt oder unbesetzt. Eine Konfiguration von besetzten und unbesetzten Zellen kann man sich als Generation von Lebewesen vorstellen, aus der sich die nächste Generation nach folgenden Regeln entwickelt.

Page 25: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Die Regeln1. Eine leere Zelle wird in der nächsten Generation besetzt, wenn sie genau drei besetzte Nachbarzellen hat.2. Eine besetzte Zelle bleibt auch in der nächsten Generation besetzt, wenn sie zwei oder drei besetzte Nachbarzellen hat.3. Alle Zellen, bei denen die Voraussetzungen der Regeln 1 und 2 nicht zutreffen, sind in der nächsten Generation unbesetzt. 

Page 26: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

patches-own [ living? ;; zeigt an, ob eine Zelle lebt live-neighbors ;; zählt wieviele Nachbarzellen leben]

to setup-blank ask patches [ cell-death ]end

to setup-random ask patches [ ifelse random-float 1.0 < initial-density [ cell-birth ] [ cell-death ] ]end

to cell-death set living? false set pcolor bgcolorend to cell-birth

set living? true set pcolor fgcolorend

Page 27: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

to go if mouse-down? [ stop ] ;; wartet auf den Benutzer, um das Zeichnen anzuhalten

ask patches [set live-neighbors count neighbors with [living?] ]ask patches [ ifelse live-neighbors = 3 [ cell-birth ] [ if live-neighbors != 2 [ cell-death ] ] ]end

Page 28: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

to add-cells if mouse-down? [ ask patch-at mouse-xcor mouse-ycor [ cell-birth ] ]end

to remove-cells if mouse-down? [ ask patch-at mouse-xcor mouse-ycor [ cell-death ] ]end

Page 29: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Page 30: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Einführung

Game of LifeDer Gleiter – Glider

Page 31: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Einführung

Game of LifeDer Gleiter – Glider

Page 32: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Einführung

Game of LifeStabile Populationen – Lebewesen mit 2 oder 3 Nachbarn – heißen nach Conway Stillleben (still lifes)

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

Page 33: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of LifeBlinker - Lebewesen, die nach 2 Generationen wieder in der Ausgangsformation vorliegen (p2-Populationen)

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

                                         

Page 34: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of LifeWeitere Populationen                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

                                       

Page 35: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of LifeAufgabenSuche einige Objekte, die leben, aber sich nicht bewegen.Gibt es andere sich reproduzierende Figuren außer Gleiter (Glider) und Blinker?Bilde einige Objekte, die nicht sterben.Wieviel Leben kann die Fläche aufnehmen und bewegungslos und unverändert lassen (benutze: add-cells)?Die Glider-Gun ist eine große Anhäufung von Zellen, die wiederholt aus dem Gleiter “Patronen” schießt. Finde eine solche Glider-Gun.Weitere ModelleErfinde andere Regeln für das Spiel Game of Life und überprüfe anhand von eigenständiger Programmierung, was dabei passiert. Dokumentiere die Regeln und die Ergebnisse in deinem Heft

Page 36: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of LifeDie Von-Neumann-Nachbarschaft ist eine Nachbarschaftsbeziehung in einem quadratischen Raster. Lediglich die Flächen, welche eine Kante mit der Basisfläche gemeinsam haben, gelten als Nachbarn

Page 37: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

AufgabenExperimentiere mit dem Befehl neighbors4 statt neighbors.

Der neighbors-Befehl überprüft die Agentenpatches von Nord, Süd, Ost, West, Nordost, Nordwest, Südost, Ssüdwest. So zählt die Abfrage count neighbors with [living?] wie viele von den 8 Patches das living? Patch mit dem Wert true haben.

neighbors4 ist im Prinzip wie neighbors, aber es benutzt nur die Patches in Nord-, Süd-, Ost- und Westrichtung. Einige zellulare Automaten sind mit der 8-Zellennachbarschaft, andere mit der 4-Zellennachbarschaft programmiert.

Page 38: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Noch einige spektakuläre Populationen

Gleiter

Uhr

Page 39: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Noch einige spektakuläre Populationen

GleiterKaninchen

Page 40: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Noch einige spektakuläre Populationen

Gun8 Patches 6 Patches6 Patches

Page 41: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Noch einige spektakuläre Populationen

Gun9 Patches 4 Patches4 Patches

3 Patches

Page 42: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Um sich beim Vergleich unterschiedlichster Regelwerke eine umständliche Umschreibung der Regeln zu ersparen, existiert eine Kurzschreibweise für die Regeln von Game of Life: Man zählt zunächst die Anzahl von Nachbarn auf, bei der eine Zelle nicht stirbt, und später, durch einen Schrägstrich abgetrennt, die Anzahl der Nachbarn, bei der eine Zelle geboren wird. Diese werden einfach aufgezählt und als Zahl behandelt.

Andere Regeln

Die klassische Conway-Welt ist in der Kurzschreibweise23/3 – nämlich bei 2 oder 3 Nachbarzellen stirbt die Zelle nicht, bei genau 3 Nachbarzellen wird eine neue Zelle erzeugt.

Page 43: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungGame of Life

Die 35/3 Welt

35/3 bedeutet

– bei 3 oder 5 Nachbarzellen stirbt die Zelle nicht, bei genau 3 Nachbarzellen wird eine neue Zelle erzeugt.

ask patches [ ifelse live-neighbors = 3 [ cell-birth ] [ if live-neighbors != 5 [ cell-death ] ] ]

Realisierung in NETLOGO

Page 44: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungDie Kopierwelt

Todesregel: Eine Zelle mit genau 0,2,4,6 oder 8 Nachbarn stirbt

Geburtsregel: 1,3,5 oder 7 Nachbarn erzeugen eine lebende Zelle.

to go ask patches [ set live-neighbors count neighbors with [living?] ]ask patches [ ifelse (live-neighbors = 1 or live-neighbors = 3 or live-neighbors = 5 or live-neighbors = 7) [ cell-birth ] [ cell-death ] ] end

Realisierung in NETLOGO 1357/1357

Page 45: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungDie Kopierwelt

Todesregel: Eine Zelle mit genau 0,2,4,6 oder 8 Nachbarn stirbt

Geburtsregel: 1,3,5 oder 7 Nachbarn erzeugen eine lebende Zelle.

1357/1357

Page 46: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Definition:Ein Zellulärer Automat (ZA) besteht aus einem System von Gitterzellen, die verschiedene Werte als Zustand annehmen können.In diskreten Zeitschritten berechnet sich der Zustand jeder einzelnen Zelle in Abhängigkeit seines ursprünglichen Zustands und der Zustände gewisser Nachbarzellen.

Nächste NachbarnEiner der wichtigsten Begriffe ist der des nächsten Nachbarns. In der Regel werden die Gitterzellen der ZA durch ein rechteckiges Gitter realisiert.

Page 47: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Bei den ZA beschränken wir uns auf eindimensionale (lineare) und auf binäre, d.h. die nur die Zustände 0 und 1 annehmen können.

Für drei Nachbarn gibt es(bei Mitzählung der betroffenen Zelle) 23 = 8 Möglichkeiten

111a 110b 101c 100d 011e 010f 001g 000h

Somit könnte man prinzipiell 28 = 256 mögliche Regeln aufstellen. Nach Wolfram aber sind nur solche Regeln zugelassen, die weder links noch rechts bevorzugen, d.h. zu symmetrischen Eigenschaften führen. Damit bleiben nur noch 32 solcher Regeln übrig.

Page 48: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Diese können beschrieben werden durch die Zahlenreihe

a b c d b e d 0Fasst man diese Zahlen als Stellen einer Binärzahl auf, so lässt sich jede Regel durch die so gewonnene Codierung C ausdrücken:

C = 128 a + 64 b +32 c + 16 d + 8 b + 4 e + 2 d

Page 49: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Hieraus ergibt sich die Zahlenfolge

0 1 0 1 1 0 1 0 = 64+16+8+2 = 90

C = 128 a + 64 b +32 c + 16 d + 8 b + 4 e + 2 d

1110 1101 1010 1001 0111 0100 0011 0000

Page 50: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm

globals [row]patches-own [left-pcolor center-pcolor right-pcolor]

to setup ca set row 40 ;;screen-edge-y set (pcolor-of patch-at 0 40) yellow end

Regel 90

Page 51: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm

to go if (row = (-40)) [stop] ;; stop an der letzten Zeile (= row) ask patches with [pycor = row] [ do-rule ] set row (row - 1)end

Regel 90

Page 52: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programmto do-rule set left-pcolor pcolor-of patch-at -1 0 set center-pcolor pcolor set right-pcolor pcolor-of patch-at 1 0 ifelse ((left-pcolor = yellow and center-pcolor = yellow and right-pcolor = yellow) or (left-pcolor = yellow and center-pcolor = black and right-pcolor = yellow) or(left-pcolor = black and center-pcolor = yellow and right-pcolor = black) or(left-pcolor = black and center-pcolor = black and right-pcolor = black)) [ set pcolor-of patch-at 0 -1 black ] [ set pcolor-of patch-at 0 -1 yellow ]end

Regel 90

Page 53: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm Regel 90

Page 54: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm Regel 250

to do-rule set left-pcolor pcolor-of patch-at -1 0set center-pcolor pcolorset right-pcolor pcolor-of patch-at 1 0ifelse ((left-pcolor = black and center-pcolor = yellow and right-pcolor = black) or (left-pcolor = black and center-pcolor = black and right-pcolor = black)) [ set pcolor-of patch-at 0 -1 black ] [ set pcolor-of patch-at 0 -1 yellow ]end

Page 55: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm Regel 250

Page 56: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm Regel 30

to do-ruleset left-pcolor pcolor-of patch-at -1 0set center-pcolor pcolorset right-pcolor pcolor-of patch-at 1 0ifelse ((left-pcolor = yellow and center-pcolor = black and right-pcolor = black) or (left-pcolor = black and center-pcolor = yellow and right-pcolor = yellow) or (left-pcolor = black and center-pcolor = yellow and right-pcolor = black) or (left-pcolor = black and center-pcolor = black and right-pcolor = yellow)) [ set pcolor-of patch-at 0 -1 yellow ] [ set pcolor-of patch-at 0 -1 black ]end

Page 57: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

EinführungZelluläre Automaten

Das NetLogo-Programm Regel 30

Page 58: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten

John von Neumann

Kernthese:Computer und Menschen repräsentieren unterschiedliche Klassen von Automaten.Zelluläre Automaten sind Systeme von Zellen, die in einfacher Weise miteinander interagieren, jedoch komplexes Verhalten zeigen.

1. Das System wird von einem 1-, 2- oder 3-dimensionalen Netzwerk aus Zellen geformt, die mit ihren Nachbarn interagieren.2. Jede Zelle kann eine von m möglichen Zuständen annehmen.3. Das System folgt einer konkreten Zeitdynamik, bei denen die Zellen beim Übergang zu neuen Zuständen die Zustände der jeweiligen Nachbarzellen berücksichtigen.

Page 59: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Totalistische zelluläre Automaten sind zellulare Automaten, bei denen die Regel abhängt von der durchschnittlichen Farbe der Nachbarzellen, also die Farbe, die sich ergibt, wenn man die drei Farben der drei Zellen miteinander mischt. Bei den Farben schwarz, grau und weiß bzw. den Werten 2,1 und 0 gibt es 7 mögliche Mischfarbtöne, denn aus 3 Summanden mit möglichen Werten 2,1,0 können sich folgende mögliche Summen ergeben: 6, 5, 4, 3, 2, 1, 0 - also 7 mögliche Mischungen. Damit gibt es 37 = 2187 mögliche Regeln.

Stephen Wolfram

Page 60: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Stephen Wolfram

Page 61: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Da es sich um drei verschiedene Farben handelt, kann man die verschiedenen Regeln im Dreiersystem katalogisieren.

Stephen Wolfram

729 243 81 27 9 3 1

Damit ergibt sich für die Regel folgende Zahl im Zehnersystem:

1*729+0*243+0*81+1*27+2*9+1*3+0*1 = 777

Page 62: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Stephen Wolfram

Code 1074

Page 63: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Stephen Wolfram

Code 177

0 0 162 0 9 6 0

Page 64: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Stephen Wolfram

Code 912

729 0 162 0 18 3 0

Page 65: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Totalistische eindimensionale zelluläre Automaten

Stephen Wolfram

Code 2040

1458 486 81 0 9 6 0

Page 66: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Bewertung – was können ZA?

Stephen Wolfram

Zellulare Automaten sind strukturell einfach aufgebaut, haben eine „exakte“ Dynamik und zeigen trotzdem ein komplexes dynamisches Verhalten.Breite Anwendung finden zellulare Automaten in der Physik, der Biologie und der Chemie. In den Ingenieurwissenschaften sind Anwendungsbereiche im Verkehrswesen, in der Umweltsystemmodellierung und dem Maschinen- und Gerätebau zu finden.Zellulare Automaten werden als Instrumente zur Modellbildung in weiteren Bereichen des Ingenieurwesens Einzug halten.Zellulare Automaten ergänzen die klassischen numerischenVerfahren.

Page 67: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – Ausbreitung einer Schallwelle

Stephen Wolfram

Page 68: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – Diffuse Ausbreitung von Schadstoffen

Stephen Wolfram

Soll die Ausbreitung von Schadstoffen in einem Gas beobachtet werden, müssen dem Gas im Bereich einer Schadstoffquelle Partikel zugeführt werden. Um diese Partikel auf dem Gitter verfolgen zu können, werden sie markiert, indem man die Zustandsmenge um die Eigenschaft "Schadstoff" erweitert.

Page 69: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – ökologisches Modell einerSeegraswiese

Stephen Wolfram

Page 70: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – ökologisches Modell einerSeegraswiese

Stephen Wolfram

Seegras - Zostera noltii

Wachstum abhängig von:1.Wassertrübung (geringere Photosynthese)2.Bewuchs von Mikroalgen (verhindernPhotosynthese)3.Fressfeinden4.WassertemperaturVorkommen abhängig von:1.Niedrigwasserlinie (verträgt keinen Frost)2.Wassertrübung (bei klarem Wasser bis 9,5 m Tiefe)Fortpflanzung durchhydrophile (= wasserliebende)BestäubungWurzelstöcke

Page 71: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – ökologisches Modell einerSeegraswiese

Stephen Wolfram

Wattschnecke - Hydrobia ulvae

Vermehrung abhängig von:1.Nahrungsangebot ( frisst Mikroalgen, auchepiphytischen Bewuchs von Seegras)2.Konzentration von TBT (Tributylzinn)ausSchiffsanstrichen hemmt Fortpflanzung,Zwitterbildung3.Wassertemperatur4.FressfeindenVerbreitung:1.kriechen <2cm/Minutekann sich mit einem selbstgebildetenSchleim an die Wasseroberfläche haften undso große Distanzen überwinden, alsoströmungsabhängig2.Bei starker Strömung weggespült

Page 72: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zelluläre Automaten Komplexe Beispiele – ökologisches Modell einerSeegraswiese

Stephen Wolfram

Kieselalge

Vermehrung abhängig von:1.Wassertrübung (betreibenPhotosynthese)2.CO2 Gehalt3.Nährstoffkonzentration (Phosphatund Stickstoff in Form von Nitraten)4.Fressfeinden5.WassertemperaturVerbreitung durch :1.Strömung

Page 73: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Dieses Modell stellt ein einfaches ökologisches System von Kaninchen und Gras dar. Die Kaninchen laufen nach dem Zufallsprinzip herum und das Gras wächst ebenfalls nach zufälligen Bedingungen. Kommt ein Kaninchen auf ein Gras-Patch, frisst es das Gras und seine innere Energie wird größer. Wenn das Kaninchen dann genug Energie aufgenommen hat, vermehrt es sich. Wenn es dagegen nicht mehr genug Energie hat, stirbt es.

Page 74: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Das graphische Symbol der Turtle ist ein einfaches Dreieck (die eingestellte Farbe ist grau).

Einfache Änderungen:

Um Größe und Farbe zu ändern, muss folgender Befehl eingegeben werden:

crt 1ask turtles[ set size 10 set color lime]

Page 75: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Für die Simulation Kaninchen – Gras wäre es sinnvoll als Turtle ein anderes Symbol zu verwenden, z.B. ein Kaninchen.

Hier gibt es die Möglich-keit, den Shapes-Editor zu benutzen. In einer Datei sind einige vorgefertigte Graphiken gespeichert. Diese können aufgerufen werden.

Page 76: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Im Shapes Editor werden verschiedene Formen angeboten. Wichtig ist, dass der Name bei der Wahl angeben wird.

crt 1ask turtles[ set shape “wolf" set size 10 set color 26]

Page 77: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

crt 1ask turtles[ set shape “wolf" set size 10 set color 26] Damit sind aber noch nicht alle Mög-

lichkeiten ausgeschöpft, um vorgefer-tigte Figuren in das Programm einzu-binden. Im Shapes-Editor gibt es den Button, der zu einer sog. Shapes Library führt. Hier kann man aus einer Vielzahl von weiteren Shapes auswäh-len. Diese werden dann in den Shapes-Editor importiert.

Page 78: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Mit dem Button Import from Librarygeht es vom Shapes Editor in die Library. Dann wählt man das gewünschte Shapes. Zurück über den Import Button.Dann kann die Figur wie gehabt aufgeru-fen werden.

Page 79: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

crt 1ask turtles[ set shape “rabbit" set size 10 set color 26]

Page 80: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Projekt mit dem DiffKurs 10 Schuljahr 2009/2010 (siehe auch Folie 73)

to setup (1) ca (2) crt number (3) set anzahl number (4) set anzahlGrass 0 (5) ask turtles[set shape "rabbit"] (6) ask turtles[set size 2] (7) ask turtles[fd random-int-or-float 50] (8) ask turtles[set energy random-int-or-float 10] (9) ask patches[if (random-int-or-float 100) < 25 [set pcolor green]]

end

Page 81: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Projekt mit dem DiffKurs 10 Schuljahr 2009/2010 (siehe auch Folie 73)

Erläuterung des Setup-Programms(1)Löschen des Bildschirms(2)Mit Hilfe eines Sliders wird die Anzahl der Kaninchen eingestellt.(3)Um die Anzahl der Kaninchen auszugeben, wird die mit Hilfe des Sliders eingestellte Kaninchenzahl in der Variablen anzahl abgelegt. (3)Um die Anzahl der grünen Patches auszugeben, wird eine Variable (hier: anzahlGrass) mit dem Wert 0 belegt.(5)Die Darstellung der Turtle wird geändert. Achtung: Über den Shape-Editor muss dazu das Shape-Element rabbit aus der Shape-Library importiert werden.(6)Die Größe der Kaninchen wird verändert.(7)Die Kaninchen bewegen sich um einen zufällig Wert nach vorn.(8)Allen Kaninchen besitzen die Variable energy. Jedem Kaninchen wird über diese Variable ein zufälliger Wert zwischen 0 und 10 zugewiesen. (9)

Page 82: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

turtles-own [energy] ;; jede Turtle besitzt die Eigenschaft energybreed [rabbits] ;;es werden Turtles mit dem Namen rabbits vereinbart

to setup ca set-default-shape rabbits "rabbit-shape" ask rabbits[set size 3] ;;hiermit wird die Größe verändert create-rabbits number ;;Slider für die Variable number ask patches [if (random-int-or-float 100) < 25 [set pcolor green]] ask rabbits [turtle-setup]end

Page 83: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

to turtle-setup setxy random-int-or-float world-width random-int-or-float world-height set color white set energy random-int-or-float 10;; jede Turtle (hier die mit dem Namen rabbits) erhält einen best. Energiebetrag

end

to go ask rabbits [move]end

to move bewegenend

Page 84: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

to bewegen rt random-int-or-float 50 lt random-int-or-float 50 fd 1 set energy energy - 0.25 ;; eine Vorwärtsbewegung kostet Energie (-0.25)end

Page 85: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

to move bewegen eat-grass reproduce deathend

to eat-grass ;;das Gras-Patch wird schwarz und die Energie nimmt um eine Einheit zu if pcolor = green [stamp black set energy energy + 1]end

to reproduce if energy > hatch-threshold ;; Variable über einen Slider [set energy energy / 2 hatch 1 [set color white]]end

to death if energy < 0 [die]end

Page 86: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Jetzt muss noch das Gras wachsen

to grow-grass create-custom-grass_growers grass-rate [set color black setxy random-int-or-float screen-size-x random-int-or-float screen-size-y stamp green die]end Und in den vorherigen Deklarationen bzw.

Prozeduren muss folgendes eingefügt werden

to go ask rabbits [move] grow-grassend

turtles-own [energy]breeds [rabbits grass_growers]

Page 87: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Der Graph zeigt die Anzahl der Kaninchen und die Anzahl der Gras-Patches

to graph-it ;zeigt den Anstieg von Gras(skaliert) und Kaninchen set-current-plot “Kaninchen und Gras" set-current-plot-pen "grass" plot (count patches with [pcolor = green]) / 5 set-current-plot-pen "rabbit" plot count rabbitsend

Zusätzlich wird die mit Hilfe eines Monitors die aktuelle Anzahl der Kaninchen angezeigt.

to-report total-rabbit report count rabbitsend

Page 88: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Page 89: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenKaninchen - Gras

Füge einen Monitor hinzu, der die Anzahl der aktuellen Gras-Patches anzeigt. (Ausgangswerte: Anzahl der Kaninchen: 160, Gras-Rate: 30, Nachkommen: 8)Lass alle Parameter konstant, ändere nur die grass-grow-Rate. Wie sieht dann ein stabiles System aus? Würdest du jetzt mehr Gras-Patches erwarten? Oder mehr Kaninchen?Ändere nur die Geburtenrate (hatch-treshold). Wie ändert sich dabei das stabile System aus Kaninchen und Gras?In dieser Simulationsversion hat jedes Kaninchen dieselbe Geburtenrate. Was würde passieren, wenn jedes Kaninchen eine unterschiedliche Geburtenrate hätte? Ändere das in deinem Programm und dokumentiere dies mitsamt dem Ergebnis.Wie ändert sich der Verlauf, wenn die Geburtenrate von Eltern und Kindern unterschiedlich wären? Ändere das in deinem Programm und dokumentiere dies mitsamt dem Ergebnis.

Page 90: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenLottka-Volterra

Page 91: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

globals [ ticks ]breeds [ sheep wolves ]turtles-own [ energy ]sheep-own [ grabbed? ] wolves-own [eaten?]patches-own [ countdown ]

to setup ca set ticks 0 ask patches [ set pcolor green ] ask patches [ set countdown random-int-or-float grass-delay if (random-int-or-float 2) = 0 [ set pcolor brown ] ]

set-default-shape sheep "sheep-shape" create-custom-sheep init-sheep [set color grey ;set color white set label-color blue set energy random-int-or-float (2 * sheep-metabolism) setxy random-int-or-float screen-size-x random-int-or-float screen-size-y set grabbed? false ]

Page 92: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

set-default-shape wolves "wolf-shape" create-custom-wolves init-wolves [ set color black set energy random-int-or-float (2 * wolf-metabolism) setxy random-int-or-float screen-size-x random-int-or-float screen-size-y set eaten? false ]

ask patches [ grow-grass ] ;;display-labels do-plotend

Page 93: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

to go if ticks >= 3000 [stop] ask sheep [ move set energy energy - 1 eat-grass reproduce-sheep death ]

ask wolves [ move set energy energy - 1 catch-one-sheep reproduce-wolves death set eaten? false ]

ask patches [ grow-grass ] do-plot ;;every 0.5 ;; [ display-labels ] set ticks ticks + 1 if not any? turtles [ stop ]end

Page 94: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

to move ;; turtle procedure rt random-int-or-float 50 - random-int-or-float 50 fd 1 end

to reproduce-sheep ;; sheep procedure if random-int-or-float 100 < sheep-reproduce set energy (energy / 2) hatch 1 [ rt random-int-or-float 360 fd 1 ] ]end

to reproduce-wolves ;; wolf procedure if random-int-or-float 100 < wolf-reproduce set energy (energy / 2 ) hatch 1 [ rt random-int-or-float 360 fd 1 ] ]end

to death ;; turtle procedureif energy < 0 [ die ] end

Page 95: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

Page 96: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

Schafe fressen Gras – Einfügen der Prozedur eat-grass

to eat-grass ;; Schaf-Prozedur ;; Schafe fressen Gras, das Patch wird braun if pcolor = green [ set pcolor brown set energy energy + sheep-metabolism ;; das Schaf erhält Energie durch das Fressen von Gras – dargestellt durch die Variable sheep-metabolism (=Schafstoffwechsel) ] end

Page 97: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

to catch-one-sheep locals [prey] set prey random-one-of sheep-here with [not grabbed?] if (prey != nobody) [ set grabbed?-of prey true ask prey [ die ] set energy energy + wolf-metabolism ] end

Wölfe fressen Schafe

Page 98: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

to grow-grass ;; countdown on brown patches, if reach 0, grow some grass if pcolor = brown [ ifelse countdown <= 0 [ set pcolor green set countdown grass-delay ] [ set countdown (countdown - 1) ] ] end

Das Gras wächst

Page 99: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

to do-plot set-current-plot "populations" set-current-plot-pen "sheep" plot count sheep set-current-plot-pen "wolves" plot count wolves set-current-plot-pen "grass / 4" plot count patches with [ pcolor = green ] / 4 ;; divide by four to keep it within similar ;; range as wolf and sheep populations end

Die Plot-Anzeige

Page 100: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

Der Name des Plots ist der, der mit Hilfe des Befehls set-current-plot festgelegt wurde. Dann werden die einzelnen Graphen fest-gelegt. Dies geschieht mit Hilfe von set-current-plot-pen. Im Plot-Feld wird mit Hilfe von Create der entsprechende Namen einge-tragen. In einen Plot kann man mehrere Graphen zeichnen las-sen. Dazu müssen die Plot Pens definiert und entsprechend mit Create eingetragen werden.

Page 101: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

Die Plot-Anzeige

grass_delay 46init_sheep 106init_wolves 25sheep_metabolismus 20wolf_metabolismus 12sheep_reproduce 6wolf_reproduce 3

Page 102: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenWolf - Schafe

grass_delay 46init_sheep 106init_wolves 25sheep_metabolismus 20wolf_metabolismus 12sheep_reproduce 6wolf_reproduce 3

Page 103: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenEinfaches Ameisen-Modell

Termiten.nlogo

Page 104: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenEinfaches Ameisen-Modell

Page 105: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Page 106: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Page 107: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Die Voraussetzungen für das Modell

Die Autos fahren mit einer Geschwindigkeit zwischen 0 und V.Ein Auto wird langsamer, wenn es dem voranfahrenden Auto zu nahe kommt.Ein Auto beschleunigt, wenn das voranfahrende Auto weit genug entfernt ist.

Page 108: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Die Voraussetzungen für das Modell – im Einzelnen

Bei diesem Modell gibt es jeweils nur eine Spur in Hin- und Rückrichtung. Die Autos fahren auf der Autobahn hintereinander, aber sie haben unterschiedliche Geschwindigkeit.Die Zeit-Einheit: Es gibt eine Basis-Zeiteinheit delta_t (hier: delta_t = 0.01 Sekunden). Die Geschwindigkeit ist definiert als Quotient aus zurückgelegtem Weg in einer Sekunde. Die Autos bewegen sich weiter um die Strecke fd speed*delta_t.Einstellen der Geschwindigkeit: Der Fahrer stellt seine Geschwindigkeit in jedem adjust_interval auf einen Durchschnitt ein. Der Parameter adjust_interval kann dazu benutzt werden, um eine Reaktionszeit des Fahrers zu simulieren (größere Werte von adjust_interval bedeutet langsamere Reaktion).

Page 109: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Die Voraussetzungen für das Modell – im Einzelnen

Die Einstellung wird vorgenommen als:speed minimum of (speed + front_distance) / 2 and max_speedDabei ist front_distance die Entfernung zum vorderen Auto. Wenn speed>front_distance ist, dann bewegt sich das Auto zu schnell. Es muss seine Geschwindigkeit verringern.Wenn speed<front_distance ist, dann ist genügend Abstand zum vorderen Auto und es kann seine Geschwindigkeit erhöhen.Es gibt aber eine maximal vorgeschriebene Geschwindigkeit, die nicht überschritten werden kann.Wenn das vordere Auto zu nahe ist (front_distance < 1), dann hält es an.Es kann zusätzliche ein Polizist oder Kamera eingesetzt werden, so dass alle Autos mit einem bestimmten Abstand (2 * speed) zur Polizei langsamer werden und das bis zur offiziellen Geschwindigkeitsbegrenzung

Page 110: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

globals [delta_t with_police? with_leader? num_count sum_speed start_averaging? ]turtles-own [speed front_distance next_car]

to setup ca crt 2 * number ask turtles [setup-cars] set delta_t 0.01 set with_police? false set with_leader? false set num_count 0 set sum_speed 0 set start_averaging? falseend

to setup-cars locals [temp] set shape "car" set temp world-width / number ifelse who < number [ setxy (temp * who) -5 set heading 90 set next_car who + 1 if (who = number - 1) [set next_car 0] ] [ setxy (temp * (who - number)) 5 set heading -90 set next_car who - 1 if (who = number) [set next_car 2 * who - 1] ] set speed official_limit * (random 1.0)end

Page 111: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

to go ask turtles [adjust_speed] ask turtles [move]end

to move fd speed * delta_tend

Page 112: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

to go ask turtles [adjust_speed] ask turtles [move]end

to adjust_speed set front_distance distance turtle next_car if (random adjust_interval) = 0 [ set speed (speed + front_distance) / 2 if speed > max_speed [set speed max_speed] ] if (front_distance < 2) [set speed 0] if with_police? and (speed > official_limit) and ((abs xcor) < (2 * speed)) [set speed official_limit / 2]

end

Page 113: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

to-report current_speed report (sum values-from turtles [speed]) / (2 * number)end

to-report num_stop_car report (count turtles with [speed = 0])end

Page 114: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenVerkehrsmodell

Page 115: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Ameisen und die Erklärung der WeltUnd wenn ich alle Weisheit der Welt hätte, so wär’s mir nichts nütze; denn ich könnte noch nicht einmal weissagen, ob eine winzig kleine Ameise auf den Pfad der Tugend gerät. Von Ian Stewart Aus Spektrum der Wissenschaft August 1995, Seite 10, Beitragstyp Mathematische Unterhaltungen

Auf den unvorbereiteten Besucher hätte der Weltkongress des Plenums Umfeld Mathematik und Philosophie (PLUMP) wahrscheinlich wie absurdes Theater gewirkt. Eine elegant gekleidete Mittsechzigerin diskutierte heftig gestikulierend mit einem blassen, pickeligen Typ mit Springerstiefeln und langen, fettigen Haaren. Eine magere Frau mit Punk-Frisur trug ein T-Shirt mit der Aufschrift "Betrachte diesen Raum". Eine übererregte Fuzzologin erläuterte geschäftig ihre flexible Erweiterung der konventionellen Logik; aber ihre Gesprächspartner, drei skeptische Konstruktivisten, hätten die Theorie gerne etwas starrer gehabt. In der Ecke hämmerte ein sehr entrückt wirkender Mensch wie besessen auf die Tasten seines Laptops ein. Mit einem Blick sah ich: Hier war ich richtig, und die Reise hatte sich gelohnt. Ich sprach die Punkerin mit dem T-Shirt an: "Ich betrachte ihn."

Ian Stewart

Page 116: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Hä?" ",Diesen Raum'. Ich sehe nichts Unerwartetes." Luise, so hieß sie, argwöhnte eine unfeine Anspielung und sah mich misstrauisch an. "Es geht um die Formel - wenn sie überhaupt je gefunden wird." "Die Formel?" "Ich glaube nicht mehr an einen schnellen Durchbruch, seit diese Schwachköpfe im amerikanischen Kongreß den Supraleitenden Super-Collider gestoppt haben." "Ach, die Weltformel", sagte ich. "Die Theorien über Alles." Sie war offensichtlich Fundamentalistin; das hätte ich ahnen können. "Spotten Sie nur", sagte sie. Ich schüttelte heftig den Kopf, und sie fuhr fort: "Ich glaube einfach, daß alles im Universum von einem fundamentalen Gesetz beherrscht wird und daß das wichtigste Ziel der Wissenschaft sein sollte, dieses Gesetz zu finden." "Ja, aber wenn es überhaupt existiert, warum sollte es dann ein mathematisches Gesetz sein?" fragte der pickelige Knabe. "Schon das Wort Gesetz impliziert eine Präzision, die nur in der Mathematik zu finden ist", entgegnete Luise. "Mathematik ist ja gerade das Studium von logischen Folgerungen aus einfachen, präzisen Gesetzen." "Was genau verstehen Sie unter ,logisch'?" wollte einer der Konstruktivisten wissen. "Was meinen Sie mit ,präzise'?" fragte die Fuzzologin. Luise ließ sich nicht aus dem Konzept bringen. "Wenn wir erst einmal die Gesetze der Natur gefunden haben, können wir alles andere daraus herleiten. Statt eines unordentlichen Flickenteppichs aus näherungsweise gültigen Theorien wären wir schlicht im Besitz der Wahrheit."

Page 117: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Ich glaube, Sie diskutieren auf einer falschen Ebene", warf ich ein. "Erst vor 100 Jahren haben die Mathematiker bewiesen, dass im Prinzip die gesamte Zukunft des Universums sich aus seinem gegenwärtigen Zustand ergibt. Daraus leitete sich das Bild vom Universum als Uhrwerk her und die Vorstellung, einfache Gesetze müssten zwangsläufig einfaches Verhalten erzeugen. Aber genau das stimmt ja nicht: Einfache Gesetze können extrem komplexes Verhalten zur Folge haben, und manche deterministischen Systeme sind von zufallsbestimmten nicht zu unterscheiden." "Ach ja, das deterministische Chaos", sagte einer der Konstruktivisten, leicht angewidert. Zu Luise gewandt, fuhr ich fort: "Nehmen wir meinetwegen an, Sie hätten recht. Dann gehorcht das Universum tatsächlich einer kleinen Anzahl einfacher fundamentaler Gesetze, und wir finden diese. Verstehen wir dann die Welt besser, in der wir leben?" "Aber selbstverständlich", antwortete Luise. "Erstens haben wir dann ein solides philosophisches Fundament für die Betrachtung der Natur. Zweitens ist alles, was in unserer alltäglichen Welt geschieht, Folge der fundamentalen Gesetze. Also erklären die Gesetze alles." "Im Prinzip vielleicht", wandte ich ein, "aber praktisch nicht. Zum Beispiel jagen Katzen gern Mäuse. Können Sie eine Kette überzeugender logischer Schlüsse angeben, die von Ihren fundamentalen Gesetzen ausgeht und bei der Aussage endet, daß Katzen gern Mäuse jagen? Selbst wenn es eine solche Schlusskette gäbe, wären die zugehörigen Berechnungen extrem lang und vollkommen unbegreifbar."

Page 118: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Luise mußte widerstrebend zustimmen. Ich fuhr fort: "Jede Theorie über Alles leidet unter einem falschen Konzept von ,Erklärung'. Eine Erklärung ist ein expliziter Beweis, der von einer Voraussetzung zu einer Schlussfolgerung führt, und nicht nur eine vage Aussage mit dem Inhalt, daß das Ergebnis irgendwie durch die Voraussetzungen erzwungen wird."

Langtons Ameise Der Mensch mit dem Laptop erwachte aus seiner Trance. "Darf ich Ihnen allen etwas zeigen? Schauen Sie mal auf den Bildschirm." Ein feines Quadratgitter erschien. "Sehen Sie die Ameise?" "Wo?" "Im Mittelpunkt, nur unsichtbar. Aber jetzt werde ich sie in Bewegung setzen." Auf einen Tastendruck raste irgendetwas wie verrückt über das Gitter und hinterließ eine chaotische Spur von weiß oder schwarz gefärbten Quadraten. Nach etwa einer Minute begann es plötzlich, einen seltsam gemusterten, diagonal verlaufenden Streifen zu erzeugen, und verschwand in einer Ecke des Bildschirms (Bild 1)."Faszinierend", sagte Luise. "Übrigens, wie ich bereits erwähnt habe, ist die Weltformel..." "Wenn Sie mich erklären lassen, was Sie gerade gesehen haben", unterbrach der vergeistigte Wissenschaftler, "werden Sie mühelos erkennen, dass es von allerhöchster Relevanz für das Diskussionsthema ist." "Das sagen Sie immer, selbst wenn es um eine Gewinnstrategie für

Schiffeversenken geht."

Page 119: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Gedulden Sie sich nur einen Moment. Ich habe Ihnen soeben Langtons Ameise vorgeführt. Erfinder dieses erstaunlich einfachen zellulären Automaten ist Chris Langton vom Santa-Fe-Institut." "Die Komplexitätsmafia? Aus der Wüste von New Mexico?" "Genau. Diese Leute untersuchen globale Gesetzmäßigkeiten in komplexen Systemen. Langtons Ameise ist ein einfaches Beispiel. Anfangs sitzt sie im mittleren Quadrat und schaut in eine bestimmte Richtung - sagen wir nach Osten. Sie bewegt sich Schritt für Schritt über die Ebene, die aus lauter schwarz oder weiß gefärbten Quadraten besteht. Die Farbe des Feldes, auf dem sie gerade sitzt, bestimmt ihre nächste Aktion. Ist es schwarz, färbt die Ameise es weiß und dreht sich dann um 90 Grad nach links. Ein weißes Feld färbt sie schwarz und dreht sich um 90 Grad nach rechts. Anschließend krabbelt sie ein Feld weiter in ihrer neuen Richtung. Diese einfachen Regeln wendet sie auf ihrem neuen Feld wieder an, und so weiter." "Klingt nach Turing-Maschine", sagte ein Konstruktivist. "Ja, aber eine in zwei Raumdimensionen. Es handelt sich um eine spezielle Art Turmiten" (Spektrum der Wissenschaft, November 1989, Seite 8). Nathan, der Laptop-Besitzer, fuhr fort: "Wenn die Ameise auf einem vollständig weißen Bildschirm startet, bildet sie zunächst ein schwarzes 2×2-Quadrat; ihr weiterer Weg ist nicht mehr einfach zu beschreiben" (Bild 2). "Ein überraschend komplexes Verhalten für einen derart einfachen Satz von Regeln", bemerkte ich.

Page 120: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Sehen Sie, Luise, die Ameisen-Ebene ist ein eigenes kleines Universum. Und in dem sind Langtons Regeln die Theorie über Alles", rief Nathan begeistert. "Schauen Sie sich das an. So etwa bis zum 500. Schritt kehrt das Tier immer wieder zum Mittelpunkt zurück und hinterlässt eine Folge von nahezu symmetrischen Mustern. Während der nächsten ungefähr 10000 Schritte geht es sehr chaotisch zu. Dann plötzlich scheint es, als wüsste die Ameise endlich, was sie will: Sie baut eine Struktur auf, die ihr Entdecker James Propp vom Massachusetts Institute of Technology in Cambridge eine Autobahn nennt. Immer wieder durchläuft die Ameise eine Folge von genau 104 Schritten, jedesmal um zwei Felder in Richtung Nordwesten versetzt" (Bild 1). "Faszinierend", bemerkte ich. Luises Gesichtsausdruck signalisierte Missbilligung. "Na und?" schien sie zu sagen. "Das wirklich Faszinierende ist", führte Nathan weiter aus, "dass die Ameise stets in die Phase des Autobahnbaus zu geraten scheint, sogar dann, wenn man anfangs schwarze Quadrate über das Gitternetz verstreut." "Das glaube ich nicht", bemerkte einer der Konstruktivisten. "Wenn ich sie unmittelbar neben einem unendlich langen Gitterzaun aus schwarzen Quadraten mit einer geeigneten Gitterweite starten lasse..." "Verzeihung. Endlich viele schwarze Quadrate in beliebiger Anordnung. Nur - bislang konnte niemand beweisen, daß die Ameise stets eine Autobahn baut." "Gibt es denn überhaupt bewiesene Aussagen für den Fall endlich vieler schwarzer Quadrate?" "Ja", antwortete Nathan. "E. G. D. Cohen und X. P. Kong von der Rockefeller-Universität in New York haben gezeigt, daß der Weg der Ameise zwangsläufig unbeschränkt ist. Sie überschreitet die Grenzen jedes endlichen Gebietes" (Kasten Seite 12).

Page 121: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Was hat das bloß mit der Weltformel zu tun?" fragte Luise gereizt. "Wir kennen die Theorie über Alles für Langtons Ameise", versuchte Nathan zu erklären. "Die Regeln. Wir haben sie ja selbst festgelegt. Trotzdem kann niemand eine einfache kleine Frage beantworten: Baut die Ameise, ausgehend von einer beliebigen Umwelt mit endlich vielen schwarzen Zellen, stets eine Autobahn?" "Also mangelt es in diesem Punkt der Theorie über Alles an Erklärungskraft?" fragte ich. "Genau. Sie sagt alles voraus, aber erklärt nichts. Der Satz von Cohen und Kong hingegen erklärt, warum jede Ameisenspur unbeschränkt ist." "Ich sehe einige Ungereimtheiten in Ihrer Schlussfolgerung", bemerkte Luise. "Erstens: Woher hat der Satz von Cohen und Kong seine Erklärungskraft, wenn nicht von der Theorie über Alles, aus der er folgt? Zweitens beruht Ihr Argument auf bloßer Unkenntnis. Vielleicht bringt morgen jemand einen Beweis dafür, daß Ameisen immer Autobahnen bauen - und dann haben Sie Pech gehabt." "Das kann sein", entgegnete Nathan. "Aber ich muß Ihrem ersten Punkt widersprechen. Die Erklärung für die Unbeschränktheit der Ameisen-Bahnen kommt nicht aus der Theorie über Alles, sondern daraus, dass man die Folgerung aus dieser Theorie, nämlich den Satz von Cohen und Kong, explizit macht. Sie können Ihre Weltformel mitsamt eindeutiger Abhängigkeit von den Anfangsbedingungen herunterbeten, bis Sie schwarz werden. Davon wissen Sie immer noch nicht, ob es eine beschränkte Bahn gibt. Genauso hilft uns unsere erschöpfende Kenntnis der Theorie nicht zu entscheiden, ob Autobahnbauen das Schicksal jeder Ameise ist, bis jemand es - aus der Theorie - beweist." "Oder widerlegt."

Page 122: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Ist das nicht ein bisschen viel Philosophie für ein einzelnes ungewöhnliches Beispiel?" warf ich ein. "Eigentlich nicht", konterte Nathan. "Langtons Ameise ist geradezu typisch für regelbasierte Systeme. Es gibt eine Vielzahl von Verallgemeinerungen, und sie bieten viele Überraschungen, aber auch Gemeinsamkeiten, was ich noch viel merkwürdiger finde. Setzen Sie spaßeshalber in Ihrem Computer eine oder mehrere Ameisen in ein ausgewähltes Umfeld und sehen Sie zu, was sie treiben. Sie können Regeln ändern und eine völlig andere Welt definieren - zum Beispiel Bienenwaben anstelle der Quadrate. Es gibt übrigens eine praktische Anwendung: In der statistischen Mechanik betrachtet man Anordnungen von Teilchen - statt der Ameisen -, die zu jedem gegebenen Zeitpunkt nur in einem von mehreren Zuständen existieren können" (vergleiche Spektrum der Wissenschaft, Oktober 1989, Seite 10).

Verallgemeinerte Ameisen Nathan wusste noch mehr: "Es gibt auch außerhalb von Santa Fe Ameisenforscher: Grek Turk von der Universität Stanford in Kalifornien, Leonid A. Bunimovich vom Georgia Institute of Technology in Atlanta und Serge E. Troubetzkoy von der Universität Bielefeld, der inzwischen an der Staatsuniversität von New York in Stony Brook arbeitet. Sie untersuchen verallgemeinerte Ameisen in Ebenen, deren Felder nicht nur schwarz oder weiß sein, sondern n verschiedene Farben annehmen können. Die Farben sind mit 0, 1, 2, ... n-1 nummeriert. Wenn eine Ameise auf einem Feld steht, färbt sie es um, und zwar mit der in der Nummerierung folgenden Farbe. Ein Feld mit der Farbe k erhält also die Farbe zu k+1; aus der Farbe n-1 wird die Farbe 0.

Page 123: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Außerdem ändert sie ihre Laufrichtung, und zwar nach einer Regel, die in einer Kette aus Nullen und Einsen festgelegt ist. Die Glieder der Kette sind ebenfalls von 0 bis n-1 nummeriert. Die bisherige Farbe des Feldes, auf dem die Ameise steht, habe die Nummer k. Dann wendet sie sich nach rechts, falls das k-te Symbol eine Eins ist, sonst nach links. Sie bewegt sich dann ein Feld weiter, und der Vorgang beginnt erneut. Langtons ursprüngliche Ameise entspricht der Regel-Kette 10." "Zehn?" "Eins - null. Von der Ameise aus gesehen, ist eine Regelkette keine Zahl. Aber Sie haben die Freiheit, sie als Zahl zu interpretieren - zweckmäßig im Binärsystem. Auf diese Weise hat jede Ameise ihrerseits eine Nummer." "Beziehungsweise ihre Regelkette." "Was ungefähr dasselbe ist. Einige Ketten ergeben eine triviale Dynamik - beispielsweise läuft eine Ameise mit der Regel 11 (oder auch 111...1) ewig auf einem 2×2-Quadrat um. Aber jede Regel, die sowohl 0 als auch 1 enthält, erzeugt eine unbeschränkte Bahn. Das folgt aus einer Variante des Beweises von Cohen und Kong." Nathan war nicht mehr zu bremsen. "Angenommen, Sie beginnen der Einfachheit halber mit einem blanken Bildschirm - alle Quadrate sind weiß. Die Ameise 100 erzeugt anfangs Muster, die etwa so aussehen wie die von Langtons Ameise - zuerst symmetrisch, dann chaotisch. Nach 150 Millionen Schritten verhält sie sich immer noch chaotisch. Wird sie je eine Autobahn bauen? Keiner weiß das.

Page 124: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Bei Ameise 110 ist es einfach: Sie geht nach 150 Schritten zum Autobahnbau über, und für ein Stückchen neuer Fahrbahn braucht sie nur 18 Schritte statt 104 wie Langtons Ameise. Dagegen ist 1000 hoffnungslos chaotisch. Die Ameise 1101 beginnt chaotisch, fängt aber nach 250000 Schritten an, eine Autobahn zu bauen; die Zykluslänge ist 388. Ameise 1100 macht ein komplexes Muster nach dem anderen, und immer wieder ist ein bilateral symmetrisches darunter - unendlich oft" (Bild 3). "Bor äy", sagte der Pickelige. "Und was ist mit Autobahnen?" "Schlecht", erwiderte Nathan. "Die Ameise 1100 kommt nämlich immer wieder nach Hause zurück. Aber das ist eine andere Geschichte" (siehe die "Mathematischen Unterhaltungen" in der nächsten Ausgabe). Nathan erhob die Stimme und wandte sich mit großer Geste an das Volk. "Ich fordere jeden auf, all diese Verhaltensweisen auf einfache Weise zu klassifizieren oder ausgehend von der Regel-Kette das Langzeitverhalten vorherzusagen - und wenn es nur für den Fall einer anfänglich blanken Ebene ist." Luise warf ihm einen giftigen Blick zu. "Sie haben nicht bewiesen, dass niemand das kann." "Stimmt", unterbrach ich. "Aber die Chancen sind schlecht. Wenn man nur geringfügig komplexere Regeln zulässt, kommt man zum Beispiel zum ,Spiel des Lebens' von John Horton Conway. Wie Conway selbst bewiesen hat, gibt es in diesem Spiel bestimmte Konfigurationen, die universelle Turing-Maschinen bilden - programmierbare Computer" (Spektrum der Wissenschaft, Juli 1985, Seite 4).

Page 125: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

"Ach so." Auf einmal wußte einer der Konstruktivisten weiter. "Wie schon Alan Turing gezeigt hat, ist das Langzeitverhalten einer Turing-Maschine unentscheidbar. Zum Beispiel ist es unmöglich, im voraus zu bestimmen, ob ein beliebiges Programm anhält oder nicht." "Eben", führte ich den Gedanken weiter. "Im Spiel des Lebens entspricht dies der formalen Unentscheidbarkeit der Frage: ,Wird diese Konfiguration unbeschränkt wachsen?' Hier liegt also ein Fall vor, dass wir die Theorie über Alles kennen und eine einfache Frage wissen, die auf der Basis dieser Theorie nachweislich nicht beantwortet werden kann." "Genau", stimmte Nathan zu und wandte sich an Luise. "Wie kommen Sie überhaupt darauf, dass für unser Universum eine Theorie über Alles einen Erkenntnisgewinn bringen könnte?" Da fiel ihr nur noch Fundamentalistisches ein: "Das muss man einfach glauben. Immerhin ist ja nicht ausgeschlossen, dass eine Theorie über Alles eine Frage beantwortet, dir mir gerade besonders wichtig ist."

Page 126: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Die Langton-AmeisenLangton-Ameisen sind (unsichtbare) Wesen, die sich auf einem quadratischen Gitter aus weißen oder schwarzen Feldern bewegen. Treffen sie auf ein weißes Feld, färben sie dieses schwarz. Treffen sie auf ein schwarzes Feld, färben sie es weiß.

Chris Langton

Page 127: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Chris Langton

Bewegungsregeln:

1.Wenn die Ameise auf einem schwarzen Feld ist, dreht sie sich um 90o nach rechts und bewegt sich ein Feld vorwärts (wenn das dann betretene Feld weiß ist, wird es schwarz gefärbt; wenn es schwarz ist, wird es weiß gefärbt)

2. Wenn die Ameise auf einem weißen Feld ist, dreht sie sich um 90o nach links und bewegt sich ein Feld vorwärts (wenn das dann betretene Feld weiß ist, wird es schwarz gefärbt; wenn es schwarz ist, wird es weiß gefärbt)

Page 128: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Chris Langton

Der einfachste Fall ist die Bewegung einer Ameise in einem quadratischen Gitter mit nur weißen Feldern. Hier sind die ersten zehn Schritte einer Ameise.

Page 129: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Chris Langton

(0) Die an sich unsichtbare Ameise sitzt in einem Feld und bewegt sich zum Beispiel nach Norden.  (1) Sie findet das nächste Feld weiß vor, färbt es schwarz und dreht sich in Pfeilrichtung. Das ist die Richtung nach links entgegen dem Uhrzeigersinn. (2) Sie erreicht das nächste Feld, färbt es schwarz und dreht sich in Pfeilrichtung. (3) (4) Weiter entsteht in den nächsten beiden Schritten ein schwarzes 2x2-Quadrat. (5) Die Ameise erreicht im fünften Schritt das schwarze Feld, das sie in Schritt 1 gefärbt hatte. Sie färbt es weiß und bewegt sich jetzt aber nach rechts in Richtung des Uhrzeigersinns.

Page 130: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

to GoAntask turtles [ ifelse pcolor = black [ set pcolor white rt 90 fd 1 set ticks ticks + 1] [ if pcolor = white [ set pcolor black lt 90 fd 1 set ticks ticks + 1] ] ]end

Chris Langton

Page 131: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

SimulationenDie Langton-Ameise

Chris Langton

Page 132: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

Der zellulare Automat WireWorld ist Brian Silvermann gewidmet und ist in seinem Programm PHANTOM FISH Tank von 1987. A.K. Dewdney veröffentlichte WireWorld in seiner Computer Recreations – Kolumne (Scientific American, Januar 1990).

A.K.Dewdney

Page 133: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

A.K.Dewdney

Zellen in WireWorld haben einen von 4 möglichen Zuständen:Background (Zustand 0)Elektron-Head (Zustand 1)Elektron-Tail (Zustand 2)Wire (Zustand 3)

Page 134: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

A.K.Dewdney

Die Regeln für das Erzeugen der Zellen sind:1.Der Hintergrund (Zustand 0)bleibt immer schwarz2.Der Elektron-Head wechselt immer zum Elektron-Tail3.Der Elektron-Tail wechselt immer zum Wire4.Der Wire (Draht) wechselt zum Elektron-Head, aber nur dann, wenn ein oder zwei Nachbarn Elektron-Heads sind.

Page 135: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

to go if mouse-down? [ stop ] ;; wait for user to stop drawing ask patches [ set live-neighbors count neighbors with [pcolor = 15] ] ask patches [ifelse pcolor = 1[set pcolor 1] [ifelse pcolor = 15 [set pcolor 94] [ifelse pcolor = 94 [set pcolor 47] [if ((live-neighbors = 1) or (live-neighbors = 2)) [set pcolor 15] ] ] ] ] end

Umsetzung der Regeln in NetLogo

Page 136: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

to add-ElectronHead if mouse-down? [ ask patch-at mouse-xcor mouse-ycor[ set pcolor 15 ] ]endto add-ElectronTail if mouse-down? [ ask patch-at mouse-xcor mouse-ycor [ set pcolor 94 ] ]endto add-Wire if mouse-down? [ ask patch-at mouse-xcor mouse-ycor [ set pcolor 47 ] ]endto remove-cells if mouse-down? [ ask patch-at mouse-xcor mouse-ycor [ set pcolor 1 ] ]end

Page 137: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

patches-own [ living? ;; indicates if the cell is living live-neighbors ;; counts how many neighboring cells are alive]

to setup-blank ask patches [ set pcolor 1 ]end

2 globale Eigenschaften der Patches werden definiert – living? und live-neighbors.Beim Setup werden dann alle Patches auf Schwarz (1) gesetzt.

Page 138: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

Ein zyklisches NAND-Gatter in NETLOGO

Page 139: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

OR-Gate

Page 140: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

Ein AND-NOT gate berechnet die Funktion `A AND NOT B'.

Page 141: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Zellulare AutomatenWire World

Der einfachste Weg die Schaltung zu verstehen ist, den oberen Eingang zu ignorieren. Das untere Signal kann The lower signal can simply pass through to the output; the `plus' arrangement prevents the signal from propagating back along the B input. Now suppose that the three cells forming the horizonal bar of the plus are all electron heads. With the correct timing, this will block the flow of electrons from A.

Page 142: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Selbstreproduzierende Automaten

State Name Function

0 [Black] Background

1 [Blue] Core Fills tube of loop

2 [Red] Sheath External structure

3 [Purple] Structure of arm

4 [Green] Gene Info for turning arm

5 [Light Blue] Messenger

6 [Yellow] Messenger/Guide/Finisher

7 [White] Gene Info for straight growth

8 [Grey] Dissolver Dissolves loop structure

Page 143: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Selbstreproduzierende Automaten

Der einfachste Weg die Schaltung zu verstehen ist, den oberen Eingang zu ignorieren. Das untere Signal kann The lower signal can simply pass through to the output; the `plus' arrangement prevents the signal from propagating back along the B input. Now suppose that the three cells forming the horizonal bar of the plus are all electron heads. With the correct timing, this will block the flow of electrons from A.

Page 144: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Selbstreproduzierende Automaten

Der einfachste Weg die Schaltung zu verstehen ist, den oberen Eingang zu ignorieren. Das untere Signal kann The lower signal can simply pass through to the output; the `plus' arrangement prevents the signal from propagating back along the B input. Now suppose that the three cells forming the horizonal bar of the plus are all electron heads. With the correct timing, this will block the flow of electrons from A.

Page 145: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Page 146: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Pac-Man ist ein Arcade Game und Videospiel, das am 12. Mai 1980 von Namco in Japan als „Puck Man“ veröffentlicht wurde. Der Name leitet sich vom japanischen Onomatopoetikum paku paku für „essen“ (vergleichbar etwa mit „happa-happa“ im Deutschen) und der Puck-förmigen Gestalt der Hauptfigur her; zudem bedeutet puck auf Englisch auch „Kobold“. Es wurde vom Spieledesigner Iwatani Toru entworfen. Erst 1981 erschien das Spiel von Midway lizenziert als Pac-Man in den USA, da die Aufschrift „Puck Man“ auf dem Automaten von Pubertierenden leicht in „Fuck Man“ abgewandelt werden konnte. Spielerisch blieb es unverändert, außer dass die vier Monster im Spiel nicht mehr Akabei, Pinky, Aosuke und Guzuta hießen, sondern Blinky, Pinky, Inky und Clyde.

Page 147: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Die Spielfigur Pac-Man muss Punkte in einem Labyrinth fressen, während er von Gespenstern verfolgt wird. Frisst man eine „Kraftpille“, kann man für eine gewisse Zeit umgekehrt selbst nun die (nun blau eingefärbten) Gespenster ver-folgen. Manchmal erscheint auch eine Kirsche oder ein anderes Symbol im Spielfeld, das dem Spieler Extrapunkte einbringt, wenn man es frisst. Aber man sollte sich beeilen, denn wenn man es nicht frisst, verschwindet es nach kurzer Zeit wieder. Sind alle Punkte gefressen, gelangt man in den nächsten Level. Dieser unterscheidet sich vom Vorigen im Wesentlichen nur durch die höhere Spielgeschwindigkeit (in den niedrigeren Leveln auch durch ein verändertes Gegner-verhalten). Die Steuerung erfolgt per Joystick.Links und rechts am Bildschirm befindet sich ein Tunnel, durch den man gehen und so die Gegner täuschen kann. Die Monster bewegen sich nicht zufällig. Jedes hat eine bestimmte Strategie, die den Bewegungen bzw. Eingaben des Spielers folgt.

Page 148: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

breed [ pacman ]breed [ aliens ]

to setup ca create-pacman 1 ask pacman[pacman-setup] ask pacman[set color red] create-aliens 5 ask aliens[aliens-setup] end

to pacman-setupset shape "gesicht"fd 3end

to aliens-setupset shape "circle"end

Page 149: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Mit Hilfe von 4 Buttons soll die Steuerung des Pacmans erfolgen.

to oben locals[tempPatch-ahead] ask pacman[fd 0.03 set heading 0 set tempPatch-ahead patch-ahead 1] if pcolor-of (tempPatch-ahead) = black [ask pacman[bk 0.03] stop]end

Page 150: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

globals[xkoo xkom xkou xko1 xko2 ykom ykom1 ykom2 ykoo ykoo1 ykoo2 ykou ykou1 ykou2 ykol ykor xkol xkol1 xkol2 xkor xkor1 xkor2 zufallszahl]

Das Labyrinth

to setupca

create-pacman 1ask pacman[pacman-setup]ask pacman[set color red]

create-aliens 1ask aliens[aliens-setup]ask aliens[set color green]

set ykom 0set ykom1 1set ykom2 -1

set ykoo max-pycor - 3set ykoo1 max-pycor - 4set ykoo2 max-pycor - 5

set ykou min-pycor + 3set ykou1 min-pycor + 4set ykou2 min-pycor + 5

set xkom min-pxcor + 4set xkoo min-pxcor + 4set xkou min-pxcor + 4

set ykol max-pycor - 4set ykor max-pycor - 4

set xkol min-pxcor + 4set xkol1 min-pxcor + 5set xkol2 min-pxcor + 6

set xkor max-pxcor - 4set xkor1 max-pxcor - 5set xkor2 max-pxcor - 6

end

Page 151: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

to patch_faerben_obenif xkoo > max-pxcor - 4 [stop]ask (patch xkoo ykoo) [ set pcolor 28 ]ask (patch xkoo ykoo1) [set pcolor 28]ask (patch xkoo ykoo2) [set pcolor 28]set xkoo xkoo + 1end

Das Labyrinth

to patch_faerben_untenif xkou > max-pxcor - 4 [stop]ask (patch xkou ykou) [ set pcolor 28 ]ask (patch xkou ykou1) [set pcolor 28]ask (patch xkou ykou2) [set pcolor 28]set xkou xkou + 1end

to patch_faerben_mitteif xkom > max-pxcor - 4 [stop]ask (patch xkom ykom) [ set pcolor 28 ]ask (patch xkom ykom1) [set pcolor 28]ask (patch xkom ykom2) [set pcolor 28]set xkom xkom + 1end

Page 152: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Das Labyrinth

Page 153: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

Das Labyrinth

to patch_faerben_linksif ykol < min-pycor + 4 [stop]ask (patch xkol ykol) [ set pcolor 28 ]ask (patch xkol1 ykol) [set pcolor 28]ask (patch xkol2 ykol) [set pcolor 28]set ykol ykol - 1end

to patch_faerben_rechtsif ykor < min-pycor + 4 [stop]ask (patch xkor ykor) [ set pcolor 28 ]ask (patch xkor1 ykor) [set pcolor 28]ask (patch xkor2 ykor) [set pcolor 28]set ykor ykor - 1end

Page 154: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

to go-alienask aliens[fd 0.04]if pcolor-of (patch-ahead 1) = black [set zufallszahl random 2ifelse zufallszahl = 1 [ask aliens[rt 90]][ask aliens[lt 90]]]end

Page 155: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Pac-Man – einfache Version

to unten locals[tempPatch-ahead farbe] ask pacman[fd 0.03 set heading 180 set tempPatch-ahead patch-ahead 1] if pcolor-of (tempPatch-ahead) = black [ask pacman[bk 0.03] stop] ask pacman[ask patch-ahead 0.05 [ask aliens-here[ set farbe color]]] if (farbe = green) [ask aliens [die]] end

Trifft der Pacman auf einen Alien, so verschwindet dieses. In der Prozedur wird abgefragt, ob auf dem Patch ein Alien vorhanden ist. Dann wird der Variablen color die Farbe des Aliens zugewiesen. Ist diese Farbe grün, so stirbt das Alien (die). Dies muss in alle Bewegungen eingebunden werden

Page 156: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Aufgabe Differenzierungskurs 10 InformatikKurslehrer H. Sporenberg1.Aufgabe: Wator ist der Name für eine diskrete Simulation für die Modellierung eines einfachen Räuber-Beute-Modells. Es wurde gemeinsam von A.Dewdney und D.Wiseman entworfen und 1984 in der Dezemberausgabe Scientific American veröffentlicht.EinführungSimuliert wird ein abgeschlossenes System, ein hypothetischer Planet, den Dewdney Wa-Tor (abgeleitet von Water-Torus) nannte. Die Torus-Form des Planeten wurde von Dewdney lediglich aus praktischen Gründen gewählt. Die Oberfläche dieses Planeten ist komplett von Wasser bedeckt, in dem nur zwei Spezies Haie und Fische existieren. Das Modell simuliert die Nahrungskette auf Wa-Tor. Die Fische ernähren sich von Plankton, das in unendlichen Mengen zur Verfügung steht. Die Haie hingegen fressen ausschliesslich Fische und sind auf diese Nahrung zum Überleben angewiesen.SpielflächeDas Spielfeld ist in Zeilen und Spalten unterteilt. Dabei sind alle gegenüberliegenden Seiten verbunden. Jede Zelle des Spielfeldes kann drei Zustände annehmen.(1)mit einem Hai belegt(2)mit einem Fisch belegt(3)kann leer sein.Jedem der drei Zustände wird eine Farbe zugewiesen. Vorschlag: Wasser – schwarz; Fische – grün; Haie – blau. Zu Beginn der Simulation wird eine zufällige Anfangspopulation auf dem Spielfeld platziert.

Page 157: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

AufgabeSpielregelnJede der beiden Spezies verhält sich nach eindeutig festgelegten Regeln. Ein Individuum, das sich nach oben aus dem Spielfeld bewegt, wird auf der Un-terseite wieder eintreten und umgekehrt. Das gleiche gilt für die horizontale Richtung.

Regeln für die Fische(F1) Jeder Fisch schwimmt zufällig auf eines der vier angrenzenden Felder, sofern es leer ist.(F2) Jeder Fisch hat ein Alter; überschreitet dieses Alter die sog. Breed Time, so wird auf einem leeren, angrenzenden Feld ein neuer Fisch geboren.

Regeln für Haie(H1) Haie fressen Fische auf angrenzenden Feldern.(H2) Findet ein Hai keinen Fisch auf einem angrenzenden Feld, so schwimmt er zufällig auf eines der vier Felder.

Page 158: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

AufgabeFür die Vermehrung der Haie gibt es zwei unterschiedliche

Implementierungen:

1.Implementation

(I) Findet ein Hai für eine bestimmte Anzahl Zyklen, der Starve Time, keinen Fisch, so stirbt der Hai

(II) Haie pflanzen sich genau so fort wie Fische, d.h. nach der Breed Time wird ein neuer Hai auf einem Nachbarfeld geboren.

Page 159: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Aufgabe

2.Implementation

(I) Für jeden Zyklus, während dem der Hai keinen Fisch findet, verliert er einen Energiepunkt.(II) Findet der Hai einen Fisch, wird seine Energie um den Energiewert eines Fisches erhöht.(III) Übersteigt die Energie den Wert für die Erzeugung eines Nachkommen (Breed Energy), so wird ein neuer Hai auf einem angrenzenden freien Feld geboren. Die vorhandene Energie wird gleichmäßig zwischen altem und neuem Hai aufgeteilt.

Page 160: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

AufgabeDie Simulation hängt von 5 verschiedenen Parametern ab:Der Anzahl der Fische zu Beginn,der Anzahl der Haie zu Beginn,der Fish Bred Time, der Shark Breed Time undder Shark Starve Time.Bei der zweiten Implementierung wird die Shark Breed Time durch die Shark Start Energy (Energiepunkte des Hais zu Beginn), die Shark Breed Energy (Energie, die benötigt wird, um einen Nachkommen zu erzeugen) und der Fish Energy (Energiewert eines Fisches) ersetzt.

Die eigentlichen AufgabenImplementiere beide Fälle der Haifischvermehrung in NETLOGO.Für die Ausgabe muss neben selbstgewählten Monitoren eine graphische Darstellung für die Anzahl der Fische und Haie in einer gemeinsamen Graphik vorhanden sein.Dokumentiere das Programm und erläutere ausführlich die einzelnen benötigten Prozeduren. Hardcopies für wichtige Simulationsbeispiele müssen angegeben werden.Folgende Simulationsverläufe müssen neben den interessanten selbstgewählten Beispielen mit Angabe der Parameter und Graphik vorhanden sein:(1) Die Haie können aussterben und den Fischen freien Lauf lassen.(2) Die Fische können aussterben, was ein Aussterben der Haie nach sich ziehen wird.(3) Es kann eine Art Gleichgewicht entstehen, in dem sich die Populationen gegenseitig begrenzen.Erläutere auch das Räuber-Beute-Modell und dessen Bedeutung für die Simulation.

Page 161: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Aufgabe

Lösung

Page 162: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Aufgabe – Langtons Ameisen

2.ArbeitDifferenzierung 10 Informatik Sporenberg 1.Aufgabe: Man kann sich auch abweichende Regeln zum klassischen Game of Life vorstellen. Das folgende Regelwerk definiert beispielsweise ein sich reproduzierendes System:Todes-Regel: Eine Zelle mit genau 0,2,4,6 oder Nachbarn stirbt.Geburts-Regel: 1,3,5 oder 7 lebende Nachbarn erzeugen (der erhalten) eine lebende Zelle.Um sich beim Vergleich verschiedener Regelwerke eine umständliche Umschreibung der Regeln zu ersparen, existiert eine Kurzschreibweise für die Regeln von Game of Life: Man zählt zunächst die Anzahl von Nachbarn auf, bei der eine Zelle nicht stirbt, und anschließend, durch einen Schrägstrich abgetrennt, die Anzahl der Nachbarn, bei der eine Zelle geboren wird.Die klassische Conway-Welt wird also durch 23/3 beschrieben.Realisiere die 35/3 Welt in Netlogo.

Page 163: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Aufgabe – Langtons Ameisen

2.ArbeitDifferenzierung 10 Informatik Sporenberg Noch 1.Aufgabe:

Figur 1 Figur 2 Figur 3 Figur 4

                             

                             

                             

                             

             

Untersuche mit diesem Programm die oben angeführten Figuren. Dokumentiere dein Programm und erläutere die wichtigen Prozeduren.

Page 164: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Regel

2.Aufgabe: Realisiere mit Hilfe der Programmierumgebung Netlogo folgende Regel der eindimensionalen zellularen Automaten:

Dokumentiere die wichtigen Prozeduren und erläutere anhand der verschiedenen Ausgangssituationen, wie die Zahl für die Regel berechnet wird. Gib auch eine Hardcopy der Graphik an.

3.Aufgabe: Realisiere mit Hilfe der Programmierumgebung Netlogo folgende Regel der eindimensionalen zellularen Automaten:

Code

Dokumentiere die wichtigen Prozeduren und erläutere anhand der verschiedenen Ausgangssituationen, wie die Zahl für die Regel berechnet wird. Gib auch eine Hardcopy der Graphik an.

Aufgabe – Langtons Ameisen

Page 165: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

4.Aufgabe: Langton-AmeisenDie Langton-Ameisen Langton-Ameisen sind (unsichtbare) Wesen, die sich auf einem quadratischen Gitter aus weißen oder schwarzen Feldern bewegen. Treffen sie auf ein weißesFeld, färben sie dieses schwarz. Treffen sie auf ein weißes Feld, färben sie es weiß.

Bewegungsregeln:1.Wenn die Ameise auf einem schwarzen Feld ist, dreht sie sich um 90o nach rechts und bewegt sich ein Feld vorwärts (wenn das dann betretene Feld weiß ist, wird es schwarz gefärbt; wenn es schwarz ist, wird es weiß gefärbt)2. Wenn die Ameise auf einem weißen Feld ist, dreht sie sich um 90o nach links und bewegt sich ein Feld vorwärts (wenn das dann betretene Feld weiß ist, wird es schwarz gefärbt; wenn es schwarz ist, wird es weiß gefärbt)

Erstelle ein Simulationsprogramm in Netlogo, das diese Regeln beinhaltet. Zusätzlich zu den Regeln, muss die Möglichkeit über einen Button bestehen, einen mit der Maus angeklickter Patch schwarz zu färben. Dazu soll über einen Monitor die Anzahl der Bewegungen gezählt werden. Dokumentiere die einzelnen Prozeduren und erläutere die Wirkungsweise ausführlich.

Aufgabe – Langtons Ameisen

Page 166: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

4.Aufgabe: Langton-AmeisenFolgende Simulationen sind durchzuführen und zu dokumentieren. Zusätzlich sind Hardcopies der jeweiligen Bildschirme zu machen, um die Anordnung sichtbar zu machen.1. Ameise im weißen Feld

Der einfachste Fall ist die Bewegung einer Ameise in einem quadratischen Gitter mit nur weißen Feldern. Hier sind die ersten zehn Schritte einer Ameise.(0) Die an sich unsichtbare Ameise sitzt in einem Feld und bewegt sich zum Beispiel nach Norden.  (1) Sie findet das nächste Feld weiß vor, färbt es schwarz und dreht sich in Pfeilrichtung. Das ist die Richtung nach links entgegen dem Uhrzeigersinn. (2) Sie erreicht das nächste Feld, färbt es schwarz und dreht sich in Pfeilrichtung. (3) (4) Weiter entsteht in den nächsten beiden Schritten ein schwarzes 2x2-Quadrat. (5) Die Ameise erreicht im fünften Schritt das schwarze Feld, das sie in Schritt 1 gefärbt hatte. Sie färbt es weiß und bewegt sich jetzt aber nach rechts in Richtung des Uhrzeigersinns.Dokumentiere die Anordnungen nach 1000, 5000 , 10000 und 15000 Schritten.

Aufgabe – Langtons Ameisen

Page 167: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

4.Aufgabe: Langton-Ameisen

2. Nach dem Start des Programms wird eine Ameise automatisch von einer zufällig gewählten Stelle aus in Bewegung gesetzt. Setzt man eine Ameise mit einem Mausklick in die Mitte des Bildschirms, so muss man sich darüber im Klaren sein, dass die Ameise dann schon einen Schritt durchgeführt hat. Sie hat ein Feld geschwärzt.

Sie konnte aus vier Himmelsrichtungen kommen: 0-West bedeutet, dass sich die Ameise nach dem Start in Richtung Westen bewegt, entsprechend gilt dies für 1-North usw. Dokumentiere die vier verschiedenen Möglichkeiten mit 1000, 5000 und 12000 Schritten.

Aufgabe – Langtons Ameisen

Page 168: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

4.Aufgabe: Langton-Ameisen

3. Futter für die Ameise Man gibt als Variation keine weiße Ebene wie oben vor, sondern in ihr ein schwarzes Feld. Es kann als "Futter" bezeichnet werden. Im Folgenden wird untersucht, was passiert, wenn die Ameise ein Feld links des schwarzen Feldes auch schwarz färbt. Es gibt vier Fälle, da die Ameise aus vier Richtungen kommen kann. 

a) Dokumentiere die vier verschiedenen Möglichkeiten mit 100, 1000 und 10000 Schritten.b) Die Nahrungsquelle sei ein Quadrat mit der Seitenlänge 25 als Futter. Eine1-North-Ameise färbt im ersten Schritt die obere linke Ecke (hier rot) und setzt sich dann in Bewegung. Dokumentiere die vier verschiedenen Möglichkeiten mit 1000, 5000 und 12000 Schritten

Aufgabe – Langtons Ameisen

Page 169: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

4.Aufgabe: Langton-Ameisen

4. Zwei Ameisen. Was passiert, wenn zwei Ameisen gleichzeitig in derselben Ebene starten? Der einfachste Fall ist, wenn die beiden Ameisen in einer weißen Ebene im ersten Schritt zwei nebeneinanderliegende Felder schwärzen. Jede der beiden Ameisen kann sich in die vier Himmelsrichtungen 0-West, 1-North, 2-East und 3-South bewegen. Es gibt 16 Fälle.  Die Paare werden durch 00, 10, ... , 23, 33 gekennzeichnet. Untersuche 4 verschiedene Kombinationen mit der Darstellung der Anordnung nach 1000, 5000 und 12000 Durchgängen.

Aufgabe – Langtons Ameisen

Page 170: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Texte Aufgaben der Modellbildung und Simulation

1.Warum Modellbildung und Simulation?

Modelle und Simulationen jeder Art sind Hilfsmittel zum Umgang mit der Realität; sie sind so alt wie die Menschheit selber. Menschen haben von jeher in Denkmodellen Pläne gemacht, durchdacht, mitgeteilt, diskutiert, verändert, in die Tat umgesetzt oder verworfen. Bauwerke, Boote, Maschinen wurden bereits vor Tausenden von Jahren zunächst als kleine Modelle gebaut und geprüft, bevor sie im großen Maßstab erstellt wurden. Die Spielwelt der Kinder simulierte schon immer die Welt der Erwachsenen - meist unter Verwendung von Modellen ihrer Menschen, Tiere, Gegenstände und Fahrzeuge. Die Modellwelten der Sagen, Märchen und Religionen gestatteten teilweise sogar erfahrungsprägende Simulationen.Indem Wissenschaft und Forschung sich bemühen, verallgemeinerbare Prinzipien und Prozesse in der Realität zu identifizieren, erstellen sie Modelle, die wiederum der angewandten Forschung und Technik zur Untersuchung und Simulation neuer Möglichkeiten dienen.Modelle reichen von der verkleinerten realistischen Darstellung des Originals über die Schnittzeichnung bis zum Funktionsdiagramm; sie können aus Analogien bestehen, in mathematischen Formeln oder Computerprogrammen ausgedrückt sein und dann auch die Simulation dynamischen Verhaltens erlauben; sie können es als vorstrukturierte Planspiele ermöglichen, einen neuen Verhaltensbereich zu erfahren.Die Elektronik gestattete es erstmals, unter Ausnutzung physikalischer Analogien zwischen elektronischen Schaltkreisen und mechanischen Schwingungssystemen komplexe dynamische Systeme wie etwa Flugzeuge und Fahrzeuge durch äquivalente Systeme elektronischer Bauteile darzustellen und damit ihr Verhalten am Analogcomputer zu simulieren, ohne das System überhaupt erst bauen und in der Realität erproben zu müssen. Simulatoren der gleichen Art wurden eingesetzt, um Bedienungspersonal (z.B. Piloten) gefahrlos im Umgang mit komplexen technischen Gerät zu schulen - lange bevor das erste Stück die Produktion verließ.

Page 171: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Texte Aufgaben der Modellbildung und Simulation

Die Tatsache, dass Computer schnell und genau jede mathematische oder logische Formulierung in beliebiger Kombination abarbeiten können, erweiterte die Möglichkeit der Modellbildung und Simulation auf alles, was sich formalisieren und damit rechenfähig darstellen lässt. Damit sind fast in allen Bereichen menschlicher Erfahrung neue Möglichkeiten entstanden, um bisher kaum überschaubar komplexe dynamische Entwicklungen auch modellhaft darzustellen, zu simulieren, besser zu verstehen und besser mit ihnen umzugehen als bisher.Jüngste technische Entwicklungen zeigen, dass - wie bereits im realitätstreuen Simulator eines Flugzeuges - Computersimulationen in Zukunft an vielen Stellen den Menschen als mitagierendes System sehr viel mehr einbeziehen werden als bisher. Über Bildschirmhelmen und elektronische Handschuhe wird er die Möglichkeit bekommen, in einer simulierten Scheinwelt greifbare Erfahrungen zu sammeln - in einer Welt, die schließlich nur in den Bit-Zuständen einiger weniger Computerchips besteht. Eine Aufgabe wird es sein, das in vielen Wissensbereichen angewandte Verfahren der Modellbildung und Simulation dynamischer Systeme darzustellen. Es zeigt sich nämlich, dass man es hier mit einem einheitlichen Ansatz zu haben, der sich nicht nach Fachdisziplinen unterscheidet; gleich, ob es sich um Anwendungen in Elektrotechnik, Maschinenbau, Land- und Forstwirtschaft, Ökologie, Umweltforschung, Betriebswirtschaft oder Regionalplanung handelt.

Page 172: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Texte Aufgaben der Modellbildung und Simulation

2. Warum interessiert das Verhalten dynamischer Systeme?Zu wissen, was geschehen wird oder geschehen könnte, kann unter Umständen eine Bedeutung haben, die über Neugierbefriedigung wesentlich hinausgeht und buchstäblich zwischen Leben und Tod unterscheidet. Zu wissen, wie sich dynamische Systeme unter gewissen Umständen verhalten werden, ist auch selbst bei einfachen Systemen oft sehr schwierig. Oft genug hängt das Leben von Individuen, die zukünftige Entwicklung einer Region oder gar die globale Zukunft ab von der Entwicklung dynamischer Systeme, die man nicht ausreichend kennt, deren Verhalten man nicht genug versteht. Die Beispiele reichen von Bauwerken, Flugzeugen, Fahrzeugen, sozialen Prozessen, Stadtentwicklungen, Bevölkerungsexplosion, Kriegen, Umweltbelastungen bis hin zu globalen Klimaveränderungen. In allen diesen Fällen stellt sich die Aufgabe, mit vertretbarem Aufwand zu relativ sicheren Verhaltensaussagen zu kommen. Man sucht also nach entsprechenden Modellen, die Verhalten beschreiben und möglichst auch Hinweise auf notwendige Änderungen oder Einwirkungen geben können, um unzulässige oder gar gefährliche Entwicklungen zu vermeiden.Es soll an dieser Stelle angemerkt werden, dass eine Verhaltenssimulation prinzipiell auf zwei verschiedene Weisen erreicht werden kann:Zum ersten ist denkbar, durch Beobachtungen des Verhaltens eines oder vieler gleichartiger Systeme zu einer umfassenden Verhaltensbeschreibungen zu gelangen, die auch für zukünftiges Verhalten in einem relativ breiten Bereich zutrifft. In diesem Falle wäre es nicht nötig, das System selbst in allen seinen Einzelheiten und Funktionen zu kennen; es kann als black box behandelt werden.

Page 173: Einführung Internetseite zum Download von NetLogo:  Zur Zeit ist die Version 4.1 aktuell (Stand: 01.02.2010). Größe:

Texte Aufgaben der Modellbildung und Simulation

Eine zweite prinzipielle Möglichkeit zu Verhaltensaussagen zu gelangen, ergibt sich durch ein Nachbilden der Wirkungsweise des realen Systems, d.h. durch Untersuchungen des Verhaltens eines Modells, das die wesentlichen Wirkungsstrukturen des Realsystems abbildet. In diesem Falle muss sehr viel über das System selbst bekannt sein; sein Verhalten in der Vergangenheit ist daher nur von sekundärem Interesse.Die Darstellung von Verhalten durch Computersimulationsmodelle hat inzwischen fast alle anderen Darstellungsmöglichkeiten, die früher einmal eine Rolle spielten (wie hydraulische, elektrische, mechanische Analogien) abgelöst. Die Gründe liegen auf der Hand:Es kann - völlig unabhängig von der Art des betrachteten Systems - mit einer einheitlichen Methodologie und vielseitig verwendbaren Software-Programmen gearbeitet werden.Die Kosten der Modellerstellung und Simulation sind im Allgemeinen nur ein Bruchteil dessen, was bei ähnlich umfassender Untersuchung mit realen oder analogen physikalischen Modellen aufzuwenden wäre.Der zeitliche Ablauf des dynamischen Verhaltens kann erheblich gerafft und verkürzt - bei der in der Natur sehr schnell ablaufenden Vorgängen - auch, falls notwendig, erheblich gedehnt werden, so dass genaue Beobachtungen möglich werden.Eine Dynamik, die zur Systemzerstörung führen würde, hinterlässt im Computer überhaupt keine Konsequenzen: Das Simulationsprogramm kann nach wie vor weiterverwendet werden. Damit wird auch und gerade eine umfangreiche Untersuchung gefährlicher Systementwicklungen möglich.Das reale System wird keinerlei Risiko unterzogen. Messungen oder Eingriffe am realen System sind nicht notwendig.