Ok. Das Reproduktionsverfahren wird
die Schildkröten fragen
sich selbst Kopien zu erstellen,
und wir benutzen
das "hatch" (dt.: "ausbrüten") Verfahren
damit sich die Schildkröten reproduzieren.
Also, wir wollen sagen:
"Frage jede Schildkröte
zwei Schildkröten auszubrüten."
Diese Schildkröten werden
alle Eigenschaften ihrer Eltern haben.
Nun, ich habe früher erwähnt,
dass wir die Generationen
mit verfolgen müssen, dies involviert
den Schildkröten eine "Custom" Variable
zuzuordnen.
Und wir benennen diese Schildkröten
"own" Variablen (dt.: "eigen").
Ich werde eine davon Generation nennen.
Wenn wir nun also eine Schildkröte
kreieren mit dieser hatch Prozedur
wird sie automatisch eine Variable
namens "Generation" haben.
Und wenn die kleinen Jungtiere
auf dem Bild erscheinen werden sie diese
Variable ebenfalls haben und wird
automatisch auf das selbe Level
eingestellt sein wie der Wert der Eltern.
Aber dass wollen wir nicht, richtig?
Sie sind die nächste Generation.
Hier müssen wir Generation von
"myself" (dt.: "mir selbst") + 1benutzen.
So, ich denke, das müsste in
eckige Klammern gesetzt werden.
So, im Grunde stellen wir ein wir nach
"hatch 2" die Befehle die den
Jungtieren zugeordnet werden,
und das einzige was ich mit ihnen
anders machen werde ist, ich werde
deren Generation einstellen zu was auch
immer "myself" (meine) Generation ist.
"Myself" ist außerhalb dieser eckigen
Klammer; +1.
So, im Grunde erhöhe ich das.
Nun, wenn es scheint,
dass ich etwas unsicher darüber bin,
ich bin mir nicht sicher ob die eckigen
Klammern dahin müssen,
dann gibt es zwei Sachen die ich machen
kann. Eine Sache ist, dass ich mir
die "Quick help" (dt.: "schnelle Hilfe")
selbständig (myself) ansehen kann.
Und hier ist es ziemlich sicher:
es muss in eckige Klammern.
Sie benutzen es dort.
Das erklärt den Unterschied zwischen
"my" (mein) und "myself" (mich).
Wenn Sie Zeit haben, lesen sie die
Definition. Ich denke, dass sollte
funktionieren. Wir werden
zwei ausbrüten ("hatch 2").
Nur um sie sehen zu können, werden
wir ihre Farbe als rot festlegen,
und wir lassen sie 3 Schritte vorgehen.
Auf diese Weise können wir nachsehen
ob dieses Reproduktion Ding klappt.
So, lasst uns versuchen hier zurückzugehen,
damit wir den Code den wir haben
austesten können. Nun verwenden wir
"set up" und "step". Und für mich
sieht es aus als ob
jede Schildkröte hat...
Wir müssen eine kleinere Population verwenden,
damit wir es sehen können.
Wir legen nur 5 Schildkröten fest (set up).
"step"
Es scheint nicht... oh, doch, ich sehe. Ja.
Ich schätze dass diese auch die "heading"
der Eltern auch erben.
So, 1, 2, 3... Manchmal ist es verwirrend
wenn diese Art Modelle macht, weil man
nicht genau weiß wie viele Schildkröten
man hat. Daher könnte man eine simple Sache
mit der Befehlsleiste machen.
Wir sagen einfach:
"Zeige die Anzahl der Schildkröten."
Es sieht so aus,
als ob es nur 10 Schildkröten oder so gibt.
Aber wenn ich hier schaue, dann sind es 15.
In der tat, wir haben einige Schildkröten
die einander überdecken.
Eine andere Weise dies zu tun ist,
hier zu klicken und man kann sehen,
dass Schildkröte 11 und 12 hier
übereinstimmen.
So, ja, das funktioniert.
Die Schildkröten erben auch
die "heading" von ihren Eltern,
weshalb sie sich überdecken.
Wir werden sie später ohnehin zerstreuen,
deswegen müssen wir uns nun
darüber keine Sorgen machen.
So, Reproduktion funktioniert.
Nun wollen wir sehen ob die Generationssache funktioniert.
Also, lasst uns auf das Interface zurückblicken.
Dies, wenn wir diese Schildkröte inspizieren,
sollten wir sehen, dass sie eine
Generation- Variable hat.
Und...
Ich kann es nicht sehen.
Lasst uns schauen, ob diese es hat.
Nun, es ist nicht dort.
Also müssen wir nachsehen.
Etwas läuft nicht richtig hier.
Mal sehen...
Wir führen das wieder aus.
"Setup"
Diese Stelle inspizieren (inspect patch),
diese Schildkröte inspizieren (inspect turtle)
...Sicher genug, vielleicht hatte
ich es nicht eingestellt (setup).
Aber hier haben wir die Generationen.
Das ist Generation 0.
Schildkröte 3 ist Teil von Generation 0.
Und wenn wir "step" drücken,
sollte es möglich sein sich eine davon anzusehen.
Und... mit etwas Glück...
wird es eine Generation 1 sein.
Wir erhöhen also die Generationen.
Ich weiß nicht, ob Sie es sehen können,
aber die Generation was 1.
indes 0 auf den ursprünglichen,
grünen Schildkröten. Jetzt ist es 1.
Unsere Generationseigenschaften funktionieren.
Ok, jetzt werden wir die Eltern bitten zu sterben.
Ich denke es ist auch wichtig den Überblick
zu behalten vo welcher Generation wir sprechen.
Dafür wird eine globale Funktion gebraucht.
Wir machen eine globale Variable,
genannt aktuelle Generation (current generation).
Und jedes mal wenn wir "step" ausführen,
werden wir
die aktuelle Generation vergrößern.
So, und dies wird uns erlauben den Überblick
zu behalten, wer sterben soll und wann.
Jedes mal wenn wir "step" ausführen,
werden wir diese Nummer nehmen,
welche anfängt mit 0 und wir werden 1 zufügen.
So, Reproduktion.
Nun lassen wir die Eltern sterben.
Bitte die Schildkröten ... das ist...
Wir werden die Schildkröten bitten
mit Generation weniger als
oder gleich der aktuellen Generation zu...
Und das ist eine großartige Sache die man
in NetLogo machen kann.
Man kreiert diese Sets von Agenten ("agent sets")
und man kann zu einem Teil von ihnen reden.
So, ich will nicht mit allen Schildkröten reden.
Ich will mit den Schildkröten reden, die
eine persönliche Generation- Variable haben,
die weniger als gleich der jetzigen Generation ist.
Ich bin mir nicht sicher, vielleicht
meine ich nur weniger als ("less than").
Wir werden sehen ob ich das meine oder nicht.
O.k., wir werden die bitten zu sterben.
O.k., so...
Lasst uns hier zurückgehen.
Und "setup"
"step"
Es sieht so aus als ob...
Lasst uns statt statt rot,
zufällig 100 Verschiedene einstellen.
Nun haben wir verschiedene Farben.
Und wir werden auch vorwärts gehen...
eine zufallsbedingte Nummer.
Und sollte es möglich sein sie zu sehen.
Lasst uns nur vorläufig es
so einstellen, damit wir sehen können.
So, wir sehen die verschiedenen
Generationen und die...
Populationen wachsen.
Mann kann sehen wie die Farben sich ändern.
Dass sagt uns, dass die
verschiedenen Generationen vorbeikommen.
Wir können eine dieser Farben hier inspizieren.
Da sind nun viele Schildkröten.
Lasst uns inspizieren: 20.000 Schildkröten.
Wir sind nur bei der 12. Generation
angekommen, aber wir haben schon über
20.000 Schildkröten ausgebrütet,
weil so exponentieller Populationswachstum
funktioniert, richtig?
So, o.k.!
Nun, lasst uns nachsehen, wir lassen die
Eltern sterben.
Nun, der Sinn der Sache ist,
dass wir eine Art Einschränkung brauchen.
Eine Art Sache, die es schwierig macht,
sodass es keine unlimitierte Reproduktion
geben kann.
Eine Weise dies zu tun, ist...
die einfachste Weise dies zu tun, ist...
...ist eine Situation zu kreieren, in der
Populationen oder Individuen sterben,
abhängig von wie überfüllt
die Konditionen sind. So Eltern sterben.
Nun, lasst uns das "mit der Natur konkurrieren"
("compete with nature") nennen.
Dies ist eine Idee von der Evolutionsbiologie,
dass Individuen miteinander konkurieren.
und zudem konkurrieren sie mit
ihrer Umgebung in einer bestimmten Weise.
Und dies ist ein Fall in dem sie
irgendwie miteinander konkurrieren,
für Raum, aber sie sind
auch gleichzeitig ihre Umgebung.
Ich werde das ändern. Ich mag das nicht.
Ich werde sagen:
"konkurriere für Raum ("compete for space").
O.k., so...