You are on page 1of 28

Algoritmos genticos

Concepto
Algoritmo de bsqueda basado en la mecnica de la ge-
ntica y la seleccin natural.Un algoritmo gentico pue-
de resolver problemas que an no estn completamente
caracterizados o son demasiado complejos para permitir
una completa caracterizacin. Es decir, problemas para
los cuales no necesariamente conocemos cmo llegar a
una buena solucin, pero si podemos evaluar por alguna
medida cuantificable el valor relativo de una solucin (o
al menos el valor relativo de una solucin potencial en
comparacin con otra).
El concepto bsico de un algoritmo gentico es la codi-
ficacin de una solucin potencial de un problema como
una serie de parmetros.

Un conjunto de valores de parmetros es tratado como el
genoma o material gentico de una solucin individual. Se
crea una gran poblacin de soluciones candidatas (ini-
cialmente con valores de parmetros al azar). Estas solu-
ciones son esencialmente apareadas unas con otras por va-
rias generaciones simuladas bajo el principio de supervi-
vencia del ms apto.
El apareamiento tiene lugar haciendo uso de operadores
tales como el entrecruzamiento, y la mutacin (esencial-
mente la introduccin de ruido). El tercer operador bsico
es la reproduccin.
AG explota eficientemente la informacin histrica para
especular sobre nuevos puntos de bsqueda con la espe-
ranza de un mejor rendimiento.
Robustez
La robustez, balance entre eficiencia y eficacia necesario
para sobrevivir en muchos ambientes diferentes, es el te-
ma central de investigacin en algoritmos genticos.

Los AGs, terica y prcticamente han probado que pro-
veen una bsqueda robusta en espacios complejos. Son
simples computacionalmente y no estn limitados por su-
posiciones restrictivas acerca del espacio de bsqueda
(suposiciones acerca de continuidad, existencia de deriva-
das, unimodalidad y/u otras cuestiones).
Robustez de mtodos tradicionales de bsqueda
Mtodos basados en clculo
Son locales, en rea de influen-
cia. Adems dependen de la
existencia de derivadas. Pero...
El mundo real de bsqueda est
lleno de discontinuidades, multi-
modalidad y espacios de bsque-
da con rudos.
Mtodos enumerativos
Buscan valores de la funcin ob-
jetivo en cada punto en el espa-
cio, uno por vez. Su principal fa-
lla es la falta de eficiencia. Tipo de problema
combinat. unimodal multimodal
Enumeracin
bsq.al azar
Esquema
robusto
Esquema
especializado
Diferencias entre AGs y los mtodos
tradicionales de bsqueda
1.- Trabajan con la codificacin del conjunto de parme-
tros, no con los parmetros.

2.- Buscan a partir de una poblacin de puntos, no un
punto nico.

3.- Usan informacin de una funcin objetivo (o ms), no
derivadas u otro conocimiento adicional.

4.- Usan reglas de transicin probabilsticas, no reglas
determinsticas.
Problema
Usar un algoritmo gentico para maximizar la funcin
f(x) = x
2
en el rango x ={0, ..., 31}. (Supongamos que x
es entero). La funcin se muestra a continuacin:
Generacin de la poblacin inicial
Para usar un algoritmo gentico
primero debemos codificar las va-
riables de decisin de nuestro pro-
blema en un conjunto de cadenas
de longitud finita. Hacemos esto
codificando la variable x en un
conjunto de 5 bits.
Generacin de la poblacin inicial
al azar: definimos cada bit en cua-
tro conjuntos de bits con probabi-
lidad 0.5, por ej. lanzando una
moneda 20 veces y asociando cara
con 1 y cruz con 0
POBLACION
INICIAL
(GENERADA
AL AZAR)
CADENA
NUMERO
VALOR
DE X
01101
11000
01000
10011
Clculo de f(x)
SUMA =
10011
01000
11000
01101
CADENA
NUMERO
POBLACION
INICIAL
(GENERADA
AL AZAR)
1
2
3
4
VALOR
DE X
f(x)=x
2

361 19
1170
VALORES DE
APTITUD O
ADAPTACION
8 64
576
169 13
24
Clculo del valor de ajuste
Luego debemos maximizar f(x).
Definimos: valor de aptitud = f(x) = x
2
El valor de aptitud, tambin llamado funcin objetivo, en
este caso es uno solo. En la realidad, normalmente opti-
mizamos una funcin multiobjetivo, o un vector de fun-
ciones objetivo.
Para poder realizar la reproduccin debemos calcular los
valores de probabilidad de seleccin.

