You are on page 1of 7

Autmatas Celulares Farid Fleifel Tapia - faflta@inf.upv.es Ricardo Aranguren - ra20914@zurron.upna.es http://www.geocities.

com/ResearchTriangle/2262/ Manuel de la Herrn Gascn Indice:


1.- Autmatas Celulares e Inteligencia Artificial 2.- Los primeros autmatas celulares 3.- Definicin de autmata celular 4.- Ejemplos de Autmatas Celulares o 4.1.- El juego de la vida de Conway o 4.2.- El programa "Clulas" de Peter Donnelly o 4.3.- Hormigas y Plantas 4.3.1.- Introduccin a los tipos de autmatas 4.3.2.- Hormigas y Plantas como autmata o 4.4.- Los mundos de Pixel 5.- Bajar cdigo fuente

1.- Autmatas Celulares e Inteligencia Artificial En la Inteligencia Artificial (IA) podemos observar dos enfoques distintos, segn el objetivo perseguido:

El intento de desarrollar una tecnologa capaz de crear mquinas con capacidades de razonamiento similares, o aparentemente similares a las de la inteligencia humana. La investigacin relativa a los mecanismos de inteligencia, que emplea el ordenador como herramienta de simulacin para la validacin de teoras.

El segundo enfoque no pretende obtener programas inteligentes, sino descubrir en qu consiste la inteligencia. Ya que la actividad inteligente surge inicialmente en animales vivos, una parte de los esfuerzos orientados en este sentido pretenden no slo descubir en qu consiste la inteligencia, sino tambin en qu consiste la vida. La Vida Artificial es el intento por parte del hombre, de crear vida, o algo parecido a la vida, mediante la combinacin de smbolos (datos) y procesos de smbolos (programas) independientemente del soporte fsico de estos smbolos y procesos. La Vida Artificial, en parte, trata de recrear los procesos propios de la vida, partiendo de la suposicin de que la vida o los procesos propios de la vida, si no son imprescindibles para la aparicin de la inteligencia, al menos son una buena idea para crear inteligencia, ya que evolutivamente los seres inteligentes siempre han sido seres vivos. Por otra parte, la Vida Artificial trata de descubrir que es la vida. Fundamentalmente, trata de descubrir si la vida depende de un soporte (fsico, energtico, metafsico o como se quiera llamar) o se trata de procesos, datos, configuraciones, esquemas, es decir, de objetos lgicos y sus relaciones, independientes del soporte. Este enfoque de la Vida Artificial se aleja tanto de la bsqueda de la inteligencia que parece difcil clasificarlo dentro de la Inteligencia Artificial si

no se toman en cuenta las reflexiones anteriores, y perfectamente se podra clasificar como un campo de estudio independiente de la Inteligencia Artificial. Dentro de la Vida Artificial, los Autmatas Celulares son el ms claro ejemplo de este rodeo en la bsqueda de la inteligencia. Es bastante extrao decir que los Autmatas Celulares son inteligentes, no lo parecen en absoluto. En cambio, poseen muchos de los aspectos fundamentales de la vida en cuanto a procesos. Adems, esto se intenta conseguir con la mxima simplicidad posible, por lo que podran ser el fundamento, al menos terico, de la vida, y por extensin, de la inteligencia. [ Volver al Indice ]

2.- Los primeros autmatas celulares Los estudios sobre autmatas finitos, mquinas de Turing, y otros modelos que siguen la misma filosofa configuran lo que se ha denominado Teora de Autmatas y Mquinas de Turing, o simplemente Teora de Autmatas, dentro de la Teora de la Computacin. En la dcada de los 50, dos neurofisilogos, Warren S. McCulloch y Walter Pitts disearon un modelo matemtico para representar el funcionamiento de las clulas cerebrales que fue el origen de los que hoy se conoce por redes neuronales. El modelo era una aproximacin muy sencilla al comportamiento real de las neuronas, pero tena grandes aplicaciones en otros contextos. En el campo puramente matemtico, Kleene redefini el modelo y dio lugar a los autmatas finitos, especie de mquinas ideales o modelos matemticos, al modo de la mquina de Turing, con posibilidades bastante ms reducidas, pero muy adecuadas para ciertos procesos de clculo. Por otra parte el ingls Turing consigui definir conceptualmente una mquina de clculo que se considera universal, es decir, el mecanismo de procesar cualquier algoritmo. Turing dise un modelo matemtico de autmata que siguiendo unas reglas simples consegua solucionar una gran gama de problemas. En principio, la mquina de Turing constituye el instrumento de clculo universal, el ms general. No es posible dar una demostracin rigurosa de esto, aunque s se tiene una gran cantidad de indicios, agrupados en lo que se conoce como Tesis de Church, que puede plantearse as: "No existen funciones que puedan ser definidas por personas, y cuyo clculo sea descrito por algn algoritmo, que no puedan computarse con una mquina de Turing". Basndose en la mquina de Turing, Von Neumann trabaj en una mquina autorreproductiva que llam kinematon y en la idea de autmata celular. [ Volver al Indice ]

