Los autómatas celulares son estructuras ideales para construir modelos digitales aproximativos de algunos sistemas complejos de naturaleza continua. Son una herramienta computacional basada en modelos biológicos, el cual está básicamente compuesto por una estructura estática de datos y un conjunto finitos de reglas que son aplicadas a cada nodo o elemento de la estructura.
Los componentes básicos de un autómata son:
El concepto de Autómata Celular es extremadamente simple: supongamos una cuadrícula y en cada celda de la cuadrícula tenemos un valor ( por simplificar nos limitaremos al caso en que el estado sólo puede ser 0 ó 1 ). En cada instante de tiempo cada celda analiza el valor de las celdas de un entorno a su alrededor y según cierta regla local cambia ó no su valor.
Los conceptos claves que permiten definir al Autómata Celular son:
Tal vez, lo más llamativo e interesante de los autómatas celulares es el comportamiento presentado por el modelo en tiempo de ejecución y la similitud de este con la complejidad de la naturaleza continua.
"Life" o "El juego de la vida" , por ejemplo simula la existencia de diferentes formas de vida sobre un espacio bidimensional, las cuales presentan singular comportamiento a través del tiempo.
En realidad, Life no es un juego que alguien pueda jugar, sino que es un autómata celular que evoluciona en el tiempo y el espectador observa como ocurre esta evolución, recibe su nombre debido a que cada célula tiene dos estados posibles, vivo o muerto, la vecindad que utiliza Life es la siguiente:
El nombre de esta vecindad se debe a su creador, una célula que está viva puede morir por tener muchas vecinas vivas alrededor (sobrepoblación) o muy pocas de éstas (aislamiento); pero si hay dos o tres células vivas en su vecindad la célula se mantiene viva, si una celda está vacía hay un
"nacimiento" si en su vecindad existen exactamente tres células vivas.
Definición: La teoría de la vida artificial va un paso más adelante que la inteligencia artificial. No pregunta "¿qué es la inteligencia y cómo se la hace?", sino que inquiere "¿qué es la vida y cómo se la hace?" La hipótesis es que para entender nuestra biología, hay que contrastarla con biologías alternativas como la que aparece en la pantalla con Life de Conway o programas similares.
Lo que se suele estudiar como A Life o vida artificial (programas computacionales que podrían parecer mostrando "vida" en el monitor) no es la vida como fenómeno abstracto, sino la vida de conceptos abstractos interpretados como estructuras computacionales formales. La vida biológica (B Life) no sería la única fuente para el conocimiento sistemático de la vida; la vida artificial (A Life) brindaría estructuras computacionales formales interpretables como iluminadoras de ese conocimiento. Claro está que tanto el concepto de qué es vida, como el concepto de qué es computación, no están nada claros.
Esto es una implementación de Conway´s Game of Life.
A continuación se describe el algoritmo y el funcionamiento del applet.
Algoritmo
La vida de las células en la siguente generación depende de sus vecinos en el estado actual.
Si una célula tiene dos vecinos vivos, no va a cambiar su estado.
Si una célula tiene tres vecinos vivos, va a nacer una vida. Es decir, que la celula está activa en la siguiente generación.
Todos las otras combinaciones hacen que muera la célula. Si solo tiene un vecino vivo, muere
por aislamiento. Si tiene más de tres vecinos vivos, muere por superpoblación.
Funcionamiento
Meter una forma en el campo de juego y hacer click en 'Siguiente' para ver la proxima generacion.
También se puede meter una forma 'Aleatoria' en el campo.
Para empezar con una simulación que se cambia cada 200ms se debe hacer click en
'Empezar'. Utilice 'Terminar' para detener el applet.
Con los botones ARRIBA y ABAJO se puede controlar la velocidad de regeneración.
Para habilitar el teclado hay que hacer click por lo menos una vez un botón de los controles.
Si algo no funciona intente recargar el applet (Shift-Reload).
Cambie
el tamaño de la grilla.
Vea que
sucede si cambia la cantidad de individuos de la población. Pruebe creando
una población superpoblada (entre 90% y 95%), y con una población muy
pequeña (entre 5% y el 10%)
Cambie las reglas del juego de la siguiente forma: si tiene un solo vecino que nazca, si tiene 2 no pasa nada y si tiene 3 muere. Que sucede con la población inicial y con las dos poblaciones creadas en el punto 2.