Algoritmos evolutivos: programas y robots compitiendo por ser los más aptos
- La idea: crear modelos de robots y que compitan unos contra otros
- Los que son capaces de moverse rápido son los que 'sobreviven'
- Tras analizar cada generación, se introducen 'mutaciones' para obtener variaciones
En informática, los algoritmos evolutivos son una técnica para buscar soluciones que se suele emplear en el campo de la inteligencia artificial. Al igual que en la naturaleza, se basa en la idea darwinista de "la supervivencia del más apto", solo que aquí son programas de ordenador los que compiten unos con otros en pos de un resultado.
Unos investigadores de la Universidad de Wyoming están utilizando ahora ese tipo de algoritmos para hacer evolucionar modelos de robots construidos con diversos materiales de modo que 'aprendan' a manejarse por sí mismos en entornos cambiantes y a ser cada vez más poderosos. En esta versión simplificada del mundo los robots se simulan con software de diseño 3-D en un entorno virtual; a esto se añaden las reglas evolutivas.
El objetivo ha de ser simple y claro y aquí es un solo concepto: "Las criaturas más rápidas tienen más descendientes". El resultado son diseños de robots capaces no solo de andar sino de competir por los 'premios', entendidos simplemente como el resultado del cálculo 'distancia dividida por tiempo'.
¿Cómo funciona la idea?
Los modelos 3-D empleados en estas pruebas son parecidos a pequeñas construcciones con piezas de varios colores. Cada tipo de pieza simula un tejido corporal, de los que hay originalmente cuatro: dos tipos de músculos, otro de tejido blando y un último de tejido resistente.
Los tejidos resistentes serían parecidos a conchas o esqueletos; los blandos al 'relleno' del cuerpo y los músculos proporcionan los movimientos; los dos tipos combinados pueden alternar la contracción y expansión de la criatura o sus 'patas' -si es que acaso tiene.
Observando a cada generación de criaturas robóticas el espectáculo es divertido e incluso entrañable: se deja libre al pequeño robot y se mide el tiempo que tarda en recorrer cierta distancia.
Los más rápidos tienen su premio en forma de descendientes que son clones de la criatura original aunque con pequeñas variaciones o "mutaciones genéticas": tal vez alguna de las nuevas piezas (músculos o tejidos blandos) les proporcionen alguna ventaja adicional, o quizá los empeoren o estropeen irremisiblemente – el azar juega aquí un papel fundamental. Pero lo que está claro es que los más lentos y menos aptos se quedan en el camino y son eliminados de la carrera evolutiva.
Lo interesante de las técnicas de los algoritmos evolutivos es que los ordenadores pueden realizar estas simulaciones con algoritmos evolutivos millones de veces por segundo. Los investigadores emplearon algunos objetos básicos geométricos y también una enorme base de datos de objetos procedente de Endless Forms ("Formas sin fin"), un repositorio de modelos en 3-D.
Los resultados tras siglos de evolución virtual están entre lo natural y lo chocantemente extraño: desde cubos y rectángulos que recuerdan a animales de la naturaleza y que parecen moverse con piernas, reptando como los gusanos o caminando como los insectos a modelos absurdos generados a partir de lámparas o muebles cuya evolución los ha deformado y añadido quizá músculos y patas – pero que aun así son capaces de moverse a buena velocidad.
Los interesados pueden consultar el trabajo original, titulado Unshackling Evolution: Evolving Soft Robots with Multiple Materials and a Powerful Generative Encoding (PDF).
Tras estas investigaciones se persigue encontrar los mejores algoritmos o fórmulas que sirvan para seleccionar los modelos más aptos y realistas y sobre todo los valores de las "reglas evolutivas" que mejores resultados producen. Con esos algoritmos bien afinados pueden crearse modelos más realistas y luego pasarlos de la pantalla a objetos físicos mediante impresoras 3-D o un montaje de piezas convencional, lo que producirá robots reales más aptos.