http://www.redcientifica.com/gaia/

http://www.redcientifica.com/gaia/ejv1_c.htm


Ejemplos de Vida. Hormigas y Plantas

Manuel de la Herrán Gascón



Hormigas y Plantas

En este programa veremos un mundo de dos dimensiones en el que conviven hormigas y plantas. Las plantas crecen cuando son regadas. Las hormigas pueden comer plantas, moverse, regar plantas, pelearse y reproducirse.

Hormigas y Plantas

Pulse Comenzar para ver la evolución de las hormigas. Existen cinco tipos de hormigas que realizan una o otra acción con determinada probabilidad en función de si si encuentran con otra hormiga, una planta, ambas o ninguna. Estas probabilidades se pueden modificar.

Por ejemplo, aunqe existan 5 colores para los 5 tipos de hormigas, podemos hacer que los cuatro primeros tengan las mismas probabilidades, lo que sería igual a tener sólo dos tipos de hormigas.

Las hormigas ganan energía cada vez que comen una planta. Cuando una planta ha sido suficientemente regada, será comida por la primera hormiga que pase junto a ella. No hay límite en la cantidad de plantas que una hormiga puede comer.

Las hormigas pierden energía cada vez que se mueven, riegan, se pelean o se reproducen. Si una hormiga pierde toda su energía, muere. Por otra parte, cada cierto tiempo nace una planta espontaneamente.

El aspecto de la pantalla con las hormigas en movimiento corresponde con el proceso real que se produce internamente en la simulación. Es posible ocultar la visión de las hormigas para que el proceso sea más rápido.

En un combate, la hormiga ganadora se quedará con la mitad de la comida-energía acumulada por la perdedora. Además, cuantas más veces salga vencedora una hormiga, tantas más probabilidades tendrá de salir victoriosa de la siguiente pelea. Por ejemplo, si una hormiga tiene un probabilidad de ganar la pelea de 50, y la gana, la próxima vez la probabilidad será de 75, la próxima de 87,5. Para aumentar, se aumenta la mitad de lo que le falta para llegar a 100. Para dismuinuir, se disminuye a la mitad. Así pueden aumentar y disminuir hasta el infinito.

Si una hormiga no posee comida, la declaramos muerta. En caso contrario, la hormiga observa si existen plantas u otras hormigas a su alrededor. Si existen plantas comestibles, se las come. Después, podrá regar las plantas que aún no son comestibles, pelear o reproducirse con sus vecinos, o simplemente seguir paseando por su mundo virtual.

Es posible crear obstaculos en el mundo donde viven las hormigas y observar así diferentes poblaciones según las zonas.

En este programa tenemos 5 tipos de hormigas. La probabilidad de que una hormiga realice una determinada acción dependerá del tipo de hormiga y de los individuos con que se encuentre.

Cuando dos hormigas se reproducen, se crea una nueva hormiga con características similares a las de los padres. Por ejemplo, una hormiga de tipo 1 (roja) y una hormiga de tipo 5 (verde) generarán con gran probabilidad un descendiente de tipo 3 (naranja). Además, para que la sociedad no se estanque en un único tipo de hormiga, se permitirá, por ejemplo, que dos hormigas verdes produzcan una roja (mutación); eso sí, con una tasa cuyo valor se puede modificar y que normalmente será baja. La nueva hormiga nacerá en un punto libre cualquiera del mapa o en la primera celda más cercana a las hormigas progenitoras.

Hormigas y Plantas

Tipos de Hormigas

Estas y otras opciones se pueden modificar. Aunque existen varios ejemplos con opciones prefijadas, es posible modificar cualquier ejemplo, creando así otros mundos y otros comportamientos.

Esta tabla es en realidad muy sencilla. La hormiga roja es la más egoísta. Nunca riega, y cuando se encuentra con otra hormiga, se dedica a pelear o a reproducirse

La hormiga verde es la menos egoísta, no lucha nunca y se dedica a regar todas las plantas que encuentra a su paso. El resto de hormigas son términos medios entre estos dos extremos.

Es evidente que las hormigas del tipo verde son la base sobre la que se sustenta la sociedad. Es decir, si no hay quien riegue las plantas, éstas no crecen, la comida se termina y las hormigas mueren.

Probando las simulaciones con distintos valores nos damos cuenta de que hay algo que siempre se produce. Basta con ejecutar el programa dos o tres veces para verlo. ¿Que será?

Comportamientos cíclicos

En el mundo artificial de hormigas y plantas, la acción de "regar" es un acto que repercute en beneficio de la población completa, ya que cuando una hormiga riega una planta no se asegura que sea ella misma quien la coma después.

Una sociedad formada únicamente por hormigas rojas moriría rápidamente de hambre, ya que ninguna regaría las plantas. Una sociedad formada únicamente por hormigas verdes disfrutaría de gran prosperidad.

