Reflexiones sobre la vida… Artificial
Muy buenas queridos lectores. Como algunos de ustedes ya saben mi proyecto de fin de carrera es sobre redes neuronales artificiales (RNA) no supervisadas. Es un campo de la programación que siempre me ha llamado la atención, ya que es inteligencia artificial y es vida artificial. Es decir, no es como los sistemas expertos, un montón de reglas preestablecidas, (en última instancia todos los programas son eso, pero quiero verlo en un sentido algo más abstracto) sino que nosotros ponemos un montón de neuronas que se comportan de una forma frente a unas entradas y ellas evolucionan independientemente. Esto quiere decir que nosotros no sabemos a priori en que estado acabán las neuronas, no está escrito en el programa, mientras que en un árbol de decisiones es mucho más facil de saber.
No quiero alargarme con explicaciones sobre RNA, el caso que vengo a tocar es otro. Lo que ocurre es que esta no es el único intento de modelar un sistema vivo que existe. También tenemos otros muchos ejemplos, como los autómatas celulares, los algoritmos genéticos, y los muchos y variados “Juegos de la vida”. Y de éstos últimos es de los que vengo a hablar. Más concretamente quiero referirme al Juego de la Vida de Conway (JVC). El primero y más conocido de todos.
El JVC se basa en unas reglas muy simples:
1. Todo ocurre en un universo bidimensional ciclico (el típico toroide del asteroids) dividido en celdillas (es decir: discreto).
2. Cada celdilla puede estar en dos estados diferentes, que podemos llamar “viva” y “muerta”.
3. Una celdilla viva permanece así en el siguiente turno si de las ocho adyacentes solo 2 o 3 están vivas.
4. Una celdilla muerta renace en el siguiente turno solo si de las adyacentes 3 y solo 3 están vivas.
5. Todas las celdillas calculan su estado siguiente a la vez y se actualizan a la vez.
Solo con esas cinco reglas obtenemos un universo muchísimo más complejo de lo que cualquiera pueda imaginar a priori. Tan complejo que hay gente que se dedica por hobby a encontrar nuevos patrones, a explorar este mundo. Tan complejo que es equivalente a ¡¡una Máquina de Turing!! Bueno, no todo juego es equivalente, sino que se puede construir una máquina de Turing, teóricamente con un Juego de la Vida. Pero todo esto viene mucho mejor explicado en los links que pongo al final.
Los que no sepan qué demonios es una Máquina de Turing (MT) y por qué es tan importante se los explico en un momento. Un ejemplo de máquina de Turing es esa cosa que tienen ustedes delante. No, el monitor no, la otra cosa. ¡Si, su ordenador! Turing inventó un modelo matemático y demostró que todo aquello que fuera computable podría hacerse con esa supuesta máquina. Nuestros ordenadores cumplen con los requisitos del modelo y pueden emularlo, por tanto también pueden computar todo lo posible. La pregunta difícil viene cuando alguien dice cosas como ¿puede el ser humano pensar en algo “no computable”?¿Es el ser humano “computable”? Estos son temas que no tocaré en este momento ya que no es el objetivo y actualmente son casi cuestiones religiosas.
Volvamos al tema que me traía delante de mi MT. Tenemos por un lado el JVC, un sistema que se basa en unas cuantas reglas y en el que podemos poner un estado inicial aleatorio y ver como evoluciona. Por el otro lado nos dicen que esto es equivalente a un ordenador, es decir que podría simular cualquier programa que conozcamos. Esto me lleva a pensar en el origen de la vida y en las posibilidades de este juego, por supuesto no soy el primero, pero dejémonos llevar un poco por la imaginación…
Hay muchas simulaciones de seres vivos en los ordenadores: Desde el Tamagochi, los nintendogs, las criaturitas de Creatures, los aldeanos de Black and White, los juegos de hormigas, simulaciones de plantas, árboles,etc, etc… Cojamos por ejemplo los adorables perritos de Nintendo. Son una buena simulación, podemos enseñarles cosas, jugar con ellos, responden a nuestra llamada y realizan un montón de acciones más. Estos perros no son más que programas. Por tanto, podrían ser simulados dentro de un (enorme, eso sí) JVC. Hasta ahí nada que rebatir, esto es cierto.
Ahora supongamos que tenemos un JVC de proporciones astronómicas. Astronómico implica más tiempo y espacio del que sabemos imaginar, pero intentémoslo: Supongamos que tenemos un JVC de estado inicial aleatorio en un toroide del diámetro del sistema solar. Supongamos también que tenemos millones de años para iterar y una capacidad tan increible de procesado que nos permite actualizar cada segundo, por ejemplo. Podemos pensar que en algún momento en esos millones de años aparecerán programas en distintas partes del universo artificial. Estos podrían ser programas sumadores, procesadores de texto… O el adorable perrito de Nintendo, el tamagochi o la simulación de un árbol… Podríamos pensar que en esa simulación el árbol creciera y se multiplicara dentro del propio universo…. ¿No habríamos creado vida?
Esa es mi pregunta final ¿podría crearse vida en un JVC? Tal vez sea dificil de imaginar, pero la vida comenzó en pequeñas moléculas que por azar formaron aminoácidos y demás hasta conseguir algún tipo de organismo unicelular. El universo en si mismo no es más que como el JVC, átomos, cada uno en este caso infinitamente más complejo y variados que en el JVC, pero átomos, con unas reglas y todo el tiempo y la cantidad del mundo. Con esto no pretendo responder a la ninguna de las preguntas paradógicas de si Dios existe o si existe el alma o cosas así, solo reflexionar sobre si algún día podremos ejercer de Dioses, es decir, simular un pequeño universo en el que la vida evolucione gracias a unas reglas establecidas por nosotros en una MT de proporciones titánicas. No hablo de personitas diminutas, sino de algún tipo de vida, algo que crezca se alimente y se reproduzca que es lo que me enseñaron de chiquitito que es la vida.Y esta vez me voy a mojar porque creo que es fácil, ya existe algún tipo de vida simulada, podrán verlo en los links de mas abajo, pero estoy seguro de que aun nos queda mucho por ver en este tema, veremos vida en nuestros ordenadores, veremos seres con genes que sobreviven en un entorno con el que interactuarán y donde evolucionarán.
Ahora algunos links sobre el JVC para el que quiera profundizar:
JVC en la Wikipedia
Math.com Explicación, reflexión y ejemplos interactivos, de lo mejorcito para hacerse una buena idea del potencial de este juego. En ella explica que mi hipótesis de la autogeneración de vida en el JVC es difícil puesto que los patrones tienen a estabilizarse en osciladores.
Una de las primeras explicaciones al publico (1970)
Autómatas Celulares, hormigas y plantas.
IA en Wikipedia
Redes Neuronales en Java
Spore, el nuevo juego de Will Wright promete crear una civilización tipo al pequeño mundo de Lisa Simpson evolucionando desde seres unicelulares y configurando estos seres y sus características completamente en cada paso… Somos muchos los que esperamos el nuevo juego de este genio.





