Vom mechanistischen Weltbild zum Chaos Isaac Newton und René Descartes waren maßgeblich für das mechanistische Weltbild der letzten Jahrhunderte verantwortlich. 1 Vom mechanistischen Weltbild zum Chaos Isaac Newton und René Descartes waren maßgeblich für das mechanistische Weltbild der letzten Jahrhunderte verantwortlich. Hundert Jahre später 1814 postuliert Pierre Simon Marquis de Laplace den Laplaceschen Dämon. 1-a Vom mechanistischen Weltbild zum Chaos Isaac Newton und René Descartes waren maßgeblich für das mechanistische Weltbild der letzten Jahrhunderte verantwortlich. Hundert Jahre später 1814 postuliert Pierre Simon Marquis de Laplace den Laplaceschen Dämon. Schon 1893 zeigte Henri Poincaré, dass das Drei-Körper-Problem keine integrablen Lösungen hat ⇒ Die Stabilität des Sonnensystems ist nicht beweisbar. 1-b Vom mechanistischen Weltbild zum Chaos Isaac Newton und René Descartes waren maßgeblich für das mechanistische Weltbild der letzten Jahrhunderte verantwortlich. Hundert Jahre später 1814 postuliert Pierre Simon Marquis de Laplace den Laplaceschen Dämon. Schon 1893 zeigte Henri Poincaré, dass das Drei-Körper-Problem keine integrablen Lösungen hat ⇒ Die Stabilität des Sonnensystems ist nicht beweisbar. Der Meteorologe Edward N. Lorenz simulierte erstmals (zufällig) chaotische Erscheinungen in den 60ger Jahren in einem einfachen Wettermodell. 1-c Ordnung im Chaos Auf der Suche nach den grundlegenden Prinzipien der Ordnung im Chaos baute John von Neumann eine Maschine, die sich selbst reproduzieren kann. 2 Ordnung im Chaos Auf der Suche nach den grundlegenden Prinzipien der Ordnung im Chaos baute John von Neumann eine Maschine, die sich selbst reproduzieren kann. Den Formalismus für die Maschine lieferte Stanislaw Ulam. Er schlug als Lebensraum ein Gitter vor, dessen Felder ihre unmittelbare Nachbarschaft in die eigene Lebensentwicklung einbeziehen. 2-a Ordnung im Chaos Auf der Suche nach den grundlegenden Prinzipien der Ordnung im Chaos baute John von Neumann eine Maschine, die sich selbst reproduzieren kann. Den Formalismus für die Maschine lieferte Stanislaw Ulam. Er schlug als Lebensraum ein Gitter vor, dessen Felder ihre unmittelbare Nachbarschaft in die eigene Lebensentwicklung einbeziehen. John von Neuman entwickelte aus diesem Vorschlag einen selbstreproduzierenden Automaten. Die einzelnen Felder nannte er Zellen womit der Name zellulärer Automat entstanden war. 2-b zelluläre Automaten • Seine Entwicklung findet in Raum und Zeit statt. • Sein Raum ist eine diskrete Menge von Zellen. • Eine Zelle hat nur endliche viele verschiedene Zustände. • Die Zustände der Zellen verändern sich in diskreten Zeitschritten. • Alle Zellen sind identisch und verhalten sich nach den gleichen Entwicklungsregeln. • Die Entwicklung einer Zelle hängt nur von ihrem Zustand und ihrer Nachbarschaft ab. 3 Zellraum Durch die geometrische Grundform der einzelnen Zellen wird die Geometrie des Zellraums bestimmt. Als geometrische Figuren kommen nur solche in Frage, die den Zellraum vollständig mit kongruenten Bildern überdecken und dabei höchstens die Randpunkte gemeinsam haben. Im Zweidimensionalen ist eine Parkettierung mit regelmäßigen n-Ecken nur mit Drei-, Vier- und Sechsecken möglich, da hierfür der Innenwinkel (n−2)·180 ein ganzn zahliges Vielfaches von 360 sein muss. 4 Nachbarschaft Als Nachbarschat bezeichnet man die Zellen, die die Entwicklung einer Zelle beeinflussen. Im eindimensionalen Zellraum hat eine Zelr=2 le einen rechten und einen linken Nachbarn. Durch Einführung r=1 eines Nachbarschaftsradius kann die Anzahl der Nachbarschaftszellen variiert werden. In zweidimensionalen Zellräumen haben sich die von Neumann- und die Moore-Nachbarschat etabliert. 5 Randprobleme Aufgrund der Endlichkeit konkreter Zellräume herrschen an den Rändern andere Nachbarschaftsverhältnisse als im Inneren. • Offene Randbedingung keine Sonderbehandlung • Periodische Randbedingung verbinden ... ... der Ränder ... 7 8 1 2 7 8 1 2 • Symmetrische Randbedingung fehlen... de Zellen werden gespiegelt ... 2 1 1 2 7 8 8 7 6 ... Zustandsentwicklung Nach jedem Zeitschritt ti berechnet eine Zelle ihren neuen Zustand aufgrund ihres Zustandes und dem ihrer Nachbarschaft zum Zeitpunkt ti−1. 7 Zustandsentwicklung Nach jedem Zeitschritt ti berechnet eine Zelle ihren neuen Zustand aufgrund ihres Zustandes und dem ihrer Nachbarschaft zum Zeitpunkt ti−1. Der Zustand der Kernzelle eines eindimensionalen binären Automaten mit dem Radius 1 ist von drei Zellen abhängig, für die es 23 Konfigurationen gibt, denen im nächsten Zeitschritt eine 0 oder 1 zugeord3 net wird. Also ergeben sich 22 mögliche Regeln. 7-a Zustandsentwicklung Nach jedem Zeitschritt ti berechnet eine Zelle ihren neuen Zustand aufgrund ihres Zustandes und dem ihrer Nachbarschaft zum Zeitpunkt ti−1. Der Zustand der Kernzelle eines eindimensionalen binären Automaten mit dem Radius 1 ist von drei Zellen abhängig, für die es 23 Konfigurationen gibt, denen im nächsten Zeitschritt eine 0 oder 1 zugeord3 net wird. Also ergeben sich 22 mögliche Regeln. Es gibt für eine Zelle mit k Zuständen n+1 und einer n-Zelligen Nachbarschaft k k mögliche Regeln. Bei einem 3-Dimensionalen Gitterraum also 27 22 = 180 01403980 5100 0000000 mögliche Regeln. 7-b Zustandsentwicklung Nach jedem Zeitschritt ti berechnet eine Zelle ihren neuen Zustand aufgrund ihres Zustandes und dem ihrer Nachbarschaft zum Zeitpunkt ti−1. Der Zustand der Kernzelle eines eindimensionalen binären Automaten mit dem Radius 1 ist von drei Zellen abhängig, für die es 23 Konfigurationen gibt, denen im nächsten Zeitschritt eine 0 oder 1 zugeord3 net wird. Also ergeben sich 22 mögliche Regeln. Es gibt für eine Zelle mit k Zuständen n+1 und einer n-Zelligen Nachbarschaft k k mögliche Regeln. Bei einem 3-Dimensionalen Gitterraum also 27 22 = 180 01403980 5100 0000000 mögliche Regeln. Ist nur die Summe der Nachbarschaft für den Zustand verantwortlich spricht man von totalistischen Regeln. 7-c LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: 8 LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: • Zellraum: zweidimensional, mit rechtecken parkettiertes n × m-Gitter. 8-a LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: • Zellraum: zweidimensional, mit rechtecken parkettiertes n × m-Gitter. • Nachbarschaft: Moore-Nachbarschaft mit Radius eins. 8-b LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: • Zellraum: zweidimensional, mit rechtecken parkettiertes n × m-Gitter. • Nachbarschaft: Moore-Nachbarschaft mit Radius eins. • Randbedingung: Beliebig. 8-c LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: • Zellraum: zweidimensional, mit rechtecken parkettiertes n × m-Gitter. • Nachbarschaft: Moore-Nachbarschaft mit Radius eins. • Randbedingung: Beliebig. • Zustandsmenge: Z := {0, 1}, wobei 0 eine tote, 1 eine lebende Zelle repräsentiert. 8-d LIFE John Horton Conway entwickelte 1968 das ,,Spiel des Lebens” basierend auf von Neumanns Arbeit. Nach zweijähriger Handarbeit von Conway und Kollegen standen die Regeln fest: • Zellraum: zweidimensional, mit rechtecken parkettiertes n × m-Gitter. • Nachbarschaft: Moore-Nachbarschaft mit Radius eins. • Randbedingung: Beliebig. • Zustandsmenge: Z := {0, 1}, wobei 0 eine tote, 1 eine lebende Zelle repräsentiert. • Zustandsentwicklung: P 1 , wenn (k,l)∈Ni,j zkl (t) = 3 1 , wenn P (k,l)∈Ni,j zkl (t) = 4 zij (t+1) = ∧zij (t) = 1 0 , sonst 8-e Statische und Pulsierende Muster Block Wanne Brötchen Schlange Bienenkorb Teich Fähre lange Fähre Schiff langes Schiff statische Muster Blinker Uhr Rad der heiligen Katharina Fünfzehnkampf Acht pulsierende Muster 9 Mobile Muster t=0 t=1 t=2 t=3 t=4 Zyklus eines Gleiters t=0 t=1 t=2 t=3 t=4 Zyklus eines Raumschiffs 10 Zerstörerische Muster Schon eine Zelle kann ein statisches Muster zerstören. Der Fresser zerstört Raumschiffe und Gleiter ohne dabei selbst schaden zu nehmen. frisst Blinker frisst Gleiter frisst Raumschiff Fresser 11 Zerstörerische Muster Schon eine Zelle kann ein statisches Muster zerstören. Der Fresser zerstört Raumschiffe und Gleiter ohne dabei selbst schaden zu nehmen. frisst Blinker frisst Gleiter frisst Raumschiff Fresser Lebenspendende Muster Eine Gruppe am M.I.T um R. Gosper entwickelte die Gleiterkanone. Gleiterkanone 11-a Paradiesische Zustände 1962 beschäftigte sich Edward Moor systematisch mit paradiesischen Zuständen und konnte ihre Existenz beweisen. Beweisidee: Man betrachtet alle statischen Muster einer gewissen Größe; Wählt man die Größe geschick, lässt sich berechnen, dass die Anzahl der möglichen Vorgänger kleiner ist als die Muster. Paradiesischer Zustand 12 Computer, universelle Turingmaschine und LIFE Mit dem Fresser(F), der Gleiterkanone (G) und kodierten Gleiterströmen als Eingabe (A,B) können in LIFE drei grundlegende Logikgatter ,,und”, ,,oder” und ,,non” realisiert werden. Tatsächlich konnte gezeigt werden, dass LIFE jede berechenbare Funktion berechnen kann. LIFE ist also eine universelle Turingmaschine. G G A G A B A&B F B G A F ~A AvB 13 Zufallszahlen Zufallszahlen werden eingesetzt • bei der Simulation von Naturvorgängen, • bei einer Stichprobenauswahl • in der numerischen Analysis • bei der Entscheidungsfindung • bei Unterhaltungsspielen (Monte-CarloMethode) 14 Verteilung • Die Auftrittswahrscheinlichkeit ist von anderen Zufallszahlen der Sequenz unabhängig. 15 Verteilung • Die Auftrittswahrscheinlichkeit ist von anderen Zufallszahlen der Sequenz unabhängig. • Die Zahlen der Zufallssequenz sind gleichverteilt. 15-a Verteilung • Die Auftrittswahrscheinlichkeit ist von anderen Zufallszahlen der Sequenz unabhängig. • Die Zahlen der Zufallssequenz sind gleichverteilt. • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 gleichverteilte Zufallssequenz? 15-b Verteilung • Die Auftrittswahrscheinlichkeit ist von anderen Zufallszahlen der Sequenz unabhängig. • Die Zahlen der Zufallssequenz sind gleichverteilt. • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 gleichverteilte Zufallssequenz? • nine, nine, nine, nine,. . . eine Zufallssequenz? 15-c Zufallszahlen in Rechnern Man kann einen Zufallszahlengenerator anschließen oder die Zufallszahlen als Tabelle hinterlegen. 16 Zufallszahlen in Rechnern Man kann einen Zufallszahlengenerator anschließen oder die Zufallszahlen als Tabelle hinterlegen. 1940 schlug John von Neumann vor, eine Zufallssequenz mittels arithmetischer operationen zu erzeugen und stellte die MittelQuadrat-Methode vor. Mit dieser Methode wäre beispielsweise der Nachfolger von 5772156649 über 333177923805949 09201 dann 7923805949. 16-a Zufallszahlen in Rechnern Man kann einen Zufallszahlengenerator anschließen oder die Zufallszahlen als Tabelle hinterlegen. 1940 schlug John von Neumann vor, eine Zufallssequenz mittels arithmetischer operationen zu erzeugen und stellte die MittelQuadrat-Methode vor. Mit dieser Methode wäre beispielsweise der Nachfolger von 5772156649 über 333177923805949 09201 dann 7923805949. G.E. Forsythe untersuchte 16 4-Stellige Zahlen und fand, dass 12 von ihnen in dem Zyklus 6100, 2100, 4100, 8100, 6100,. . . endeten und zwei weitere zu Null degenerierten. 16-b Lineare-Kongruenz-Methode Im Jahre 1948 stellte D. H. Lehmer diese, bis heute erfolgreichste, Methode vor. Enthält die Variable seed eine beliebige Zahl so erstellt: Pseudocode 1 2 3 4 5 6 int N = 20; long[] a = new long[N]; a[0] = seed; long m, b; // vorgegebene Konstanten for (int i = 1; i <= N; i++) a[i] = (a[i-1]*b + 1) % m eine Zuffallszahlenfolge von 20 Zahlen. 17 Die Konstanten m und b • m sollte eine Zweier- oder Zehnerpotenz sein • m sollte möglichst groß sein. • b sollte eine Ziffer kürzer als m sein • b sollte keine Muster enthalten • b sollte der Form x21 genügen wobei x gerade ist 18 Überlaufproblem Sei • m = 1 ∗ 1016 • b = 3141586237594821 ≈ 3 · 1015 • seed ≈ 1 · 1012 Wobei seed in etwa die Zeit in Millisekunden seit dem 01.01.1970. Also a · b ≈ 1027 mit a = seed. Da der Maximalwert eines longs in Java etwa 9 · 1018 ist, erfolgt ein Überlauf. 19 Nur relevante Stellen berechnen Sei f : N −→ N die Funktion, die jeder natürlichen Zahl die Anzahl ihrer Ziffern zuordnet. Es gilt ∀n, m ∈ N(f (n + m) ≤ max{f (n), f (m)} + 1) ∀n, m ∈ N(f (n · m) ≤ f (n) + f (m)) ∀n, m ∈ N(n > m ⇒ f (n div 10m) = f (n) − f (m)) ∀n, m ∈ N(n > m ⇒ f (n mod 10m) = f (m)) 20 Nur relevante Stellen berechnen Sei f : N −→ N die Funktion, die jeder natürlichen Zahl die Anzahl ihrer Ziffern zuordnet. Es gilt ∀n, m ∈ N(f (n + m) ≤ max{f (n), f (m)} + 1) ∀n, m ∈ N(f (n · m) ≤ f (n) + f (m)) ∀n, m ∈ N(n > m ⇒ f (n div 10m) = f (n) − f (m)) ∀n, m ∈ N(n > m ⇒ f (n mod 10m) = f (m)) a und b zerlegen: a = 108 a0 + a1 mit a0 = a div 108, a1 = a mod 108 b = 108 b0 + b1 mit b0 = b div 108 , b1 = b mod 108 20-a Nur relevante Stellen berechnen Sei f : N −→ N die Funktion, die jeder natürlichen Zahl die Anzahl ihrer Ziffern zuordnet. Es gilt ∀n, m ∈ N(f (n + m) ≤ max{f (n), f (m)} + 1) ∀n, m ∈ N(f (n · m) ≤ f (n) + f (m)) ∀n, m ∈ N(n > m ⇒ f (n div 10m) = f (n) − f (m)) ∀n, m ∈ N(n > m ⇒ f (n mod 10m) = f (m)) a und b zerlegen: a = 108 a0 + a1 mit a0 = a div 108, a1 = a mod 108 b = 108 b0 + b1 mit b0 = b div 108 , b1 = b mod 108 ⇒ a · b = 1016 a0b0 + 108 (a0b1 + a1b0) + a1b1 ⇒ a · b mod 16 = (108((a0b1 + a1b0) mod 108) + a1b1) mod 16 wobei während der Berechnung maximal Zahlen der Größenordnung 1017 auftreten. 20-b Nur relevante Stellen berechnen Sei f : N −→ N die Funktion, die jeder natürlichen Zahl die Anzahl ihrer Ziffern zuordnet. Es gilt ∀n, m ∈ N(f (n + m) ≤ max{f (n), f (m)} + 1) ∀n, m ∈ N(f (n · m) ≤ f (n) + f (m)) ∀n, m ∈ N(n > m ⇒ f (n div 10m) = f (n) − f (m)) ∀n, m ∈ N(n > m ⇒ f (n mod 10m) = f (m)) a und b zerlegen: a = 108 a0 + a1 mit a0 = a div 108, a1 = a mod 108 b = 108 b0 + b1 mit b0 = b div 108 , b1 = b mod 108 ⇒ a · b = 1016 a0b0 + 108 (a0b1 + a1b0) + a1b1 ⇒ a · b mod 16 = (108((a0b1 + a1b0) mod 108) + a1b1) mod 16 wobei während der Berechnung maximal Zahlen der Größenordnung 1017 auftreten. Also ist mit ((108((a0b1 + a1b0) mod 108 ) + a1b1) + 1) mod 1016 eine Überlaufsfreie berechnung von (a · b + 1) mod m möglich. 20-c Implementierung 1 Java-Code import java.util.Date; 2 3 4 5 6 7 8 public class Rnd { long m=10000000000000000l; //10^16 long b=3141586237594821l; long a = (new Date()).getTime(); // seed long m1 = 100000000l; //10^8 long b0 = b / m1, b1 = b % m1; 9 public int next_rnd(int x) { long a0 = a / m1, a1 = a % m1; a = (((((a0*b1 + a1*b0) % m1) * m1 + a1*b1) % m) + 1) % m; return (int) (((a / m1) * x) / m1); // return (double) a/m; //alternative } 10 11 12 13 14 15 16 17 } a geliefert =⇒ liefert bx(a/m)c ein Wird m x aus {0, . . . , x − 1}. 21 Gewichtete Zufallszahlen Sei M = {0, . . . , x − 1} und n = |M|. Bei Gleichverteilung kann man jeder der n Zahlen aus M ein äquidistantes Teilintervall des Intervalls [0, 1) bijektiv zuordnen 1 ), . . . , x − 1 7→ [ n−1 , n ) 0 7→ [0, n n n Ordnet man nun einer Zufallszahl ein größeres und den anderen entsprechend kleinere Intervalle zu, erhält man eine gewichtete Zufallssequenz. Dies ließe sich bsp. so realisieren: Seien gi ∈ M mit 1 ≤ i < n die gewichteten Zufallszahlen, uj ∈ M mit 1 ≤ j ≤ n − i, dann gilt für die W’keit der ungewichteten Zahlen (Gleichverteilt) Pi 1 P1(u) = 1 − 1 n und 1 + 1 P (u) P1(gi) = n 2n 1 1 P (u) ∗ |{g }|) P1(uj ) = |{u1 }| (P1(u) − 2n 1 i j 22 Implementierung Java-Code 1 private void calc_weight() { 2 double extraWeight; 3 double restP = 1.0-(double)weightedFigures.size() 4 * 1.0/(double)initWeightFig; 5 WeightedFigure wf; 6 Enumeration e = weightedFigures.elements(); 7 for (int i=1; i <= maxWeight; i++) { 8 extraWeight = restP/(initWeightFig*2); 9 e = weightedFigures.elements(); 10 while (e.hasMoreElements()) { 11 wf = (WeightedFigure) e.nextElement(); 12 if (wf.weight >= i) { 13 wf.extraWeight += extraWeight; 14 restP -= extraWeight; 15 } 16 } 17 } 18 this.restP = restP / (initWeightFig 19 - weightedFigures.size()); 20 intervalls = new double[initWeightFig+1]; 21 Integer key; 22 intervalls[0] = 0; 23 for (int i=1; i < initWeightFig; i++) { 24 key = new Integer(i); 25 if (weightedFigures.containsKey(key)) { 26 intervalls[i] = intervalls[i-1] + uniDist + 27 ((WeightedFigure) 28 weightedFigures.get(key)).extraWeight; 29 } else { 30 intervalls[i] = intervalls[i-1]+this.restP; 31 } 32 } 33 intervalls[initWeightFig] = 1.0; 34 } 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Java-Code public int next_rnd() { double r = Rnd.this.next_rnd(); if (weightedFigures.size() == 0) return (int) (initWeightFig * r + 1); if (intervalls == null) calc_weight(); int low = 0, mid = (initWeightFig+1) / 2, heigh = initWeightFig+1; while (true) { if (intervalls[low] <= r && r < intervalls[mid]) { if (mid - low == 1) { return mid; } else { heigh = mid; mid /= 2; } } else { // intervalls[mid] <= r < heigh if (heigh - mid == 1) { return heigh; } else { low = mid; mid += (heigh - mid) / 2; } } } } 24 Random Walk Legen wir einen n-dimensionalen Raum Rn zugrunde, dann nennen wir die zufällige Bewegung eines Punktes P (x1 , . . . , xn) in diskreten Zeitschritten einen Random Walk. Nehmen wir einen diskreten Raum, setzen n = 2 und betrachten jeden Punkt dieses Raumes als ein Quadrat, erhalten wir einen Raum, der stark an einen zellulären Automaten erinnert. In diesem Zellraum erfolgt ein Bewegungsschritt indem P in eine zufällig ermittelte Nachbarzelle verschoben wird. Als Nachbarschaft kommen die oben genannte Moore- und von Neumann Nachbarschaft in Frage 25 Randproblem Analog zu LIFE gibt es beim Random Walk auch ein Randproblem mit den folgenden Lösungen: • Reflexion: Würde im nächsten Schritt eine Randzelle erreicht, wird die entgegengesetzte Operation durchgeführt. • Warteschleife: Es werden so lange Zufallszahlen gewürfelt, bis eine Bewegung vom Rand weg erfolgt. • Periodische Fortsetzung: Hierbei erfolgt der nächste Schritt auf der gegenüberliegenden Seite (entsprechend vom Rand weg). • Abbruch: Bei Erreichen des Randes wird abgebrochen. 26 Visualisierung Versieht man die schon besuchten Zellen mit einem anderen Zustand der durch eine andersfarbige Markierung dargestellt wird, lässt sich der zurückgelegte Weg bzw. das ,,Zellwachstum” visualisieren. Random Walk mit Moorumgebung und Warteschleife nach ca. 1500 Schritten 27 Gewichteter Random Walk Es gibt biologische Prozesse, die sich auf den Random Walk zurückführen lassen und eine bevorzugte Richtung haben. Beispielsweise der Nachhausegang eines Betrunkenen – aber auch Nervenaussprossungen von durchtrennten Nervenfasern, die sich, scheinbar tastend, auf einander zu bewegen. Um dies zu simulieren benötigen wir, die oben eingeführten, gewichteten Zufallszahlen. 28 Auch Gefäßstrukturen, Zellfortsätze oder Bronchialbäume lassen sich mit dieser Idee nachbilden. Bronchialbaum 29 DLA-Simulation Um allerdings die Clusterung zu erreichen, muss man den Random Walk modifizieren. Vom Startpunkt ausgehend zieht man auf einem bestimmtem Radius einen Punkt P 0 . Dieser Punkt wird zufällig in einer von Neumannumgebung verschoben und anschließend wird innerhalb einer Moorumgebung geprüft ob es einen Nachbarn gibt, falls ja wird P 0 entsprechend markiert. Man spricht hier von ,,durch Diffusion begrenztes Wachstum” und von einer DLASimulation (Diffusion on Limited Aggregation). 30