3.- Definicin de autmata celular Los autmatas celulares son redes de autmatas simples conectados localmente. Cada autmata simple produce una salida a partir de varias entradas, modificando en el proceso su estado segn una funcin de transicin. Por lo general, en un autmata celular, el estado de una clula en una generacin determinada depende nica y exclusivamente de los estados de las clulas vecinas y de su propio estado en la generacin anterior.

Los autmatas celulares son herramientas tiles para modelar cualquier sistema en el universo. Pueden considerarse como una buena alternativa a las ecuaciones diferenciales y han sido utilizados para modelar sistemas fsicos, como interacciones entre partculas, formacin de galaxias, cintica de sistemas moleculares y crecimiento de cristales, as como diversos sistemas biolgicos a nivel celular, multicelular y poblacional. [ Volver al Indice ]

4.- Ejemplos de Autmatas Celulares Estos tres ejemplos de autmatas se pueden descargar de la pgina download. [ Volver al Indice ]

4.1.- El juego de la vida de Conway Uno de los autmatas celulares ms conocidos es el que John Horton Conway llam el juego VIDA (Life Game). El juego VIDA es un autmata celular bidimensional en cuadrcula con dos estados por celda. Cada celda o clula puede estar viva o muerta y en cada generacin se aplica un algoritmo que sigue estas tres reglas: 1.- Cada clula viva con dos o tres clulas vecinas vivas sobrevive a la siguiente generacin. 2.- Cada clula viva con ninguna, una, o ms de tres clulas vivas a su alrededor pasa a estar muerta. 3.- Cada clula muerta con tres clulas vecinas vivas resucita en la siguiente generacin. El juego VIDA presenta configuraciones finales estables, peridicas o no. Langton defiende que presenta propiedades de catlisis (acciones de construccin arbitrarias), de transporte (borrando estructuras y reconstruyndolas en otro lugar del espacio celular), estructurales (como elementos estticos, barreras, etc.), de regulacin, defensa e incluso informativas, y que por tanto estos autmatas virtuales tienen capacidades computacionales suficientes para cumplir los papeles funcionales que juegan las macromolculas en la lgica molecular de la vida. En definitiva, que funcionalmente, los autmatas son equiparables a los componentes bsicos de la vida en nuestro planeta. [ Volver al Indice ]

4.2.- El programa "Clulas" de Peter Donnelly El programa "clulas" es en esencia una curiosidad cientfica propuesta por primera vez por Peter Donnelly del University College de Swansea, Gales, y Dominic Welsh, de la universidad de Oxford. El programa fue descrito en detalle por A. K. Dewdney en su artculo "Cinco piezas

