4 Taller 4: Buscando Hongos
4.1 Taller 4: Setup
Construiremos de manera incremental un modelo para responder a la siguientes preguntas:
- ¿Cuanto tiempo demoran un conjunto de agentes recogiendo hongos en un bosque?
- ¿Mejora el tiempo si los agentes tienen memoria?
- ¿ y si los agentes pueden compartir la memoria con otros agentes?
La metodología que usaremos será ir construyendo modelos de manera incremental y probarlos paso a paso
Incialmente usaremos dos tipos de agentes en nuestro modelo: buscadores y Hongos:
breed [buscadores buscador] ; agentes que recojen hongos
breed[hongos hongo] ; hongos
A los agentes les colocaremos color verde y forma de flecha, a los hongos color blanco y forma de círculo
Configuremos el mundo (setup), colocaremos simplemente buscadores y hongos de manera aleatoria:
to setup
clear-all
setup-hongos
setup-buscadores
reset-ticks
end
to setup-hongos
ask n-of num-hongos patches
[
sprout-hongos 1
[ set shape "circle"
set color white
]
]
end
to setup-buscadores
ask n-of num-buscadores patches
[
sprout-buscadores 1
[
set shape "arrow"
set color green
]
]
end
El setup limpia el mundo inicialmente (clear-all), luego llama dos procedimientos (setup-buscadores y setup-hongos) que se encargaran de colocar los buscadores y hongos en el mundo, finalmente colocamos cronómetros en cero (reset-ticks).
(Nota: El número de buscadores para colocar en el mundo está determinado por el deslizador num-agentes y un número de hongos por el deslizador num-hongos)
Finalmente debemos definir en la interfaz el botón setup y los deslizadores y el modelo queda de la siguiente manera:
Ensaye el modelo varias veces para verificar que funciona correctamente.
4.2 Taller 4: Go
Pasamos ahora a deginir la interacción del modelo (go) inicialmente cada buscador va recorriendo el mundo al azar (wiggle) y cuando encuentre un hongo lo recoje (die), todo esto mientras exitan hongos en el mundo (any? hongos):
to go
if not any? hongos [stop]
ask buscadores [ recoja ]
tick
end
El procedimiento recoja es el siguiente:
to recoja
if any? hongos-here
[ ask hongos-here [die]]
wiggle
end
to wiggle
move-to one-of neighbors
end
si el agente encuentra hongos en su parcela los recoje (el hongo “muere”), sino se mueve al azar (wiggle). Esto es todo.
Falta solo definir en la interfaz los botones botón go (continuamente) y el botón step (paso a paso):Ensaye el modelo varias veces para verificar que funciona correctamente.