Professional Documents
Culture Documents
UNIVERSIDAD
NACIONAL
DE LOJA
a en Sistemas
Inteligencia Articial
ALGORITMOS GEN
ETICOS
Autores:
Chuquihuanca-Vicente, Leonardo-Rafael
Mu noz-Perez, Miguel-
Angel
Asesor:
Chamba-Eras, Luis-Antonio
Loja-Ecuador
9 de Junio 2014
Indice
A. Advertencia 4
B. Funcionamiento De Un Algoritmo Genetico 4
C. Consideraciones Adicionales 7
D. Bibliografa 8
E. Licencia CC 9
2
Indice de tablas
1. SELECCI
ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2. CRUCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. POBLACI
ON TRAS EL CRUSE . . . . . . . . . . . . . . . . . . . . . . . 7
3
ALGORITMOS GEN
ETICOS
Autor: Miguel
Angel Mu noz Perez.
Primera versi on: Noviembre, 1997.
ON
Cada la en la tabla 1 est a asociada a un individuo de la poblacion inicial. El signi-
cado de cada columna de la tabla es el siguiente:
(ID) = N umero que le asignamos al individuo.
(INDIVIDUO) = Individuo en codicacion binaria.
(X) = Valor de x.
(FX) = Valor de f(x).
Observa que el mejor individuo es el 9 con f = 841. Calcula la media de f y obtendr as
fmed =382.5.
5
En cuanto a la columna (TORNEO) ahora te lo explico. Una manera de realizar el
proceso de seleccion es mediante un torneo entre dos. A cada individuo de la poblacion
se le asigna una pareja y entre ellos se establece un torneo: el mejor genera dos copias y
el peor se desecha. La columna (TORNEO) indica la pareja asignada a cada individuo, lo
cual se ha realizado aleatoriamente. Existen muchas variantes de este proceso de selecci on,
aunque este metodo nos vale para ilustrar el ejemplo.
Despues de realizar el proceso de seleccion, la poblaci on que tenemos es la mostrada
en la columna (INDIVIDUO) de la tabla 2. Observa, por ejemplo, que en el torneo entre
el individuo 1 y el 10 de la poblaci on inicial, el primero de ellos ha recibido dos copias,
mientras que el segundo cae en el olvido.
CRUCE
ID INDIVIDUO TORNEO CRUCE
1 (1,1,1,0,0) 3 2
2 (1,1,1,0,0) 8 3
3 (1,1,0,1,0) 1 2
4 (1,1,0,1,0) 10 3
5 (1,1,1,0,1) 9 4
6 (1,1,1,0,1) 7 1
7 (1,1,0,0,0) 6 1
8 (1,1,0,0,0) 2 3
9 (0,1,0,0,1) 5 4
10 (0,1,0,0,1) 4 3
Tabla 2: CRUCE
Tras realizar la seleccion, se realiza el cruce. Una manera de hacerlo es mediante el
cruce 1X: se forman parejas entre los individuos aleatoriamente de forma similar a la
selecci on. Dados dos individuos pareja se establece un punto de cruce aleatorio, que no es
m as que un n umero aleatorio entre 1 y 4 (la longitud del individuo menos 1). Por ejemplo,
en la pareja 2-8 el punto de cruce es 3, lo que signica que un hijo de la pareja conserva
los tres primeros bits del padre y hereda los dos ultimos de la madre, mientras que el otro
hijo de la pareja conserva los tres primeros bits de la madre y hereda los dos ultimos del
padre. La poblaci on resultante se muestra en la columna (INDIVIDUO) de la tabla 3.
6
POBLACI
ON TRAS EL CRUSE
ID INDIVIDUO X FX
1 (1,1,0,1,0) 26 676
2 (1,1,1,0,0) 28 784
3 (1,1,1,0,0) 28 784
4 (1,1,0,0,0) 24 576
5 (1,1,0,0,1) 25 625
6 (0,1,0,1,0) 10 100
7 (1,1,1,0,1) 29 841
8 (0,1,0,0,1) 9 81
9 (1,1,0,0,0) 24 576
10 (1,1,1,0,1) 29 841
Tabla 3: POBLACI
ON TRAS EL CRUSE
En la columna (3) tienes el valor de x; en la siguiente tienes el valor de f correspon-
diente.
Fjate en que ahora el valor maximo de f es 841 (para el individuo 7 Y 10), mientras
que antes de la selecci on y el cruce era el mismo pero solo en el individuo 9 con 841.
Adem as fmed ha subido de 382,5 a 650,5. Que quiere decir esto? Simplemente que los in-
dividuos despues de la seleccion y el cruce son mejores que antes de estas transformaciones.
El siguiente paso es volver a realizar la seleccion y el cruce tomando como poblaci on
inicial la de la tabla 3. Esta manera de proceder se repite tantas veces como n umero
de iteraciones t u jes. Y cual es el optimo? En realidad un algoritmo genetico no te
garantiza la obtenci on del optimo pero, si esta bien construido, te proporcionar a una
soluci on razonablemente buena. Puede que obtengas el optimo, pero el algoritmo no te
conrma que lo sea. As que quedate con la mejor soluci on de la ultima iteraci on. Tambien
es buena idea ir guardando la mejor solucion de todas las iteraciones anteriores y al nal
quedarte con la mejor solucion de las exploradas.
C. Consideraciones Adicionales
En problemas reales en los que se aplican los algoritmos geneticos, existe la tendencia
a la homogeinizacion de la poblaci on, es decir a que todos los individuos de la misma
sean identicos. Esto impide que el algoritmo siga explorando nuevas soluciones, con lo que
podemos quedar estancados en un mnimo local no muy bueno.
Existen tecnicas para contrarrestar esta deriva genetica. El mecanismo mas elemen-
tal, aunque no siempre sucientemente ecaz, es introducir una mutaci on tras la seleccion
y el cruce. Una vez que has realizado la selecci on y el cruce escoges un n umero deter-
minado de bits de la poblaci on y los alteras aleatoriamente. En nuestro ejemplo consiste
simplemente en cambiar algunos(s) bit(s) de 1 a 0 o de 0 a 1.
7
D. Bibliografa
Referencias
[1] Mu noz M. ALGORITMOS GEN
ETICOS,Agosto 2005.
[2] DAVIS, L. Handbook of Genetic Algorithms , Van Nostrand Reinhold,1991.
[3] DIAZ, A. y GLOVER, F. Optimizacion Heurstica y Redes Neuronales en Direccion
de Operaciones e Ingeniera., Paraninfo, 1996.
[4] GOLDBERG, D.E. Genetic Algorithms in Search, Optimization, and Machine Lear-
ning., Addison-Wesley, Reading, MA, 1989.
[5] HOLLAND, J. Adaptation in Natural and Articial Systems., University of Michi-
gan Press, Ann Arbor, 1975.
[6] MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Pro-
grams., Springer-Verlag, 1992.
8
E. Licencia CC
Algoritmos Geneticos. by Leonardo Rafael Chuquihuanca Vicente, is licensed Under a Creative
Commons Attribution- NonCommercial-ShareAlike 4.0 Ecuador.
9