En este sentido, es particularmente interesante la relación que han tenido estas ideas (el origen y la naturaleza de la vida) con el desarrollo de los ordenadores: desde los primeros pasos de Ciencia de la computación
Las ideas postuladas por Darwin han recorrido desde la publicación en 1859 de El origen de las especies un tortuoso camino hasta nuestros días. Aun actualmente, a pesar del vertiginoso desarrollo de la biotecnología y la bioinformática, los experimentos de alto rendimiento y el análisis masivo de datos, estas ideas continúan alimentando discordias entre los gigantes de la ciencia; lo cual, a decir verdad, destila un interesante tinte novelesco y atrevido en textos especializados y de divulgación de autores como Sthephen Jay Gould, Richard Dawkins, Richard Lewontin, Lynn Margulis, etc. En este sentido, es particularmente interesante la relación que han tenido estas ideas (el origen y la naturaleza de la vida) con el desarrollo de los ordenadores: desde los primeros pasos de Ciencia de la computación, sus pioneros estaban obsesionados con la posibilidad de emerger características adscritas a la vida, como la inteligencia, en un ordenador (un buen ejemplo de esto lo compone el artículo Máquinas de computación e inteligencia de Alan Turing (1950), en el cual el autor propuso el célebre Test de Turing). Dos décadas después Fogel, Bagley y Holland entre otros ya estaban desarrollando las primeras simulaciones de carácter evolutivo. En la actualidad el desarrollo de la computación evolutiva es inmenso, y la podemos advertir en aplicaciones tan dispares como el alineamiento de secuencias de nucleótidos, la predicción de plegamiento de proteínas, la ingeniería de software, diseños de topologías de circuitos, diseños de sistemas automatizados del sector financiero, etc. En el presente artículo describiremos muy sucintamente algunos ejemplos de computación evolutiva basándonos en dos programas gratuitos y amenos, desarrollados por Jeffrey Ventrella y colaboradores, y que pueden ser descargados o ejecutados desde su página web: http://www.ventrella.com.
En los tratados modernos, la computación evolutiva engloba principalmente dos estrategias: (a) algoritmos evolutivos y (b) algoritmos genéticos. En realidad ambas técnicas son simplemente lo que en las ciencias formales se conoce como métodos de optimización, con la particularidad de estar inspirados en las tácticas para solucionar problemas de los principios de la evolución y la selección natural. Ambos algoritmos se diferencian en el mecanismo que introduce la variabilidad, que Captura de pantalla del programa Disney meets darwin preceden a la discriminación que ejerce la selección. En los algoritmos evolutivos los cambios experimentados por los individuos son el resultado de la simulación del proceso biológico denominado mutación. De esta forma, los sistemas basados en algoritmos evolutivos son análogos a la evolución de organismos con reproducción asexual. Como ejemplo ilustrativo, el programa escrito en Java Disney meets Darwin (http://www.disneymeetsdarwin.com/) es un sencillo y ameno simulador basado en algoritmos evolutivos, en el cual unos personajes o elementos animados compiten por su eficacia para recorrer distancia o caminar. Los movimientos así como la morfología de estos elementos animados está codificada por una suerte de genes artificiales, que sufren mutaciones de generación en generación, de forma que a la larga se optimiza el problema de la locomoción.
Por su parte, los algoritmos genéticos se inspiran en el mecanismo biológico de la recombinación, y por tanto emulan poblaciones de organismos de reproducción sexual. El objetivo de la recombinación es obtener genotipos o soluciones nuevas mediante la combinación de fragmentos de genotipos o soluciones previas que a su vez han sido seleccionados (en rigor por una combinación de reproducción sexual y natural). Existen varios métodos para simular la recombinación, aunque todos ellos parten (como no podía ser de otra manera) Captura de pantalla del programa Gene Pool 6 del dilema de la elección de pareja. Estas parejas pueden formarse al azar (fenómeno que en biología se conoce como panmixia), aunque también existen otros criterios basados en la atracción entre organismos artificiales. Un simulador con base en algoritmos genéticos seleccionados por atracción mutua, y considerablemente más potente que el anterior, es Gene pool (http://www.swimbots.com/, la versión más reciente hasta ahora es Gene Pool 6). Este simulador, que aparece descrito ampliamente en un capítulo de libro Artificial Life Models in Software, se basa en una población de organismos digitales conocidos como swimbots, cuya (parafraseando a Darwin) lucha por la vida es objeto de dos fuerzas de selección: (a) su capacidad para obtener alimento y sobrevivir (sin el cual mueren tras un breve periodo), en lo que puede considerarse selección natural interespecífica; y (b) su capacidad para reproducirse, o selección sexual. En general ambas presiones selectivas se focalizan sobre la aptitud como nadadores que despliegen los swimbots, por tanto en las sucesivas generaciones se seleccionaran las combinaciones más adaptadas a la natación. Todos los caracteres de los swimbots, desde el número y las características de sus artejos, así como sus movimientos están codificados por un genoma digital, que se recombina en cada proceso de reproducción. El programa es considerablemente completo e intuitivo; es posible configurar los criterios de preferencia de pareja, la disponibilidad y la calidad del alimento, la energía que se le transfiere a la descencencia, etc.
Estos dos programas son ejemplos sencillos e ilustrativos, que ostentan un fin más bien representativo y didáctico. No obstante en la actualidad el alcance y la ambición de la computación inspirada en los sistemas vivos no tiene límites (pensemos, por ejemplo, que el proyecto BlueBrain del EFPL liderado por Henry Markram tiene como objeto simular la corteza cerebral humana). Gran parte de su éxito se debe a que estas simulaciones han resultador ser eficaces estrategias en la solución de problemas típicamente humanos, aunque por lo que a la ciencia concierne, representan una insustituible herramienta de inferencia, que probablemente represente el intento más factible de describirnos y conocernos como sistemas vivos.
Manuel Valero García
Bibliografía:
- Adamtzky, A. & Komosinski, M. 2005. Artificial Life Models in Software. Springer.
- Lahoz-Beltra, R. 2004. Bioinformática. Simulación, Vida Artificial e Inteligencia Artificial. Ediciones Díaz de Santos.
- Lahoz-Beltra, R. 2008. ¿Juega Darwin a los dados?. Simulando la evolución en el ordenador. Nivola.
- Ventrella, J. 1998. Attractiveness vs. efficiency (how mate preference affects location in the evolution of artificial swimming organisms). MIT Press Cambridge, MA, USA.