Upload
tadeo-bargas
View
110
Download
2
Embed Size (px)
Citation preview
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.