21
Implementaci´ on de un algoritmo gen´ etico Magaly Martinez Inteligencia Artificial Universidad Politecnica de cd Victoria 20 de enero de 2016

Algoritmos geneticos

Embed Size (px)

Citation preview

Page 1: Algoritmos geneticos

Implementacion de un algoritmo genetico

Magaly Martinez

Inteligencia ArtificialUniversidad Politecnica de cd Victoria

20 de enero de 2016

Page 2: Algoritmos geneticos

Contenido

1 IntroduccionDefinicion de Algoritmo GeneticoMecanismos EvolutivosRepresentacion de Algoritmos GeneticosEstructura de un Algoritmo Genetico Simple

2 PseudocodigoAlgoritmo GeneralRepresentacion de los individuosGeneracion de la Poblacion InicialAdaptacionEvaluacion de PoblacionSeleccion de SupervivientesReproduccion, Cruce y Mutacion

3 Ventajas y LimitacionesVentajasLimitaciones

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 2 / 21

Page 3: Algoritmos geneticos

Introduccion Definicion de Algoritmo Genetico

Definicion de Algoritmo Genetico

Dentro de las tecnicas heurısticas mas utilizadas para resolver problemas seencuentran los Algoritmos Geneticos. Esta tecnica, inspirada en el procesoevolutivo de los seres vivos, comienza con un conjunto aleatorio de solucionesfactibles al problema e iterativamente las va mejorando usando mecanismosevolutivos

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 3 / 21

Page 4: Algoritmos geneticos

Introduccion Mecanismos Evolutivos

Mecanismos Evolutivos

Seleccion: Las soluciones mas ”fuertes”tendran la capacidad de cruzarse.

Eleccion: Las soluciones capaces de cruzarse forman ”parejas”.

Cruze: Las soluciones ”padres”generan soluciones ”hijos”que suelen ser mas”fuertes”.

Mutacion: Las soluciones ”hijos”tienen caracterısticas que no provienen de sus”padres”.

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 4 / 21

Page 5: Algoritmos geneticos

Introduccion Representacion de Algoritmos Geneticos

Representacion de Algoritmos Geneticos

Antes de que un algoritmo genetico pueda ponerse a trabajar en un problema, senecesita un metodo para codificar las soluciones potenciales del problema de formaque una computadora pueda procesarlas.Un enfoque comun es codificar las soluciones como cadenas binarias: secuencias de 1sy 0s, donde el dıgito de cada posicion representa el valor de algun aspecto de lasolucion.

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 5 / 21

Page 6: Algoritmos geneticos

Introduccion Estructura de un Algoritmo Genetico Simple

Estructura de un Algoritmo Genetico Simple

Generar aleatoriamente la poblacion inicial

A cada uno de los cromosomas de esta poblacion se aplicara la funcion deaptitud para saber lo ”buena”que es la solucion que se esta codificando.

Elegir los cromosomas que seran cruzados en la siguiente generacion.

Los cromosomas con mejor aptitud tienen mayor probabilidad de serseleccionados

Se aplica un operador genetico: mutacion, cruce, evaluacion?

El AG se debera detener cuando se alcance la solucion optima, o correr el AG unnumero maximo de iteraciones, o detenerlo cuando no haya cambios en lapoblacion.

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 6 / 21

Page 7: Algoritmos geneticos

Pseudocodigo Algoritmo General

Algoritmo General

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 7 / 21

Page 8: Algoritmos geneticos

Pseudocodigo Representacion de los individuos

Estructura de un Individuo

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 8 / 21

Page 9: Algoritmos geneticos

Pseudocodigo Generacion de la Poblacion Inicial

Generar Poblacion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 9 / 21

Page 10: Algoritmos geneticos

Pseudocodigo Generacion de la Poblacion Inicial

Generar Individuo

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 10 / 21

Page 11: Algoritmos geneticos

Pseudocodigo Adaptacion

Adaptacion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 11 / 21

Page 12: Algoritmos geneticos

Pseudocodigo Adaptacion

Decodificacion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 12 / 21

Page 13: Algoritmos geneticos

Pseudocodigo Adaptacion

Binario a Entero

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 13 / 21

Page 14: Algoritmos geneticos

Pseudocodigo Evaluacion de Poblacion

Evaluacion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 14 / 21

Page 15: Algoritmos geneticos

Pseudocodigo Seleccion de Supervivientes

Seleccion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 15 / 21

Page 16: Algoritmos geneticos

Pseudocodigo Reproduccion, Cruce y Mutacion

Reproduccion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 16 / 21

Page 17: Algoritmos geneticos

Pseudocodigo Reproduccion, Cruce y Mutacion

Reproduccion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 17 / 21

Page 18: Algoritmos geneticos

Pseudocodigo Reproduccion, Cruce y Mutacion

Cruce

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 18 / 21

Page 19: Algoritmos geneticos

Pseudocodigo Reproduccion, Cruce y Mutacion

Mutacion

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 19 / 21

Page 20: Algoritmos geneticos

Ventajas y Limitaciones Ventajas

Ventajas de los Algoritmos Geneticos

los algoritmos geneticos son intrınsecamente paralelos. La mayorıa de los otrosalgoritmos son en serie y solo pueden explorar el espacio de soluciones hacia unasolucion en una direccion al mismo tiempo. Sin embargo, ya que los algoritmosgeneticos tienen descendencia multiple, pueden explorar el espacio de solucionesen multiples direcciones a la vez.

Funcionan particularmente bien resolviendo problemas cuyo espacio desoluciones potenciales es realmente grande

Los algoritmos evolutivos han demostrado su efectividad al escapar de losproblemas optimos locales y descubrir el optimo global incluso en paisajesadaptativos muy escabrosos y complejos.

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 20 / 21

Page 21: Algoritmos geneticos

Ventajas y Limitaciones Limitaciones

Limitaciones de los Algoritmos Geneticos

Definir una representacion del problema

El problema de como escribir la funcion de aptitud debe considerarsecuidadosamente para que se pueda alcanzar una mayor aptitud yverdaderamente signifique una solucion mejor para el problema dado.

Se aconseja no utilizar algoritmos geneticos en problemas resolubles de maneraanalıtica ya que los metodos analıticos tradicionales consumen mucho menostiempo y potencia computacional que los AGs

Magaly Martinez Implementacion de un algoritmo Genetico 20 de enero de 2016 21 / 21