Sunteți pe pagina 1din 55

SISTEMAS INTELIGENTES

UNLPam Fac. de Ingeniera


Ingeniera en Sistemas





ALGORITMOS EVOLUTIVOS
Basados conceptualmente en el mtodo que usan
los organismos vivientes para adaptarse a su
ambiente, el proceso de evolucin.

La evolucin puede describirse como un proceso
iterativo de dos pasos, consistentes de una
seleccin seguida de una variacin aleatoria.






ESQUEMA EVOLUTIVO GENRICO

Recombinacin
Mutacin



Poblacin


Hijos
Padres
Seleccin
Reemplazo




COMPUTACIN EVOLUTIVA
Ventajas
Los algoritmos evolutivos no
requieren suposiciones de cmo
evaluar la bondad de una
solucin.
Capacidad para adaptarse a
situaciones cambiantes.
Posibilidad de generar
soluciones lo suficientemente
buenas en forma rpida para
su uso.
Desventajas
No garantiza la obtencin de
soluciones ptimas en tiempo
finito
Dbil base terica
Necesita adecuar parmetros




SISTEMAS EVOLUTIVOS
Estrategias Evolutivas (Bienert, Rechenberg
and Schwefel 60s)
Programacin Evolutiva (Fogel 60s)
Programacin Gentica (Koza 90s)
Algoritmos Genticos (Holland 60s)




ALGORITMOS GENTICOS

Los Algoritmos Genticos (AGs) son
tcnicas estocsticas de bsqueda
estcstica de soluciones cuasi-ptimas.




CARACTERSTICAS DE LOS AGS
Ciegos.
Es decir, no disponen de ningn conocimiento especfico del
problema; de manera que la bsqueda se basa exclusivamente en los
valores de la funcin objetivo.
Codificados.
Puesto que no trabajan directamente sobre el dominio del problema,
sino sobre representaciones de sus elementos.
Mltiples.
Esto es, buscan simultneamente entre un conjunto de candidatos.
Estocsticos.
Referido tanto a las fases de seleccin como a las de transformacin.
Ello proporciona control sobre el factor de penetracin de la
bsqueda.




CINCO PRINCIPALES
COMPONENTES DE UN AG
1.Una representacin gentica de soluciones
2.Una manera de crear una poblacin inicial.
3.Una funcin de evaluacin que cumpla el papel
del medio ambiente.
4.Operadores genticos que alteran la composicin
de los hijos.
5.Valores para los distintos parmetros: tamao de
la poblacin, probabilidades de aplicar los
operadores genticos, etc.




PSEUDOCDIGO DE UN AG
procedure Genetic Algorithm
begin
t 0;
inicializar P(t);
evaluar estructuras en P(t);
while la condicin de terminacin no se satisfaga do
begin
select_repro P(t) desde P(t);
recombinar y mutar estructuras en P(t) formando H(t);
evaluar estructuras en H(t);
select_replace P(t+1) desde H(t) y P(t);
t t + 1;
end
end




GENOTIPO Y FENOTIPO
Espacio codificado (cromosomas, genotipo)
Espacio de soluciones (fenotipo).
1 0 0 0 0 0 1
Genotipo: 1000001
Fenotipo : A (Carcter ASCII)
0 = alelo asociado al gen 3
gen 3 gen 5 gen m = 7
Individuo
Ref: Orellana Alina, Tesis de grado




REPRESENTACIN GENTICA
(CROMOSOMA)
Codificacin Binaria (AG standard)
Codificacin Entera
Codificacin Real
Codificacin por adyacencia
Codificacin ordinal
Codificacin por permutacin
....




