1 / 19

Algoritmos Genéticos

Algoritmos Genéticos. Una introducción a la computación evolutiva. Algoritmos Genéticos. ¿Qué son los algoritmos genéticos? ¿Cómo funcionan? Implementación de los AG Aplicaciones Uso del paradigma funcional Visión de futuro Conclusiones. ¿Qué es un AG?.

nitsa
Download Presentation

Algoritmos Genéticos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos Genéticos Una introducción a la computación evolutiva

  2. Algoritmos Genéticos • ¿Qué son los algoritmos genéticos? • ¿Cómo funcionan? • Implementación de los AG • Aplicaciones • Uso del paradigma funcional • Visión de futuro • Conclusiones

  3. ¿Qué es un AG? • Los AG son métodos de resolución de problemas de búsqueda y optimización. • Son una clase particular de algoritmosevolutivos. • Su característica principal es que se basan en técnicas inspiradas en la evolución biológica.

  4. ¿Qué es un AG? • Se aplican sobre una población representada de forma abstracta como cromosomas, que son la codificación de soluciones candidatas a un problema. • La evolución comienza desde una población aleatoria. • En cada generación, la selecciónnatural elegirá que individuos son aptos, modificandolos y mutándolos para la siguiente generación.

  5. ¿Cómo funcionan? • Para resolver un problema usando AG necesitamos: • Representar soluciones. • Tradicionalmente una cadena de bits. • Medir la calidad de cada solución con respecto al problema a resolver. • Se usa una función de selección.

  6. ¿Cómo funcionan? • Esquema de funcionamiento de un AG: • Se crea una población inicial generando individuos aleatoriamente. • Repetimos hasta que se alcance el individuo óptimo o el número máximo de generaciones: • Asignar un valor de supervivencia a cada miembro de la población. • Seleccionar a un conjunto de individuos que actuarán como padres usando como criterio su probabilidad de supervivencia. • Emparejar un grupo de padres para crear desdendencia. • Combinar la descendencia con la población actual para crear nueva población.

  7. Implementación de los AG • Los AG se adaptan específicamente a los problemas que van a resolver. • No hay un marco teórico genérico para aplicarlo a todos los problemas. • Es difícil establecer dicho marco. • Si es muy genérico, resulta trivial. • Si es muy específico, no se puede adaptar a todos los problemas.

  8. Aplicaciones • Optimización de una función simple. • Los cromosomas son vectores numéricos que representan el rango de variación. • La función de selección es el propio valor de f(x). • El resultado se muta con una probabilidad dada.

  9. Aplicaciones • Problema del viajante. • Cada cromosoma es un vector con una permutación de todas las ciudades, lo cual representa un camino para visitarlas todas. • La función de selección depende de los pesos de los distintos arcos del grafo. • Se muta el vector (se intercambian algunos de sus elementos) con una probabilidad dada.

  10. Uso del paradigma funcional • Ventajas • La definición de AG se adapta naturalmente al paradigma funcional. • Las acciones que definen un AG (seleccionar, emparejar y combinar) son funciones a definir. • El AG mismo es una función que toma una población inicial y una semilla aleatoria, devolviendo un conjunto de poblaciones sucesivas que representan las distintas generaciones.

  11. Uso del paradigma funcional • Un lenguaje funcional como Haskell permite el uso de estructuras infinitas. • El AG puede generar una lista indefinida de descendientes y la función de recombinación sólo usará aquellos descendientes necesarios para construir la nueva población.

  12. Uso del paradigma funcional • Ejemplo de función de generación de población procrear :: Población -> Prob Población procrear pob = do padres <- seleccionar pob hijos <- emparejar padres combinar pob hijos

  13. Uso del paradigma funcional • Se usa la mónada Prob para tener control preciso sobre la generación de números aleatorios. • Prob mantiene varias listas infinitas de números aleatorios asociados con cada proceso estocástico, manteniéndolas ocultas al usuario. • Esto permite gran control sobre los factores que determinan el resultado de las ejecuciones del AG.

  14. Visión de futuro • Desarrollar una marco de trabajo para AG, de manera que una misma estructura se pueda instanciar a distintos tipos de problemas. • Proporcionar operadores genéticos como funciones predefinidas y permitir su selección y utilización mediante un interfaz de usuario.

  15. Visión de futuro • Realización de una implementación más eficiente que sea capaz de manejar problemas de gran tamaño y complejidad. • Una posibilidad sería usar mónadas de estado (State Monads) para reutilizar el espacio. • Explotar el paralelismo inherente a los AG adaptando el marco a arquitecturas distribuidas.

  16. Conclusiones • Ventajas del uso de los AG • Es poco sensible a los mínimos locales, lo cual le confiere robustez, en contraste con las redes neuronales clásicas. • Asimismo, no depende de las condiciones iniciales, debido a que se usa búsqueda estocástica y ésta hace al principio un gran número de intentos aleatorios.

  17. Conclusiones • El tiempo de convergencia de los AG es predecible por la naturaleza paralela de la búsqueda estocástica. • Funciona de forma paralela, por lo que pueden usarse en sistemas distribuidos para mejorar más la velocidad de búsqueda.

  18. Conclusiones • Inconvenientes del uso de los AG • No hay un marco teórico genérico establecido. • Si la población inicial es cercana a la solución óptima, los GA tardarán más que las técnicas de resolución tradicionales. • El GA perderá mucho tiempo comprobando soluciones sub-óptimas.

  19. Conclusiones • Hacen buenas estimaciones de la solución óptima, pero no la calculan exactamente. • El usuario debe determinar cómo de cerca está la solución estimada de la solución real. • La proximidad a la solución real dependerá de la aplicación en concreto.

More Related