Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

22
Algoritmos Algoritmos Genéticos Genéticos (AG) (AG) Integrantes: Rubén Levineri Integrantes: Rubén Levineri Miguel Rozas Miguel Rozas Juan Yañez Juan Yañez

Transcript of Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Page 1: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Algoritmos Algoritmos GenéticosGenéticos

(AG)(AG)Integrantes: Rubén LevineriIntegrantes: Rubén Levineri

Miguel Rozas Miguel Rozas Juan Yañez Juan Yañez

Page 2: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

¿Qué es un AG?¿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.

Page 3: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

¿Qué es un AG?(continuación) ¿Qué es un AG?(continuación) • 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, modificándolos y mutándolos para la siguiente generación.

Page 4: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

• Para resolver un problema usando AG necesitamos:o Representar soluciones.• Tradicionalmente una cadena de bits.

o Medir la calidad de cada solución con respecto al problema a resolver.• Se usa una función de selección.

Page 5: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

¿Cómo funcionan?¿Cómo funcionan?• Esquema de funcionamiento de un AG:

o Se crea una población inicial generando individuos aleatoriamente.

o 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 descendencia.

• Combinar la descendencia con la población actual para crear nueva población.

Page 6: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Operadores genéticos.• En su forma más simple, un AG consta de los siguientes

operadores genéticos:

Selección: El proceso de selección sirve para escoger a los individuos de la población mejor adaptados, para que actúen de progenitores de la siguiente generación.

Reproducción: Se entenderá por “reproducción” la clonación de un individuo. Es decir, un individuo pasará a la siguiente generación sin modificación.

Cruce (crossover): Aquí se cruzan o mezclan los individuos seleccionados en la fase anterior. Es decir, los genes de los dos padres se mezclan entre sí para dar lugar a los diferentes hijos.

Mutación: Su objetivo es producir diversidad en la población. Teniendo en cuenta una probabilidad, probabilidad de mutación, y de forma aleatoria se altera un bit o gen de un cromosoma. Una vez aplicados los operadores, se evalúa de nuevo lapoblación.

Page 7: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Implementación de los Implementación de los AGAG

• 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.o Si es muy genérico, resulta trivial.o Si es muy específico, no se puede adaptar a todos los

problemas.

Page 8: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

AplicacionesAplicaciones• Optimización de una función

simple con cromosoma.o Los cromosomas son vectores numéricos

que representan el rango de variación.o La función de selección es el propio valor

de f(x).o El resultado se muta con una probabilidad

dada.

Page 9: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

AplicacionesAplicaciones• Problema del viajante.

o Cada cromosoma es un vector con una permutación de todas las ciudades, lo cual representa un camino para visitarlas todas.

o La función de selección depende de los pesos de los distintos arcos del grafo.

o Se muta el vector (se intercambian algunos de sus elementos) con una probabilidad dada.

Page 10: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Uso del paradigma Uso del paradigma funcionalfuncional

• Ventajaso 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.

Page 11: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Uso del paradigma Uso del paradigma funcionalfuncional

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

Page 12: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Uso del paradigma Uso del paradigma funcionalfuncional

• Ejemplo de función de generación depoblación

procrear :: Población -> Pob Población

procrear pob = do

padres <- seleccionar pob

hijos <- emparejar padres

combinar pob hijos

Page 13: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Esquema de un AGEsquema de un AG

Page 14: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

La ejecuciónLa ejecución

Page 15: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Visión de futuroVisión de futuro• Desarrollar un 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.

Page 16: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Visión de futuroVisión de futuro• Realización de una

implementación más eficiente que sea capaz de manejar problemas de gran tamaño y complejidad.

• Explotar el paralelismo inherente a los AG adaptando el marco a arquitecturas distribuidas.

Page 17: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

SoftwareSoftware• GATree es un constructor de esquemas de

árboles de decisión utilizando Algoritmos Genéticos.Página: http://www.gatree.com

• Free version: con algunas limitaciones.• Version Comercial: el valor depende de la

cantidad de licencias que se compren:• 1 Licencia €200 / Licencia

3 Licencia €180 / Licencia10+ Licencias €120 / Licencia

Page 18: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

• Licencia para estudiantes: se debe validar que uno es estudiante para optar al precio reducido de €60.

• Licencia para curso académico: hasta 200, por un periodo de 1 año. Un requisito previo para esto es proporcionar los detalles de clases o pruebas, el valor es de €500.

Page 19: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Algunas características únicas de Algunas características únicas de

GATree son los siguientes: GATree son los siguientes: • - El usuario puede controlar las características de

la producción (más precisa frente a pequeños árboles)

• - No hay límite superior de sus resultados, ya que podemos dotar al sistema de poder ilimitado y el tiempo de procesamiento

• - El sistema se desarrolla soluciones completas para el problema. Podemos detener la evolución cada vez que los resultados son satisfactorios

• - El sistema se desarrolla un conjunto de posibles soluciones (por ejemplo, árboles de decisión) que se asemejan los datos de entrada. Esto nos da hipótesis alternativas para los mismos resultados

Page 20: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Otros SoftwareOtros Software• Escapade (Frank Hoffmeister), freeware,

plataforma Windows.

• GAGA (Jon Crowcroft) ), freeware, plataforma Linux, Unix.

• DGenesis (John Grefenstette) freeware, plataforma: Código fuente C/C++.

Page 21: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

ConclusiónConclusión

• Ventajas del uso de los AGo Es poco sensible a los mínimos locales, lo cual le

confiere robustez, en contraste con las redes neuronales clásicas.

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

o El tiempo de convergencia de los AG es predecible por la naturaleza paralela de la búsqueda aleatoria.

o Funciona de forma paralela, por lo que pueden usarse en sistemas distribuidos para mejorar la velocidad de búsqueda.

Page 22: Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez.

Conclusión(continuaciConclusión(continuación)ón)

• Inconvenientes del uso de los AGo No hay un marco teórico genérico establecido.o Si la población inicial es cercana a la solución

óptima, los AG tardarán más que las técnicas de resolución tradicionales.• El AG perderá mucho tiempo comprobando

soluciones sub-óptimas.o Hacen buenas estimaciones de la solución óptima,

pero no la calculan exactamente.o El usuario debe determinar que tan cerca está la

solución estimada de la solución real.