lunes, 26 de septiembre de 2011

"Coches" que evolucionan gracias a algoritmos genéticos

Antes de nada, ¿qué es un algoritmo genético?. Un algoritmo genético es un método de búsqueda en el cual a través de una población de soluciones generadas aleatoriamente se seleccionan las que se consideran más optimas, y a partir de estas se produce la siguiente generación de individuos. Esto se consigue simulando la reproducción sexual a través del sobrecruzamiento, gracias al cual se combinan los cromosomas de dos de los mejores elementos de una generación para producir elementos de la siguiente. También se puede emplear mutación, con la que se modifican al azar partes de cromosomas de los individuos, permitiendo alcanzar soluciones no presentes en los padres. Los cromosomas no son otra cosa que las características que definen a los individuos, y gracias a la variación de los valores de estos se determina, dentro del ejemplo que se muestra a continuación, el número de ruedas, tamaño, distancia, color...etc.

Como anuncia el título, en esta página http://megaswf.com/serve/1031310/  nos presentan una pequeña aplicación en la que se generan unos pseudocoches que intentarán avanzar lo máximo posible a lo largo de una terreno irregular. Se nos permite asignar valores a ciertos parámetros, como el número máximo de ruedas o el factor de mutación. No esperéis obtener un Ferrari si dejáis abierta la aplicación un mes, posiblemente obtengáis algo parecido a un palo con dos o tres ruedas enormes y un ordenador chamuscado.

Uno de los individuos obtenidos en una 12ª generación

Esta curiosa aplicación, aún a riesgo de parecer un tanto inútil, nos permite comprender fácilmente el funcionamiento de estos métodos, ya que los algoritmos genéticos se utilizan en gran cantidad de aplicaciones como el aprendizaje de comportamiento de robots, predicción de plegamiento de proteínas,  optimización de estructuras moleculares y una larga lista que podréis encontrar mismamente en wikipedia.

Un ejemplo más de como nos inspiramos en el funcionamiento de la naturaleza para aplicarlo a las nuevas tecnologías.


5 comentarios:

  1. Realmente es muy interesante, la verdad y seguro que se utiliza en millones de cosas super utiles. Pero en serio, debe ser por mi ignorancia del tema o inteligencia inferior no lo digo con cachondeo pero es que, podrias explicar las cosas de forma mas cercana?¿?¿ seguro que hay un metodo para acercar la ciencia a la persona que no esta metida en ella.. como con todo.

    ResponderEliminar
  2. prediccion de plegamiento de proteinas... no por usar mas tecnicismos, el articulo va a ser mas interesante.

    ResponderEliminar
  3. no digo que no lo sea, todo lo contrario, pero creo que podria serlo mas para gente como yo que no somos ingenieros quimicos ni industriales ni nada de ciencia entendemos hasta ciertos techos

    ResponderEliminar
  4. XDD realmente yo tp conozco a fondo todas la aplicaciones, simplemente citaba campos donde se e aplican estas cosas. Más que eso me interesaría saber si al menos la explicación de Algoritmo Genético queda clara.

    ResponderEliminar
  5. Las proteinas si no recuerdo mal son largas cadenas de aminoácidos. Y son las responsables de numerosas funciones del cuerpo.Su comportamiento afecta en gran medida a nuestra salud. Por ejemplo, son las responsables de la aparición de enfermedades como el alzheimer. Por tanto si pudieramos predecir su comportamiento (plegamiento) podríamos adelantarnos a la aparición de la enfermedad e intentar poner una solución antes.

    Basicamente creo que es interesante para ser conscientes de cómo afecta la genética, las mutaciones y todas estas historias a los seres vivos y además, ya que dicen que somos las máquinas más perfectas, intentar copiarnos y mejorarnos.

    ResponderEliminar