Ok, aquí tenemos el modelo de las hormigas de la librería de modelos de NetLogo, dicho sea de paso, está bajo "Biología", en el menú de la biblioteca, aquí está en cualquier caso, abrimos el modelo que crea una colonia de hormigas en el medio donde está esa hormiga roja en el medio de ese punto púrpura y crea tres fuentes de comida alrededor del modelo y entonces cuando lanzamos a las hormigas al mundo, ellas empiezan a caminar en forma aleatoria y en esa caminata aleatoria ellas tratan de encontrar comida y cuando encuentran la comida, que están representada por las tres pilas, ellas levantan la comida y vuelven al nido y cuando vuelven al nido ellas dejan un rastro de feromona en el piso, lo cual indica que han encontrado algo de comida y eso significa que podemos explorar una serie de conductas diferentes de las hormigas, cómo lo hacen, y esta feromona está basada en un químico que las otras hormigas pueden seguir hacia la fuente de comida una cosa interesante es que las hormigas aparentemente merodean por todo el ambiente local y mantienen la traza en muchos sentidos, lo más cerca posible del nido y de hecho, pueden sortear obstáculos que se les ponen en el camino en muchas formas interesantes, de cualquier forma, presionamos el botón "go" y vemos que esta clase de aleatoriedad para recolectar y consumir comida, termina en patrones muy interesantes de conducta; primero que nada podemos correr el modelo tantas veces como querramos y las hormigas, casi con certeza siempre hallarán la fuente más cercana de comida y volverán suavemente al lugar de donde salieron y encontrarán la próxima fuente de comida y la siguiente luego de ello la conducta de las hormigas hace que se encimen unas con otras debido a que ellas creen que aún hay alimentos, por las feromonas que emanan, que ellas dejan y esto sucede una y otra vez cuando corremos el modelo y en verdad resulta que este algoritmo de hormigas, si queremos, para encontrar la comida y encontrar los caminos cuando no se conocen los mejores es muy óptimo en situaciones de espacios muy grandes, de hecho se utiliza en lo que se llama el algoritmo de optimización de la colonia de hormigas, para que haga cosas como encontrar el camino más veloz para atravesar una red y en los sistemas de redes computacionales este modelo de conducta nos lleva a un montón de patrones interesantes ahora, qué tiene que ver esto con la programación orientada a objetos? en este caso particular no pareciera mucho, pero lo importante aquí es que las respuestas requieren de muy poco conocimiento global ellas mantienen la traza de las rutas, cada hormiga en particular mantiene la traza hacia el nido, pero en realidad no mantienen la traza de a donde van a conseguir la comida o algo por el estilo ellas únicamente dejan en el piso el rastro de las feromonas y esas feromonas influencia las decisiones de otras hormigas que así encuentran el camino a la comida, esto, dicho sea de paso, es llamado a veces la interacción estigmergia este es el proceso de comunicarle a alguien más a través del medioambiente y las hormigas hacen esto en forma muy satisfactoria en este caso en particular la razón por la que creo que esto es relevante, es debido a que es un ejemplo muy sencillo de lo que sucede cuando se puede incorporar este dato en una función dentro de una entidad, las hormigas son entidades individuales que tienen sus datos propios, su propio conocimiento acerca de como es el mundo, ellas no comparten ese conocimiento con nadie más directamente, ellas lo comparten en forma indirecta, a través del medioambiente, ellas actúan sobre el medioambiente, entonces hasta ese punto, creo que es un buen ejemplo de cosas como la programación orientada a objetos y el modelo de actores de programación, yo creo que tienen muchas de las mismas propiedades dicho sea de paso, este es uno de los pocos ejemplos en NetLogo que usan una interesante característica que voy a mencionar rápidamente, hay una primitiva déjenme ver si la encuentro rápido, que se llama "difusión" y hemos hablado de la difusión bastante, cuando hablamos de las interacciones del medioambiente y lo que hace esta difusión es, difundir, esperen que bajo rápido, perdón acá está otra vez "difusión" esencialmente toma como entrada una variable y difunde esos valores a los vecinos alrededor y entonces dispersa tu difusión, lo que está sucediendo es que la celda donde la hormiga tira la feromona, esa celda se dispersa a sus vecinos y esos vecinos dispersan lo poco que tienen y así sigue y sigue hasta que queda en 0 y entonces se dispersa a partir de esa concentración y a lo largo del tiempo, la feromona en un lugar en particular empieza a decrecer pero entonces, la feromona en los lugares alrededor se incrementan un poco, en base a la feromona en esa posición eventualmente todo se dispersará, pero funciona muy bien en la dispersión este es un modelo muy interesante, vimos algunos principios de la programación orientada a objetos y algunos principios del modelo del actor, en lo que ya es un clásico de los MBA, entonces, aquí vamos