hemos hablado sobre los componentes principales para el diseño de un modelo
pero vamos a hablar sobre la forma de interactuar con tu modelo
y aquí es donde entran las interfaces del observador y del usuario
y para poder diseñar correctamente, es importante saber donde colocar los objetos
como los deslizadores, a veces puede ayudar que consultemos la guía de NetLogo
de estilo, que por ejemplo, nos dice que si necesitamos modificar algo antes de
arrancar, entonces tiene que estar arriba, a la izquierda, antes del botón de "setup"
y si necesitamos algo que se utilice luego de que el modelo está corriendo, puede
estar debajo y a la derecha
pero también necesitamos pensar, cual es la visualización del modelo
y Wilensky y yo mismo y Daniel Kornhauser quien es el autor principal en este texto
escribimos un texto sobre como crear buenas visualizaciones en un MBA
y así aparecen las 3 cosas principales en las que hay que poner el énfasis
y en muchos sentidos esto es verdadero para cualquier visualización científica
una es, simplificar la visualización, hay que remover cualquier tipo de desorden
explicar los componentes, tenemos que estar seguros de que son obvios para
alguien que nunca vio nuestro modelo anteriormente y no sabe que es lo que cada
componente representa, en NetLogo se pueden agregar notas pequeñas en nuestra
interfaz que pueden ser de gran ayuda en este sentido
por último construir el modelo contando un tipo de historia, en algún sentido,
uno quiere explicar algo a alguien, o queremos explorar algún fenómeno en
particular
el modelo debe asegurar que esa historia es obvia, si no es obvia, entonces
necesitamos pensarla un poco más acerca de como el modelo debería ser construido y
como podemos enfatizar ese punto aún un poco más
recomendamos que tengamos esto en mente después de construir el modelo, publicarlo
y mostrar los resultados asombrosos al mundo
pensemos en simplificar, explicar y enfatizar
y si usamos estos tres componentes podemos crear mucho mejores visualizaciones
una última cosa que les quiero comentar y que no tiene nada que ver con las
visualizaciones de la interfaz, es que a veces uno no quiere trabajar con la
interfaz visual
en vez de eso, uno quiere trabajar con una versión batch o una versión de corrida
descabezada y que es lo que queremos decir con esto
la forma normal en que trabajamos con NetLogo es lo que llamamos el método
interactivo
donde interactivamente controlamos la interfaz directamente a través de la
interfaz gráfica del usuario
pero podemos hacer también lo que llamamos la interacción batch, ya experimentamos
con esto cuando corremos el espacio de conducta estamos en realidad realizando
una interacción batch con el modelo
esto puede ser hecho mediante la GUI, pero podemos hacerlo sin usar la GUI, podemos
hacer algo que se llama corrida descabezada y esto significa esencialmente
que usamos un terminal o una línea de comando y le podemos decir a NetLogo que
corra experimentos, algo que ya vimos en el modelo, lo corre por su cuenta y nos
muestra los resultados en un archivo csv para que lo podamos analizar
esta es una forma de correr modelos si es muy caro en términos computacionales y lo
queremos correr múltiples veces y múltiples simulaciones, debido al hecho
que básicamente estas corridas
no se preocupa por el flujo del código en NetLogo, la parte del código de las
visualizaciones
y esto significa que el modelo corre en forma mucho más eficiente y más rápido
estas son cosas importantes para tener en cuenta cuando pensamos en cómo organizar
nuestro modelo y cómo lo queremos correr
uno puede pensar, esto suena muy bien, pero cómo hago para correr algo en forma
descabezada? y eso es lo que vamos a hacer
para poder encontrar más información sobre una corrida descabezada, les recomiendo
es que vayan al manual de NetLogo, hagan click en "espacio de conducta"
es parte del código del "espacio de conducta"
y si bajan casi toda la pantalla, encontramos la sección denominada usuario
avanzado, "corriendo desde la línea de comando", que a veces se le dice corrida
descabezada
esto implica correr una clase de java que no forma parte de NetLogo, que se llama
"headless.Main"
y aquí
lo único que tenemos que hacer es ir a una línea de comando
en las mac, tenemos lo que se llama terminal de comandos
vamos a donde tenemos nuestro código
y en nuestro código, podemos decirle que corra un experimento en particular,
tenemos que definir el experimento en el espacio de conducta antes
pero si está ahí
entonces rápidamente podemos acceder a nuestro código, de hecho, déjenme que les
muestre rápidamente un ejemplo
ok, como les dije ustedes deben estar pensando: esto suena genial, dejemos que
veamos como correr el modelo descabezado
pongo mi terminal aquí y veo la línea de comando en la PC
necesito ir a donde el modelo se encuentra en mi caso quiero
ver el modelo de las redes y voy a jugar un poco con el modelo de mundo pequeño
dejo aquí el manual del usuario porque
a veces me olvido exactamente cuales son los diferentes parámetros
siempre tiendo a copiar esto en un bloc de notas, yo uso evernote
agrego los parámetros, ya lo hice, entonces ahora copio y pego el comando
que quiero
es java, el número de la memoria, cómo se codifican los archivos
necesitamos darle la ruta a la clase, que es donde NetLogo guarda el archivo jar
generalmente está en este lugar, barra aplicación barra netlogo 5.3.1 barra java
barra netlogo.jar
si lo modifican y se encuentra en una carpeta diferente
esto sólo nos dice que lo usemos como el componente principal, luego tendremos que
especificar el modelo, y tendremos que especificar el experimento y tendremos que
especificar la salida
por alguna razón
el código se rompió, hice lío en algún sentido
vuelvo y lo corrijo rápidamente, modificando la línea de comando
es un poco molesto volver para atrás
puedo ver que es tlogo en vez de netlogo
esto correrá el experimento descabezado, no hay ventanas que nos lo muestren o algo
parecido y salvará los resultados en este archivo rewire.csv
lo puedo abrir al rewire.csv, que se levanta en un excel pero uno puede hacer
lo que quiere y podemos ver los resultados
así es como hacemos un experimento descabezado
es muy útil para correr los modelos si lo queremos hacer múltiples veces