Está en la página 1de 26

Algoritmos Gen

Algoritmos Gen

ticos
ticos
Y
Y
Optimizaci
Optimizaci

n Heur
n Heur

stica
stica
Dr. Dr. Adrian Adrian Will Will
Grupo de Aplicaciones de Inteligencia Artificial Grupo de Aplicaciones de Inteligencia Artificial
Universidad Nacional de Tucum Universidad Nacional de Tucum n n
awill@herrera.unt.edu.ar awill@herrera.unt.edu.ar
Cuando Aplicar m
Cuando Aplicar m

todos Heur
todos Heur

sticos
sticos
Cuando no se pueda aplicar otro m Cuando no se pueda aplicar otro m todo todo, , en general en general
por falta de hip por falta de hip tesis para aplicar algoritmos tesis para aplicar algoritmos
determin determin sticos sticos (funciones no (funciones no derivables derivables o no o no
continuas, o que no son funciones, etc.) continuas, o que no son funciones, etc.)
Problemas ruidosos o mal condicionados Problemas ruidosos o mal condicionados (los (los
algoritmos heur algoritmos heur sticos o aleatorios tienden a ser sticos o aleatorios tienden a ser
robustos y poco sensibles a la presencia de ruido) robustos y poco sensibles a la presencia de ruido)
Existencia de gran cantidad de Existencia de gran cantidad de ptimos locales ptimos locales
(donde los algoritmos tradicionales basados en (donde los algoritmos tradicionales basados en
derivadas quedan atrapados) derivadas quedan atrapados)
Problemas reales de gran complejidad Problemas reales de gran complejidad, , donde es donde es
suficiente con encontrar una buena soluci suficiente con encontrar una buena soluci n al n al
problema, aunque no sea necesariamente el problema, aunque no sea necesariamente el ptimo ptimo
global global
Problemas Reales
Problemas Reales

Funci
Funci

