clase5 de programacion logica funcional
-
Upload
javier-millan -
Category
Documents
-
view
222 -
download
0
description
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