Algoritmos genéticos
Este fin de semana he estado aplicado con la memoria, recopilando y redactando sobre redes neuronales y algoritmos genéticos. La verdad es que es un tema bastante estimulante de leer, aunque no lo sea tanto cuando tienes que hacer cientos de ejercicios de prueba-error para ajustar los parámetros… Pero no vengo ha hablar de esa parte de la investigación, sino de la parte apasionante. Los logros en este campo han sido tan diversos y tan sorprendentes que no comprendo como todavía este área de la informática es tan desconocida y está tan mal vista. Lo cierto es que es el equivalente a los OVNIS para los programadores: cuando hablas de estas cosas, la gente cree que estás medio loco y que deberías emplear tu tiempo en cosas útiles. Pero cada vez que investigo un poco encuentro datos sorprendentes sobre logros de algoritmos neuronales o genéticos.
La última vez fue cuando descubrí que en 2001, Chellapilla y Fogel, desarrollaron un programa genético que hacía competir a una serie de redes neuronales en juegos de damas. Si algunos recordáis Juegos de Guerra, este ordenador hacía lo mismo, jugaba sólo a las damas, y aprendía. Tanto es así que después de 840 generaciones (miles de partidas, y 6 meses de computación) El programa resultante fue enfrentado a jugadores de todo el mundo dentro de una web y se colocó por encima del 99 % de los 80000 jugadores registrados.Alcanzó el nivel experto y venció a todos los demás programas de damas salvo al que podríamos llamar el equivalente a Deep Blue en las damas, y todo eso sin ayuda externa, sin enormes bases de datos con movimientos maestros. Aprendiendo sólo, a partir de las reglas básicas. (Abajo coloco la historia completa para el que quiera leerla)
Si esto no parece suficiente, hoy he descubierto otro de los grandes logros de los algoritmos genéticos. John Koza, un reputado profesor de la universidad de Standford, trabaja en este campo desde hace muchos años y tiene un supercomputador de 1000 núcleos (pentium II, son ordenadores que consideraríamos “baratos” lo que, por lo visto, se llama un “Beowulf”) que utiliza para sus algoritmos genéticos. Él lo llama la maquina inventiva, y es que gracias a esta técnica de programación ha conseguido varios inventos que superan invenciones de expertos humanos. Tanto es así que la máquina posee una patente.
Es increíble pero cierto, esta máquina es el primer organismo no humano al que se ha otorgado una patente de un invento. El 25 de enero de 2005, el instituto de patentes estadounidense, sin saber que la invención provenía de una máquina, le concedió la patente por un diseño (hay que decir que para te la concedan tienes que demostrar que es una invención a la cual no podría haber llegado cualquiera, sino que es una invención original). Es decir, es como si la máquina hubiera pasado un pequeño Test de Turing. (Explicación del Test de Turing.)
No sé porqué estas cosas no son conocidas, al menos entre los informáticos mismos. No sé porque logros como tales pasan desapercibidos para el 99% del planeta. Además sé que a la mayor parte de la gente que se lo contara le daría exactamente igual.
Mientras todos nos preocupamos de si inventan un nuevo reproductor de video, hay enormes ordenadores repartidos por el mundo que contienen más información de la que podamos imaginar, servidores con enormes bases de datos de conocimientos, de noticias, de historia, ordenadores realizando complejas operaciones que permiten clasificar moléculas, construir nuevas antenas de radio, que encuentran soluciones que nunca habríamos imaginado. Pensando en estas cosas se plantea uno si nosotros controlamos a las máquinas todavía y cuándo alzarán la voz…
Para saber más: (enlaces en inglés)
La historia del programa que jugaba a las damas AQUÍ.
John Koza en la wikipedia.
Beowulf.
Artículo sobre John Koza y su máquina de inventos.
Un montón de historia y logros de los algoritmos genéticos AQUÍ.