Como mola el JVC yo tengo un salvapantallas con un puñao de simulaciones ^^
Comment by Blap — 2 December, 2006 @ 13:23
Bueno, para empezar, ¿qué es la vida? Esa es la pregunta realmente jodida. ¿Está vivo un virus? No tiene estructura celular pero se reproduce, mantiene un contínuo de instrucciones genéticas. El criterio reproductivo no es estrictamente garante de la categoría de vida.
En Física de los Procesos Biológicos nos dieron un criterio termodinámico, que resultaba forzosamente incompleto porque entran también los fenómenos disipativos (tornados, ciclones, huracanes, llamas…). En cualquier caso podrían recogerse las siguientes características de los entes vivos, a saber:
1)Capacidad reproductiva.
2)Mantenimiento de la entropía interna (conservación del propio estado de orden) a partir del aumento de la entropía de los nutrientes (aumento de su nivel de caos), que son transformados en resíduos (basicamente, transformación de la energía potencial entre las moléculas para realizar un trabajo útil y disipación de parte de ésta en calor, ya que la mayoría de resíduos son reaprovechables por otros organismos más abajo en la taxonomía).
3)Aumento de la complejidad interna a partir de la reproducción, variabilidad y selección de mejores variantes (evolución).
A partir de aquí, sería viable desarrollar un ser vivo in silico si éste pudiese mantener las tres características y la más complicada sería la segunda, creo yo, ya que incluso en un entorno artificial sería jodido que conservase la integridad de su mensaje genético y equilibrase con una variabilidad suficiente para evolucionar. Aunque eso sólo representa mi ignorancia respecto a los límites de tolerancia de los sistemas informáticos a los errores en la transmisión de la información o la creación de un sistema de reproducción sexual in silico.
Comment by Illuminatus — 2 December, 2006 @ 17:03
Buenas, gracias a los dos por vuestros comentarios.
Illuminatus llevas mucha razón en tu reflexión. Y más aun, yo que sí que tengo conocimientos informáticos sé que estamos muy lejos de acercarnos a un ser vivo aunque la impresión con juegos como spore o nintendogs no sea esa.
Pero el quid está en que estos juegos pretenden parecer un ser vivo y no ser seres vivos, por tanto como tu dices no existe cumplimento de la termodinámica porque eso solo engorronaría los cáculos y no existe paquete genético o reproducción real, sino solo simulaciones. Asi como tampoco existe casi libertad por parte del algoritmo ni evolución. Estas dos últimas cosas si que están en el JVC o de las hormigaspero como comenté creo también, en todos estos juegos solemos tener una sola especie o varias con un código genético para cada especie y no para cada individuo por razones obvias de coste computacional. (Si tienes que guardar en memoria y consultar en casa paso el codigo genético de 10000 individuos la cosa se vuelve demasiado lenta…) Para hablar de porque creo que eso se superará tendría que meterme en otro tema que no viene al caso, que es el del futuro de la tecnología y los ordenadores paralelos, los nanochips o lo que sea que venga,pero pero eso mejor lo dejamos y pongamos que tengo fé (como la de los cristianos, pero algo más basada en cifras que en milagros ;P)en que así será.
Comment by Juanmi — 2 December, 2006 @ 17:53