lunes, 6 de julio de 2009

EAL - Evolving Artificial Life

He encontrado una simulación "parecida" en internet que, por su ingenio, me ha merecido la pena estudiarla. He pasado el fin de semana analizándolo y me parece realmente espectacular. Os cuento cómo funciona sacado de la explicación del autor.

Cada cuadradito coloreado (la calidad del video es mala, lo sé) es una criatura. Cada criatura puede examinar el color de las celdas contiguas (arriba, abajo, izquierda, derecha y diagonales)

La simulación comienza con un montón de criaturas generadas aleatoriamente. La mayoría mueren rápidamente pero algunas se las ingenian para reproducirse.

Algunas partes del video muestran la simulación a velocidad normal, otras a una velocidad mayor. No existe ningún indicador para ello pero se puede adivinar por el número de cambios en cada momento. Este video no es fruto de una única simulación si no una combinación de varias.

La genética de las criaturas contiene una lista de reglas. Resumiendo, las reglas indican cosas como "si hay un cuadrado verde encima de ti (que no tuyo) y comida a la derecha, entonces muévete a la derecha". Existen más condiciones, opciones y acciones disponibles pero esto es sólo un ejemplo.

También existe un punto de gravedad que empuja todo hacia abajo en la cuadrícula. Las criaturas pueden escalar sobre otras criaturas para vencer la gravedad pero si no tienen un apoyo, caerán.

Los cuadrados grises (pedacitos de comida) caen a la cuadrícula desde arriba.

Las criaturas pueden reproducirse sexualmente y asexualmente. Entre sus reglas se incluyen acciones como moverse, comer, reproducirse asexualmente, intentar reproducirse sexualmente con un vecino, compartir comida y cosas por el estilo. Otros genes ayudan a determinar quien se empareja con quien, quien ganará en una lucha y tal. Por cierto, el ganador en las peleas se come al vencido.

Al caer la comida desde arriba, las especies que escalan o construyen estructuras de colonias que llegan a las zonas altas, son bien recompensadas (consiguiendo comida, claro – no hay programada recompensa alguna por ningún comportamiento en particular) Las capas inferiores normalmente consiguen el alimento atacando a los otros.

Los depredadores pueden aparecer y atacar a diestro y siniestro e incluso extinguirse entre ellos mismos. Cualquier tipo de interactuación de este estilo puedo ocurrir en la matriz.

Criaturas del mismo tipo (o cercanamente relacionadas) tienen el mismo color, esto no significa que dos criaturas del mismo color estén necesariamente relacionadas pero normalmente es así.

Las criaturas pueden morir simplemente por falta de comida. Cuando una criatura muere de esta manera, es “reciclada” como comida que la cae desde arriba. El total de energía del sistema se mantiene constante.

Maravilloso, simple y terriblemente complejo a la vez, verdad? Me encanta.

No hay comentarios:

Publicar un comentario