hoy vamos a hablar de dos versiones interesantes acerca de cómo usar los MBA y agregar componentes adicionales; el primer caso del que vamos a hablar es el de la "Simulación participante", que es la habilidad que tienen los seres humanos de interactuar con los MBA; el segundo caso del que vamos a hablar es el que mezcla los MBA con los MSD, que es una forma diferente de modelizar; empecemos por la "simulación participante". La simulación participante es la idea de que se puede crear una simulación que posee tanto agentes humanos y agentes simulados que se encuentran operando lado a lado; en particular en NetLogo esto está implementado por intermedio del protocolo HubNet, que vamos a explorar un poco cuando lleguemos a los ejemplos; por ejemplo en el modelo de las enfermedades del HubNet, uno puede automáticamente tener a los agentes de la enfermedad o a los factores de la enfermedad dando vueltas y luego se puede tener a algunas personas que estén controladas por otros humanos dando vueltas también y se puede ver como interactúan entre sí o tenemos un juego que se llama el juego de Rupier, en ese caso se pueden tener personas tomando decisiones y observar que dinámicas se aplican. Cuando creamos una arquitectura basada en HubNet, lo que hay que recordar es que la arquitectura básica tiene a una computadora funcionando como un servidor y que las otras computadoras tienen que estar en la misma red de área local (LAN); otras computadoras o terminales se conectan a esta computadora en una arquitectura del tipo cliente - servidor en este caso en particular generalmente son máquinas diferentes, y entonces cada uno tiene su propia máquina; se pueden tener varios clientes en la misma máquina pero se puede tener también, si uno está jugando y configurando todo uno mismo simplemente se puede usar una máquina sola una sola computadora para el cliente y el servidor hay básicamente tres pasos que se necesitan programar; 1) hay que iniciar el HubNet, ya hablaremos de cómo se hace y cómo funciona; 2) hay que "escuchar" a los clientes, uno puede preguntar si se recibe el mensaje y si lo hace se puede capturar ese mensaje; 3) se debe procesar ese mensaje y hay un número de diferentes mensajes que se pueden procesar, algunos estándares son: HubNet entrada, HubNet salida, que indican si el cliente está ingresando a la simulación de HubNet o está saliendo; la fuente así se puede conocer cuál es la fuente de los mensajes; la etiqueta, se pueden adjuntar etiquetas y ver cuál es la etiqueta del mensaje que se está mandando A veces uno hace esto mapeando a un cliente particular en el mundo del HubNet, las tortugas de nuestro modelo, por ejemplo en el modelo de las enfermedades cada cliente está representando a un ser humano que se mueve por allí y que en potencia puede ser un hospedador de la enfermedad a medida que se mueve y esto se consigue configurando las variables de las tortugas, creamos un ID para cada uno de los diferentes agentes humanos que sea coincidente con el ID del HubNet; se agrega alguna forma programática de enviar los mensajes desde el servidor a los clientes, esto sirve si queremos alguna retroalimentación, si va en la dirección adecuada, diferentes clases de elementos, cuán bien lo está haciendo en el juego y entonces podemos hacer que el HubNet envíe esos mensajes uno puede también configurar lo que cada cliente puede ver y esto se puede hacer o bien forzando la mirada del cliente para que siga a un cliente en particular en el gráfico del HubNet o haciendo lo que se denomina anulación de cliente, que implica bloquear partes de la pantalla así el cliente, sólo puede ver algunas zonas en particular no podemos ver todas las formas posibles pero lo que sí quiero hacer es usar en los próximos instantes el modelo de la enfermedad, para mostrarles paso a paso como funcione en verdad en el modelo ok, ya abrí la biblioteca de NetLogo, en verdad re abrí el modelo de las enfermedades, que tenía en el fondo, pero sólo para mostrarles cuál es, si miran en la biblioteca de modelos y bajan hasta la sección se que se llama "actividades en HubNet", ahí van a ver un montón de modelos pero el que vamos a ver hoy es el de las enfermedades, y es el que vamos a entender; lo abrimos, ustedes van a notar dicho sea de paso, que levanta un centro de control del HubNet y que está aquí ese es, esencialmente, el control del servidor para el modelo el modelo de las enfermedades se usa para dar clases, por lo que viene con instrucciones muy detalladas para poder conectarse, verlo en profundidad y leer el modelo, pero yo los quiero llevar hacia algo más específico hablemos un poco de cómo se ve, ahora mismo si presionamos en "setup", no pasa nada, porque tenemos que agregar un cliente al modelo, no hay nadie que pueda tener el control, podemos agregar clientes en una de dos formas, podemos crear un cliente local, y este es nuestro propio espacio local para hacer pruebas y no se va a ver de ninguna otra computadora o bien si tenemos otra computadora podemos ir a la misma ventana de NetLogo, en la carpeta de NetLogo y encontraremos el cliente de HubNet y podemos cargarlo y si estamos en la misma red local podemos escribir el nombre y la dirección del servidor que tenemos en la ventana del centro de control del HubNet una vez que hicimos eso, ya puedo agregar, tengo dos clientes locales y habilitados ahora puedo hacer click en "setup" y clickear en "go" y lo podemos ver, en el modelo, dicho sea de paso si volvemos vemos que los dos están ahí y ahora puedo en verdad mover estos agentes, usando, haciendo click, ok, o pudo usar las teclas "a", "y", "k", "o", dicho sea de paso, esta es una característica del NetLogo que está muy buena, se hace configurando los botones particulares y entonces puedo moverlos si voy aquí, puedo hacer exactamente lo mismo, ahora bien con dos de nosotros no se pone interesante, podemos agregar más y veremos como se mueven al azar por el mundo y finalmente para tener una verdadera sensación de enfermedad podemos infectar a uno de los agentes y podemos intentar, todo lo que podamos, evitar esa infección, evitaremos el agente amarillo y así sucesivamente y podemos explorar como el número de androides afecta la simulación y como la gente interactúa con este problema de navegación de la enfermedad este es el modelo básico, un modelo muy simple, ups el cliente se acaba de infectar, pero pueden tener una idea de que es lo que te permite hacer el HubNet déjenme parar esta simulación e ir al código veamos el código, esperen que apago el "go" y en el código actual, lo primero que voy a buscar es lo que se llama la rutina de arranque y si recuerdan de otras discusiones, "startup" corre cuando el modelo arranca, sin importar qué botón se apretó y lo primero que hace es ejecutar este comando para indicar que se va a usar la plataforma de HubNet, re asignar y todo luego hay que configurar las variables, configurar el comienzo rápido, así todo puede funcionar, eso es todo veamos ahora qué es lo que en verdad está sucediendo en la vida diaria; la primera cosa que se nota es listen-clients (escuchar-clientes), de la que ahora vamos a entrar en detalle, pero luego viene el comando every 0.1; every 0.1 significa que se va a programar algo para que suceda cada 0.1 segundos y por cada décima parte de un segundo, se ejecutará esta función wander (deambular) en los androides y luego vamos a contar cuántos están enfermos y cosas así; pero la parte importante para el HubNet es esta función del cliente que escucha, veámosla un poco qué es lo que hace listen-clients? lo que hace es: si hay una espera masiva, si es verdadero, entonces atrape el mensaje y si el mensaje llega a un estudiante, luego remueva a ese estudiante de la clase, de otro modo lo estándar es que se remueva al estudiante de la simulación, pregúntale al estudiante, cuál es su ID de usuario y si es coincidente con el mensaje del HubNet otra vez los mensajes entrantes del HubNet pueden crear un nuevo estudiante, va a ser coincidente en el ID con la fuente en particular de ese ID Y luego, encuentre esos estudiantes y luego ejecute este comando, por supuesto ahora buscamos el comando de ejecución este comando de ejecución dice que si el comando dice UP (arriba), entonces execute -move, DOWN, execute-move 180 y así sigue uno puede cambiar la apariencia y que haya otro personaje; lo que hace el comando execute-move es direccionar hacia donde estaba direccionado, arriba es 0, derecha es 90, abajo es 180, izquierda es 270; todos los agentes en el Hub de la enfermedad no son rotables, es decir que no rotan en función de seguir la dirección sólo se mueven en esas direcciones, hay también un envío desde el HubNet, que vuelve al cliente y que indica donde los agentes están en verdad, el punto azul está en 2, recuerden que 0-0 es el medio, 2, -5 esto es un ejemplo de cómo se puede usar todas las características del HubNet juntas y en este modelo en particular hay una cosa más que quiero chequear básicamente dice que si estoy infectado entonces tengo que dispersar la enfermedad si hay otras tortugas aquí puede que caiga enfermo, basado en la potencia de la transmisión. Les dí entonces un rápido pantallazo sobre cómo se puede configurar las simulaciones del HubNet, si es que están interesados en ello, tengo que recomendarles, si están interesados, que en verdad buceen en alguno de los modelos previos como el de la enfermedad para entender qué está sucediendo, esto fue todo sobre la simulación participante