sencillas" para Scientific American. En este artculo se bautiza al programa con el nombre de "votacin", ya que segn el autor pretende simular una votacin poltica algo particular. Citando textualmente: "Las casillas de un cuadriculado rectangular estn coloreadas de blanco o negro, aleatoriamente. Se supone que cada color refleja la opinin poltica de una persona residente en esa casilla. Un color podra representar 'demcrata' y el otro 'republicano'. [...] A cada seal de reloj, se selecciona al azar uno de los votantes y su opinin poltica se somete a cambio: se selecciona al azar uno de sus ocho vecinos y la conviccin poltica del elector se transforma en la de este vecino, independientemente de cul fuera su opinin anterior. [...] Al hacer funcionar este modelo, confesadamente simplista, del proceso poltico, ocurren cosas llamativas y extraas. Primero se desarrollan grandes bloques de voto homogneo. Estos bloques son zonas geogrficas donde todo el mundo es de la misma opinin poltica. Seguidamente tales bloques van migrando en torno al cuadriculado y, durante cierto tiempo luchan, como buscando su predominancia. Finalmente, el sistema bipartidista se viene abajo, por acabar todo el mundo votando de igual manera". Adems de esta interpretacin de la ejecucin del programa, hay otra ms aproximada, y mucho ms sugerente para los interesados en la vida artificial y temas afines. Podemos llegar a apreciar comportamientos "cuasi-biolgicos" si observamos la evolucin de los votantes como un ejemplo de la coexistencia-competitividad de dos especies similares en un mismo medio con abundancia de alimento, como podra ser el caso de dos especies de bacterias en un fluido rico en nutrientes. La interpertacin es la siguiente: Cada posicin de la matriz representa una clula de una especie determinada. En cada ciclo se elige aleatoriamente una de las clulas de la matriz. Esa clula muere, dejando un espacio libre. Ese espacio es ocupado inmediatamente de la siguiente forma: Se elige a una de las ocho clulas contiguas a ese espacio vaco para reproducirse, y el lugar dejado por la clula muerta lo ocupa una nueva clula, hija de la escogida, y por lo tanto de su misma especie. A partir de este comportamiento tan simple podremos observar como el caos inicial, en el que las clulas de ambas especies se hallan mezcladas, da paso a una forma de organizacin en la que las clulas de una misma especie forman amplios grupos. que se desplazan, se estiran y se contraen mientras tratan de sobrevivir. Si se deja el programa funcionando durante un tiempo una de las especies pasa a ser dominante, pudiendo llegar a hacer desaparecer a la otra especie. Finalmente, y como curiosidad, podramos pensar en realizar en cada ciclo la reproduccin de las clulas de un modo algo ms inusual... Qu ocurrira si al reproducirse una clula para ocupar el espacio vaco dejado por otra clula muerta, tuviera una hija de la otra especie, y no de la suya propia? Seguira producindose la homogeneidad, o el caos inicial se extendera hasta el infinito? A partir del cdigo fuente del programa, y realizando una pequea modificacin se puede resolver esta trascendental duda. [ Volver al Indice ]

4.3.- Hormigas y Plantas Hormigas y Plantas es un programa que requiere de una cierta justificacin para considerarse como autmata. Para ello se distinguirn varios tipos de autmtas en funcin de su objetivo. Esta discusin contina en la seccin Discretizacin del tiempo en los autmatas del documento "Autmatas como analogas de nuestro Universo" [ Volver al Indice ]

4.3.1.- Introduccin a los tipos de autmatas Inspirados en los primeros autmatas (como el juego de la vida de Conway), en los ltimos aos han surgido multitud de modelos, por lo general implementados en programas software, que intentan o bien resolver un determinado tipo de problemas, o bien representar lo ms fielmente algn aspecto concreto de nuestro universo real o de cierto universo imaginario. En cuanto a los autmatas que tratan de resolver un problema determinado, probablemente los ms numerosos sean los compiladores, analizadores lxicos, sintcticos o semnticos, en definitiva, traductores de algn tipo. Estos autmatas son capaces de leer una secuencia de smbolos escrita de acuerdo a una norma o gramtica, generando como salida otra secuencia ajustada a otra gramtica diferente. La entrada puede ser un texto en castellano, un programa escrito en lenguaje C o un fichero de datos con una determinada estructura (por ejemplo, cierta cabecera, cuerpo y pie). La salida correspondiente podra ser entonces el texto en holands, el programa de ordenador en lenguaje Lisp u otro fichero de datos con una composicin diferente. Otro tipo de autmatas que estn siendo muy utilizados son las Redes Neuronales Artificiales, sobre todo en aplicaciones de clasificacin (reconocimiento) y prediccin. Dentro del segundo grupo de autmatas, ms orientados hacia la representacin y la simulacin que hacia la resolucin, hay un gran subgrupo de autmatas que pretenden nada menos que la simulacin de los procesos de la vida. Entre ellos se encuentra el programa "Hormigas y Plantas". [ Volver al Indice ]

