Laboratorium
für räumliche Prozesse
|
Für
die Untersuchungen wurde die Entwicklungsplattform Delphi 2005 verwendet.
Download: Kostenlose
Borland Delphi 2005 Personal-Edition oder Trial
Version
Die Programme stehen als ausführbare exe-Dateien zur
Verfügung. Der Delphi Quellcode findet sich jeweils unter 'Source'
als zip-Datei.
Sollte die Darstellung der Schriften und Anzeigefelder der Programme
verzerrt oder verrutscht sein, liegt dass an den Einstellungen der
Windowsschriftgröße
(DPI) sowie des Schriftgrades. |
|
Der aktuelle Stand zu den hier dargestellten Projekten findet sich hier: link.
|
44_SettlementLandUse
- 060811
|
LandUse
Pattern 01 -------------------------------------------------------------
(page anchor:
#landUseP_01)
Settlement and land use pattern combined with interaction patterns.
Eine detailiertere Beschreibung folgt...
|
42_InteractionPattern
/ Source - 060611
|
Interaction
Pattern 01 -----------------------------------------------------------
(page anchor:
#interactP_01)
Update
1.1 Probabilistic Interaction & Manhattan Landscape
Zu beginn des Prozesses befinden sich
alle Agenten auf dem Ursprungsort in der Mitte des noch völlig
unerkundeten Zellenfeldes {Tm(0) = 0}.
Die Erkundung des Feldes erfolg am Anfang durch zufälliges
Umherwandern der Agenten, bis erste Zielorte gefunden werden. Die
zum Ursprungsort zurückkehrenden Agenten markieren ihren Weg
und künftige Agenten folgen wiederum der intensivsten Markierung,
wenn sie in die Nähe der markierten Zellen kommen. Im Verlauf
der Zeit entstehen so stark markierte Pfade zu den verschiedenen
Zielorten und die Agenten "lernen" in gewisser Weise,
wo sich die Zielorte befinden, indem sie indirekt über die
Landscape miteinander kommunizieren. Dadurch verkürzt sich
die Zeit zum Auffinden eines Zielortes und es bewegen sich immer
mehr Agenten auf den stark markierten Pfaden. Lediglich die zufälligen
Fehlerwerte sorgen dafür, dass einige Agenten weiterhin die
gesamte Landscape absuchen. Für ihren Rückweg zum Ursprungsort
werden dessen Koordinaten von den Agenten im Gedächtnis behalten,
so dass sie den Weg dorthin immer wiederfinden können.
Siehe Batty: 'Cities
and Complexity' (Kapietel 5)
|
41_MultiWalker
/ Source - 060605
|
Multi
Walker -----------------------------------------------------------------------------
(page anchor: #activeW2)
Das Programm ergänzt das ursprüngliche
Active Walker Modell (AWM) um eine Diffusionsfunktion, einen
Störwert für die Bewegung des Walkers (Noise) entlang
des Gradienten und der Möglichkeit, mehrere Walker (Multi-Agents-System)
gleichzeitig mit der Landscape interagieren zu lassen.
Dazu wird die „Stepping Rule“ um einen Noise-Wert ergänzt,
mittels welchem die Geradlinigkeit der Agentenpfade aufgelockert
werden kann
.
Die „Landscape Rule” wird um eine Diffusionsfunktion
erweitert
,
dabei ist
die Diffusionskonstante. Der Diffusionsterm
wird für das Modell folgendermaßen operationalisiert:
bezeichnet
die Moore Nachbarschaft und
die Stärke des Diffusionseffektes (Programmparameter: „diffusion
strength“).
Die Diffusionsfunktion sorgt dafür, dass sich die Erreichbarkeitswerte
Pi(t) über das Feld verteilen. Bei anfänglich
relativ kleinen Werten Pi(t) hat die Diffusion
nur eine geringe Auswirkung auf die Landscape. Im Verlauf der Prozesses
wird der Diffusions-Summand
() der
„Landscape Rule“ mit steigenden Werten Pi(t)
immer größer und die Wirkung des Distanz-Summanden ()
nimmt relativ dazu ab.
Sobald der Diffusions-Summand wesentlich größer ist als
der Distanz-Summand, verändern sich die Hoch- und Tiefbereiche
der Erreichbarkeitswerte Pi(t) der Landscape
nicht mehr. Dies hat zur Folge, dass sich die Walker zu einzelnen
Clustern zusammen finden. Die Dauer der Veränderungsfähigkeit
der Landscape hängt wesentlich von den Parametern
(„diffusion strength“) und
(„distance scaling“) ab.
Siehe Batty: 'Cities
and Complexity' (Kapietel 5)
|
40_ActiveWalker
/ Source - 060604
|
Active
Walker ---------------------------------------------------------------------------
(page anchor: #activeW1)
An dieser Stelle soll ein Modell vorgestellt werden, welches die
grundlegende Kopplung der beiden Komponenten „Agenten“
(Agents oder Walkers) und „Landschaft“ (Landscape) darstellt.
Diese Koppelung ist die Basis für viele der hier vorgestellten
Agenten basierten Modelle. Für eine Einführung bietet
sich das so genannte „Active Walker“ Modell aufgrund
seines relativ einfachen Aufbaus an. Dabei kann ein „Walker“
während seiner Bewegung die „Landscape“ verändern,
wird aber gleichzeitig durch die sich verändernde „Landscape“
beeinflusst. Die Art, wie ein „Walker“ die „Landscape“
verändert, geschieht anhand der „Landscape Rule“,
einer Prozedur, welche in Abhängigkeit der Position eines „Walkers“
den Wert jedes Punktes der „Landscape“ verändern
kann. Die Art, wie ein „Walker“ auf die „Landscape“
reagiert wird mittels der „Stepping Rule“ angegeben,
welche die Bewegung des „Walkers“ anhand der lokalen
Bedingungen der „Landscape“ steuert. Im Modell wird
die „Landscape“ anhand eines Zellulären Feldes
repräsentiert.
Das vorliegende Beispiel illustriert den Prozess, indem ein „Walker“
sich über die „Landschaft“ bewegt, die wir im Folgenden
als eine Art Erreichbarkeitsfläche betrachten, welche als Funktion
der Position des „Walkers“ bei jedem Schritt neu berechnet
wird. Der „Walker“ bewegt sich über die Fläche,
in der Absicht die am schlechtesten erreichbaren Orte zu erkunden.
Er geht stets in die Richtung mit dem niedrigstem Erreichbarkeitswert
Pi(t) in seiner unmittelbaren Umgebung
(Moore Nachbarschaft):
(„Stepping
Rule“)
Am ist die Position des „Walkers“
und
gibt den Gradienten der Erreichbarkeitsfläche an, welche durch
die Gleichung
(„Landscape
Rule“)
berechnet wird. Dabei gibt
die Skalierungskonstante an und dij(t)
ist der Abstand von einer Zelle i zu dem „Walker“,
der sich zum Zeitpunkt t auf der Position j befindet.
Die Natur der „Landscape“ bedingt, dass der „Walker“
nie an dem Ort der geringsten Erreichbarkeit ankommt. Es scheint,
als ob die „Landscape“ sich ständig in einem Sinn
verändert, der den „Walker“ vom Erreichen seines
Ziels abzuhalten versucht.
Siehe Batty: 'Cities
and Complexity' (Kapietel 5)
|
39_evoNet
/ Source - 060425
|
Evolutionary
Network --------------------------------------------------------------
(page anchor: #evoNet01)
Ausgehend von dem Modell „Path
System 02“, soll hier untersucht werden, welche Einstellungen
für „angle threshold“ und „wiggle threshold“
am effektivsten sind. Die Effizienz wird dadurch gemessen, wie oft
ein Agent einen Weg von seiner „Home Cell“ zu der „Center
Cell“ und wieder zurück findet. Jeder Agent ist mit einer
begrenzten Energiereserve ausgestattet, die sich durch die Bewegung
über das Zellenfeld allmählich erschöpft, wobei die
Benutzung von Strassen (markierte Zellen) weniger Energie erfordert
als die Bewegung über freies Feld (leere Zellen). Ist der Energievorrat
verbraucht, wird der Agent mit den „gekreuzten" Einstellungen
der effektivsten Agenten seiner „Familie" (= gleiche
Home Cell) „wiedergeboren".
Es ergibt sich eine komplexe Wechselwirkung zwischen der durch die
Agenten generierten Wegestruktur und den von dieser Struktur abhängigen
optimalen Bewegungsparameter der Agenten.
Die Parameter „angle threshold“ und „wiggle threshold“
werden mittels eines Genetischen
Algorithmus optimiert. Die oben erwähnte Effizienz entspricht
dabei der so genannten „Fitness-Function“. Die Mutationsrate
(mutation rate) kann das System aus einem lokalen Optimum „herausschubsen“
indem einzelte Parameter zufällig verändert werden.
Abhängig von den zufällig gesetzten Anfangswerten für
die Position und Ausrichtung der Agenten ergibt sich ein Wegesystem,
dessen Vernetzung durch die Optimierung der Verwendung der zur Verfügung
stehenden (Energie)Ressourcen begründet ist. In der Abbildung
rechts sind sechs verschiedenen Strukturen zu sehen, die sich nach
50000 Timesteps eingestellt haben, wobei die Position der Home und
Center Cells immer die gleiche ist. Bei den einzelnen Durchläufen
haben sich jeweils andere Parametereinstellungen für „angle
threshold“ und „wiggle threshold“ ergeben. Dennoch
wiederholen sich bei manchen Abbildungen einige Strukturelemente
der unterschiedlichen Wegesysteme.
Siehe: Schweitzer, F. [2003]: "Brownian
Agents and Active Particles. Collective Dynamics in the Natural
and Social Sciences" Berlin Heidelberg, Springer Verlag.
|
38_path_system_02
/ Source - 060419
|
Path
System 02 ---------------------------------------------------------------------------
(page anchor: #path02)
Ausgehend von dem Modell „Path
System_01“ werden hier zehn zufällig verteilte Ausgangsorte
(Home Cells - rot) für die Agenten und ein Zentraler Ort (Center
Cells - grün) in der Mitte des Feldes definiert. Die Agenten
werden anfangs gleichmäßig auf die „Home Cells“
verteilt.
Solange die Agenten noch keine „Center Cell“ (oder eine
Wegemarkierung) entdeckt haben, bewegen sie sich in einem „Random
Walk“ über das Feld. Sobald sich ein Agent auf einer
„Center Cell“ befindet, wechselt er seinen inneren Zustand
und versucht möglichst schnell und kostengünstig zu seiner
„Home Cell“ zurück zu gelangen. Bei seinem Rückweg
hinterlässt der Agent eine Markierung bei den Zellen, welche
er überquert. Nachfolgende Agenten versuchen nun diesen Markierungen
auf ihrem Heimweg zu folgen (Kostenersparnis). Die Markierungen
werden ebenfalls von den Agenten benutzt, die noch (oder wieder)
nach der „Center Cell“ suchen.
Der „Pathfinding“ Algorithmus für die Bestimmung
der jeweiligen Bewegungsrichtung eines Agenten bei seinem Heimweg
wird dadurch ergänzt, dass vor dem „Hill Climbing“
die Ausrichtung (Heading H) des Agenten auf seine „Home Cell“
gerichtet wird, deren Koordinaten er gespeichert hat und diese mit
seiner aktuellen Position vergleichen kann.
Es ergibt sich eine Vernetzung der „Home Cells“ und
der „Center Cells“, wobei die „Home Cells“
oft untereinander mit direkten Wegen verbunden sind, aber nicht
immer eine direkte Verbindung zu dem Zentralen Ort aufweisen.
Nach anfänglichen Schwankungen stellt sich eine relativ stabile
Wegestruktur ein, welche sich über längere Zeiträume
hinweg nur geringfügig verändert und gegen Störungen
(Mausinteraktion) verhältnismäßig unempfindlich
ist. Die Abbildung links zeigt (von l.o. nach r.u.) ein Wegesystem
bei den Timesteps 2, 200, 1.000, 4.000, 10.000, 20.000.
Bei den voreingestellten Parametern ergibt sich bei verschiedenen
Veiteilungen der „Home Cells“ meist eine Anzahl von
ca. 400 Zellen, die für ein stabiles Wegesystem erforderlich
sind (siehe Graph bei hohem „visibility threshold).
Siehe: Schweitzer, F. [2003]: "Brownian
Agents and Active Particles. Collective Dynamics in the Natural
and Social Sciences" Berlin Heidelberg, Springer Verlag.
|
37_slimeMold
/ Source - 060415
|
Slime
Mold -----------------------------------------------------------------------------
(page anchor: #SlimeMold)
Für dieses Modell wurde das Programm „Path
System 01“ erweitert, indem die Markierungswerte der Zellen
diffundiert werden. Die Diffusion erfolgt ähnlich wie bei dem
Modell „Growth and Moore
Neighborhood“:
Dabei wird der jeweilige Wert P einer Zelle i gleichmäßig
auf die acht Nachbarzellen aufgeteilt.
bezeichnet
den Koeffizienten für den Verfall der Markierungswerte.
Bei den voreingestellten Werten kommt es nach kurzer Zeit zur Bildung
von Clustern, die sich langsam über das Feld bewegen und miteinander
verschmelzen bzw. sich wieder trennen können. Wird der Wert
für den „angle threshold“ verringert, lösen
sich die Cluster langsam auf. Entscheiden für die Bildung der
Cluster ist außerdem eine ausreichende Dichte an Agenten.
Per Maus lassen sich Markierungen hinzufügen (linke Maustaste),
sowie löschen (rechte Maustaste).
Siehe: Resnick, M. [1994]: "Turtles, Termites
and Traffic Jams: Explorations in Massively Parallel Microworlds."
Cambridge, Ma: MIT Press.
|
36_path
system_01 / Source - 060414
|
Path
System 01 ---------------------------------------------------------------------------
(page anchor: #path01)
Eine bestimmte Anzahl M beweglicher Agenten Am,
m = 1, 2, …, M, wird auf zufällige Positionen j innerhalb
des Zellenrasters verteilt:
Die Agenten bewegen sich zu Beginn in zufällig gewählten
Richtungen über das Zellenraster (random walk). Die Änderungswerte
des Bewegungsvektors (Heading H) schwanken dabei jeweils nach links
(-) und rechts (+) im Bereich des „angle threshold“
:
Der „wiggle angle“ gibt
die zufälligen Abweichungen des Bewegungsvektors von der jeweils
gewählten Richtung an. Die Distanz, welche ein Agent pro Zeitschritt
überwinden kann beträgt eine Zelle in der Moore-Nachbarschaft.
Beim überqueren einer Zelle hinterlassen die Agenten Markierungen,
vergleichbar mit den chemischen Pheromon-Spuren bei Ameisen. Befindet
sich im Verlauf des Random Walks eine oder mehrere markierte Zellen
in dem Sichtbereich (angle threshold) eines Agenten, folgt er dieser
Markierung. Für die Entscheidung, welcher Spur ein Agent folgen
soll, stehen zwei Verfahren zur Verfügung. Bei dem ersten,
dem so genannte 'Hill Climbing', folgt der Agent der stärksten
Markierung (der mit dem höchsten Wert). Das zweite Verfahren
wird als 'Roulette Wheel' bezeichnet und gewichtet die Wahrscheinlichkeit
bei der Auswahl einer Zelle entsprechend den Stärken der betrachteten
Markierungen. Im Verlauf der Zeit verfallen die Markierungen langsam
wieder.
Visuell werden die Markierungswerte der Zellen anhand der Grauwerte
dargestellt. Durch die Interaktion der Agenten mit den Zellen ergibt
sich ein sich selbst organisierendes Wegesystem.
Aufgrund des regelmäßigen Zellenrasters sind die relevanten
Werte für den „angle threshold“ 22,5 | 67,5 | 112,5
| 147,5. Bei dem unter- bzw. überschreiten dieser Werte fallen
jeweils zwei benachbarte Zellen aus dem Sichtfeld eines Agenten
heraus oder es kommen zwei Zellen dazu.
Per Maus lassen sich Markierungen hinzufügen (linke Maustaste),
sowie löschen (rechte Maustaste).
Siehe: Schweitzer, F. [2003]: "Brownian
Agents and Active Particles. Collective Dynamics in the Natural
and Social Sciences" Berlin Heidelberg, Springer Verlag.
|
35_segregation_04
/ Source - 060322
|
Skalenerträge
und Segregation ----------------------------------------
(page anchor: #Segregation04)
Hier werden die beiden Modelle 'Skalenerträge'
und 'Segregation und Zentrale
Orte' zusammengeführt. Dies ermöglicht eine Untersuchung
der Standortwahl eines Agenten unter den kombinierten Bedingungen
der Segregation und einer möglichst günstigen Lage bei
einem Markt. Die Qualität eines Ortes (Zelle) wird durch das
Einzugsgebiet eines Marktes definiert, welches mit den Angebotspreisen
der Märke zusammenhängt.
Die Kunden sind jetzt nicht mehr gleichmäßig Verteilt,
sonder können ihren Standort aufgrund mehrer Kriterien wählen.
Neben einer zentrumsnahen Lage ist ein weiteres Kriterium jenes
der ähnlichen Nachbarschaft, bzw. der Toleranz gegenüber
andersartigen Nachbarn. Insgesamt wirkt sich die Mobilität
der Kunden verstärkend auf die Monopolisierung aufgrund der
Skalenerträge aus.
|
34_Segregation_03
/ Source - 060321
|
Segregation
und Zentrale Orte ------------------------------------------
(page anchor: #Segregation03)
Dieses Programm erweitert das Modell 'Segregation
durch Ortsveränderung' um zentrale Orte (Märkte),
denen die Agenten möglichst nahe kommen wollen. Die Bedingungen
bleiben im Wesentlichen die gleichen wie bei dem ursprünglichen
Modell. Es wird lediglich ein zentraler Ort (oder mehrere Orte)
in Zelle m ergänzt. Die Regeln für den Segregationsprozess
werden folgendermaßen ergänzt:
Wenn der Abstand d von Zelle i zur zentralen Zelle
m größer ist als an dem verglichen Ort j,
dann wechsle den Standort von i nach j (vergleiche
hill climbing verfahren oder potential field).
Neben der Anforderung an eine Mindestzahl an Agenten des gleichen
Typs in der unmittelbaren Umgebung, entsteht unter den Agenten eine
Konkurrenz um den zentralsten Ort. Die Segregationsstruktur verdichtet
sich innerhalb eines Kreises um den zentralen Ort herum. Bei mehreren
zentralen Orten lagern sich ab einer bestimmten Toleranzgrenze nur
noch eine Sorte von Agenten (weiß oder schwarz) an einem Zentrum
an. Es erfolg demnach eine übergeordnete Segregation nach Zentren.
|
33_crystalGrowth
/ Source - 060313
|
Crystal
Growth ---------------------------------------------------------------------
(page anchor: #crystalGrowth)
Als vorläufiger Abschluss der Wachstumsmodelle bietet dieses
Modell die bisher umfangreichste Palette an erzeugbaren Formen.
Das zugrunde liegende Prinzip stellt eine Erweiterung des Snow
Flake Growth Modells dar. Initialisiert wird das System mit:
Für die Berechnung des Potential-Felds werden die verschiedenen
Nachbarschaftstypen unterschiedlich gewichtetet:
Das Feld wird mittels mehrer Iterationen T (iteration Steps) einem
Gleichgewicht angenähert:
ist die Diffusionskonstante und skaliert die Geschwindigkeit der
Diffusion. Entwickelt wird eine Zelle, sobald das Potential einen
gewissen Wert unterschreitet und die entsprechende Zelle zu einer
entwickelten Zelle benachbart ist. Das Potential kann als Temperatur
verstanden werden, bei deren unterschreiten eine Kristallisation
stattfindet:
U gibt den „undercooling threshold“ an. Dieser Wert
wird beeinflusst von einem Zufallsparameter
mit der Reichweite von -1 bis 1, dessen (noise) Amplitude durch
den Parameter
definiert wird. Der Parameter
bestimmt die Größe des Interface-Effekts und
stellt die Interfacekonstante dar. Die Gewichtung wk
der Moore Nachbarschaft ist hier:
Bei
= 1,5 wird ein Mittelwert aus den Nachbarschaftsgewichten gebildet.
Anhand des Parameters „pot. multi“ kann die Markierung
der Potentialwerte des Feldes eingestellt werden.
Für das Verhalten des Systems sollte hauptsächlich mit
den Parametern U (undercooling threshold),
(interface size) und
(noise amplitude) experimentiert werden. Dabei genügen minimale
Veränderungen der Werte um sichtbare Abweichungen bei der Entstehung
der Struktur zu bewirken.
Siehe Batty: 'Cities
and Complexity' (Kapietel 3)
|
32_snowFlake
/ Source - 060310
|
Snow
Flake Growth -----------------------------------------------------------------
(page anchor: #snowFlake)
Das Prinzip bei diesem Modell ist ähnlich wie bei Growth
in a Diffusion-Field. Zu beginn wird jede Zelle mit einem Grundpotential
initialisiert
und eine Zelle als "Samen" entwickelt:
Im Verlauf des Prozesses werden die Zellen nach jedem Schritt in
„receptive“
und „nonreceptive“
Zellen aufgeteilt.
Der Potentialwert P setzt sich aus den beiden Teilpotentialen zusammen:
Jeder Teil wird gesondert berechnet, wobei bei den „receptiven“
Zellen ein konstanter Wert addiert wird:
Bei den „nonreceptiven“ Zellen wird ein Durchschnittswert
aus den gewichteten Werten wk der benachbarten
Zellen gebildet. Die Gewichte sind dabei so verteilt, dass den direkten
Nachbarn ein höheres und den diagonalen ein geringeres Gewicht
zukommt:
Zusammengenommen ergeben die Gewichte aller Nachbarzellen 1 = 4*(1/6)
+ 4*(1/12).
Die Formel für das neue Teilpotential lautet nun:
Die Transtion Rule setzt jede Zelle mit einem Gesamtpotential Pi(t)
größer oder gleich 1 auf 'entwickelt' (Di(t)
= 1):
Die durch die Iteration des beschriebenen Prozesses entstehenden
Strukturen sind symmetrisch und gleichen Schneekristallen.
Siehe: Reiter C. Auxiliary materials
for: a local cellular model for snow crystal growth.
http://ww2.lafayette.edu/~reiterc/mvp/sfn/index.html.
|
31_diffuseGrowth
/ Source - 060305
|
Growth
in a Diffusion-Field --------------------------------------------------
(page anchor: #diffuseGrowth)
Das Wachstum findet bei diesem Modell innerhalb eines „Diffusionsfeldes“
statt, welches aus den Potentialwerten besteht, die bei jedem Schritt
ausgemittelt werden (siehe Spatial
Averaging).
Die Anfangsbedingungen für den Prozess werden folgendermaßen
festgelegt:
Die Erweiterung der Struktur findet schrittweise statt, wobei bei
jedem Schritt nur die Zelle 'entwickelt' wird, welche den höchsten
Potentialwert P aufweist und in der (von Neumann) Nachbarschaft
eine 'entwickelte' Zelle besitzt. Um die Symmetrie des Prozesses
zu brechen wird zu jedem Potentialwert P ein Zufallswert (Noise)
addiert. Die entsprechende ‘Transition Rule’ lautet
dann:
Das Potential Field wird nach jedem Schritt in einen relativen „Gleichgewichtszustand“
gebracht, indem das Feld mehrmals berechnet wird.
In einer bestimmten Entfernung R (Sphere of Influence) zum sich
entwickelnden Cluster werden die Potentialwerte P = 1 gesetzt. Dadurch
entwickelt sich das Wachstum der Struktur eher am Rand als in der
Mitte.
Durch die Variation der Parameter können unterschiedlich dichte
oder lineare Strukturen erzeugt werden.
Siehe Batty: 'Cities
and Complexity' (Kapietel 3)
|
30_potDevProb
/ Source - 060304
|
Growth
in a Potential-Field ---------------------------------------------------
(page anchor: #potDevProb)
Bei diesem Zellulären Automaten Modell findet Wachstum (Entwicklung
der Zellen) nur in Abhängigkeit des Potentials P einer Zelle
statt. Übersteigt das Potential P einen bestimmten Schwellenwert
,
kann die Zelle 'entwickelt' werden (D = 1)
siehe Grundmodelle Potential and Development
Zusätzlich definiert der Parameter p (Noise) den Wahrscheinlichkeitswert
der Entwicklung einer Zelle.
Das 'potential field' wird in jedem Schritt aktualisiert und der
Wert für P dort neu berechnet, wo eine Zelle in der (Moore)
Nachbarschaft 'entwickelt' ist. Der neue Wert für P bildet
den Durchschnitt aus den Umgebungswerten:
Initialisiert wird der Prozess, indem das Potential der Zelle in
der Feldmitte auf 1 gesetzt wird: Pc(0) =
1. Die sich ergebende Wachstumsstruktur ähnelt den Verästelungen
einer Koralle.
Siehe Batty: 'Cities
and Complexity' (Kapietel 3)
|
29_groupGrowth
/ Source - 060303
|
Wachstum
mit räumlicher Umorganisation --------------------------
(page anchor: #groupGrowth)
Hier wird ein Zellulärer Automat für 'Einfaches
Wachstum' mit dem Modell zur 'Segregation
durch Eigenschaftsanpassung' kombiniert. Innerhalb eines gegebenen
Radius r werden 'entwickelte' Zellen als Typ 1 markiert (grau) und
außerhalb als Typ 2 (weiß). Über den Parameter
"State ½ Probability in %" wird angegeben, wie
häufig die beiden Typen bei der 'Entwicklung' vertauscht werden.
Nach jedem Schritt wird der Segregationsalgorithmus auf das System
angewandt. Dabei entstehen einzelnen Inseln aus Zellen des einen
Typs innerhalb des Bereichs aus Zellen des anderen Typs.
Wird der Prozess mit 'activate aging' gestartet, so werden die Inseln
und Ausläufer mit jeder Entwicklungswelle kleiner und die ursprüngliche
Grenze bei r wird deutlich. Verringert man währenddessen den
"State ½ Probability in %"’ Wert unter 50,
so wechseln die Farben in einer Art 'Umstülpung' allmählich
die Bereiche.
Siehe Batty: 'Cities
and Complexity' (Kapietel 2)
|
28_probabCA
/ Source - 060302
|
Einfaches
Wachstum -----------------------------------------------------------
(page anchor: #probabGrowth)
Grundlage ist ein einfacher Zellulärer Automat (siehe Grundlagen
Zellulärer Automaten), bei dem eine Zelle 'entwickelt' (Zustand
D = 1) wird, wenn sich mindestens eine 'entwickelte' Zelle in der
(Moore) Nachbarschaft befindet (Beispielprogramm).
Der Prozess wird mit der mittleren Zelle initialisiert: Dc(0)
= 1. Die Transition Rule lautet dabei:
Dieser Prozess wird nun mit einem Wahrscheinlichkeitswert p für
die 'Entwicklung' einer Zelle kombiniert. Die Transition Rule wird
entsprechend mit einem random-Wert ergänzt, bei dessen Überschreiten
die Zelle 'entwickelt' wird:
Das 'Alter’ einer Zelle wird anhand des Grauwertes dargestellt.
Über die Einstellung der 'Lebensdauer’ einer Zelle kann
die Häufigkeit von Entwicklungswellen definiert werden.
Siehe Batty: 'Cities
and Complexity' (Kapietel 2)
|
27_Entropiemessung
/ Source - 060301
|
Entropiemessung
-----------------------------------------------------------------------
(page anchor: #Entropie)
Die Komplexität eines eindimensionaler Zellulärer Automat
(hier mit
D = 2, K = 3 und N = 202) lässt sich mittels des klassischen
Maßes der Shannon Entropie messen. Die Startkonfiguration
der ersten Zeile kann wahlweise entweder mit D101(0) = 1 (mittlere
Zelle) und bei allen anderen Zellen der Reihe gleich 0 gesetzt oder
mit einer zufälligen Konfiguration Di (0) = ei, bei ei = 0
oder 1 initialisiert werden.
Elementare Zelluläre Automaten erzeugen Muster mit einem veränderlichen
Grad an Zufälligkeit. In einer zufälligen Sequenz müssen
alle 2^X möglichen Untersequenzen mit der Länge X (Korrelationslänge)
mit gleicher Wahrscheinlichkeit auftreten (Chaos). Abweichungen
von einer rein zufälligen Sequenz implizieren ungleiche Wahrscheinlichkeiten
für verschiedene Untersequenzen und damit mögliche Ordnungsstrukturen.
Mit der Wahrscheinlichkeit pi,n für 2^X möglicher Sequenzen
von Zellzuständen in einem Muster (Abschnitt nebeneinander
liegender Zellen) der Länge X kann die räumlich metrischen
Entropie definiert werden als:
Die Werte für die topologische Entropie und die metrischen
Entropie liegen zwischen 0 and 1,
0<= Smetric,n <= Stopologic,n < 1.
Siehe: HUBLER, Alfred W. (2002):
Statistical Properties of Cellular Automata:
http://www.how-why.com/cgi-bin/cyberprof/os.exe?home=&document=http://www.how-why.com/ucs2002/tutorial/CAStatistics.html
(login with guest/guest)
|
26_Krugman´s
Model / Source - 051222
|
Krugman´s
Model ---------------------------------------------------------------------
(page anchor: #Krugman)
P.R. Krugman hat 1996 in 'The
Self-Organizing Economy' ein Modell vorgestellt, mit
welchem sich die zwei gegenläufigen Kräfte der Zentralisierung
und der Dezentralisierung erfassen lassen. Also die Notwendigkeit
der Bevölkerung, sich nah beieinander anzusiedeln, sowie das
Bedürfnis von Individuen einander zu meiden und soviel Raum
wie möglich für eigene Zwecke zu besetzen.
Die Entstehung neuer Aktivitäten (= Erhöhung der Einwohnerdichte)
ist Proportional zu dem Potential Vi eines
Ortes. Um die zentrifugalen und zentripetalen Kräfte wiedergeben
zu können, werden jeweils zwei Potentiale an einem Ort berechnet,
die zusammengenommen die Entwicklungstendenz ergeben:
K1 und K2 sind Größen-Parameter,
während alpha und beta die jeweiligen Skalierungs-Parameter
für die Distanzen dij darstellen. Ferner
wird zur Berechnung der Veränderungsrate das durchschnittliche
Potential des gesamten Systems benötigt:
Die Veränderung der Bevölkerung ist dann definiert als:
Durch die Gewichtung der Parameter kann nun die Konkurrenz und Entwicklung
einzelner Orte durch Handel und Austausch erfasst werden. Im Gegensatz
zu den Wachstumsmodellen (19 bis 21)
können sich so mehrere zentrale Orte aus einer anfänglichen
Zufallsverteilung entwickeln.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
25_Segregation03
/ Source - 051219
|
Segregation durch Ortsveränderung
-----------------------------------
(page anchor: #Segregation02)
Ähnlich wie bei dem Modell '08_segregation'
vom 10.06.2005 verändern Agenten mit bestimmten Eigenschaften
ihre Position, wenn in ihrer Umgebung (3x3 Moore Nachbarschaft)
nicht genügend Agenten mit den gleichen Eigenschaften vorhanden
sind. Das mathematische Prinzip ist dasselbe wie bei dem vorigen
Modell 'Segregation durch Eigenschaftsanpassung'.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
24_Segregation02
/ Source - 051218
|
Segregation
durch Eigenschaftsanpassung -----------------------
(page anchor: #Segregation01)
Zu Beginn wird jeder Zelle ein zufälliger Eigenschaftswert
zugeordnet Pi(0) = .
Der Grundgedanke des Modells besteht darin, dass jede Zelle ihre
Eigenschaft (Meinung, Präferenz o. ä.) ändert, wenn
die Mehrzahl der umgebenden Zellen (in der 3x3 Moore Nachbarschaft)
eine andere Eigenschaft hat. Nehmen wir an, es handelt sich bei
den weißen Zellen um Personen, die lieber Bier trinken und
bei den schwarzen um Weintrinker.
Die Anzahl der Biertrinker wird formal dargestellt durch ,
Weintrinker .
Die Bedingungen, wann sich eine Eigenschaft ändert kann wie
folgt ausgedrückt werden:
Das sich ergebende Muster ist relativ unempfindlich gegen Störungen.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
23_Diffusion-Connect
/ Source - 051217
|
Diffusion
Connect Model -------------------------------------------------
(page anchor: #Diffusion-Connect)
Das Modell besteht aus einem Zellenraster und einer bestimmten Anzahl
M frei beweglichen Agenten A. Die Agenten werden zu Beginn zufällig
verteilt und bewegen sich bei jedem Zeitschritt in eine zufällige
Richtung:
ist der Winkel-Variation
der Ausrichtung des Agenten und d ist die Distanz, die er zurücklegt.
Nach jedem Schritt wird überprüft, ob der Schwellenwert,
gemessen an der Anzahl der Agenden in der Moore Nachbarschaft, überschritten
und die jeweilige Zelle „Entwickelt“ wird:
Wenn der Schwellenwert erhöht wird, reduziert sich die Anzahl
der entstehenden Cluster. Wird die Anzahl der Agenten erhöht,
nimmt die Anzahl bzw. Größe der Cluster zu. Die Art,
wie die Strukturen in diesem Modell entstehen, ist analog zu der
Ausbreitung von Siedlungen im Raum und der Entstehung von Transportverbindungen.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
22_Vicsek-Szalay
/ Source - 051215
|
Vicsek-Szalay
Model -----------------------------------------------------------
(page anchor: #Vicsek-Szalay)
Geordnete Strukturen, die der Ausbreitung urbaner Entwicklungs-flächen
nicht unähnlich sind, können in einem Modell emergieren,
welches auf jenem der räumlichen Gleichverteilung (21_Spatial
Averaging) aufbaut. Dazu wird bei jedem Schritt ein weißes
Rauschen eingefügt:
Der Wert ist
entweder 1 oder -1. Daraus ergibt sich ein Modell
mit weißem Rauschen.
Die Werte je Zelle (=Potential) werden für die Entscheidung
herangezogen, ob eine Zelle ‚Entwickelt’ ist oder nicht,
wenn der Zellenwert einen bestimmten Schwellenwert übersteigt.
Fällt der Zellenwert wieder unter den Schwellenwert, wird davon
ausgegangen, dass der Entwicklungsstand erhalten bleibt. Für
unser Programm wurde der Schwellenwert auf 4,5 gesetzt. Entwickelte’
Zellen werden weiß markiert.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
21_Spatial
Averaging / Source -
051214
|
Spatial
Averaging ---------------------------------------------------------
(page anchor: #Spatial_Averaging)
Bei diesem Modell wird eine anfängliche Zufallsverteilung Pi(0)
= -1 or 1 Schritt für Schritt über den Zellenraum ausgemittelt.
Der Maximalwert max{Pi(t)} geht gegen 0. Die räumliche Verteilung
findet über die 4 orthogonal benachbarten Zellen (von Neumann
Nachbarschaft) statt. Die entsprechende Formel lautet:
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
20_Growth02
/ Source - 051213
|
Growth
and Moore Neighborhood --------------------------------------------
(page anchor: #Growth02)
Die Ausgangssituation ist dieselbe wie bei dem Modell 19_Growth01.
Die räumliche Verteilung findet jetzt allerdings über
den Durchschnittswert der 8 direkten Nachbarn inklusive der jeweils
betrachtete Zelle statt (Moore Nachbarschaft):
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
19_Growth01
/ Source - 051212 |
Growth
and spatial redistribution through increasing returns -
(page anchor: #Growth01)
Ein einfacher Zellulärer Automat wird mit einer Zufallswerten
zwischen 0 und 1 je Zelle ( Pi(0) = 0 < x <1 ) initialisiert.
Es wird folgende Formel zur Berechnung der räumlichen Umverteilung
verwendet:
Wir interessieren uns für die Fälle
> 0. Dies hat zur Folge, dass hohe Werte größer werden
auf kosten der niedrigen Werte. Man kann dies als Analogie betrachten,
dass Orte mit einem hohen Entwicklungspotential ausgebaut werden,
bzw. sich ausbreiten, indem sie sich Ressourcen aus der Umgebung
einverleiben.
Siehe Batty: 'Cities
and Complexity' (Kapietel 1)
|
18_Gravitation
/ Source - 051123
|
Gravitationsmodell
(social physics paradigm) ---------------------------
(page anchor: #Gravitation)
Update des Programms für die Erreichbarkeitsanalyse. Bei Aktivierung
des dritten Buttons rechts oben werden die Ströme zwischen
den Zentren (Nodes) nach dem Gravitationsmodell berechnet. Die Größe
(Bevölkerungszahl P an einem Ort i =
Pi) eines Zentrums kann verändert werden,
indem ein Node vergrößert oder verkleinert wird (strg
+ drag&drop). Die Linienstärke gibt die Intensität
des Stroms an. Die Schätzung des Stroms Fij
zwischen zwei Orten erfolgt mit Hilfe des Quadrats der Distanz dij:
|
17_Erreichbarkeit
/ Source - 051117
|
Erreichbarkeitsanalyse
--------------------------------------------------------
(page anchor: #Erreichbarkeit)
Nach dem erstellen eines Graphen (Knotenpunkte und deren Verbindungen)
kann die Konnektivität des Graphen berechnet werde (rechter
Button oben):
Die Zeilensummen (in der Tabelle 2. Spalte v. rechts) bilden jeweils
ein Maß für die relative Verknüpftheit jedes Knotenpunktes
(Node). Niedrigere Werte entsprechen dabei einer besseren Erreichbarkeit.
Die Gesamtsumme (unterster Wert in der Spalte; wird auch als Streuwert
bezeichnet) kennzeichnet die Größe des Graphen durch
alle Verbindungen innerhalb seiner Grenzen.
Bei Teilung der Zeilensummen und des Streuwerts durch die Anzahl
der positiven Werte erhält man ein Maß für die durchschnittliche
Verbindungslänge (in der Tabelle die Spalte ganz rechts), welche
dazu benutzt werden kann, Netzwerke miteinander zu vergleichen.
(Mit dem Button oben links kann der gezeichnete Graph wieder gelöscht
werden.)
|
16_urbaneNutzungen
/ Source - 050815
Programm herunterladen, entzippen und von
Festplatte starten! (wg. Hintergrundgrafiken)
|
Verteilung
städtischer Flächennutzungen ------------------------------
(page anchor: #Nutzungen)
Das Modell beruht auf William Alonsos "Theory of the Urban
Land Market" (1960). Es geht um die Frage, wie sich der gewinnmaximale
Standort und die optimale Betriebsgröße eines städtischen
Unternehmens in einer Stadt bestimmen lassen. Die Fragestellung
ist ähnlich wie bei Thünens Landnutzungsmodell.
Den Gewinn eines städtischen Unternehmens bestimmen die drei
Variablen Umsatz V, Produktionskosten C und die Bodenkosten R, die
alle von der Entfernung zum Markt t und der erforderlichen Bodenfläche
q (=Betriebsgröße) abhängen. Durch die Variation
der Variablen kann für den optimalen Standort die Entfernung
vom Stadtkern ermittelt werden.
|
15_Wegenutzung
/ Source - 050726
|
Wegenutzung
-------------------------------------------------------------------------------
(page anchor: #Wege)
Bei diesem Modell wird die Häufigkeit der Benutzung eines Wegabschnitts
aufgezeichnet. Die Nutzungsintensität wird anhand der Linienstärke
dargestellt. Dick gezeichnete Linien werden oft frequentiert, dünn
abgebildete selten.
Für die Bestimmung der Wege werden zufällig Start- und Zielpunkte
gesetzt und mittels des A-Stern Algorithmus verbunden (siehe voriges
Programm: 14_graphPath). Die „Stärke“
einer Markierung, die bei der Nutzung eines Wegeabschnitts hinterlassen
wird (Parameter: Stärke der Weg-Markierung), kann ebenso eingestellt
werden wie die Geschwindigkeit, mit der die Markierungen wieder gelöscht
werden (Parameter: Verfallsrate Markierungen). Bedingt durch die Wahrscheinlichkeitsverteilung
der Start- und Endpunkte werden in der Regel die in der Mitte liegenden
Verbindungen häufiger genutzt. |
14_graphPath
/ Source - 050720
|
Pathfinding
in unregelmäßigem Graph -------------------------------------
(page anchor: #Pathfind)
Auf dem A-Stern Algorithmus aufbauend, sucht dieses Programm innerhalb
eines beliebigen, zusammenhängenden unregelmäßigen
Graphen den kürzesten Weg von einem Start- zu einem Zielpunkt.
Die Erstellung des Graphen orientiert sich an der Methode, die bei
dem Modell 09_christaller zur Zentralität
und zentralen Orten eingeführt wurde. |
13_pathfinding
mit A* / Source - 050716
|
Shortest
Path with A* ---------------------------------------------------------------
(page anchor: #shortPath)
Das Programm ermittelt den kürzesten Weg
von einem Startpunk (grün) zum Zielpunkt (rot). Die Hindernisse
(blau) werden bei der Suche nach dem optimalen Pfad umgangen und dürfen
nicht diagonal geschnitten werden. Eine gute und detaillierte Einführung
in die Funktionsweise des A-Stern Algorithmus
bietet der Artikel A*
Pfadfindung für Anfänger von Patrick Lester. |
12_skalenertraege
/ Source - 050709
|
Skalenerträge
--------------------------------------------------------------------------
(page anchor: #Skalenertr)
Das Modell zeigt, wie sich positive Skalenerträge auf das Einzugsgebiet
eines Herstellers/Händlers (Markt) auswirken. Bei der Herstellung
eines Produktes fallen bestimmte Kosten an (Modellparameter: Produktionskosten).
Kann eine größere Anzahl der Produkte verkauft werden
(versch. farbige Einzugsgebiete), sinken die Kosten pro Produkt
(Skalenertrag). Es lohnt sich somit für einen Käufer,
einen weiteren Weg zurückzulegen, um das billiger gehandelte
Produkt zu erwerben, wodurch allerdings seine Fahrtkosten steigen.
Die erhöhte Nachfrage in einem Markt führt wiederum zu
einer weiteren Verbilligung. Bei dem dadurch entstehenden Konkurrenzkampf
um Absatzgebiete können sich einige Anbieter durchsetzen und
örtliche Monopole bilden. An den Grenzen der Einzugsgebiete
gleichen sich die Fahrtkosten und die Kosten des Produkts im nächstgelegenen
Markt aus. Bei teureren Produkten verstärkt sich diese Wirkung
der Skalenerträge.
|
11_verh_thuenen
/ Source - 050706
|
Verhandlungsmodell
für die Landnutzung nach Thünen ---------
(page anchor: #Thuenen)
Im Gegensatz zur Berechnung der idealen Landnutzung im vorhergehenden
Modell (10_thuenen), wird hier für eine gegebene Menge von
Nutzungen die ideale Verteilung ermittelt.
Eine Zelle repräsentiert im Modell einen Landwirt, der versucht,
den Gewinn mit seinem Anbauprodukt zu maximieren. Der Gewinn ist
abhängig von der Produktivität, der Entfernung zum Markt
(per Mausklick in die Zeichenfläche wird ein neuer Markt erzeugt)
und den Transportkosten für die unterschiedlichen Güter
(Nur auf den hell markierten Flächen fällt die Lagerente/der
Gewinn positiv aus). Jeder Landwirt verhandelt mit den Anderen innerhalb
eines definierten Umgebungsbereichs (Parameter: Tauschradius). Könnte
er auf einem anderen Grundstück mit seinem Anbauprodukt einen
höheren Gewinn erzielen, versucht er dieses zu tauschen. Kommt
es dabei zu einer Konkurrenz bei der Nutzung einer Parzelle, unterliegt
derjenige Landwirt, der mit seinem Produkt an dieser Stelle einen
geringeren Gewinn erwirtschaften würde als sein Konkurrent.
|
10_thuenen.exe
/ Source - 050627
|
Landnutzungsmodell
nach J.H. v. Thünen ------------------------------
(page anchor: #Thuenen1)
Die Simulation behandelt Thünens Theorie zu den Standorten unterschiedlicher
landwirtschaftlicher Nutzungen im Bezug auf einen zentralen Markt.
(Zusammenfassung siehe: Einführung
in die Kultur- und Sozialgeographie. -> Theorie & Modell
-> Thünen)
Das Programm berechnet die optimalen lokalen Lagerenten. Diese sind
Abhängig von: Anbauertrag, Entfernung zum Markt, Marktpreisen
und Erzeugungskosten des Produkts, sowie den Transportkosten. Angezeigt
wird die optimale räumliche Verteilung von drei verschiedenen
Produkten. |
09_christaller.exe
/ Source - 050625
|
Zentralität und zentrale Orte -------------------------------------------------------
(page anchor: #Zentral)
Das Modell demonstriert die Verteilung von Siedlungen im Raum. Die
roten, blauen und gelben Punkte stellen Zentren verschieden hohen
Rangs dar. Die Anlagerung der Punkte folgt dieser Hierarchie. Untergeordnete
Zentren lagern sich an übergeordnete an. Eine Zusammenfassung
der Theorie zentraler Orte findet sich in der Einführung
in die Kultur- und Sozialgeographie. -> Theorie & Modell
-> Zentralität.
Zum Starten der Simulation mit der Erstellung roter Punkte beginnen
und anschließend blaue und gelbe hinzufügen. Die AnlagerDist.
Parameter verringern, bis das System zur Ruhe kommt.
|
08_segregation
model / Source - 050610
|
Segregationsmodell -----------------------------------------------------------------
(page anchor: #Segregat)
Verschiedene Agenten (blau und gelb) repräsentieren Nutzungen,
die räumlich nicht zusammen liegen sollen. Im Modell werden die
Zellen um einen Agenten herum seiner Nutzung entsprechend markiert.
Dieser Raum ist beispielsweise durch Emissionen eines Gewerbebetriebs
beeinträchtigt (blau). Wohnnutzungen (gelb) bleiben diesen Flächen
fern. Es ergibt sich automatisch eine Klusterung der verschiedenen
Farben um die roten Anlagerungspunkte. |
07_packingScale.exe
/ Source - 050517
|
Dichte Packungen II ------------------------------------------------------------------
(page anchor: #Packung)
Update des Überschneidungsflächen-Programms für 'Dichte
Packungen I'
Die Rechtecke variieren ihre Höhe und Breite um die Überlagerungsflächen
zu minimieren. Der Flächeninhalt (Rechteckgröße)
bleibt dabei erhalten. Die Einstellung der Variationswerte legt
die größe der möglichen Veränderung pro Generation
fest. Kleinere Werte erzeugen meist die besseren Ergebnisse.
(Idee siehe Überschneidungsflächen)
|
06_minUeberschn.exe
/ Source - 050516
|
Dichte Packungen
I -------------------------------------------------------------------
(page anchor: #overlap2)
Die Überschneidungsflächen
einer zufällig erzeugten Rechteckanordnung wird unter Anwedung
einer evolutionären Strategie minimiert.
Die Summe aller Überschneidungsflächen dient dabei als
Fitness-Funktion. Die jeweils beste Variante zufälliger Positionsveränderungen
wird ausgewählt und als Basis für die nächste Generation
verwendet. Durch Mutationen werden einzelne Rechtecke neu angeordnet.
Das Programm rechnet bis eine Gesamtüberlagerungsfläche
von 100 Pixel unterschritten ist.
Die Idee ist dem Artikel "Algorithmic
Support of Creative Architectural Design" von Tomor Elezkurtaj
und Georg Franck entliehen.
|
05_rechtClipping.exe
/ Source - 050515
|
Überlagerungsflächen
---------------------------------------------------------------
(page anchor: #overlap1)
Berechnung der Überlagerungsflächen
von Rechtecken.
Die gleiche Berechnung mittels Cohen-Sutherland-Algorithmus: 04_rechtClipping.exe
/ Source.
|
|
Schwarmverhalten -------------------------------------------------------------------
(page anchor: #Schwarm)
Das Sichtfeld kann über den Interaktionsradius und den Blickwinkel
eingestellt werden. Der Mindestabstand sorgt für eine gleichmäßige
Verteilung der Agenten innerhalb eines Schwarms. Die Zellen zeichnen
die Häufigkeit der "Begehung" auf, indem sie sich
weiß verfärben. Die Bewegungsvektoren können eingeblendet
werden.
|
02_Swarming.exe
/ Source - 050509
|
Einfaches Schwarmverhalten
-------------------------------------------
(page anchor: #simpleSchwarm)
Die Bewegungsvektoren innerhalb eines bestimmten Radius werden aneinander
angepasst.
|
01_FACS.exe
/ Source - 050504
|
FACS --------------------------------------------------------------------------------------------
(page anchor: #FACS)
Grundlegendes Modell freier Agenten in einem zellulären Raum.
Es kann eine Interaktion der Agenten mit den lokalen Zellen stattfinden.
Das Zellenraster dient den Agenten als Speicherstruktur.
(FACS - Free Agents in Cellular Space : Siehe
Juval Portugali: Self-Organization
and the City).
|
siehe
auch: Modelle mit
NetLogo______
|
intern documentation |