Algoritmos Gen - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritmos Gen

Description:

Los AG son m todos de resoluci n de problemas de b squeda y optimizaci n. ... Hacen buenas estimaciones de la soluci n ptima, pero no la calculan exactamente. ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 20
Provided by: Dun678
Category:

less

Transcript and Presenter's Notes

Title: Algoritmos Gen


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 algoritmos
    evolutivos.
  • 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ón natural 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 -gt Prob Población
  • procrear pob do
  • padres lt- seleccionar pob
  • hijos lt- 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.
Write a Comment
User Comments (0)
About PowerShow.com