Algoritmos Evolutivos

Anuncio
Introducción a la Computación Evolutiva
Segunda Clase: Algoritmos Evolutivos
Agenda
• Resumen sobre la Metáfora Evolutiva
• Esquema Básico de un Algoritmo Evolutivo (AE)
• Componentes Básicos
–
–
–
–
–
–
–
–
Representación
Evaluación
Población
Selección de Padres
Cruzamiento
Mutación
Selección de Sobrevivientes
Condición de Terminación
Agenda
• Ejemplo: Problema del Viajante
• Aspectos generales sobre el
comportamiento típico de los AEs
• Relación de la CE con otras técnicas de
optimización global
1
Resumen sobre la metáfora de la CE
• Una población de individuos existe en un ambiente con
recursos limitados
• La competencia por dichos recursos provoca la selección
de los individuos mejor adaptados al ambiente
• Estos individuos actúan como semillas para la generación
de nuevos individuos mediante el cruzamiento y la
mutación
• Los nuevos individuos compiten (posiblemente también
con los padres) por sobrevivir
• A lo largo del tiempo la Selección Natural causa un
incremento en el fitness de la población
Resumen sobre la metáfora de la CE
• Los AEs caen dentro de la categoría de algoritmos
denominada “generar y testear”
• Ellos son algoritmos estocásticos basados en
población
• Los operadores de variación (cruzamiento y
mutación) crean la diversidad necesaria para la
evolución (generan individuos novedosos)
• Selección reduce la diversidad y actúa como una
fuerza que empuja hacia la calidad
Esquema general de un AE
2
Seudo-código típico de un AE
Diferentes tipos de AEs
• Históricamente, la representación de las soluciones
candidatas ha sido utilizada para clasificar a los AEs
–
–
–
–
Strings binarios: Algoritmos Genéticos
Vectores de valores reales: Estrategias de Evolución
Máquinas de estado finito: Programación Evolutiva
Árboles sintácticos: Programación Genética
• La mejor estrategia es …
– Elegir la representación que mejor se ajuste al problema
– Elegir los operadores de variación que mejor se ajusten a la
representación
• Los operadores de selección sólo usan el fitness de las
soluciones y, por lo tanto, son independientes de la
representación
Componentes de los AEs
• Los AEs tienen un número de componentes,
procedimientos, u operadores que deben ser especificados
si se pretende definir un AE particular
• Los componentes más importantes son:
–
–
–
–
–
–
–
–
Representación (definición de los individuos)
Función de Evaluación (función de fitness)
Población
Mecanismo de Selección de padres
Operadores de variación (cruzamiento y mutación)
Mecanismo de Selección de los sobrevivientes (reinserción)
Procedimiento de inicialización
Condición de terminación
3
Representaciones
• Las soluciones candidatas (individuos) existen en un
espacio fenotípico
• Ellas son codificadas como cromosomas. Los cromosomas
existen en un espacio genotípico
– Codificación: fenotipo → genotipo (no necesariamente uno a uno)
– Decodificación: genotipo → fenotipo (debe ser uno a uno)
• Cromosomas contienen genes. Los genes se encuentran en
posiciones llamadas locus (usualmente prefijadas) y toman
un valor (alelo) de varios valores posibles
• Para encontrar la solución óptima global, cada solución
posible debe ser representada en el espacio genotípico
– El proceso evolutivo se desarrolla sobre el espacio genotípico
Función de Evaluación (Fitness)
• Representa los requerimientos a los cuales la población
debería adaptarse
• Otras formas de llamarla: función de calidad o función
objetivo
• Asigna un valor a cada genotipo. Estos valores conforman
la base para el proceso de selección
– Por lo tanto, cuanto más discriminación (valores diferentes) exista
más útiles son estos valores para la selección
• Típicamente, se considera que la función de fitness es una
función que debe ser maximizada
– Sin embargo, algunos problemas requieren minimizar la función de
fitness (problemas de minimización)
– De todas maneras, es trivial convertir un problema de
minimización en un problema de maximización
Población
• Contiene (representaciones de) posibles soluciones
• Usualmente tiene un tamaño prefijado y es un “multiset”
de genotipos
• Algunos AEs sofisticados también requieren que la
población tenga una estructura espacial
• Los operadores de selección tienen en cuenta a la
población actual completa (las probabilidades
reproductivas son relativas a la generación actual)
• La diversidad de una población se refiere al número de
soluciones diferentes que existe en ella
– La diversidad se puede referir al número de diferentes valores de
fitness, de diferentes fenotipos, o de diferentes genotipos que existe
en la población
4
Mecanismo de Selección de Padres
• Define las probabilidades de que los individuos
actúen como padres de la siguiente generación.
Dichas probabilidades se basan en los valores de
fitness de los individuos
• La selección es usualmente probabilística
– Las soluciones de alta calidad tienen más chances de
transformarse en padres que las soluciones de baja
calidad
– Sin embargo, aún la peor solución en la población
actual tiene usualmente alguna chance de transformarse
en padre
• La naturaleza estocástica de este mecanismo
ayuda a escapar de los óptimos locales
Operadores de Variación
• El rol de estos operadores es generar nuevas
soluciones candidatas
• Usualmente se dividen en dos tipos de acuerdo a
su aridad (número de entradas):
– Aridad = 1: operadores de mutación
– Aridad > 1: operadores de recombinación
• Aridad = 2: operadores de cruzamiento
• Se ha debatido mucho acerca de la importancia
relativa de la recombinación y de la mutación
– Actualmente, la mayoría de los AEs usan ambas
– La elección de los operadores de variación específicos a
utilizar es dependiente de la representación
Mutación
• Actúa sobre un genotipo y produce otro
• La aleatoriedad de este operador es esencial y
diferencia a la mutación de otros operadores
heurísticos unarios
• La importancia que se le asigna a la mutación
depende del tipo de AE y de la representación
– AGs binarios: es el operador responsable de preservar e
introducir diversidad
– PE mediante MEF: único operador de búsqueda
– PG: generalmente no es utilizada
5
Mutación
• Es importante considerar que los operadores de variación
implementan los “pasos” dentro del espacio de búsqueda
– La generación de un hijo permite alcanzar un nuevo punto en este
espacio
• Desde esta perspectiva, la mutación tiene un rol teórico,
ésta puede garantizar que el espacio de búsqueda está
conectado
– Esto es importante porque los teoremas que establecen que un AE
descubrirá el óptimo global de un problema dado se basan sobre la
propiedad de que cada genotipo que representa a una solución
posible puede ser alcanzado mediante los operadores de variación
– La forma más simple de satisfacer esta condición es permitir al
operador de mutación “saltar” a cualquier lugar
• Por ej.: permitir que cualquier alelo pueda ser mutado por cualquier
otro alelo con una probabilidad distinta de cero
Recombinación
• Combina la información de los padres para
conformar hijos (nuevos individuos)
• Es un operador estocástico
– Se decide aleatoriamente qué partes de cada padre
deben ser combinadas y la forma en que estas partes
deben ser combinadas
• El principio sobre el cual se basa la recombinación
es el siguiente
– Aparear individuos con diferentes atributos deseables
puede producir hijos que combinan dichos atributos
• Este principio ha sido usado durante miles de años
por criadores de ganado y de plantas
Recombinación
• Los AEs …
– Crean un número de hijos mediante la recombinación basada en el
azar
– Aceptan que algunos de dichos hijos tendrán combinaciones
indeseables de características
• La mayoría de los hijos pueden ser peores o iguales a sus padres
– Esperan que algunos de los hijos tengan características o
combinaciones de características mejores que la de sus padres
• En los AEs, los operadores de recombinación son
aplicados probabilísticamente
• Los operadores de recombinación son dependientes de la
representación
6
Selección de los sobrevivientes
• Este mecanismo también se conoce como Reinserción o
Sustitución
• La mayoría de los AEs usa un tamaño de población
prefijado (tamaño constante)
– Entonces es necesario decidir qué individuos del conjunto (padres
+ hijos) conformarán la población de la siguiente generación
• Este mecanismo es determinístico
– Basado en el fitness: se ordena a los individuos del conjunto
(padres + hijos) y se selecciona a los mejores
– Basado en edad: se crea una cantidad de hijos igual a la cantidad
de padres existente, y se selecciona sólo a los hijos (los padres son
eliminados y los hijos reemplazan totalmente a los padres)
– Combinación de los enfoques anteriores (elitismo)
Inicialización / Terminación
• Inicialización: usualmente la primera población está
conformada por individuos generados aleatoriamente
– Es necesario asegurar que todos los posibles valores de alelos serán
generados y combinados de una manera equilibrada
– Se pueden considerar soluciones existentes, o utilizar heurísticas
específicas del problema, para componer la población inicial
• Terminación: la condición de terminación es chequeada en
cada generación
–
–
–
–
Alcanzar algún valor de fitness conocido
Alcanzar un número máximo de generaciones
Alcanzar un nivel mínimo de diversidad en la población
Detectar que, durante un período de tiempo dado (ej.: número de
generaciones), la mejora del fitness permanece bajo un valor de
umbral dado
Ejemplo: Problema del Viajante
1
2
8
3
7
6
5
4
Encontrar un camino de mínima longitud que visite todas las
ciudades
– Cada ciudad sólo puede ser visitada una vez
– Es necesario retornar a la ciudad de partida
7
Problema del Viajante: Representación
1
2
8
Fenotipo:
Un camino en el mapa
3
7
6
Genotipo:
Una permutación de los
números 1-8
4
5
Mapeo
1 2 3 4 7 5 6 8
Problema del Viajante: Evaluación del
Fitness
• Se debe minimizar la longitud del camino
• Fitness de un camino:
– 1/ (longitud del camino)
– este fitness debe ser maximizado
Problema del Viajante: Mutación
• Pequeña variación en una permutación
– Intercambiar valores de dos posiciones elegidas
aleatoriamente
1 3 5 2 6 4 7 8
1 3 7 2 6 4 5 8
8
Problema del Viajante: Cruzamiento
• Combinar dos permutaciones para formar dos nuevas
permutaciones:
– Elegir un punto de cruce c al azar (1≤ c < N)
– Para generar el hijo 1
• Copiar los primeros c valores del padre 1 en las primeras c posiciones
del hijo 1
• Los N-c valores restantes del padre 1, son insertados en el hijo 1
respetando el orden relativo que ellos tienen en el padre 2
– Para generar el hijo 2, se utiliza el mismo proceso que para generar
el hijo 1 pero se invierte el rol de los padres
Padre 1
Padre 2
1 3 5 2 6 4 7 8
8 7 6 5 4 3 2 1
8, 7, 6, 4, 2
1 3 5 8 7 6 4 2
8 7 6 1 3 5 2 4
Hijo 1
Hijo 2
1, 3, 5, 2, 4
Problema del Viajante: Selección
• Selección de Padres:
– Selección por Torneo:
• Para conformar una pareja de padres a partir de la
población actual:
– Se eligen al azar dos individuos de la población
– Se toma al mejor de los dos individuos (primer integrante
de la pareja)
– Se eligen al azar dos individuos de la población
– Se toma al mejor de los dos individuos (segundo
integrante de la pareja)
Problema del Viajante: Selección
• Selección de los sobrevivientes
(Reinserción)
– Steady-State:
• Se ordena a los individuos de la población actual
(padres) en base a sus valores de fitness
• Se ordena a los hijos de la población actual en base
a sus valores de fitness
• Se reemplaza a los n peores individuos de la
población actual por los n mejores hijos generados
• n es un parámetro cuyo valor debe ser predefinido
9
Problema del Viajante: Resumen
Representación
Permutaciones
Cruzamiento
Cruzamiento de un punto para permutaciones
Probabilidad de Cruzamiento
100%
Mutación
Intercambio de valores entre 2 posiciones
Probabilidad de Mutación
5%
Selección de Padres
Selección por Torneo
Selección de Sobrevivientes
Steady State
Tamaño de la Población
100
Inicialización
Aleatoria
Condición de Terminación
Producción de 1000 generaciones
Notar que éste es sólo un conjunto posible de
opciones de operadores y parámetros
Comportamiento típico de un AE
Fases de la búsqueda evolutiva sobre una superficie de fitness unidimensional (función objetivo uni-dimensional a ser maximizada)
Fase temprana:
Distribución aleatoria de la población
Fase media:
La población se ubica sobre las pendientes
de las colinas
Fase final:
La población se concentra sobre los picos
de las colinas
Comportamiento típico de un AE
• En principio, es posible que la población “escale la colina
errónea”, y todos los individuos se posicionen alrededor de
un óptimo local pero no global
• Las distintas fases de búsqueda son categorizadas en
términos de:
– Exploración (generación de nuevos individuos en regiones no
visitadas del espacio de búsqueda)
– Explotación (concentración de la búsqueda en la vecindad de
buenas soluciones conocidas)
• Los procesos de búsqueda evolutivos son vistos como un
“trade-off” entre exploración y explotación
– Demasiada exploración: lleva a una búsqueda ineficiente
– Demasiada explotación: se focaliza la búsqueda demasiado
rápidamente
• Convergencia Prematura: efecto de perder la diversidad existente en
la población demasiado rápidamente y quedar atrapado en un óptimo
local
10
Best fitness in population
Ejecución típica de un AE: progresión
del fitness
Time (number of generations)
Progreso de un AE ilustrado en términos del mejor fitness
(función objetivo a ser maximizada) de la población en
relación al tiempo
Best fitness in population
¿Son beneficiosas las ejecuciones
prolongadas?
Progress in 2nd half
Progress in 1st half
Time (number of generations)
Respuesta:
• Depende de cuán importante es la última parte del progreso
• Puede ser mejor desarrollar ejecuciones más cortas
Best fitness in population
¿Vale la pena desarrollar una inicialización
inteligente de la población?
F
F: fitness after smart initialisation
T: time needed to reach level F after random initialisation
T
Time (number of generations)
Respuesta: Depende …
• posiblemente si, cuando existen buenas soluciones/métodos
• generalmente no, cuando no existen buenas soluciones/métodos
11
Comportamiento de un AE:
Perspectiva Global
• Se considera el desempeño de los AEs sobre un
amplio rango de problemas
– En lugar de observar las características de una
ejecución típica de este tipo de algoritmos
• Durante los ’80, Goldberg posicionó a los AEs en
el contexto de los métodos automáticos de
resolución de problemas
– Comparó el desempeño de los AEs sobre un amplio
rango de problemas con el desempeño de los:
• Métodos de búsqueda aleatoria
• Algoritmos especialmente diseñados para un tipo específico de
problemas
Comportamiento de un AE:
Perspectiva Global
• Los AEs son considerados como herramientas robustas de
resolución de problemas
– Proveen un buen nivel de desempeño sobre un amplio rango de
problemas
• Los AEs superan a los métodos de búsqueda aleatoria
• Un algoritmo diseñado especialmente para un tipo de
problemas dado:
– Se desempeña mucho mejor que un AE, pero solamente sobre el
tipo de problemas para el que fue diseñado
– En este sentido, los AEs y los algoritmos especialmente diseñados
para un tipo de problemas dado son dos extremos antagónicos
• Esta percepción ha jugado un rol importante en el
posicionamiento de los AEs
Performance of methods on problems
Comportamiento de un AE :
Visión de Goldberg (1989)
Special, problem tailored method
Evolutionary algorithm
Random search
Scale of “all” problems
12
Comportamiento de un AE :
Visión contemporánea
• La visión de Goldberg cambió gradualmente
durante los años ’90
– Debido a nuevas ideas provenientes de la práctica y de
la teoría
• La visión contemporánea reconoce la posibilidad
de combinar los dos extremos (AEs y algoritmos
especialmente diseñados para un tipo de
problemas dado) dentro de un algoritmo híbrido
Comportamiento de un AE :
AEs y conocimiento del dominio
• Durante los años ’90, la tendencia fue:
– Agregar conocimiento específico del problema a los
AEs (operadores especiales de variación, operadores de
reparación, etc.)
• El resultado fue una “deformación” en la curva de
desempeño de los AEs:
– El mejor sobre problemas del tipo dado
– El peor sobre problemas diferentes a los del tipo dado
– La cantidad de conocimiento agregado es variable
Comportamiento de un AE :
Visión de Michalewicz (1996)
Performance of methods on problems
EA 4
EA 2
EA 3
EA 1
P
Scale of “all” problems
13
CE y Optimización Global
• Los AEs son muy utilizados para resolver
problemas de optimización
• Optimización Global: encontrar la mejor solución
x* de un conjunto de soluciones posibles S
• Los AEs no son las únicas técnicas de
optimización conocidas
• En general, las técnicas de optimización se
clasifican como:
– Técnicas Determinísticas
– Técnicas Heurísticas
CE y Optimización Global
• Enfoques Determinísticos
– Garantizan encontrar x* (solución óptima global)
– En general, requieren un tiempo de ejecución
exponencial
– Ejs. de métodos determinísticos: enumeración, y
“branch and bound”
• Enfoques Heurísticos (generar y testear)
– No garantizan el hallazgo de las soluciones óptimas
globales
– Pueden ser vistos como conjuntos de reglas en base a
las cuales se decide qué solución x ∈ S debería ser
generada y testeada a continuación
– Ejs. de métodos heurísticos: AEs y “simulated
annealing”
CE y Optimización Global
• Muchas heurísticas se basan sobre la idea de utilizar
operadores que imponen algún tipo de estructura sobre los
elementos de S
– De tal manera que cada punto x tiene asociado un conjunto de
vecinos N(x)
• Los algoritmos de búsqueda local, y todas sus variantes,
pertenecen a este tipo de heurísticas
• Dichos algoritmos garantizan que el mejor punto
encontrado es localmente óptimo
– Óptimo Local: solución superior a todas aquellas existentes en su
vecindario
– Generalmente son muy rápidos para identificar buenas soluciones
– La desventaja es que los problemas generalmente poseen
numerosos óptimos locales
• Algunos de los cuales pueden ser significativamente peores que el
óptimo global
• Dichos óptimos pueden ser ofrecidos como la solución encontrada
14
CE y Optimización Global
• Los AEs se distinguen de los algoritmos de búsqueda local
por los siguientes atributos:
– Utilizan una población
– Utilizan múltiples operadores estocásticos de búsqueda
• Especialmente, operadores de variación con una aridad >1
• Selección estocástica
• La población le brinda al AE una manera de definir una
función de distribución de probabilidades no uniforme
– Esta función dirige la generación de nuevos puntos pertenecientes
aS
– Esta función refleja interacciones existentes entre los puntos de
una población
• Dichas interacciones provienen de la recombinación de dos o más
miembros de la población
• La habilidad de los AEs de mantener un conjunto de
puntos distintos le provee una forma de escapar de un
óptimo local
15
Descargar