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Í.





La especialidad de mi hermano es, precisamente, montar supercomputadores de clase Beowulf (que son lo que has dicho, sip).
Ah, y asómate a mi blog, que te he contestado en lo del cine. xD
Comment by Santo — 11 February, 2008 @ 23:28
ohhp, no sabía eso de tu hermano, mola :D La verdad es que la idea de montar un supercomputador a partir de un montón de ordenadores me encanta. Siempre me ha gustado eso de las habitaciones llenas de ordenadores y que todo sea para un solo fin, además es como muy ochentero xD
Comment by Juanmi — 14 February, 2008 @ 0:30
Bueno el articulo me parece excelente, y me parece un tema muy interesante, por esta razón inicié el desarrollo de mi proyecto de Grado con el tema de Algoritmos Genéticos y me encuentro en etapa de recopilación de información y espero desarrollar una simulación de algun proceso usando esta técnica, quiero felicitarlo y espero tener posibilidad de contactar con usted con el fin de resole algunas inquietudes o recibir asesorias al respecto de este importante tema. Mil gracias
Comment by DORA ELIZABETH JAIMES — 17 February, 2008 @ 20:33
Muchas gracias Dora Elizabeth, en cuanto saque un ratillo le escribo un correo para que podamos hablar sobre el tema. Me encantará saber qué ideas y qué documentación tiene al respecto y poder hablar con alguien de estos temas, además de ayudarla en lo que me sea posible :)
Comment by Juanmi — 17 February, 2008 @ 21:55
yo hice un cluster beowulf como proyecto para fin de módulo con 1servidor y dos computadoras :D (que bonito que cuando recuerdo cosas de estas me siento orgulloso, snif snif :_(
Comment by The_IBITH — 21 February, 2008 @ 16:32