A-Life: Investigación sobre Evolución y Vida Artificial

Última actualización (aaaa-mm-dd):

Gran transferencia horizontal de genes

Ha habido una gran transferencia horizontal de cientos de genes entre bacterias y arqueas en numerosas ocasiones, lo que haría de la THG un mecanismo mucho más importante para la evolución de los microorganismos de lo que se creía hasta ahora.

La vida ha solucionado problemas que hoy en día ni siquiera sabemos como resolverlos con máquinas: ¿Cómo una persona puede identificar determinados objetos, animales y otras personas en una fotografía? ¿Cómo un gato puede desplazarse con gran agilidad por terrenos agrestes? ¿Cómo los organismos se auto-reparan, es decir, se curan sus heridas? ¿Cómo la vida se adapta a condiciones cambiantes del medioambiente? . Las capacidades de los seres vivos son grandiosas y se busca que nuestras máquinas las tengan. Ejemplos:

  • Enviar un robot a explorar una cueva submarina oscura y riesgosa, detallando todo el recorrido y que nos transmita toda esa información a nosotros ubicados en un lugar seguro.
  • Enviar un robot a Marte o a algún satélite de Júpiter o Saturno, que explore por su cuenta y envíe la información más relevante para nosotros.
  • Hacer que un robot haga el aseo de nuestra casa y verifique la seguridad.
  • Poder hacer búsquedas en material audiovisual: "mostrar escenas de películas donde la actriz usa sombrero, está mirando su reloj de pulsera y se escucha de fondo una pieza de Mozart o Beethoven".
  • Microrobots que recorran nuestro cuerpo por dentro y eliminen los depósitos de colesterol malo de las arterias.

El primer paso es conocer como la vida funciona y cómo evolucionó. Si pudiésemos repetir aquel proceso evolutivo del desarrollo de la visión y del oído en un algoritmo podríamos resolver el problema de hacer búsquedas en material audiovisual.

Contenido de la investigación

1. Simulación: Conceptos y programación

Las reglas que se deben considerar para implementar simulaciones de vida artificial, desde el generador de números aleatorios, las distribuciones en las variables aleatorias y los modelos matemáticos.

Escribí un libro de este tema el cual es de libre descarga en OpenLibra: "Simulación: Conceptos y programación"

2. Evaluador de expresiones algebraicas

Durante las simulaciones de "Regresión Simbólica" y más concretamente en "Evolución Gramatical" es necesario interpretar expresiones algebraicas. Los evaluadores de expresiones son funciones en el que ingresan la expresión algebraica (números, operadores, variables, paréntesis, funciones) y los valores de las variables, y debe devolver el valor numérico.

Escribí un primer libro de libre descarga en OpenLibra sobre como hacer un evaluador de expresiones en siete(7) lenguajes de programación C++, JavaScript, C#, Visual Basic .NET, Delphi, PHP y Java: Versión 1.0 del evaluador de expresiones

Escribí un segundo libro en el que se mejora notablemente la velocidad del evaluador de expresiones: Versión 2.0 del evaluador de expresiones

Los códigos fuentes del evaluador de expresiones se pueden descargar aquí: Códigos fuentes de los evaluadores de expresiones

3. Regresión simbólica

¿Cómo simular el proceso de adaptación de los seres vivos a un ambiente? Dado un conjunto de datos, se busca la curva o función algebraica o algoritmo que mejor coincida con esos datos haciendo uso de la filosofía de los algoritmos genéticos. Este proceso se conoce como Regresión Simbólica. Se requiere el componente de evaluador de expresiones.

Buscando la mejor ecuación o expresión algebraica que se adapte a una serie de tiempo (evolución gramatical): Investigación en curso.

Identificación de patrones de comportamiento en series de tiempo generando algoritmos en forma aleatoria: Investigación en curso.

4. Ambientes, sensores y adaptación

Los sentidos (sensores) informan al organismo de lo que sucede en su medio-ambiente, entre mas especializado este el sensor, mayor es la calidad de esta información. La cantidad y calidad de la información determinan como reacciona el organismo y finalmente influye en su evolución.

Este capítulo simula la multiplicidad de ambientes y como el organismo debe enfrentarlos. Una solución sencilla y escalable es que un organismo con múltiples sensores y múltiples reacciones, es en realidad un conjunto de micro-organismos, donde cada uno tiene una entrada y una salida. Inicio del capítulo aquí.

5. Universo y vida

Los seres vivos están formados por materiales que nacen de procesos físicos y químicos del Universo. Somos seres basados en la química del carbono. En síntesis, el Universo proporciona los materiales, las leyes y la energía, los cuales son tomados por "el algoritmo evolutivo" para generar y evolucionar seres vivos.

¿Es "el algoritmo evolutivo" dependiente de lo ofrecido por el Universo?.

6. Independencia del Algoritmo Evolutivo

El capítulo anterior se finalizó porque no hubo una manera clara de separar los materiales y su comportamiento del algoritmo evolutivo (el que genera organismos). Mi hipótesis es que la vida es independiente de los materiales y es posible que esta exista en ambientes virtuales donde no operan las leyes físicas.

El objetivo de este capítulo es precisamente investigar como hacer un algoritmo que evolucione y sea independiente del ambiente. Lo importante es la adaptación y la estabilidad.

7. Torneo

La vida es un torneo, una infinita competencia entre organismos de la misma especie o diferente especie, una carrera armamentista en donde se crean nuevas armas, contra-armas y estrategias. Depredadores vs Presas.

El premio: vivir, perder es morir

8. Hipótesis

En el método científico, justo después de la observación de un fenómeno que se quiere explicar, viene la generación de hipótesis. Las hipótesis son una proposición que todavía NO ha sido probada, podría considerarse como una especulación. Una vez escrita la hipótesis viene un muy largo camino en el cual con pruebas y rigurosos experimentos finalmente la hipótesis si es verdadera se convierte en Teoría.

Hipótesis planteadas durante la investigación