4.3.2.- Hormigas y Plantas como autmata En el programa "Hormigas y Plantas", cada una de las celdas de la rejilla en 2 dimensiones es un autmata simple con los siguientes estados posibles: - Vaco - Ocupado por una hormiga - Ocupado por una planta - Ocupado por un obstculo Cada celda cambia de estado en funcin del estado de las celdas vecinas. Por ejemplo, una celda en estado "planta" pasa a estado "vaco" si hay una hormiga prxima a la planta: la hormiga se

come la planta. Otros cambios de estado estn supeditados adems al resultado de una funcin pseudoaleatoria uniforme, y se producen, si se cumplen las otras condiciones, segn una cierta probabilidad. Por ejemplo, una celda en estado "vaco" pasa a estado "hormiga" slo si hay una hormiga prxima a la planta y adems con una cierta probabilidad (solo si la hormiga "decide" tomar esa direccin). El estado de cada celda puede estar definido por distintas variables: las hormigas, as como las plantas, poseen una cierta cantidad de energa. Pero adems, las hormigas poseen una inercia en cuanto a la direccin del movimiento, que provoca una tendencia a moverse en la misma direccin, y un "tipo", ya que hay hormigas "rojas", "rosas", "naranjas", "amarillas" y "verdes" que corresponden con distintas probabilidades de moverse, regar, pelearse o reproducirse. En este autmata, los cambios de estado estn dirigidos nicamente por las "hormigas", de forma que la "ejecucin" de una hormiga provoca un cambio de estado en s misma y en otras posibles celdas de tipo "planta". Este ltimo punto lleva a la posibilidad de contemplar el programa desde otro punto de vista: como un conjunto de autmatas simples mviles cuyo estado se define, entre otros, por su posicin en los ejes X e Y. Es decir, en vez de ver una rejilla cuyas celdas cambian de estado, vemos un conjunto de hormigas que se mueven por unos ejes cartesianos. Efectivamente, el autmata no se ha programado como un conjunto de celdas con distintas propiedades, sino como varios conjuntos (o varios autmatas superpuestos): un conjunto de hormigas, otro de plantas y otro de obstculos, controlando que cualquiera de ellos no exista en la misma posicin que otro. [ Volver al Indice ]

4.4.- Los mundos de Pixel Los mundos de Pixel son un conjuto de autmatas celulares desarrollados en JavaScript. La mayora de ellos utilizan las reglas de replicacin RS y SR de Ren Reynaga rene@umsanet.edu.bo y B. Sandi. [ Volver al Indice ]

5.- Bajar cdigo fuente En estas pginas se ofrece:


El programa del Juego de la Vida de Conway, ejecutable y ficheros fuente en TurboPascal 6.0, programado por Ricardo Aranguren ra20914@zurron.upna.es El programa del Juego de la Vida de Conway, ejecutable y ficheros fuente en C, programado por Jose Manuel Pieiro Ferreras acuario@mascota-mania.com El programa "Clulas" de Peter Donnelly, ejecutable y ficheros fuente en Turbo-Pascal 6.0, programado por Farid Fleifel Tapia faflta@inf.upv.es El programa "Clulas" de Peter Donnelly, ejecutable y ficheros fuente en C, programado por Jose Manuel Pieiro Ferreras acuario@mascota-mania.com "Hormigas y Plantas" programado en Visual Basic por Manu Herrn E-mail "Los mundos de Pixel" programados en JavaScript por Manu Herrn E-mail

Estos programas y sus ficheros fuente son gratis y de libre distribucin. El cdigo fuente est disponible y puede ser modificado, distribuido, o utilizado en otros programas citando al autor o autores. Se ven mejor con Netscape Programa accl2.html Descripcin Autmata Celular Circular Lineal (1 Dimensin) RS y SR de 2 estados, 2 vecinos mediante Html autogenerado Imgenes XXX

accl3.html

Autmata Celular Circular Lineal (1 Dimensin) RS y SR de 3 estados, 2 vecinos mediante Html autogenerado

accm2.html Autmata Celular Circular Matricial (2 Dimensiones) RS y SR de 2 estados, 8 vecinos mediante Html autogenerado

XXX

Pulse aqu para bajar el cdigo fuente. http://www.redcientifica.com/gaia/ac/auto_c.htm#ej http://www.innovatecno.com/Automata.php

You might also like