n de
n de
Rastrigin
Rastrigin
Modelo Matemtico Fbrica - 2003
Mtodos Heursticos
Bsqueda Tab
MtodosAleatorios
SimulatedAnnealing
Hill Climbing
Algoritmos Genticos
Ant ColonyOptimization
Clasificaci Clasificaci n de m n de m todos Heur todos Heur sticos sticos
Secuenciales Secuenciales (consideran una sola soluci (consideran una sola soluci n en cada paso) n en cada paso)
Paralelos Paralelos (consideran muchas soluciones a la vez, en cada paso) (consideran muchas soluciones a la vez, en cada paso)
Evolutivos Evolutivos (se basan en la Evoluci (se basan en la Evoluci n en el tiempo de un individuo o n en el tiempo de un individuo o
Poblaci Poblaci n) n)
No No Evolutivos Evolutivos
Greedy Greedy (o (o plus plus strategy strategy , s , s lo acepta soluci lo acepta soluci n si es mejor que la n si es mejor que la
actual) actual)
No No Greedy Greedy (acepta soluciones no tan buenas como la actual, con (acepta soluciones no tan buenas como la actual, con
alguna probabilidad) alguna probabilidad)
Mono Objetivo Mono Objetivo (el objetivo del problema es minimizar 1 par (el objetivo del problema es minimizar 1 par metro) metro)
Multi Multi Objetivo Objetivo (el objetivo del problema es minimizar m (el objetivo del problema es minimizar m s de 1 s de 1
par par metro, entre los cuales es necesario encontrar un compromiso) metro, entre los cuales es necesario encontrar un compromiso)
Hill
Hill
Climbing
Climbing
Secuencial Secuencial (una sola soluci (una sola soluci n considerada en cada paso) n considerada en cada paso)
Greedy Greedy (s (s lo acepta una soluci lo acepta una soluci n si es mejor que la actual) n si es mejor que la actual)
No No Evolutivo Evolutivo (Met (Met fora: Persona Caminando) fora: Persona Caminando)
Algoritmo: Algoritmo:
1. 1. Tomar Soluci Tomar Soluci n Inicial n Inicial
2. 2. Crear vector de avance, Crear vector de avance, , , al azar al azar
3. 3.
4. 4. Eval Eval o y comparo con o y comparo con
5. 5. Si , entonces Si , entonces
6. 6. Vuelve a 2 Vuelve a 2
) ,..., (
1 n
r r R =
R X X + =
0
) (X F
) (
0
X F
) ( ) (
0
X F X F >
0
X X =
0
X
) ,..., (
0
1
0 0
n
X X X =
(random) ) ,..., (
0
1
0
n
R R R =
0
X X R = +
F
? ) ( ) (
0
X F X F
) ( ), (
0
X F X F
X X =
0
NO
SI
Hill
Hill
Climbing
Climbing
Simulated
Simulated
Annealing
Annealing
Secuencial Secuencial (una sola soluci (una sola soluci n considerada en cada paso) n considerada en cada paso)
No No Greedy Greedy (Acepta soluciones de menor calidad que la (Acepta soluciones de menor calidad que la actual, con actual, con
alguna probabilidad) alguna probabilidad)
Evolutivo Evolutivo (Met (Met fora: Persona Caminando) fora: Persona Caminando)
Algoritmo: Algoritmo:
1. 1. Tomar Soluci Tomar Soluci n Inicial n Inicial
2. 2. Crear vector de avance, Crear vector de avance, , , al azar al azar
3. 3.
4. 4. Eval Eval o y comparo con o y comparo con
5. 5. Si , entonces Si , entonces
6. 6. Si no, acepto el nuevo valor con probabilidad p que depende del Si no, acepto el nuevo valor con probabilidad p que depende del
tiempo y de un par tiempo y de un par metro (Temperatura Inicial) metro (Temperatura Inicial)
) ,..., (
1 n
r r R =
R X X + =
0
) (X F ) (
0
X F
) ( ) (
0
X F X F >
0
X X =
0
X
1
0 0 0 0
( ,..., ), 0,
n
X X X t T = =
(random) ) ,..., (
0
1
0
n
R R R =
0
X X R = +
F
? ) ( ) (
0
X F X F
) ( ), (
0
X F X F
X X =
0
NO
SI
1 + = t t
random s
? ) , (
0
s t T P
SI
NO
Algoritmos Genticos
Los individuos mejor adaptados tienen ms
posibilidades de reproducirse que los menos adaptados:
Los menos adaptados tambin tienen
posibilidades de reproducirse
Dados los 2 padres, el gen de los hijos se obtiene como una
combinacin aleatoria de los genes de los padres
Peridicamente la naturaleza enva una catstrofe
Esquema de un Algoritmo Gentico
Poblacin Inicial
Operador de Mutacin
Operador de Seleccin
Operador de Cruzamiento
Nueva Poblacin
Finaliza ? Poblacin Final
Algoritmos Genticos
Paralelo(consideran muchas soluciones a la vez en cada paso, llamada
Poblacin)
Evolutivo(Estn inspirados en el principio de Evolucin y Seleccin
Natural de Darwin)
S
e
l
e
c
t
i
o
n
C
r
o
s
s
O
v
e
r
M
u
t
a
t
i
o
n
Initial
Population
Final
Population
Operador de Seleccin Ruleta con pesos
A B C D E F G
1 2 3 4 5 6 7
A B C D 5 6 7
1 2 3 4 E F G
Padre I
Padre II
Hijo I
Hijo I I
Operador de Cruzamiento Single Point
Operador de Mutacin
A B C D E F G
Hijo n
D B C A E F G
Hijo Mutado
Ejemplo
Ejemplo
Tama Tama o de la o de la Poblacion Poblacion Inicial = 5 Inicial = 5
Generaciones = 4 Generaciones = 4
Metodo Metodo de selecci de selecci n: Ruleta n: Ruleta
Crossover Crossover: Single : Single Point Point
Mutacion Mutacion: Boundary : Boundary Mutation Mutation
Matriz de Matriz de Bounds Bounds
[ ]
( , ) , , 1,1 F x y x y x y = +
1 1
Bounds
1 1


Ejemplo
Ejemplo
( )
( )
1
2
3
4
5
0,0.5
0.5,0.25
( 0.3, 0.2)
(0.6, 0.4)
( 0.3, 0.7)
S
S
S
S
S
=
=
=
=
=
1
2
3
4
5
( ) 0.5
( ) 0.25
( ) 0.5
( ) 0.2
( ) 1
F S
F S
F S
F S
F S
=
=
=
=
=
Paso 1: Seleccin por el mtodo de la ruleta
Procedimiento?
Sol 1 Sol 2 Sol 3 Sol 4 Sol 5
1 0
1 1
1
1
1
{ ( ),..., ( )} { ( ) ,..., ( ) } min( ( ))
{ ( ) /Sum,..., ( ) /Sum}, con
Sum= ( ) ( ) ... ( )
n n i
n
n
i n
i
F S F S F S m F S m m F S
P F S m F S m
F S nm F S F S nm
=
=
=
= + +

P Distribucin de Probabilidad
1
1
1
,...., al azar
{ ( ) / Sum,..., ( ) / Sum},
solucion es seleccionado s [ ( ) / Sum, ( ) / Sum]
n
n
i i i i
s s
P F S F S
S i F S F S
+
=
=
1 2 3 4 5
1 4 2 3 5
1
{ ( ), ( ), ( ), ( ), ( )}
{ ( ), ( ), ( ), ( ), ( )}
(reordenando)
min( ( )) 1
{ ( ) ,..., ( ) }
0.1
Sum ( ) 4.45
P= ./ ( )
i
n
F S F S F S F S F S
F S F S F S F S F S
m F S
G F S m F S m
G G
sum G
G sum G

= =
= + +
=
= +
= =
1.6 1.3 0.85 0.6 0.1
0.36 0.292 0.191 0.135 0.022
1 4 2 3 5
( ) ( ) ( ) ( ) ( ) P S P S P S P S P S
0.5 0.25 0.5 0.2 1
0.5 0.2 0.25 0.5 1
1.5 1.2 0.75 0.5 0
0.36 0.292 0.191 0.135 0.022
1 4 2 3 5
( ) ( ) ( ) ( ) ( ) P S P S P S P S P S
0.36 0.652 0.843 0.978 1
cumsum(P)
S1 S4 S2 S3
0.36
0.65 0.84 0.97 0
S1 S4 S2 S3
0.36
0.65 0.84 0.97 0
1 5
3
1
4
4
3
generamos ,..., , al azar
0.95 S
0.23 S
0.61 S
0.48 S
0.89 S
s s

Poblacin Nueva (despus de la Seleccin)


1 3 3 4 4
NewPop={S,S ,S ,S ,S }
={(0,0.5),(-0.3,-0.2),(-0.3,-0.2),(0.6,-0.4),(0.6, 0.4)}
Crossover
se eligen parejas al azar y se realiza
Single Point Crossover
(x,y) (x,w)
(z,w) ( , ) z y

1 1
2 4
1 4
2 3
(0,0.5)
(0.6, 0.4)
' (0.6, 0.4)
' ( 0.3, 0.2)
P S
P S
P S
P S
= =
= =
= =
= =
1
2
1
2
(0.6,0.5)
(0, 0.4)
' (0.6, 0.2)
' ( 0.3, 0.4)
C
C
C
C
=
=
=
=

NewPop=
{(0.6,0.5),(0,-0.4),(0.6,-0.2),(-0.3,-0.4),(-0.3,-0.2)}
Poblacin luego de Crossover
Mutacin Boundary Mutation
1 - Se elige una coordenada de la solucin, al azar
2 Se elige una direccin, al azar (hacia arriba o hacia abajo del
intervalo)
3 Se cambia la coordenada correspondiente de la solucin, por el
borde correspondiente del intervalo, Bounds(i,1) o Bounds(i,2), segn
la direccin elegida
'
3 1
'
3
Solucin Elegida: ' (0.6, 0.2)
Coordenada Elegida: 1
Direccion Elegida: arriba
mutado = (1, 0.2)
S C
S
= =

NewPop (luego de Mutacin y Crossover) =


{(0.6,0.5),(0,-0.4),(1,-0.2),(-0.3,-0.4),(-0.3,-0.2)}
Comparaci Comparaci n 1ra y 2da n 1ra y 2da
Generaci Generaci n n
Y repetir hasta completar la cantidad prefijada de
Generaciones

También podría gustarte