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

Post on 11-Apr-2015

110 views 2 download

Transcript of 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

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

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

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

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

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.

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.

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.

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.

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.

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.

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

Esquema de un AGEsquema de un AG

La ejecuciónLa ejecución

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.

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.

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

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

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

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

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.

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.