El procedimiento de reproducción, va a
pedir a las tortugas,
crear copias de sí mismas.
Utilizamos el procedimiento de incubación,
para reproducir tortugas,
pedimos a cada tortuga que incube 2 tortugas.
Por defecto, las nuevas tortugas tendrán
todos los atributos de sus padres.
Hacer un seguimiento de las generaciones,
implica dar a las tortugas una variable personalizada.
Llamamos a estas tortugas, "own variables" (variables propias).
Voy a llamar a una de éstas una "generación".
Así, cada vez que creemos una tortuga,
automáticamente tendrá una variable llamada "generación".
...................................
Estas pequeñas crías, que arrivan a la escena,
van a tener ésa variable también.
Y automáticamente, ésta tendrá el mismo valor que la de los padres.
Estas crías son la próxima generación, por lo que
queremos que establezcan su generación también
Aquí tenemos que usar una generación.....
a "mí mismo" más uno.
Creo que esto debe estar entre corchetes.
Básicamente, estamos estableciendo los......
comandos aplicables a las crías recién llegadas.
La única cosa diferente que quiero hacer con ellos,
es establecer su "generación",
dondequiera que esté la generación "mí mismo".
"Mí mismo" es la que está fuera de estos
corchetes;
básicamente, sólo incrementando éso.
No sé si estos corchetes deban estar ahí.
Puedo hacer dos cosas:
Puedo ver la ayuda rápida para "mí mismo"...
Sí, efectivamente,
debe estar entre corchetes.
Esto explica la diferencia entre el "yo"
y "mí mismo".
Esto debería funcionar.
Vamos a incubar dos...
configuramos...
Y sólo para que podamos verlos, establezcamos su color a rojo.
Llevemóslos 3 hacia adelante...
veamos si esto reproduce las cosas peor.
Tratemos de volver aquí.
Comentaré esto por ahora.
Así, podemos probar el código que tenemos hasta ahora.
Ahora, "configuramos", y "damos un paso".
Me parece que...
cada tortuga tiene...
Hagamos una población más pequeña para que podamos ver.
Establezcamos sólo 5 tortugas.
"Damos un paso", .................
oh sí, ya veo...
Supongo que ellos heredaron también, la dirección de los padres.
A veces es confuso cuando se hacen este
tipo de modelos, porque no se sabe
exactamente cuántas tortugas se tienen.
Entonces, se puede hacer una cosa simple, usar un comando de conteo:
"Show count of turtles" (mostrar conteo de las tortugas).
A mí me parece que hay justo 10 tortugas o algo así,
pero cuando miramos, de hecho hay 15,
sucede que hay tortugas que se traslapan.
Otra manera de hacer esto es,
hacer clic en ellas,
así podemos ver que las tortugas 11 y 12 coinciden ahí.
La dirección de estas crías heredada de su padre está causando el traslape.
Arreglaremos éso después, no tenemos que preocuparnos
de ello por ahora.
Así, la reproducción funciona.
Podríamos querer ver si el negocio de la generación funciona.
Entonces, echemos un vistazo de regreso a la interfaz.
Si inspeccionamos esta tortuga, vemos
que debería tener una variable "generación".
No la veo...
Veamos si ésta la tiene.
Bueno, bueno, no está allí.
Algo ha salido mal.
Comentemos esto de nuevo...
ejecutemos... "configuración"...
Inspeccionemos esta tortuga...
Efectivamente, tenemos la generación.
Ésta es la generación 0.
La tortuga 3 es de la generación 0.
Al "dar un paso", con un poco de suerte,
será de la generación 1.
Así que... estamos incrementando la generación.
La generación era 1, 0 en los intervalos originales.
Nuestra característica de la generación está trabajando.
Bien, ahora vamos a indicar a los padres que mueran.
Vamos a dar seguimiento a la generación que nos interesa.
Éso requiere un tipo de función global,
entonces, llamemos a una variable global
para la generación actual.
Cada vez que "damos un paso",
incrementamos la generación actual.
Esto nos permitirá hacer un seguimiento
de quién y cuándo debe morir.
Cada vez que "damos un paso", tomamos este número,
comenzando en cero...se agrega uno...
se hace que mueran los padres.
.............................
Se les pide a las tortugas con ...................
generación...............
menor que...............
o igual que la actual, ...
crear conjuntos de agentes parciales.
Queremos hablar sólo de las tortugas que
tienen una "variable de generación personal",
Es decir menor que la generación actual,
Tal vez sólo quiero decir menor que....
Bien ,entonces, les solicito que mueran.
Volvamos aquí.
"Configuramos", "damos un paso", .......
parece que...
En lugar del color rojo,
usemos un número aleatorio....
hasta 100.
Eso significa que serán diferentes colores.
Y nos movemos hacia adelante.....
Ahora debemos poder verlos, sólo temporalmente.
Estamos viendo las diferentes generaciones.......
Las poblaciones están creciendo,
y se puede ver que los colores están cambiando.
Las diferentes generaciones están llegando,
podemos inspeccionar una de estas tortugas,
ahora hay muchas tortugas.....
inspeccionemos la tortuga 20,000...
estamos sólo en la generación 12,
pero hemos incubado más de 20,000 tortugas,
esto corresponde a la forma en la que trabaja el crecimiento
exponencial, ¿cierto?
Bien, tenemos que los padres mueren...
Necesitamos algún tipo de restricción.
Algo que lo haga que sea difícil,
así no tendremos crecimiento ilimitado.
Una manera fácil de hacer esto es:
crear una situación donde individuos mueran,
dependiendo de la cantidad de éstos y de las condiciones.
Entonces, los padres mueren....
y ahora llamemos a esto "competir con la naturaleza".
"Ésta es una idea de la biología evolutiva,
individuos compiten entre sí,
y también compiten de alguna manera
con el medio ambiente.
Éste caso es una especie de
competencia entre sí por el espacio,
ellos son el medio ambiente también.
Voy a cambiar el nombre por
"competir por espacio".