Sobre los algoritmos genéticos y sus aplicaciones
Aunque este post me haga sentir un poco como Mohinder en Heróes no voy a cortarme, asi que lo siento.
La naturaleza es muy sabia, y la manera en la que la vida se adapta a las condiciones que le rodean es muy efectiva. Como bien nos dijo Darwin esto es debido a la evolución genética. Parece que para cualquier condición de la tierra siempre existe un ser lo mas óptimo posible que se adapta de la mejor manera al medio y lo cual le permite sobrevivir con mayor facilidad. Esto se ha conseguido con millones de años de evolución, a través de pequeños cambios en el código genético.Â
Los algoritmos genéticos basicamente aplican esta sabidurÃa de la naturaleza en la optimización de problemas con la ventaja de no necesitar millones de años para conseguir resultados. Leyendo sobre los algoritmos genéticos y sus usos y aplicaciones, esta es de las aplicaciones que más me han sorprendido.
Una matriz de puertas programable en campo (Field Programmable Gate Array, o FPGA), es un tipo especial de placa de circuito con una matriz de celdas lógicas, cada una de las cuales puede actuar como cualquier tipo de puerta lógica, interconectado con conexiones flexibles que pueden conectar celdas. Estas dos funciones se controlan por software, asà que simplemente cargando un programa especial en la placa, puede alterarse al vuelo para realizar las funciones de cualquier dispositivo de hardware de la amplia variedad existente.
El Dr. Adrian Thompson ha explotado este dispositivo, en conjunción con los principios de la evolución, para producir un prototipo de circuito reconocedor de voz que puede distinguir y responder a órdenes habladas utilizando sólo 37 puertas lógicas -una tarea que se habrÃa considerado imposible para cualquier ingeniero humano. Generó cadenas aleatorias de bits de ceros y unos y las utilizó como configuraciones de la FPGA, seleccionando los individuos más aptos de cada generación, reproduciéndolos y mutándolos aleatoriamente, intercambiando secciones de su código y pasándolo hacia la siguiente ronda de selección. Su objetivo era evolucionar un dispositivo que pudiera en principio discriminar entre tonos de frecuencias distintas (1 y 10 kilohercios), y luego distinguir entre las palabras habladas “go'’ (adelante) y “stop'’ (para).
Su objetivo se alcanzó en 3.000 generaciones, pero el éxito fue mayor de lo que habÃa anticipado. El sistema que evolucionó utilizaba muchas menos celdas que cualquier cosa que pudiera haber diseñado un ingeniero humano, y ni siquiera necesita del componente más crÃtico de los sistemas diseñados por humanos -un reloj. ¿Cómo funcionaba? Thompson no tiene ni idea, aunque ha rastreado la señal de entrada a través de un complejo sistema de bucles realimentados del circuito evolucionado. De hecho, de las 37 puertas lógicas que utiliza el producto final, cinco de ellas ni siquiera están conectadas al resto del circuito de ninguna manera -pero si se les retira la alimentación eléctrica, el circuito deja de funcionar. Parece que la evolución ha explotado algún sutil efecto electromagnético de estas celdas para alcanzar su solución, pero el funcionamiento exacto de la compleja e intrincada estructura evolucionada sigue siendo un misterio (Davidson, Clive. “Creatures from primordial silicon.” New Scientist, vol.156, no.2.108, p.30-35, 1997).
Extraido de “Algoritmos genéticos y computación evolutiva”


RSS
Yo ya lo leà en papel y el otro dÃa y flipé…
De las FPGA a ‘Yo, Robot’ hay solo un paso
16 Junio 2007 @ 3:32 pm
Diox santo, acabo de percatarme de que te das un aire (fÃsicamente, me refiero) a Mohinder!!!!
xD
16 Junio 2007 @ 3:36 pm
Y yo que con 37 puertas casi no hago ni siquiera un sumador… Ya estoy viendo el dÃa del juicio final y a Arnold Schwarzenegger montado en una Harley…
19 Junio 2007 @ 7:24 am
Simplemente genial.
Tenemos en el foro otro caso claro de evolución por mutación. K es uno de los pocos seres capaz de leer el estado de un CD/DVD solo mirándolo.
No desesperes K Mohinder esta a punto de encontrarte!
19 Junio 2007 @ 1:53 pm
Increible…
Chavales, cada dia estoy mas enganchado a vuestro blog, seguir asi
19 Junio 2007 @ 3:26 pm
chevere ps..lo encontre buscando un trabajo de algoritmo genetico aplicado a problemas de optimizacion
20 Junio 2007 @ 3:34 am
Juas juas…
‘K’ si que es un casual descubrimiento mutante.
—————-
LA VERDAD ES QUE LA NOTICIA ES MUY CURIOSA. Y TAMBIEN ES CURIOSO COMO NOS ENCONTRÓ ‘MIEL’
21 Junio 2007 @ 12:01 am
Me las voy a dar de listillo
En una de las asignaturas del máster en bioinformática que hacÃa por Suiza, estudiamos los GA (genetic algorithms) y también nos paseamos bastante por el PSO (particle swarm optimization). Se trata de otro algoritmo de optimización en el que virtualmente dejas libres unos agentes que tienen inercia, velocidad (como si fueran pájaros volando) y optimizan funciones normalmente con bastante mejor rendimiento y en menos iteraciones que los GA. Yo ya lo he soltado y me he quedado a gusto
21 Junio 2007 @ 6:27 pm
Nakasima te tomo nota. Habra que ver en que consiste eso de los PSO.
Gracias!
22 Junio 2007 @ 10:24 am