Computacion Inteligente
La computacion evolutiva
1
Contenido Procesos de busqueda y optimizacion
La Teoría de la Evolución Natural
La computacion evolutiva
Caracterizacion de los algoritmos geneticos
Estructura y componentes basicos de los Gas
Procedimientos basicos de un AG
El algoritmo genetico basico SGA (Goldberg)
Ejemplos
2
3
EL PROBLEMA DE LA OPTIMIZACION
Formulacion del problema
4
3 ingredientes basicos … una funcion objectivo, Un conjunto de variables de decision, Un conjunto de restricciones
igualdades/desigualdades.
El problema es
buscar los valores de las variables de decision que minimizan la function objectivo satisfaciendo las restricciones…
1. La funcion objectivo puede ser unimodal o multimodal.
a. Unimodal – Un solo optimob. Multimodal – mas de un optimo
2. La mayoria de los esquemas se basan en la suposicion de una superficie unimodal. En tales casos el optimo determinado es llamado el diseño de un optimo local.
3. El optimo global es el mejor de todos los optimos locales. 5
Optimo global y local
Optimo global y local
1. La funcion objectivo puede ser unimodal o multimodal.
a. Unimodal – Un solo optimob. Multimodal – mas de un optimo
2. El optimo global es el mejor de todos los optimos locales.
6
Una funcion objetivo unimodal
7
-1 -0.5 0 0.5 1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
x1
x2
Una funcion objetivo multimodal
8
0 0.5 1 1.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
max local Punto en silla de montar
Procesos de busqueda y la optimizacion
9
Procesos de optimizacion
ClasificacionSegun la naturaleza de las soluciones
Numericas:
la solucion es un conjunto de parametros m.
Combinatorias:
el orden de los parametros en la solucion es tambien importante
10
Procesos de optimizacion
ClasificacionSegun la naturaleza de la busqueda
Deterministicas:
Precisan mucho conocimiento
Aleatorias:
Poco eficientes Estocasticas u orientados
11
Procesos de optimizacion
ClasificacionSegun la direccion preferente de la
busqueda Explotadoras:
Prioridad a la explotacion de las soluciones disponibles
Exploratorias:
Prioridad a la exploracion de nuevas soluciones
12
Procesos de optimizacion
ClasificacionSegun el numero de candidatos a solucion
Simples:
Un solo candidato a solucion
Multiples:
Varios candidatos a solucion simultaneos
13
Procesos de optimizacion
ClasificacionSegun la informacion disponible
Ciegas:
No hay informacion explicita sobre la funcion
Heuristicas:
Se dispone de cierto conocimiento especifico acerca del proceso a optimizar
f x
14
Complejidad de la optimizacion
Dada la complejidad de los problemas de optimizacion,
puede ser necesario Modificar el problema, tal que admita una
solucion aproximada Desarrollar algoritmos especificos, tal que
encuentren la solucion en algunos casos (no todos)
Rebajar las restricciones del problema Investigar otros algoritmos de optimizacion
16
El conflicto generalidad/eficiencia
Generalidad:
Cantidad de problemas capaz de resolver
Fortaleza:
Eficiencia del algoritmo
Robustez:
Generalidad X eficiencia
17
El conflicto generalidad/eficiencia
Para los procedimientos tradicionalesla relacion generalidad vs eficiencia
es inevitablemente constante
La computacion evolutiva trata de dar mayor robustez que las tecnicas clasicas
18
Tecnicas clasicas de optimizacion
Tecnicas analiticas
El espacio de busqueda esta claramente definido y es continuo
La funcion objetivo es lo suficientemente “suave” y no es ruidosa
19
Tecnicas analiticas de optimizacion
Metodos de solucion
Solucion directa
Solucion indirecta Busca el optimo trepando iterativamente en la
direccion de maxima pendiente
20
Tecnicas analiticas de optimizacion
Desventajas
Para la funcion objetivo tiene sentido el concepto de ”direccion preferente de busqueda”
Son esencialmente locales
21
Ejemplo: maximizar la funcion peaks Encontrar el max. de la funcion “peaks” z = f(x, y) = 3*(1-x)^2*exp(-(x^2) - (y+1)^2) - 10*(x/5 - x^3 -
y^5)*exp(-x^2-y^2) -1/3*exp(-(x+1)^2 - y^2).
22
Ejemplo: maximizar la funcion peaks Derivada de la funcion “peaks”
dz/dx = -6*(1-x)*exp(-x^2-(y+1)^2) - 6*(1-x)^2*x*exp(-x^2-(y+1)^2) - 10*(1/5-3*x^2)*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*x*exp(-x^2-y^2) - 1/3*(-2*x-2)*exp(-(x+1)^2-y^2)
dz/dy = 3*(1-x)^2*(-2*y-2)*exp(-x^2-(y+1)^2) + 50*y^4*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*y*exp(-x^2-y^2) + 2/3*y*exp(-(x+1)^2-y^2)
d(dz/dx)/dx = 36*x*exp(-x^2-(y+1)^2) - 18*x^2*exp(-x^2-(y+1)^2) - 24*x^3*exp(-x^2-(y+1)^2) + 12*x^4*exp(-x^2-(y+1)^2) + 72*x*exp(-x^2-y^2) - 148*x^3*exp(-x^2-y^2) - 20*y^5*exp(-x^2-y^2) + 40*x^5*exp(-x^2-y^2) + 40*x^2*exp(-x^2-y^2)*y^5 -2/3*exp(-(x+1)^2-y^2) - 4/3*exp(-(x+1)^2-y^2)*x^2 -8/3*exp(-(x+1)^2-y^2)*x
d(dz/dy)/dy = -6*(1-x)^2*exp(-x^2-(y+1)^2) + 3*(1-x)^2*(-2*y-2)^2*exp(-x^2-(y+1)^2) + 200*y^3*exp(-x^2-y^2)-200*y^5*exp(-x^2-y^2) + 20*(1/5*x-x^3-y^5)*exp(-x^2-y^2) - 40*(1/5*x-x^3-y^5)*y^2*exp(-x^2-y^2) + 2/3*exp(-(x+1)^2-y^2)-4/3*y^2*exp(-(x+1)^2-y^2)
23
Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:
poblacion Inicial 5a generacion 10a generacion
24
Ejemplo: maximizar la funcion peaks Proceso aplicando Algoritmos Geneticos:
25
Ejemplo: problema de minimizacion
Minimizar 2 22, 100 1 f x y y x x
26
La Teoría de la Evolución Natural
27
La computacion evolutiva
La computacion evolutiva:
Enfoque alternativo para abordar problemas complejos de
busqueda y aprendizaje A traves de modelos computacionales de
procesos evolutivos
28
Selección Natural
Proceso natural por el cual los individuos mas aptos de un grupo de descendientes sobrevive
Mientras los menos aptos, mueren sin dejar descendientes y así se eliminan los rasgos característicos de los menos aptos
Este proceso explica los cambios en las características de las especies en el tiempo, y eventualmente produce especies y tipos nuevos de organismos
33
Evolución
Proceso de descendencia con cambio, y posiblemente diversificación
Componentes:
Población
Variación: en una o mas características
Herencia: Transmisión padres – hijos
Selección: Diferentes tasas de reproducción y supervivencia. Mas aptos se reproducen mas
42
Evolución
Proceso de descendencia con cambio, y posiblemente diversificación
Evolución = Variación + Herencia + Selección
Variación: en una o mas características Herencia: Transmisión padres - hijos Selección: Diferentes tasas de reproducción y
supervivencia. Mas aptos se reproducen mas 43
Computación Evolutiva
44
Computación Evolutiva
Años 50s y 60s: varios científicos de manera independiente
estudiaron sistemas evolutivos, con la idea usar la evolución como método optimización en ingeniería
Idea: Evolucionar una población de posibles soluciones a un problema dado, utilizando operadores inspirados por la variación genética, y la selección natural
45
La computacion evolutiva
La computacion evolutiva:
Enfoque alternativo para abordar problemas complejos de
busqueda y aprendizaje A traves de modelos computacionales de
procesos evolutivos
47
La computacion evolutiva
Años 70: propuesta por John Holland (1975)
“Adaptation in natural and artificial systems”
propone por primera vez una clase de métodos, llamados Algoritmos Genéticos, para la resolución de problemas.
La aparicion de computadoras de altas prestaciones permite el uso practico de la CE
Años 80: divulgacion por Goldberg y Davis
48
La computacion evolutiva
Los algoritmos evolutivos:
La computacion evolutiva no trata tanto de reproducir ciertos fenomenos que suceden en la naturaleza
sino de aprovechar las ideas genericas detras
de ellos: la evolucion
49
La computacion evolutiva
Los algoritmos evolutivos:
AE: procedimiento estocastico de busqueda basado en el principio de la evolucion “supervivencia del mas apto”
Modo de conseguirlo “adaptacion al entorno”
50
Mecanismo de la evolucion
51
Los Algoritmos evolutivos
52
Procedimiento en los AE
Poblacion = conjunto de candidatos (individuos) a soluciones de un problema
La poblacion es sometida a: Transformacion: proceso de adaptacion Seleccion: supervivencia de los mas
aptos
Transformacion+Seleccion = una generacion
53
Estructura de los AE
Un AE debe disponer de:
Una poblacion de posibles soluciones, es decir, individuos
Un procedimiento de transformacion: construccion de nuevos individuos a partir de los disponibles
Un procedimiento de seleccion, basado en la aptitud de los individuos
54
Proposito de los AE
Un AE debe encontrar
Al final de una generacion, la supervivencia de la poblacion mas apta
Tras cierto numero de generaciones, los individuos mas proximos a la solucion buscada sobreviven
55
El Ciclo Evolutivo
Recombination
MutationPopulation
Offspring
ParentsSelection
Replacement
56
Paradigmas de los AE
3 paradigmas fundamentales
Algoritmos geneticos [Holland] Poblacion: enteros binarios
Estrategias evolutivas [Rechenberg] Poblacion: numeros reales
Programacion evolutiva [Fogel] Poblacion: maquinas de estado
57
Algoritmos Genéticos
Jhon Holland, 60s, y 70s, Univ. Michigan
Idea original: estudio teórico de la adaptación, no la resolución de problemas
Representación genética independiente del dominio: cadenas de bits
Énfasis en recombinación, operador principal, mutación papel secundario aplicado con baja probabilidad, constante
Selección probabilística
58
Los AE en el Soft Computing
65
Caracterizacion de los algoritmos geneticos
66
La computacion evolutiva y los AGs
Razones de la preeminencia de los AGs frente a otros paradigmas
Son muy flexibles. Se pueden fusionar con otros paradigmas y enfoques
Mayor base teorica Necesitan menos conocimiento especifico
para su funcionamiento Es el paradigma mas usado entre los de la CE
67
Algoritmos geneticos: Definicion
Los Algoritmos Geneticos sonmetodos estocasticos
de busqueda ciegade soluciones cuasi-optimas
68
Algoritmos geneticos: caracteristicas
Los AGs son metodos de busqueda
Ciega Codificada Multiple estocastica
69
Estructura y componentes basicos de los AGs
70
Bucle basico de un AG
71
Terminologia
GENOTIPO CROMOSOMA
GENES
Sucesión Lineal
“Caracteres”
LOCUS: Lugar del cromosoma
ALELES: valores de los caracteres ó estados de los genes.
72
Terminologia
CROMOSOMA INDIVIDUO FENOTIPO
SOLUCIÓN POTENCIAL
1 1 0 0 0 1 0 0 1 0 1 1 1
73
La poblacion
Objetos sometidos a evolucion
n individuos
m posiciones
m genes
aj alelos
L1+…+Lm bits
74
Los individuos
Estructura y contenido de los individuos
75
Evaluacion de los individuos
La aptitud de los individuos se evalua a partir de
La funcion de evaluacion,
Evaluacion, o “aptitud bruta”
La funcion de aptitud,
Aptitud, o “aptitud neta”
f x
u x
76
Evaluacion de los individuos
77
Bucle basico de un AG
Soluciones
1100101010
1011101110
0011011001
1100110001
Cromosomas 110010 1010
101110 1110
1100101110
0011011001
0011001001
1100101110
1011101010
0011001001
Soluciones
Cálculo Aptitud
Rueda de la Ruleta
Selección
Cruce
Mutación
Evaluación
Decodificación
Codificación
78
79
Dos generacionesDos generaciones
Flujo
1001011001100010101001001001100101111101
. . .
. . .
. . .
. . .
1001011001100010101001001001110101111001
. . .
. . .
. . .
. . .
Seleccion Cruce Mutacion
Generacionacual
Proximageneracion
Elitismo
Procedimientos basicos de un AG
80
Procedimientos basicos de un AG
El proceso de seleccion de progenitores
A partir de la poblacion inicial Mediante muestreo Obtener la poblacion de
progenitores
81
Mecanismos de muestreo de poblaciones
Muestreo directo
los k mejores,
a dedo,
etc,…
S Se toma un subconjunto de individuos de la poblacion siguiendo un criterio fijo A
82
Mecanismos de muestreo de poblaciones
Muestreo aleatorio equiprobable
SASe asigna a todos los
elementos de la poblacion las mismas probabilidades de
formar parte de la muestraA
83
Mecanismos de muestreo de poblaciones
Muestreos estocasticos:Se asignan las probabilidades en funcion de su aptitud
SAA
1
ii
n
up
u u
84
Procedimientos basicos de un AG
El proceso de reproduccion
A partir de la poblacion de progenitores Seleccionar algunos miembros Aplicar alguno de los operadores
geneticos de transformacion: Cruce Mutacion Inversion, etc
85
Operadores geneticos de recombinacion
Actuan sobre parejas y originan otro par que combinan caracteristicas de
los progenitores
Cruce
86
Operadores geneticos de alteracion
Actuan sobre un individuo, realizando una pequeña modificacion a alguno o
algunos de sus genes
Mutacion
87
Procedimientos basicos de un AG
El proceso de reproduccion
El numero de descendientes s es aleatorio Para valores grandes de s varia mas la
poblacion de una generacion a otra s menor o igual al 60% de n.
88
Procedimientos basicos de un AG
El proceso de remplazo
Remplazo inmediato de los progenitores
Remplazo de los mas parecidos Remplazo por insercion
s < n se sustituyen s progenitores s > n se muestrean n miembros de la
poblacion Remplazo por inclusion se muestrean n
de los s+n89
El algoritmo genetico basicoSGA (Goldberg)
90
Criterios para implantar un AG
Criterio de codificacion
Criterio de inicializacion
Criterio de parada
Funciones de evaluacion y aptitud
¿Cómo codificar?
¿Cómo evaluar?
91
Criterios para implantar un AG
Criterios de seleccion
Operadores geneticos
Criterios de remplazo
Parametros de funcionamiento
¿Cuáles individuos?
¿Cuáles individuos?
92
Criterios del algoritmo genetico basico
Criterio de codificacion:
especifico a cada problema Criterio de inicializacion
cadenas binarias elegidas al azar Criterio de parada
numero maximo de iteraciones Funcion de evaluacion = funcion de aptitud
Una funcion objetivo
93
Metodos para implantar el SGA
Operadores geneticos:
cruce monopunto y mutacion bit a bit
Criterio de seleccion: Por sorteo Criterio de remplazo: inmediato Parametros de funcionamiento:
discrecionalesParametros de funcionamiento tipicos
Popsize=30 maxIter=50Pcross=60& pmut=3.33%
94
Operador genetico de cruce
Cruce monopunto
95
Operador genetico de mutacion
Mutacion bit a bit
El punto de mutacion se selecciona de entre todos los (n x l ) de la
poblacion
96
El procedimiento de seleccion
El proceso de seleccion
Para cada individuo se genera un numero aleatorio ri
Se comparan ri con la probabilidad de cruce Pcross
Son seleccionados para cruzarse los individuos para los que
ri < Pcross
97
Ejemplos
98
Ejemplo (Riolo, 1992)
Se propone resolver el siguiente problema de optimizacion
Hallar
Utilizando un AG con parametros
popSize=6 pcross=30% pmut=1%
Con una precision de media centesima
TOL=5X10-3
* arg max sin 32 : 0,1x f x x x x
99
Ejemplo (Riolo, 1992)
El problema tiene la dificultad de ser multimodal
La funcion objetivo100
Ejemplo (Riolo, 1992)
Codificacion: binaria, tal que
Len = 8
Formula de decodificacion
101
Algoritmo del ejemplo
Generar la poblacion inicial Evaluar la aptitud de los
individuos Realizar el sorteo de los
individuos Seleccionar los individuos a
cruzar Cruzar los individuos
seleccionados Sustituir los progenitores Generar los bits a mutar Mutar los bits correspondientes
Nueva poblacion102
Ejemplo
Se propone resolver el siguiente problema de optimizacion
Hallar
* 2arg max : 0,1,2, ,31x f x x x
103
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]
Generación 1
Selección Proporcional al valor del fitness
Nº String Valor X
Fitness X2
% del total de fitness
1 01101 13 169 14.4 2 11000 24 576 49.2 3 01000 8 64 5.5 4 10011 19 361 30.9 Total 1170 100.0
1
23
4
Cromosoma (representación del genotipo)Fenotipo (característica externa observable)( 169 / 1170 ) * 100Valor de aptitud del individuo en la
resolución del problema
104
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]
Obtención de la próxima generación
Accionar la ruleta dos veces para elegir dos individuos.
Obtener dos hijos del par de padres seleccionados.
Repetir el proceso hasta obtener tantos hijos como padres y reemplazar la vieja población por la nueva.
105
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]
Supóngase que al accionar 4 veces la ruleta se obtienen los siguientes resultados en el orden indicado: 2,1,4,2.
Se aplicará crossover con probabilidad 0.8 PadreID Cromosoma Pto.cruce Hijos
2 11000 1100 | 0 11001
1 01101 4
0110 | 1 01100
PadreID Cromosoma Pto.cruce Hijos
4 10011 10 | 011 10000
2 11000 2
11 | 000 11011
106
Note que existe una probabilidad de 0.2 de que las parejas pasen intactas.
Aplicar mutación con probabilidad baja. Ej: 0.001
Nueva generacion
11001
01100
10000
11011
107
Ejemplo: maximizar la función f(x) = x2 sobre los enteros [0..31]
Evaluacion de la generación 2
Repetir hasta que se cumpla la condición de finalización
Nº String Valor X
Fitness X2
% del total de fitness
1 11001 25 625 35.6 2 01100 12 144 8.2 3 10000 16 256 14.6 4 11011 27 729 41.6 Total 1754 100.0
108
Algoritmo Genético Básico
begin
t := 0;
inicializar P(t);
evaluar los individuos de P(t);
while la condición de terminación no se satisfaga do
begin
t := t + 1;
select_repro C(t) desde P(t-1);
recombinar y mutar los individuos en C(t) formando C’(t);
evaluar los inidividuos en C’(t);
select_replace P(t) desde C’(t) y P(t-1);
end;
end;
Note que la selección puede aplicarse para la reproducción o el reemplazo.
109
Fuente
Anselmo Perez Serrada
Una introduccion a la computacion evolutiva
EscuelaTecnica Superior de Ingenieria Industrial de Valladolid, 9 de marzo de 1996
110
Top Related