REPRESENTACIN BINARIA
(EJEMPLO)
Longitud del dominio de cada variable (6)
Precisin requerida (6 dgitos)
[-3,3] debiera dividirse en 6 x 1000000 particiones =
4194304 = 2
22
< 6000000 < 2
23
= 8388608
Cada variable necesita 23 bits.
] 3 , 3 [ , 1 3 ) , (
2 2
1 2
e =
+
y x e x) ( y x f
) ) (y x (
( ) ( )

1 2
3
' 3
1 2
3
' 3
2 ' , 2 '
23 23
45
23
23
22
0
|
|
.
|

\
|

+ =
|
|
.
|

\
|

+ =
= =

=

=
y y x x
b y b x
i
i
i
i
i
i




REPRESENTACIN BINARIA
(PROBLEMA DE SATISFACCIN DE CLUSULAS
LGICAS SAT)
Una instancia del problema SAT es una frmula
lgica con 3 componentes:
Un conjunto de n variables: x
1
, x
2
,..., x
n
.
Un conjunto de literales: x ox
Un conjunto de Clusulas: C
1
, C
2
,..., C
m
.
Cada clusula es una disyuncin de literales
El objetivo es satisfacer la FNC:
C
1
. C
2
. ... . C
m
El cromosoma esta formado por una cadena de n
bits. Donde el valor de cada posicin indica la
asignacin de cada variable.




REPRESENTACIONES ENTERA Y REAL
Cromosoma:
X=(x
1
,,x
n
),
donde x
i
e 9
La funcin de evaluacin asocia a un vector un
valor real de evaluacin:
f: 9
n
9




REPRESENTACIN ORDINAL
(PROBLEMA DEL VIAJENTE TSP)
Lista de ciudades:
C = (1 2 3 4 5 6 7 8 9)
Tour:
1 2 4 3 8 5 9 6 7
Lista de Referencias (cromososma):
l = (1 1 2 1 4 1 3 1 1)




REPRESENTACIN POR ADYACENCIA
(TSP)
Un tour se conforma como una lista de n ciudades. La
ciudad j est en la posicin i de la lista si y solo s el tour se
dirige de la ciudad i a la ciudad j. Por ejemplo, el vector
(2 4 8 3 9 7 1 5 6)
representa el siguiente tour:
1 2 4 3 8 5 9 6 7

Cada tour slo tiene una lista de representacin por
adyacencia, sin embargo algunas listas pueden representar
tours ilegales. Por ejemplo, el vector
(2 4 8 1 9 3 5 7 6),
conduce a:
1 2 4 1,
un tour parcial con un ciclo prematuro.





REPRESENTACIN DEL CAMINO O
POR PERMUTACIN
(TSP)
EL tour de 9 ciudades:
3 2 5 4 7 1 6 9 8
es simplemente representado como sigue:
(3 2 5 4 7 1 6 9 8)





REPRESENTACIN GENTICA
(CROMOSOMA)
Las representaciones que no son binarias
presentan puntos crticos con la codificacin y
decodificacin entre cromosomas y :
La factibilidad de un cromosoma.
La legalidad de un cromosoma.
La unicidad de la traduccin.





MECANISMO DE SELECCIN
El mecanismo de seleccin de soluciones,
se desdobla en dos operadores:
El operador de seleccin: elige los elementos a
transformarse posteriormente (seleccin para
la reproduccin).
El operador reemplazo: elige los elementos que
sobreviven (seleccin para el reemplazo).
En ambos casos el objetivo es mantener
las caractersticas de los individuos mejor
adaptados.




MECANISMO DE SELECCIN
El mecanismo de seleccin determina fuertemente la operativa
del mecanismo de bsqueda (dirige al AG hacia la exploracin de
secciones prometedoras del espacio de bsqueda).
La presin de seleccin es crtica para el funcionamiento del AG.
Una presin de seleccin alta puede ocasionar que la bsqueda
termine prematuramente (en un ptimo local). La situacin se
denomina convergencia prematura.
Una presin de seleccin baja puede conducir a que la bsqueda
avance mucho ms lento de lo necesario.
Lo adecuado es intentar mantener un compromiso entre la
exploracin del espacio de bsqueda y la explotacin de buenas
soluciones.
Utilizar una presin de seleccin baja en las generaciones tempranas,
para lograr una amplia exploracin.
Utilizar una presin de seleccin alta en etapas finales de la
evolucin, para explotar las reas ms prometedoras.




MTODOS DE SELECCIN
Muestreo Estocstico:
Seleccin por Ruleta
Muestreo Universal Estocstico
Muestro Determinstico:
(+)
(,)
Reemplazo generacional
Seleccin elitista (es un complemento de la seleccin para
el reemplazo), preserva el mejor individuo durante la
evolucin.
...
Muestreo Mixto:
Torneo (Torneo Binario)
...





SELECCIN POR RULETA
Ref: Orellana Alina, Tesis de grado
Progenitores E C A B D
2,8 3,1 6 10 22,5
0.07 0.07 0.13 0.23 0.5
Fitness
Probabilidad de
Seleccin
0 0,07 0,3 0,8
0,87 1
N al azar 1 N al azar 2
E B D
C A
Resultados de
la
seleccin
C B




E B D C A
MUESTREO UNIVERSAL ESTOCSTICO
Progenitores
Ref: Orellana Alina, Tesis de grado
E C A B D
2,8 3,1 6 10 22,5
0.07 0.07 0.13 0.23 0.5
Fitness
Probabilidad
de
Seleccin
0 0,07 0,3 0,8
0,87 1
Resultados de
la
seleccin
E, B, B, B, D, D, D, C, A, A




SELECCIN ( + )
1
2
.
.
.
.
.
.

P(t)
1
2
.
.
.
.
.
.

H(t)
1
2
.
.
.
.
.
.

P(t+1)

Los individuos de la prxima
generacin son elegidos
usando uno de los mtodos
de seleccin ya mencionados.




SELECCIN (,)
1
2
.
.
.
.
.
.

P(t)
1
2
.
.
.
.
.
.

H(t)
1
2
.
.
.
.
.
.

P(t+1)

Los individuos de la prxima
generacin son elegidos
usando uno de los mtodos
de seleccin ya mencionados.




REEMPLAZO GENERACIONAL
1
2
.
.
.
.
.
.

P(t)
1
2
.
.
.
.
.
.

H(t)
1
2
.
.
.
.
.
.

P(t+1)

La nueva generacin es una
copia de la poblacin de hijos
de la generacin actual.




SELECCIN POR TORNEO
Ref: Orellana Alina, Tesis de grado
1 0 1 0 1 1 1 0
0 0 1 0 0 1 1 0
Progenitor A fitness = 174
Progenitor B fitness = 38
Problema de minimizacin , T = 2 , p= 0,75
nmero al azar = 0, 3

Ganador
0 0 1 0 0 1 1 0
Progenitor B fitness = 38
1 0 1 1 1 1 1 1
0 1 1 0 0 1 1 0
Progenitor J fitness = 47
Progenitor L fitness = 102
nmero al azar = 0, 9

Ganador
0 1 1 0 0 1 1 0
Progenitor L fitness = 102
Seleccin al azar desde la poblacin :




OPERADORES DE CROSSOVER
Recombinacin produce nuevos individuos
(hijos) combinando la informacin
contenida en sus padres.
El crossover en los algoritmos genticos es
siempre un operador sexual que con
probabilidad p
c
selecciona dos padres , y
las recombina para formar dos nuevos
individuos.
Su principal objetivo es explotar las
caractersticas de los individuos ms
adaptados.





OPERADORES DE CROSSOVER SEGN LA
REPRESENTACIN
Representacin Operadores de Crossover
Binaria
Crossover de 1 punto
Crossover de 2 puntos
Crossover Multipunto
Crossover Uniforme

Real
Recombinacin Discreta
Recombinacin Intermedia
Recombinacin Lineal
Recombinacin Lineal Extendida
...
Por permutacin
Partial Mapped Crossover (PMX)
Order Crossover (OX)
Cycle Crossover (CX)
Edge Recombination (ER)







OPERADORES DE CROSSOVER PARA
REPRESENTACIONES BINARIAS
Ref: E. Alba and C. Cota, Tutorial on Evolutionary Optimization
(http://neo.lcc.uma.es/TutorialEA/semEC/main.htm)




OPERADORES DE CROSSOVER PARA
REPRESENTACIONES REALES
Ref: Manuel Lozano, AG (transp)




OPERADORES DE CROSSOVER PARA
REPRESENTACIONES REALES
Ref: Manuel Lozano, AG (transp)






OPERADORES DE CROSSOVER PARA
REPRESENTACIONES POR PERMUTACIN
Parcial-Mapped Crossover (PMX)
Propuesto por Goldberg y Lingle en 1985.
Extensin del two-point crossover para una
representacin basada en permutaciones. Usa
un procedimiento de reparacin especial para
resolver la ilegitimidad causada por el two-
point crossover.
Procedimiento: PMX
1. seleccionar dos posiciones en el string en forma random. El substring definido por las dos
posiciones es llamada seccin de mapping.
2. Intercambiar los dos substrings entre los padres para producir un offspring.
3. Determinar la relacin mapping entre las dos secciones de mapping.
4. Legalizar el offspring con la relacin de mapping.


Ref: Carolina Salto






PMX

padre 1 1 2 3 4 5 6 7 8 9
padre 2 5 4 6 9 2 1 7 8 3

2. Intercambiar los substrings entre los padres

3 4 5 6
6 9 2 1




1 6 3
2 5
9 4
3. Establecer la relacin de mapping

offsprint 1 3 5 6 9 2 1 7 8 4
offspring 2 2 9 3 4 5 6 7 8 1
4. Legalizar los offsprings con las relaciones de mapping

padre 1 1 2 6 9 2 1 7 8 9
padre 2 5 4 3 4 5 6 7 8 3
offspring 1
offspring 2
1. Elegir un substring al azar
Ref: Carolina Salto




OPERADORES DE CROSSOVER PARA
REPRESENTACIONES POR PERMUTACIN
Order Crossover (OX).
Propuesto por Davis en 1985.
Variacin de PMX con un procedimiento de
reparacin diferente.
Procedimiento: OX
1. seleccionar un substring en el primer padre en forma random.
2. Producir un offspring al copiar el substring en las posiciones correspondientes.
3. Colocar las ciudades del padre 2 que no pertenecen al substring seleccionado en
las posiciones vacas del offspring, de izquierda a derecha de acuerdo al orden en
que se encuentran en el segundo padre.





OX
2. Copiar el substring en el hijo
3. Copiar los elementos restantes en el padre 2 al hijo, en el orden de
aparicin
offspring 7 9 3 4 5 6 1 2 8
padre 2 5 7 4 9 1 3 6 2 8



offspring 3 4 5 6
1. Seleccionar aleatoriamente un substring del primer padre


padre 1 1 2 3 4 5 6 7 8 9




Ref: Carolina Salto




OPERADORES DE CROSSOVER PARA
REPRESENTACIONES POR PERMUTACIN
Cycle Crossover (CX)
Propuesto por Oliver, Smith y Holland en 1987.
Es esencialmente una clase de crossover uniforme
para una representacin basada en permutaciones.
Utiliza un procedimiento de reparacin.
Procedimiento: CX
1. Hallar el ciclo definido por las posiciones correspondientes a las ciudades dentro
de los padres.
2. Copiar las ciudades del ciclo al hijo en las posiciones correspondientes a uno de los
padres.
3. Determinar las ciudades restantes del hijo al borrar aquellas ciudades que estn
en el ciclo desde el otro padre.
4. Rellenar el hijo con las ciudades restantes.







CX


1 2 3 4 5 6 7 8 9
padre 1
5 4 6 9 2 3 7 8 1
padre 2

Encuentra el ciclo definido por los padres
Ciclo 1 5 2 4 9 1
Copia las ciudades del ciclo en el hijo
desde el padre 1
1 2 4 5 9
hijo
Determina las ciudades restantes para el
hijo desde el padre 2
1 2 6 4 5 3 7 8 9 hijo




OPERADORES DE MUTACIN
El operador de mutacin para los
algoritmos genticos ha sido introducido
por Holland como un operador secundario
que ocasionalmente cambia un nico bit
del individuo al invertirlo.
La probabilidad de mutacin p
m
, por bit,
pertenece al intervalo [0, 1] y es
usualmente muy baja en los AGs.
Su principal objetivo es explorar otras
regiones dentro del espacio de bsqueda.




OPERADORES DE MUTACIN SEGN LA
REPRESENTACIN
Representacin Operadores de Mutacin
Binaria Swap
Real Mutacin para representacin real
Por permutacin
Intercambio recproco.
Inversin
Insercin
Desplazamiento







OPERADORES DE MUTACIN PARA
REPRESENTACIONES BINARIAS
1 0 1 0 1 1 1 0 hijo i
Los genes a mutar son elegidos segn p
m
1 1 1 0 0 1 0 0 hijo i
Swap
(Holland, 1975)





OPERADORES DE MUTACIN PARA
REPRESENTACIONES REALES
Perturbacin de los valores mediante un valor
aleatorio.

Frecuentemente, mediante una distribucin
Gaussiana, N(0,), donde:

0 es la media
es la desviacin tpica (step size)

xi = xi + N(0, i)

para cada parmetro.





OPERADORES DE MUTACIN PARA
REPRESENTACIONES POR PERMUTACIN
Mutacin por Insercin
Propuesta por Fogel en 1988.
Procedimiento: Mutacin por Insercin
1. Seleccionar una ciudad al azar.
2. Insertar dicha ciudad en una posicin elegida aleatoriamente .
1 2 3 4 5 6 7 8 9
offspring
1.Seleccionar una ciudad al azar
2.Insertar la ciudad elegida en una posicin aleatoria
1 7 2 3 4 5 6 8 9 offspring




OPERADORES DE MUTACIN PARA
REPRESENTACIONES POR PERMUTACIN
Mutacin por Inversin
Propuesta por Fogel en 1990.
Procedimiento: Mutacin por Inversin
1. Seleccionar dos posiciones dentro de un cromosoma al azar.
2. Invertir el substring entre estas dos posiciones
1 2 3 4 5 6 7 8 9
offspring
1.Seleccionar aleatoriamente dos posiciones
2.Invierte el substring entre estas posiciones
1 7 6 5 4 3 2 8 9 offspring




OPERADORES DE MUTACIN PARA
REPRESENTACIONES POR PERMUTACIN
Mutacin por Intercambio Recproco
Propuesta por Banzhaf en 1990.
Esta mutacin es esencialmente la heurstica 2-Opt para TSP.
Procedimiento: Mutacin por Intercambio Recproco
1. Seleccionar dos posiciones al azar.
2. Intercambiar las ciudades correspondientes a estas posiciones .
1 2 3 4 5 6 7 8 9
offspring
1. Seleccionar dos posiciones al azar
2. Intercambiar las ciudades.
1 2 3 7 5 6 4 8 9 offspring




OPERADORES DE MUTACIN PARA
REPRESENTACIONES POR PERMUTACIN
Mutacin por Desplazamiento
Propuesta por Michalewicz en 1992.
La insercin puede verse como un caso especial de
desplazamiento en el cual el subtour contiene slo una ciudad.
Procedimiento: Mutacin por Desplazamiento
1. Seleccionar un substring al azar.
2. Insertar dicho substring en una posicin elegida aleatoriamente .
1 2 3 4 5 6 7 8 9
offspring
1.Seleccionar un substring al azar
2.Insertar el substring elegido en una posicin aleatoria
1 4 5 6 7 2 3 8 9 offspring




EXPLOTACIN VS. EXPLORACIN
Exploracin del espacio de bsqueda.
Creacin de la poblacin inicial
Aplicacin del operador de Mutacin
Explotacin de la mejor solucin.
Aplicacin de mtodos de seleccin
Aplicacin del operador de crossover
Diversidad gentica
Presin Selectiva
Convergencia Prematura.








FUNDAMENTOS TERICOS
Para un AG standard
(representacin binaria)




TEORA DEL ESQUEMA
Esquema: cadena de caracteres pertenecientes a
un alfabeto binario.
Ej. : 101**01
Instancias de ese esquema:
1011001,
1010001





TEORA DEL ESQUEMA
Orden de un esquema O(e): nmero de posiciones
fijas en l.
Ej. : O(101**01)=5
Longitud de un esquema l(e): distancia entre la
primera y la ltima posicin definida en el
esquema
Ej. : l(101**01)=7-1=6




TEORA DEL ESQUEMA
m(e, t): nmero de instancias del esquema e en la
poblacin en el instante t
F(t): fitness promedio de la poblacin en el
instante t
u(e, t): fitness promedio de las instancias de e en
el instante t
n: longitud del cromosoma





TEORA DEL ESQUEMA
Aplicacin del operador seleccin:
m(e,t+1) = m(e,t) . (e,t)/ F(t)
Aplicacin del operador de crossover:
p
s
(e)=1- p
c
. l(e)/(n-1)
Aplicacin del operador de mutacin:
p
s
(e)=1- p
m
. O(e)
Ecuacin de crecimiento de e despus de aplicar estos 3
operadores:
m(e,t+1) = m(e,t) . u(e,t)/ F(t).[1-p
c
. l(e)/(n-1)-p
m
. O(e)]




TEOREMA DEL ESQUEMA

Los esquemas de longitud corta, orden bajo y
adecuacin por encima de la media reciben un
incremento exponencial en subsiguientes
generaciones de un algoritmo gentico.





RESUMIENDO
Para construir un Algoritmo Evolutivo algunas de las tareas que
debemos realizar son:
Determinar la representacin del individuo.
Definir la funcin que nos permitir determinar el
fenotipo para cada genotipo.
Determinar cmo se generar la poblacin inicial.
Seleccionar y/o disear el operador de recombinacin.
Seleccionar y/o disear el operador de mutacin.
Determinar el criterio de seleccin de los individuos a ser
padres.
Determinar el criterio de seleccin de los hijos que
permanecern en la poblacin.
Definir en que momento o la forma en que el ciclo
evolutivo finalizar.




BIBLIOGRAFA
Michalewicz, Z., Genetic Algorithms + Data Structures =
Evolution Programs. Springer, Third Revised Edition, 1996
El-Ghazali Talbi, Metaheuristics: From Design to
Optimization. Wiley, 2009. Cap. 1, 2 y 3.
Bck, T., Evolutionary Algorithms In Theory And
Practice. Oxford University Press, New York, 1995
Gen M., Cheng R., Genetic Algorithms & Engineering
Design, Wiley Interscience, 1997
Whitley D., A Genetic Algorithm Tutorial.
http://samizdat.mines.edu/ga_tutorial/
Pohlheim H., Genetic and Evolutionary Algorithms:
Principles, Methods and Algorithms,
http://www.tu-ilmenau.de/fakia/fileadmin/template/startIA/
oek_systeme/Interess_adressen/pohlheim/GA_Toolbox/algindex.html

S-ar putea să vă placă și