Probab.selecc. =
Clculos resultantes
SUMA =
10011
01000
11000
01101
CADENA
NUMERO
POBLACION
INICIAL
(GENERADA
AL AZAR)
1
2
3
4
VALOR
DE X
f(x)=x
2

361 19
1170
VALORES DE
APTITUD
8 64
576
169 13
24
PROBAB.
SELECC.
f
i
/Ef

CANTIDAD
ESPERADA
f
i
/f
MEDIO


CANTIDAD.
REAL
(usando
Roulette
Wheel)
0.14
0.49
0.06
0.31
0.58
1.97
0.22
1.23
1
1
2
0
1 4 4
1 1
2
293 0.25
576 0.49 1.97
PROMEDIO =
MAXIMO =
Reproduccin
La siguiente generacin de cadenas se produce aplicando
primeramente el operador reproduccin.
Seleccionamos las cadenas de la generacin actual que
habrn de ser copiadas en el pool de la generacin prxi-
ma,usando reproduccin como proceso de multiplicacin.
Esto producir un pool de cadenas con altos valores de
aptitud.
Seleccionamos el pool de la prxima generacin hacien-
do girar cuatro veces la rueda de ruleta con zonas asigna-
das en proporcin a la aptitud de cada cadena.
Entrecruzamiento
Las cadenas del pool de apareamiento se aparearn al
aplicar este operador.
Un procedimiento posible es:
1.- Las cadenas se aparean al azar.
2.- Las parejas de cadenas apareadas se entrecruzan pro-
duciendo generalmente nuevas cadenas.
Usando un mtodo al azar de seleccin de parejas
seleccionamos: cadena 4 entrecruza con cadena 2 y
cadena 1 entrecruza con cadena 2.
Ahora debemos seleccionar la posicin de bit k donde
tendr lugar el entrecruzamiento. k se obtiene al azar.
f(x)=x
2

16
25
Suma =
12
27
VALOR
DE X
VALORES DE
APTITUD
256
729
625
144
1754
Max =
729
Tabla de pares y entrecruzamiento
10Z011
11Z000
1100Z0
0110Z1
POOL DE
APAREAMIENTO
LUEGO DEL
ENTRECRUZAM.
PAREJA
SELECCIONADA
AL AZAR
1
2
2
4
Z =posicin.
de entrecruz.
POSICION DEL
ENTRECRUZAM.
(ELEGIDO AL
AZAR)
4
4
2
2
NUEVA
POBLACION
01100
11001
11011
10000
Nota
Ya podemos ver que luego de una iteracin parcial o en
medio del camino en la produccin de una generacin he-
mos incrementado la suma de las funciones objetivo de
1170 a 1754, y el valor mximo se ha incrementado de
576 a 729.

Hemos seleccionado un mejor conjunto de valores x, que
provee una aptitud maximizada f(x) = x
2
mayor que nues-
tras 4 selecciones iniciales.
Mutacin
El ltimo operador, MUTACION, se aplica bit a bit.
Asumamos que la probabilidad de mutacin en esta
prueba es

P(mut) = 0.001.

Con 20 bits en las cuatro cadenas esperamos que muten:

20 * 0.001 = 0.02 bits
Mutacin
Durante una generacin se espera entonces que 0.02 bits
sufran mutacin.

La simulacin de este proceso indica que ningn bit sufre
mutacin con este valor de probabilidad, por lo menos en
esta prueba. Normalmente, esto se hubiera llevado a cabo
en un programa que usa un generador de nmeros al azar,
y puede haber una posibilidad.

Como resultado no habr cambio de bits de 0 a 1 o vice
versa durante esta generacin.
Mutacin
Nota: Una vez que todo el proceso:

Reproduccin
Entrecruzamiento
Mutacin

se ha completado para producir una nueva generacin,
podemos calcular nuestros nuevos valores objetivo como
se mostr previamente en la tabla de entrecruzamiento.

Terminologa de Computacin Evolutiva o
Algoritmos Genticos
Los sistemas basados en cadenas son anlogos a conjuntos
de cromosomas (organismos) en un sistema biolgico.
En sistemas naturales, uno o ms cromosomas se combinan
para formar la prescripcin gentica total para la construc-
cin de todo organismo.
Genotipo es el nombre dado a todo el paquete gentico en
sistemas naturales. Estructura es el nombre dado a todo el
paquete de cadenas en sistemas genticos artificiales.
En sistemas naturales, el organismo formado por la interac-
cin del paquete gentico total con su ambiente se denomi-
na fenotipo.
Terminologa de Computacin Evolutiva o
Algoritmos Genticos (continuacin)
En sistemas genticos artificiales, las estructuras se
decodifican para formar un conjunto de parmetros
particular, alternativa de solucin, o punto en el
espacio de solucin.

