Un algoritmo genético podría permitir que una inteligencia artificial pueda evaluar un número elevadísimo de posibilidades y seleccionar la que mejor se adapte a un problema en particular. Según algunos ingenieros aeroespaciales, las sondas robóticas de la NASA podrían aprovechar dentro de pocos años estos sofisticados algoritmos matemáticos para encontrar las mejores rutas hacia planetas y cometas lejanos.
A la hora de dirigir una nave hay dos posibilidades: o se escribe un software que tenga en cuenta todas las alternativas que se presenten y un plan preelaborado para solucionarlas, o bien se crea una inteligencia artificial que pueda evaluar cada situación y obrar en consecuencia. El primer enfoque ha sido utilizado todos estos últimos años con buenos resultados pero, a medida que las misiones se complican cada vez más, ya sea porque intentamos alcanzar sitios que se encuentran en los confines del sistema solar o porque los objetivos a cumplir requieren de una gran precisión en los tiempos de navegación o búsqueda de sitios con características particulares, queda de manifiesto que hace falta otra clase de sistema de control. Y ese nuevo control puede ser un algoritmo genético.
La idea no es nueva. Hace unos treinta años, John Henry Holland enunció las bases de lo que luego se llamarían “algoritmos genéticos”. El nombre se debe a que están inspirados en la evolución biológica y consisten en un código informático que lo hace “evolucionar” sometiéndolo a cambios aleatorios semejantes a los que actúan en la evolución biológica -mutaciones y recombinaciones genéticas-, siempre acotados por una serie de reglas enunciadas en función de los objetivos buscados. Las millones de copias del código original que “sobreviven” a esta especie de depuración virtual contienen la solución al problema planteado, y el resto simplemente se descarta. Aunque suene a “ciencia ficción”, el sistema funciona. Por ejemplo, hace 10 años se patentó el primer invento no realizado por un humano, una extraña antena que funciona perfectamente y fue diseñada por un algoritmo genético. Bien, esta clase de software podría ser nuestro mejor piloto espacial.
Las misiones que se dirigen al espacio profundo, como la de las sondas Voyager, a menudo necesitan del impulso obtenido de los campos gravitacionales de los planetas que visitan. Este envión, obtenido al utilizar el campo gravitacional del planeta como una honda, les permite visitar otros cuerpos celestes, sin utilizar demasiado combustible. Pero “la programación de una trayectoria de este tipo con años de anticipación puede ser un problema muy difícil de resolver” dice Ian Carnelli, de la Agencia Espacial Europea.
Hay que calcular el momento exacto del lanzamiento, tener en cuenta los vientos y el rendimiento no siempre constante de los cohetes impulsores, y lograr dejar la Tierra con la velocidad y rumbo exacto. Otros factores, como la presión de la radiación de las erupciones solares pueden perturbar el curso de la nave en el espacio. Si la sonda no está en la posición adecuada cuando se inicia una maniobra, puede terminar en cualquier parte.
Carnelli y sus colegas Bernd Dachwald y Massimiliano Vasile sugieren que una sonda robótica tranquilamente podría calcular todas estas cosas por sí misma utilizando un algoritmo genético. De hecho, ya se han puesto a trabajar y las simulaciones por ordenador demuestran que un sistema de este tipo puede ser muy eficaz para guiar una misión que visite a Venus, Mercurio, Júpiter y Plutón. Y no son los únicos que lo han intentado. También los ingenieros de la Universidad de Missouri han utilizado aproximaciones matemáticas llamadas “evolución diferencial”, que demostraron ser eficientes para encontrar los mejores caminos para las misiones robóticas del espacio profundo.
“Esta clase de software ayuda a determinar la trayectoria, el tamaño de la nave, el combustible que se necesita, el tipo de vehículo de lanzamiento a utilizar, y cada uno de los demás detalles de la misión”, dijo Craig Kluever, un ingeniero aeroespacial de la Universidad de Missouri. Su algoritmo trata las posibles soluciones como individuos de una población, eligiendo unos pocos cada vez para “mutarlos” e intercambiar rasgos -tal como hace la naturaleza al trastear con nuestros genes- comprobando luego los trozos de “código mutante” con los resultados previos. Las mejores soluciones ganan y sobreviven a la siguiente generación, donde el proceso vuelve repetirse una y otra vez.
La Agencia Espacial Europea (ESA) ha patrocinado dos estudios que comparan la evolución diferencial con otros métodos. Uno de ellos determinó que esta clase de algoritmos tiene un rendimiento superior a los sistemas “tradicionales”, mientras que el otro demostró que se comporta tan bien como estos sistemas tradicionales.
Kluever probó el software poniendo a su mando una versión virtual de la compleja misión Cassini a Saturno en 1997, que implicaba pasadas por la Tierra, Venus y Júpiter, así como maniobras en el espacio profundo. “Los resultados para Cassini fueron realmente muy similares a lo que la sonda real está llevando a cabo”, dice Kluever. “Una gran cantidad de eventos temporales y sobrevuelos encajaban el mismo día o erraban por apenas horas”.
“Creo que sería bueno que la NASA pusiera los algoritmos genéticos en su caja de herramientas”, termina Kluever. “No como un reemplazo, sino como una alternativa más que permita observar el problema desde un ángulo distinto”. Si se sale con la suya, una versión cibernética de la estrategia evolutiva que nos ha traído hasta aquí será la encargada de pilotar nuestras naves hacia las estrellas.