Algoritmos Geneticos Expo

36
Algoritmos Genéticos

description

Expocición sobre algoritmos geneticos

Transcript of Algoritmos Geneticos Expo

  • Algoritmos
    Genticos

  • Ventajas

    El primer y ms importante punto es que los AG son intrnsecamente paralelos.Los AG funcionan particularmente bien resolviendo problemas cuyo espacio de soluciones potenciales es realmente grande.
  • Ventajas

    Otra ventaja notable de los AG es que se desenvuelven bien en problemas con un paisaje adaptativo complejo -aqullos en los que la funcin objetivo es discontinua, ruidosa, cambia con el tiempo, o tiene muchos ptimos locales. Trabajan con una codificacin de un conjunto de parmetros, no con los parmetros mismos.
  • Ventajas

    Utilizan operadores probabilsticos, en vez de los tpicos operadores determinstico de las tcnicas tradicionales.Resulta sumamente fcil ejecutarlos en las modernas arquitecturas masivas en paralelo.
  • Ventajas

    Cuando se usan para problemas de optimizacin, resultan menos afectados por los mximos locales que las tcnicas tradicionales (i.e., son mtodos robustos).Otra rea en el que destacan los AG es su habilidad para manipular muchos parmetros simultneamente.
  • Desventajas

    El lenguaje utilizado para especificar soluciones candidatas debe ser robusto.El problema de cmo escribir la funcin objetivo debe considerarse cuidadosamente para que se pueda alcanzar una mayor aptitud y verdaderamente signifique una solucin mejor para el problema dado.
  • Desventaja

    Tambin deben elegirse cuidadosamente los otros parmetros de un AG el tamao de la poblacin, el ritmo de mutacin y cruzamiento, el tipo y fuerza de la seleccin.Un problema muy conocido que puede surgir con un AG se conoce como convergencia prematura
  • 1.- Trabajan con la codificacin del conjunto de parmetros, no con los parmetros.

    2.- Buscan a partir de una poblacin de puntos, no un

    punto nico.

    3.- Usan informacin de una funcin objetivo (o ms), no

    derivadas u otro conocimiento adicional.

    4.- Usan reglas de transicin probabilsticas, no reglas

    determinsticas.

    Diferencias entre AGs y los mtodos tradicionales de bsqueda

  • Cmo Saber si es Posible usar un Algoritmo Gentico?

    Su espacio de bsqueda (i.e., sus posibles soluciones) debe de estar delimitado dentro de un cierto rango.Debe permitir definir una funcin de aptitud que nos indique que tan buena o mala es una cierta respuesta.Las soluciones deben codificarse de una forma que resulte relativamente fcil de implementar en el computador.
  • Codificacin del problema

    El conjunto de todos los parmetros (genes en la terminologa de Algoritmos Genticos) se codifica en una cadena de valores denominada cromosoma.Cada uno de los bits pertenecientes a un gen suele recibir el nombre de alelo.
  • Algoritmo

    Condicin de parada: cantidad de generaciones, convergencia, tiempo

    en el de holland se elige uno por fitness, si no hay que hacerle crossover, se pone en la siguiente generacion. Si no, se elige uno con probabilidad uniforme, se elige un punto de curce con probabilidad uniforme y se ponen los dos en la nueva poblacion

  • Cmo funcionan?

    Para resolver un problema usando AG necesitamos:Representar soluciones.Tradicionalmente una cadena de bits.Medir la calidad de cada solucin con respecto al problema a resolver.Se usa una funcin de Objetivo.Penalizacin de resultados.
  • Cmo funcionan?

    Esquema de funcionamiento de un AG:Se crea una poblacin inicial generando individuos aleatoriamente.Repetimos hasta que se alcance el individuo ptimo o el nmero mximo de generaciones:Asignar un valor de supervivencia a cada miembro de la poblacin.Seleccionar a un conjunto de individuos que actuarn como padres usando como criterio su probabilidad de supervivencia.Emparejar un grupo de padres para crear desdendencia.Combinar la descendencia con la poblacin actual para crear nueva poblacin.
  • Obtencin de generaciones

    Una generacin se obtiene a partir de la anterior por medio de los operadores de reproduccin. Existen 2 tipos:CruceCopia
  • Criterios de parada

    Una vez generados los nuevos individuos se realiza la mutacin con una probabilidad Pm. La probabilidad de mutacin suele ser muy baja, por lo general entre el 0.5% y el 2%.Se sale de este proceso cuando se alcanza alguno de los criterios de parada fijados. Los ms usuales suelen ser:
  • Los mejores individuos de la poblacin representan soluciones suficientemente buenas.La poblacin ha convergido. Un gen ha convergido cuando el 95% de la poblacin tiene el mismo valor para l,Se ha alcanzado el nmero de generaciones mximo especificado.
  • Implementacin de los AG

    Los AG se adaptan especficamente a los problemas que van a resolver.No hay un marco terico genrico para aplicarlo a todos los problemas.Es difcil establecer dicho marco.Si es muy genrico, resulta trivial.Si es muy especfico, no se puede adaptar a todos los problemas.
  • Codificacin Binaria

    Cromosoma (Genotipo)

    Solucin Potencial (Fenotipo)

    Problema 1: Maximizar una funcin f : [a,b] +

    Nmero real x[a,b]

    Problema 2: Organizar 8 trabajos en 2 Fases

    S = {T1 F1, T2 F0, T3 F1, T4 F0, T5 F0, T6 F0, T7 F1, T8 F1}

    Calidad de la Solucin Potencial (Fitness)

    Problema 1: valor de f(x)

    Problema 2: Medida del beneficio (inversa del coste) de S

    *

  • Decodificacin de Cromosomas

    Es el clculo del Fenotipo a partir del GenotipoMuchas veces sirve algn algoritmo voraz (p.e. familia NP)Es la operacin ms costosa del AGEl Fitness se calcula de forma inmediata a partir del Fenotipo

    Genotipo

    Datos

    Problema

    Fenotipo

    Algoritmo

    *

  • Representacin Binaria (Fenotipo)

    Genotipo

    8 bits

    Fenotipo:

    Entero Real Planificacin ... Otros

    *

  • Fenotipo de Tipo Entero

    Genotipo:

    1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20 =

    128 + 32 + 2 + 1 = 163

    = 163

    Fenotipo:

    *

  • Ejercicios 1

    El problema original de ocho reinas consista en intentar encontrar una forma de colocar a ocho reinas en un tablero de ajedrez de modo que dos reinas no se atacaran la una a la otra. Es decir, que en un tablero de 8 por 8, ninguna de las reinas comparta una fila, columna o diagonal.
  • Solucin

  • Ejercicio 2

    Usar un algoritmo gentico para maximizar la funcin f(x) = x2 en el rango x ={0, ..., 31}. (Supongamos que x es entero). La funcin se muestra a continuacin:

  • Generacin de la poblacin inicial

    Para usar un algoritmo gentico primero debemos codificar las va-riables de decisin de nuestro pro-blema en un conjunto de cadenas de longitud finita. Hacemos esto codificando la variable x en un conjunto de 5 bits.

    Generacin de la poblacin inicial al azar: definimos cada bit en cua-tro conjuntos de bits con probabi-lidad 0.5, por ej. lanzando una moneda 20 veces y asociando cara con 1 y cruz con 0

    POBLACION

    INICIAL

    (GENERADA

    AL AZAR)

    CADENA

    NUMERO

    VALOR

    DE X

    01101

    11000

    01000

    10011

  • Clculo de f(x)

    SUMA =

    10011

    01000

    11000

    01101

    CADENA

    NUMERO

    POBLACION

    INICIAL

    (GENERADA

    AL AZAR)

    1

    2

    3

    4

    VALOR

    DE X

    f(x)=x2

    361

    19

    1170

    VALORES DE APTITUD O ADAPTACION

    8

    64

    576

    169

    13

    24

  • Clculo del valor de ajuste

    Luego debemos maximizar f(x).

    Definimos: valor de aptitud = f(x) = x2

    El valor de aptitud, tambin llamado funcin objetivo, en este caso es uno solo. En la realidad, normalmente opti-mizamos una funcin multiobjetivo, o un vector de fun-ciones objetivo.

    Para poder realizar la reproduccin debemos calcular los valores de probabilidad de seleccin.

    Probab.selecc. =

  • Clculos resultantes

    576

    169

    13

    24

    PROBAB.

    SELECC.

    fi/f

    CANTIDAD

    ESPERADA

    fi/fMEDIO

    CANTIDAD.

    REAL

    (usando

    Roulette

    Wheel)

    0.14

    0.49

    0.06

    0.31

    0.58

    1.97

    0.22

    1.23

    1

    1

    2

    0

    1

    4

    4

    1

    1

    2

    293

    0.25

    576

    0.49

    1.97

    PROMEDIO =

    MAXIMO =

    SUMA =

    10011

    01000

    11000

    01101

    CADENA

    NUMERO

    POBLACION

    INICIAL

    (GENERADA

    AL AZAR)

    1

    2

    3

    4

    VALOR

    DE X

    f(x)=x2

    361

    19

    1170

    VALORES DE APTITUD

    8

    64

  • Reproduccin

    La siguiente generacin de cadenas se produce aplicando primeramente el operador reproduccin.

    Seleccionamos las cadenas de la generacin actual que habrn de ser copiadas en el pool de la generacin prxi-ma,usando reproduccin como proceso de multiplicacin. Esto producir un pool de cadenas con altos valores de aptitud.

    Seleccionamos el pool de la prxima generacin hacien-do girar cuatro veces la rueda de ruleta con zonas asigna-das en proporcin a la aptitud de cada cadena.

  • Entrecruzamiento

    Las cadenas del pool de apareamiento se aparearn al aplicar este operador.

    Un procedimiento posible es:

    1.- Las cadenas se aparean al azar.

    2.- Las parejas de cadenas apareadas se entrecruzan pro-

    duciendo generalmente nuevas cadenas.

    Usando un mtodo al azar de seleccin de parejas seleccionamos: cadena 4 entrecruza con cadena 2 y

    cadena 1 entrecruza con cadena 2.

    Ahora debemos seleccionar la posicin de bit k donde tendr lugar el entrecruzamiento. k se obtiene al azar.

  • Tabla de pares y entrecruzamiento

    f(x)=x2

    16

    25

    Suma =

    12

    27

    VALOR

    DE X

    VALORES DE APTITUD

    256

    729

    625

    144

    1754

    Max =

    729

    10Z011

    11Z000

    1100Z0

    0110Z1

    POOL DE APAREAMIENTO LUEGO DEL ENTRECRUZAM.

    PAREJA

    SELECCIONADA

    AL AZAR

    1

    2

    2

    4

    Z = posicin.

    de entrecruz.

    POSICION DEL ENTRECRUZAM.

    (ELEGIDO AL AZAR)

    4

    4

    2

    2

    NUEVA

    POBLACION

    01100

    11001

    11011

    10000

  • Nota

    Ya podemos ver que luego de una iteracin parcial o en medio del camino en la produccin de una generacin he-mos incrementado la suma de las funciones objetivo de 1170 a 1754, y el valor mximo se ha incrementado de 576 a 729.

    Hemos seleccionado un mejor conjunto de valores x, que provee una aptitud maximizada f(x) = x2 mayor que nues-tras 4 selecciones iniciales.

  • Conclusiones

    El tiempo computacional est dominado por la evaluacin del fitness incluyendo el chequeo de validez de la nueva generacin de solucionesLos resultados no son tan buenos como para el algoritmo no paraleloLa convergencia es mas lenta y hay muchos casos en que no convergeLa performance del algoritmo paralelo es menos sensitiva al scaling factor que la secuencial

    El asincronico lleva a mejores soluciones aunque es mas lento.

    Con el asincronico puede ser que pida un individuo j y en su lugar me devuelvan su descendiente. Esto no afecta el resultado.

  • FIN