clase5 de programacion logica funcional

8
 1 Introducción a la Computación Evolutiva Quinta Clase: Programació n Evolutiva Programación Evolutiva Desar rollad a en USA dura nte lo s años ’60 Aut ore s prin cipale s: D. Fog el Apl ica da t ípi cament e a:  PE tradicional: tareas d e machine learning mediante máquinas de estado finito  PE contemporánea: optimización (numérica) Car act erí sti cas atribuidas:  Framework muy abierto: se acepta cua lquier representación y cualquier operador de mutación  Es difícil definir una varia nte algorítmica como versión estándar de PE Características espec ial es:  No utiliza cruce genétic o  Auto-adaptación de parámetros está ndar (PE contemporánea) Características representativas de PE Auto-a dapta ción de lo s grados de mutación Especialidad Probab ilíst ica (µ+µ) Selección de Sobrevivientes Deterministica Selec ción de Padres Pertur bació n Gauss iana Mutación  Ninguno Cruce Vecto r de valore s reales Representación

description

prolog

Transcript of clase5 de programacion logica funcional

  • 1Introduccin a la Computacin Evolutiva

    Quinta Clase: Programacin Evolutiva

    Programacin Evolutiva

    Desarrollada en USA durante los aos 60 Autores principales: D. Fogel Aplicada tpicamente a:

    PE tradicional: tareas de machine learning mediante mquinas de estado finito

    PE contempornea: optimizacin (numrica) Caractersticas atribuidas:

    Framework muy abierto: se acepta cualquier representacin y cualquier operador de mutacin

    Es difcil definir una variante algortmica como versin estndar de PE

    Caractersticas especiales: No utiliza cruce gentico Auto-adaptacin de parmetros estndar (PE contempornea)

    Caractersticas representativas de PE

    Auto-adaptacin de los gradosde mutacin

    Especialidad

    Probabilstica (+)Seleccin de SobrevivientesDeterministicaSeleccin de Padres

    Perturbacin GaussianaMutacin

    NingunoCruce

    Vector de valores realesRepresentacin

  • 2Perspectiva histrica de la PE

    PE fue desarrollada originalmente para simular a la evolucin como un proceso de aprendizaje Con el objetivo de generar inteligencia artificial

    Inteligencia: capacidad de un sistema de adaptar su comportamiento para lograr objetivos predefinidos en un ambiente dado (comportamiento adaptado)

    La capacidad para predecir el ambiente fue considerada como un requisito para lograr adaptabilidad (comportamiento inteligente o adaptado)

    Por lo tanto, la capacidad para predecir el ambiente es clave para lograr inteligencia

    Prediccin mediante Mquinas de Estado Finito

    Inicialmente en PE, los predictores fueron evolucionados en la forma de mquinas de estado finito

    Mquina de Estado Finito (MEF) Estados (S) Entradas (I) Salidas (O) Funcin de transicin : S x I S x O Transforma una cadena de smbolos de entrada en una cadena de

    smbolos de salida Pueden ser usadas para predicciones (ej.: predecir el

    siguiente smbolo de entrada en una cadena de entrada)

    Ejemplo de MEF

    Considerar la MEF con: S = {A, B, C} I = {0, 1} O = {a, b, c} especificada por el

    diagrama

  • 3Ejemplo de una MEF como un predictor

    Considerar la siguiente MEF Tarea: predecir la siguiente entrada Calidad: % de in(i+1) = outi Estado inicial: C Secuencia de entrada: 011101 Lleva a la salida: 110111 Calidad lograda: 3 aciertos de 5

    Ejemplo de aplicacin:Evolucionar MEFs para predecir nmeros primos

    La tarea es predecir si la siguiente entrada en una secuencia de nmeros naturales es un nmero primo o no lo es

    Para esta tarea: I = N = {1,2,3,, n, } O = {0,1} Prediccin correcta: outi= P(in(i+1))

    P(n) = 1 si n es primo, 0 de otra manera Fitness: precisin de la prediccin sobre la secuencia de entrada de

    nmeros naturales consecutivos 1, 2, 3, , 202 1 punto por cada prediccin correcta Ningn punto por cada prediccin incorrecta

    Ejemplo de aplicacin:Evolucionar MEFs para predecir nmeros primos

    Seleccin de Padres: cada MEF en la poblacin actual es mutada una vez para generar un hijo

    Operadores de mutacin considerados (se selecciona uno aleatorimente):

    Cambiar un smbolo de salida Cambiar la direccin de una transicin (cambiar el siguiente estado) Agregar un estado Eliminar un estado Cambiar el estado inicial

    Seleccin de Sobrevivientes: elegir a los mejores individuos de (padres + hijos)

    Resultados: la mejor MEF obtenida logra valores de precisin superiores a 81%

    Mediante este ejemplo se puede apreciar que un proceso evolutivosimulado es capaz de crear buenas soluciones para una tarea inteligente

  • 4PE Actual

    Por razones histricas, la PE ha sido asociada durante mucho tiempo a tareas de prediccin y al uso de MEF como su representacin

    A partir de los 90, las variantes de PE para optimizacin de vectores de parmetros reales se han vuelto ms frecuentes Estas variantes se han posicionado como

    variantes estndar de PE

    PE Actual

    Actualmente, se considera a la PE como un framework muy abierto en trminos de Representacin Operadores de mutacin

    PE aplica auto-adaptacin de los parmetros de mutacin

    A continuacin, se presenta una variante algortmica representativa de PE ms que una variante estndar de PE

    Representacin

    La PE es frecuentemente utilizada para optimizar funciones de parmetros continuos

    En este caso, los cromosomas consisten de dos partes: Variables: x1,, xn (xi R) Grados de mutacin: 1,,n

    Estructura general de los individuos en PE x1,, xn,1,,n

  • 5Mutacin

    Se presenta el operador ms asociado con la representacin anterior

    Este operador transforma x1,,xn,1,,n x1,,xn,1,,n

    Mediante las siguientes operacionesi = i (1 + N(0,1))

    xi = xi + i Ni(0,1) 0.2

    Mutacin

    Otras variantes propuestas y tratadas: Se han propuesto otras formas de modificar los

    grados de mutacin Utilizacin de varianzas en lugar de

    desviaciones estndar como parmetros de mutacin

    Mutar al vector luego de mutar al vector x Utilizar otras distribuciones en lugar de la

    Gaussiana

    Cruce

    En PE no se utiliza cruce gentico Actualmente, los argumentos de PE en contra del cruce son

    ms conceptuales que tcnicos Se considera que un punto en el espacio de bsqueda no es un

    individuo de una especie Se considera que un punto en el espacio es la abstraccin de una

    especie en si misma En consecuencia, el cruce no tiene sentido ya que ste no puede ser

    aplicado sobre diferentes especies Muchos debates histricos sobre mutacin vs. cruce Prevalece el enfoque pragmtico

  • 6Seleccin de Padres

    En PE, a partir de cada miembro de la poblacin se genera exactamente un hijo mediante mutacin

    Por lo tanto, la seleccin Es determinstica Independiente del fitness

    Seleccin de Sobrevivientes

    Operador de seleccin ( + ) Consiste en elegir a los mejores individuos de ( padres +

    hijos) Variante estocstica del operador anterior

    P(t): parents, P(t): offspring Cada solucin a P(t) P(t) es comparada con otras q

    soluciones elegidas al azar En cada comparacin, si a supera a su oponente entonces obtiene

    un punto Las soluciones con la mayor cantidad de puntos se transforman

    en la siguiente poblacin Parmetro q permite configurar la presin selectiva (cuanto

    ms alto es q mayor presin selectiva) En general, se recomienda q = 10

    Ejemplo de Aplicacin:Funcin de Ackley (Bck et al 93)

    La funcin de Ackley (utilizada con n = 30):

    Representacin: 30 variables reales (-30 < xi < 30 ) 30 varianzas como grados de mutacin

    Mutacin: se muta a las variables primero y luego a las varianzas Tamao de poblacin: 200 Seleccin de sobrevivientes: q = 10 Terminacin: al alcanzar las 200000 evaluaciones de fitness Resultados: mejor solucin promedio tiene un fitness de 1.4 10 2

    exn

    xn

    xfn

    ii

    n

    ii ++

    =

    ==20)2cos(1exp12.0exp20)(

    11

    2

  • 7Ejemplo de Aplicacin:Jugadores de damas (Fogel 02)

    Fogel abord el desarrollo de un programa para jugar a las damas

    Para poder jugar a las damas, el programa analiza el valor a futuro de los posibles movimientos Calcula cun prometedor es un estado del tablero que se logra

    mediante un cierto movimiento A un estado del tablero se le asigna un valor mediante una

    red neuronal La salida de la red representa cun prometedor es el estado desde

    la perspectiva del jugador que recin ha movido El estado del tablero es presentado a la red como un vector

    de 32 elementos (32 posiciones en el tablero) De esta manera, la red define una estrategia para jugar el

    juego, y esta estrategia es evolucionada con PE

    Ejemplo de Aplicacin:Jugadores de damas (Fogel 02)

    Para las redes neuronales se utiliz una estructura fija que tiene un total de 5046 pesos Dichos pesos son evolucionados mediante PE

    Representacin: Vector de 5046 nmeros reales para las variables

    (pesos) Vector de 5046 nmeros reales para los s

    Mutacin: El vector fue mutado antes que el vector de variables Las variables fueron mutadas utilizando la adicin de

    ruido Gaussiano Tamao de la poblacin: 15

    Ejemplo de Aplicacin:Jugadores de damas (Fogel 02)

    Seleccin de sobrevivientes q = 5 Cada programa (cada red neuronal) juega vs. otros

    programas, y se le asigna +1, 0, -2 si gana, empata y pierde respectivamente

    Las 30 soluciones (15 padres y 15 hijos) fueron ordenadas de acuerdo al puntaje que obtuvieron mediante los 5 juegos

    Las mejores 15 soluciones se transformaron en la siguiente poblacin

  • 8Ejemplo de Aplicacin:Jugadores de damas (Fogel 02)

    Luego de 840 generaciones (6 meses), la mejor estrategia lograda fue evaluada vs. oponentes humanos via internet

    Resultados: Luego de una serie de partidos, el programa fue

    calificado como un jugador experto por el sitio web Super al 99.61% de todos los jugadores calificados en

    el sitio web Este trabajo es interesante en el contexto de

    inteligencia artificial Las estrategias evolucionan compitiendo (jugando)

    entre ellas sin necesidad de intervencin humana