Pero en nuestra simulación siempre habrá hormigas de todos los tipos. Podrían aparecer hormigas rojas voraces y casi invencibles. Pero las hormigas rojas dependen de las demás, ya que son por definición incapaces de regar.

Existe un comportamiento cíclico en cuanto al número de hormigas de cada tipo y también entre el número total de hormigas y el número de plantas. Si en un primer momento hay gran cantidad de plantas, más tarde será alto el número de hormigas, ya que éstas podrán regar y comer, y alcanzar el nivel de energía necesario para reproducirse.

Pero al haber muchas hormigas, las plantas desaparecen devoradas por las hormigas. Más adelante, al haber muchas hormigas y pocas plantas, no existirá comida para todas, y el número de hormigas decrecerá. Una vez que hemos llegado al punto en el que existen pocas hormigas y pocas plantas, comenzará el aumento del número de plantas, repitiéndose el ciclo.

Estos procesos regulares se dan en la naturaleza, entre especies que son depredador y presa, y también en nuestra sociedad, en los conceptos de oferta y demanda. Por ejemplo, cuando cierto año la cantidad cosechada de un producto agrícola es muy pequeña, el precio sube, ya que el producto es difícil de conseguir. Este aumento del precio anima a los agricultores, que han observado la rentabilidad de este producto y por tanto el año siguiente se cultiva en mayor cantidad. El resultado es un exceso de producción que provoca que el precio baje. Ahora el interés por cultivar este producto disminuye, y nuevamente será escaso en el siguiente año, repitiéndose el ciclo.



Notas:

La ejecución de 100 hormigas es mucho más lenta que la ejecución de 10 hormigas. En algunos momentos puede parecer que las hormigas tardan mucho en morirse cuando no hay comida, y sin embargo lo único que ocurre es que los ciclos se suceden más despacio.

El mundo debe ser de una dimensión de al menos 3x3

En este programa tenemos 5 tipos de hormigas, cuyas posibles acciones a realizar poseen diferentes probabilidades en el caso de encontrarse con una planta, con una hormiga o con ambas. En el programa existen cinco tipos de hormigas. Las rojas son las más "egoistas" y luchadoras, mientras que las verdes son las más propensas a la colaboración. El resto poseen actitudes intermedias. Pero estos datos también pueden modificarse.

En primer lugar si la hormiga no posee comida, la declaramos muerta. En caso contrario, la hormiga observa si existen plantas o otras hormigas a su alrededor.

Si existen plantas comestibles, se las come. Después, podrá regar las plantas que aún no son comestibles, pelear o reproducirse con sus vecinos, o simplemente seguir paseando por su mundo virtual.

Una vez que dos hormigas han peleado o se han reproducido, se las separa para que no entren en un bucle de pelea o reproducción continua.

La comida proporciona a las hormigas la fuerza necesaria para moverse, regar, luchar o reproducirse, y mueren en el caso de perder toda su fuerza.

La cantidad de agua inicial de una planta es 0

Todas las hormigas comerán siempre que encuentren una planta que haya sido suficientemente regada, ya sean hormigas verdes, rojas o de otro color, y no hay límite en la cantidad de plantas que una hormiga puede comer.

La hormiga que se pelea encuentra siempre otra dispuesta a pelearse. Cuando dos hormigas pelean, ambas pierden una cantidad de enrgía prefijada de antemano. Si la que debe iniciar la pelea no posee esa cantidad, la pelea no se produce.

La hormiga que se reproduce encuentra siempre otra dispuesta a reproducirse. La hormiga de quien parte la iniciativa pierde energía, pero la otra no. Si la hormiga que debe reproducirse no pose la energía necesaria para hacerlo, no se reproducirá.

Las hormigas no mueren en los combates, pero sí pueden hacerlo por falta de comida.

La finalidad de ofrecer la posibilidad de separar a las hormigas de una planta después de haberla regado es permitir que el hecho de regar suponga un comportamiento que beneficie a la sociedad en conjunto, ya que si no se hiciera esto, la hormiga comería casi siempre las planta que ella misma ha regado.

Cuando una planta (círculo) ha crecido completamente y puede ser comida, su color se vuelve verde más oscuro y aparece una marca en su centro.

Después de una ejecución, el programa muestra unas gráficas que representan la evolución del número de hormigas de cada tipo y el número de plantas

Ejemplo de gráfica de la evolución del número de hormigas y plantas

Ejemplo de gráfica de la evolución del número de hormigas y plantas

[Volver al Indice]



Bajar código fuente

Este programa y sus ficheros fuente son gratis y de libre distribución. El código fuente está disponible y puede ser modificado, distribuido, o utilizado en otros programas citando al autor o autores.

Para obtener la última versión del programa, para sugerir posibles ampliaciones, si se detectara algún error en la programación o si desea comunicar que se va a ampliar o utilizar una parte o todo este programa, no dude en ponerse en contacto con el autor en la dirección: E-mail

Pulse aquí para bajar el código fuente.

[Volver al Indice]


[ Home Page Castellano | Home Page English ]
Traduccion