En la bsqueda gentica artificial decimos que las cade-
nas estn compuestas de caractersticas o detectores,
que toman diferentes valores.

En terminologa natural, decimos que los cromosomas
estn formados por genes.
Esquemas (Plantillas de Similaridad)
De qu manera una cadena es representativa de otras
clases de cadena con similaridad en ciertas posiciones?

Esquema: plantilla de similaridad que describe un sub-
conjunto de cadenas con similaridad en ciertas posicio-
nes. A partir del alfabeto binario {0,1}, el esquema tendr
el alfabeto {0,1,*}. Para alfabetos con cardinalidad k, ha-
br (k + 1)
l
esquemas [l = long. de cadena].
Ej: si l = 5 y k = 2 3.3.3.3.3 = 3
5
esquemas posibles.
Una cadena cualquiera contiene k
l
esquemas. (ej. 11111
contiene 2
5
esquemas porque cada posicin es 1 o *). Por
lo tanto, una poblac. de tamao n contiene esquemas en el
rango k
l
y n.k
l
dependiendo de la diversidad de la poblac.

Esquemas (Plantillas de Similaridad)(contin.)
La motivacin original de considerar importantes simila-
ridades fue la de obtener ms informacin para ayudar a
guiar la bsqueda.

Orden (o): nmero de posiciones fijas del esquema.
Longitud de definicin: distancia entre bits extremos(defi-
nidos como 1 o 0 en el caso del alfabeto binario) en un esquema.
Si consideramos slo reproduccin:
supongamos que en cierto momento t hay m ejemplos de
un esquema particular H dentro de la poblacin A(t). La
ecuacin de crecimiento reproductivo del esquema es:
m(H, t+1) = m(H, t) . f(H)/f
media
f(H) = promedio de aptitud de las cadenas que represen-
tan el esquema H.
Esquemas (Plantillas de Similaridad)(contin.)
Un esquema particular crece segn la relacin de la
aptitud media del esquema respecto de la aptitud media
de la poblacin.

Si asumimos que un esquema particular H se mantiene
sobre el promedio en una cantidad c.f
media
con c constan-
te, entonces:

m(H, t+1) = m(H, t).| f
media
+ c.f
media
| =m(H, t).(1 + c)
\ f
media
.
Comenzando a tiempo t = 0 y asumiendo valor estaciona-
rio de c:
m(H, t) = m(H, 0). (1 + c)
t
Esquemas (Plantillas de Similaridad)(contin.)

considerando adems entrecruzamiento y mutacin
(valores de p
m
<< 1)

m(H, t+1) > m(H, t). f(H)/f
medio
. 1-p
c
.o(H) o(H).p
m
(
m(H, t+1) > m(H, t). f(H)/f
medio
. l 1

Nota: (1 p
m
)
o(H)
para pequeas p
m
es equivalente a:
1 o(H).p
m
Otra perspectiva: mnimo problema de decepcin

Dado un conjunto de cuatro esquemas de orden 2, cada
esquema estando asociado con el valor de aptitud segn:
***0*****0* f
00
promedio del esquema
***0*****1* f
01
***1*****0* f
10
***1*****1* f
11

o(H)
Asumamos que f
11
es el ptimo global:

f
11
> f
00
; f
11
> f
01
; f
11
> f
10

Mnimo problema de decepcin (continuacin)
Introducimos el elemento de decepcin necesario para
hacer de ste un problema complejo para un AG simple,
queremos que se cumpla una de las sig. condiciones:
f(0*) > f(1*);

f(*0) > f(*1);
Es decir
f(00)+f(01) > f(10)+f(11) ;
2 2

f(00)+f(10) > f(01)+f(11) ;
2 2
Mnimo problema de decepcin (continuacin)
A partir de esto,asumiendo que se cumple lo primero (f(0*)>f(1*))
encontraremos dos tipos de problemas de 2 bits:
Tipo I: f
01
> f
00
Tipo II: f
00
> f
01
Ninguno de estos casos puede ser expresado como combinacin
lineal , esto es un problema epistctico biolgicamente hablando.
01
11
10 00
Tipo I
01
11
10 00
Tipo II
A
p
t
i
t
u
d

A
p
t
i
t
u
d

Mnimo problema de decepcin (continuacin)

A partir del teorema de esquema esperamos tener
dificultad cuando:

f(11)/f
medio
. 1-p
c
.o(H)

( s 1 (asumiendo p
m
= 0)
. f(H)/f
medio
. l 1

Sorprendentemente para muchas condiciones iniciales
posibles MPD no es AG-hard.

(Ver figuras 2.10, 2.11 y 2.12 en pg. 51 y 52 de AG.)

You might also like