Hola y bienvenidos de vuelta, en esta unidad vamos a comenzar a trabajar con una red para el modelo y el desafío que les dejé al final del último video la otra vez entonces hay varias formas en las que se puede hacer, ahora mismo si miramos el modelo, sólo para refrescar la memoria, básicamente adoptan basados en el patrón general de adopción, esa no es la forma más usual de los modelos basados en agentes si queremos evitar la información global, pero la otra cosa es que sabemos que en realidad la gente no mira a todas las personas que adoptaron para poder tomar una decisión, sino que miran a sus vecinos y a su red social; queremos construir, empezar a escribir el código que nos ayude con esa red social, entonces la 1ra cosa que hacer es en verdad agregar una red entre los agentes, entonces si vamos arriba a la rutina de setup, podemos ir debajo de donde creamos a los agentes y luego de crearlos, ya que necesitamos que los agentes anden por ahí y los conecten podemos agregar algún código crear una red de agentes, podemos agregar algún código que pueda crear esa red y lo que vamos a hacer es pedirle a cada tortuga que cree un vínculo con uno de las otras tortugas y una de las razones por las que amo NetLogo es que con esta línea ahí, se ve justo como uno lo quiere el comando es create link with y crear el vínculo con crea un vínculo no direccionado genérico entre 2 agentes ustedes pueden también crear vínculos desde o hacia y así crearlo directos, ustedes también pueden crear vínculos de linajes, los links son agentes igual que las tortugas o los parches y entonces uno puede tener otros tipos de linajes en este caso vamos a usar lo estándar, lo que viene por defecto, "create-link-with" otras tortugas, otras toman un conjunto un conjunto de agentes y remueve la tortuga actual de ese conjunto de agentes, entonces esto quiere decir que vamos a tener a las tortugas más allá de la tortuga llamadora y va a elegir alguna al azar, entonces va a ser uno de los agentes que no es quien llama veamos si funciona, setup, luego go, setup go, podemos ver la red y una cosa, dicho sea de paso, que quiero que veamos antes de comenzar esto, pero si ustedes notan alguna diferencia se debe a que en su mundo está prendido el "world wrapping" así que lo pueden apagar, si es ese el caso, como acá, a veces los vínculos dan la vuelta al mundo, dejenme decir que es difícil de ver quienes son los que comparten el vínculo, por lo que les recomiendo, para este modelo, que apaguen el "world wrapping", y eso va a hacer que los vínculos queden dentro del mundo y de ese modo es mucho más fácil de ver creamos la red social en forma correcta, pero que pasa si queremos verificarla? es siempre importante que se verifique cada uno de los pasos, una cosa que podemos hacer es verificar si cuántos vínculos hay ahora bien, hay 50 agentes en el modelo, cada uno de ellos posee un vínculo, por lo que esperamos que haya 50 vínculos, ok? veamos, mostrar la cantidad de vínculos oh! hay 47, bueno, puede que haya sucedido algo, podemos verificar de nuevo, vamos a hacerlo de nuevo, ahora hay 49 48 49 50, al menos en este caso anduvo bien, por qué a veces no tenemos los 50 vínculos? bueno, tiene que ver con una de las cosas que estamos haciendo en el código y en el código, si lo miramos, pedimos que cada tortuga cree un vínculo con alguna de las otras tortugas, ahora puede que 2 de las mismas tortugas se elijan entre sí, entonces si la coincidencia es 0 entonces crea un vínculo con la tortuga 1 y la tortuga 1 decide crear un vínculo con la tortuga 0 debido a la forma en que NetLogo funciona en vez de crear 2 vínculos, que son no direccionados, en verdad la 2da vez que crea un vínculo desde el llamado, básicamente falla en forma silenciosa no te avisa que no se creó ese vínculo; en la mayoría de los casos eso es lo que queremos hacer, está bien, pero es algo de lo que tenemos que estar precavidos si es que estamos esperando que se realice exactamente al mismo momento cada vez esa es una forma sencilla de crear una red aleatoria, pero aún no están adoptando con base en la red social, ese es el siguiente paso, ahora vamos a ver como adoptar basados en la red social, podemos ir al código de la adopción y no queremos cambiar el de la influencia global, eso pasa sin importar la red social, pero queremos cambiar la influencia social, acá tenemos que se adopta en función de la red social y podemos decir que desde, basado en la red el código que está acá, que cuenta las tortugas que adoptaron, dividido por la cantidad de tortugas; en vez de basarnos en todas las tortugas del modelo, ahora queremos basarnos en nuestros vínculos en nuestros vecinos; en NetLogo hay una forma sencilla de hacer eso, 1ro que nada podemos obtener el número de vecinos que tenemos, simplemente diciendo que las tortugas del vecindario sean aquellas con las que está vinculada y las tortugas vinculadas es un comando nativo que reporta todas las tortugas que están conectadas por los vínculos y por supuesto que hay vínculos de vecinos entrantes y vínculos de vecinos salientes, todas esas clases de cosas; entonces 1ro contamos las tortugas, pero ahora el total de los vecinos pero aún tenemos que modificar el numerador de nuestra división que ahora es el total de tortugas que adoptaron, entonces cuando queremos decir que los vecinos que adoptaron que sean aquellos que están vinculados con aquellos que adoptaron todos los vínculos de los vecinos que adoptaron y que aún están en el conjunto de agentes, entonces tenemos que para hacerlo funcionar tenemos que decirles, que cuenten el número de vecinos que adoptaron; podemos buscarla en esta variable local que está acá, el contador ya está ahí y no acá abajo, todo está bien esa es simplemente la forma en que escribí esta versión particular del modelo ok ahora deberíamos tener a la influencia social ya funcionando veamos si es así y seguro, eso parece y parece modificar el patrón de adopción, ok de una curva tipo S anteriormente, ahora vemos una curva más lineal y eso se debe a que tenemos mucha menos influencia que está sucediendo en diferentes modos, ok debido a que siempre que hay una influencia de una red social eso implica que no es toda la red y entonces queda que la evolución es un poco diferente en su dinámica; más aún se ve que es un poco más largo el tiempo que se necesita para completarlo, en general vemos que suele tomar 20 ticks antes de verlo, ahora vemos que es 46; eso es también típico, entonces el período en el que nuestro código está corriendo en forma correcta, quiero mencionar que hay 2 cosas que si quieren pueden hacer por ustedes mismos o usar este modelo, una será, ustedes saben, como ya les dije, ustedes crean vínculos atrás y adelante, es decir que crean vínculos no direccionados, una forma de hacerlo sería agregar un verificador que diga, no cree un vínculo con una tortuga que ya forma parte de tu vecindario de vínculos y les voy a dejar a ustedes que escriban ese código, no es muy complicado, es fácil de hacer, pero puede que quieran mirar un poco, la otra cosa es que aún cuando no podamos pensar en la influencia social está funcionando basados en que el modelo cambia un poco, no tenemos realmente una prueba fuerte, entonces si quieren yo sugiero que vean a la infuencia social y a la forma en que es calculada y ustedes lo pueden hacer fácilmente inspeccionado a los agentes y figurándose como se puede calcular y cuando no ok, esto es todo por ahora y cuando vuelva quiero mostrarles como modificar este para el modelo próximo y en el modelo próximo vamos a mirar hagamos setup ahora y veamos como la red completa se destruye, ok? pero que pasa si queremos que la red permanezca constante? así podemos experimentar con la misma red pero con diferentes tipos de difusiones, vamos a jugar un poco en el próximo modelo y en el modelo que le sigue vamos a ver las limitaciones del modelo, es una red completamente aleatoria, y sabemos que en verdad no lo es, las redes sociales son diferentes de las redes aleatorias y entonces en el modelo que le sigue vamos a jugar un poco agregando una red social que sea más realista, ok gracias ok acá tenemos el objetivo para que ustedes puedan modificar, quiero que se den cuenta de como agregar un nuevo botón a la interfaz que les permita correr sobre la misma red diferentes tipos de difusiones en diferentes tiempos esto les permitirá mantener la red constante y simplemente modificar las propiedades de la disfusión y observar como eso afecta el proceso de difusión esto es algo que comunmente se hace en los Modelos Basados en Agentes, mantener ciertas cuestiones constantes, mientras se modifican otras entonces algunas veces no querrán destruir el mundo en forma completa, sino destruir partes del mundo y creo que ustedes pueden hacer eso y cuando vuelva les mostraré cómo lo hice