Documente Academic
Documente Profesional
Documente Cultură
eticos
Marcos Gestal Pose
Depto. Tecnologas de la Informacion y las
Comunicaciones Universidade da Coruna
http://sabia.tic.udc.es/mgestal
mgestal@udc.es
Indice
1. Intro duccion
2. Orgenes
3. Bases Biologicas
4. Co dicacion de Problemas
5. Algoritmo Principal
6. Operadores Geneticos
8
6.1. Seleccion ..................................................................................................... 8
6.1.1. Seleccion por ruleta ......................................................................8
6.1.2. Seleccion por torneo .....................................................................9
6.2. Cruce............................................................................................................. 9
6.2.1. Cruce de 1 punto...........................................................................10
6.2.2. Cruce de 2 puntos.........................................................................10
6.2.3. Cruce Uniforme.............................................................................11
6.2.4. Cruces especcos de codicaciones no binarias .....................11
6.3. Algoritmos de Reemplazo........................................................................12
6.4. Copia............................................................................................................13
6.5. Mutacion ...................................................................................................13
7. Evaluacion
14
Indice de guras
1.
2.
3.
4.
5.
6.
7.
El siguiente tutorial no pretende ser un documento exhaustivo acerca de los Algoritmos Geneticos. Mas bien una referencia que sirva para
introducir la terminologa, los conceptos claves y una bibliografa de base, quedando en manos del lector profundizar en aquellos aspectos que
considere de mayor interes.
1.
Introduccion
2.
Orgenes
M. Gestal
3.
Bases Biologicas
4.
Codicacion de Problemas
5.
Algoritmo Principal
Una vez generados los nuevos individuos se realiza la mutacion con una
probabilidad Pm. La probabilidad de mutacion suele ser muy baja, por lo general
entre el 0.5 % y el 2 %.
Se sale de este proceso cuando se alcanza alguno de los criterios de parada
jados. Los mas usuales suelen ser:
Los mejores individuos de la poblacion representan soluciones sucientemente buenas para el problema que se desea resolver.
La poblacion ha convergido. Un gen ha convergido cuando el 95 % de la
poblacion tiene el mismo valor para el, en el caso de trabajar con codicaciones binarias, o valores dentro de un rango especicado, en el caso
de trabajar con otro tipo de codicaciones. Una vez que todos los genes
alcanzan la convergencia se dice que la poblacion ha convergido. Cuando
esto ocurre la media de bondad de la poblacion se aproxima a la bondad
del mejor individuo.
Se ha alcanzado el numero de generaciones maximo especicado.
Sobre este algoritmo inicialmente propuesto por Holland se han denido
numerosas variantes.
Quizas una de las mas extendidas consiste en prescindir de la poblacion
temporal de manera que los operadores geneticos de cruce y mutacion se aplican
directamente sobre la poblacion genetica. Con esta variante el proceso de cruces
vara ligeramente. Ahora no basta, en el caso de que el cruce se produzca, con
insertar directamente la descendencia en la poblacion. Puesto que el numero de
individuos de la poblacion se ha de mantener constante, antes de insertar la
descendencia en la poblacion se le ha de hacer sitio. Existen para ello diversas
opciones:
Reemplazo de padres: para hacer hueco a la descendencia en la poblacion se eliminan de ella a los padres.
Reemplazo de individuos similares: cada uno de los individuos de la
descendencia reemplazara a un individuo de la poblacion con un ajuste
similar al suyo. Para escoger este individuo se obtiene la posicion en la que
se debera insertar el nuevo individuo para mantener ordenada la poblacion
y se escoge para insertarlo una posicion al azar de su vecindad (p.e. uno de
entre los cinco individuos superiores o inferiores).
Reemplazo de los peores individuos: los individuos que se eliminara
n de la poblacion para dejar paso a la descendencia se seleccionaran
aleato- riamente de entre los peores individuos de la poblacion. Por lo
general se consideran individuos pertenecientes al ultimo 10 %.
Reemplazo aleatorio: los individuos eliminados se seleccionan al azar.
Evidentemente trabajando con un unica poblacion no se puede decir
que se pase a la siguiente generacion cuando se llene la poblacion, pues
siempre esta llena. En este caso el paso a la siguiente generacion se
producira una vez que se hayan alcanzado cierto numero de cruces y
mutaciones. Este numero dependera de la tasa de cruces y mutaciones
especicadas por el usuario y
del tamano de la poblacion. As con una tasa de cruces del 90 %, una tasa de
mutaciones del 0.02 % y trabajando con 100 individuos se pasara a la siguiente
generacion cuando se alcanzasen 45 cruces (cada cruce genera 2 individuos con lo
que se habran insertado en la poblacion 90 individuos, esto es el 90 %) o 2
mutaciones.
6.
Operadores Geneticos
6.1.
Seleccion
6.1.2.
6.2.
Cruce
Cruce de 1 punto
Es la mas sencilla de las tecnicas de cruce. Una vez seleccionados dos individuos se cortan sus cromosomas por un punto seleccionado aleatoriamente
para generar dos segmentos diferenciados en cada uno de ellos: la cabeza y la
cola. Se intercambian las colas entre los dos individuos para generar los
nuevos des- cendientes. De esta manera ambos descendientes heredan
informacion genetica de los padres, tal y como puede verse en la gura 5.
En la bibliografa suele referirse a este tipo de cruce con el nombre de SPX
(Single Point Crossover)
6.2.2.
Cruce de 2 puntos
coincida con el extremo de los cromosomas para garantizar que se originen tres
Cruce Uniforme
Los tres tipos de cruce vistos hasta el momento son validos para
cualquier tipo de representacion del genotipo. Si se emplean genotipos
compuestos por
6.3.
Algoritmos de Reemplazo
Cuando en vez de trabajar con una poblacion temporal se hace con una u
nica poblacion, sobre la que se realizan las selecciones e inserciones, debera
tenerse en cuenta que para insertar un nuevo individuo debera de eliminarse
previamente otro de la poblacion. Existen diferentes metodos de reemplazo:
Aleatorio: el nuevo individuo se inserta en un lugar cualquiera de la
poblacion.
Reemplazo de padres: se obtiene espacio para la nueva descendencia
liberando el espacio ocupado por los padres.
Reemplazo de similares: una vez obtenido el ajuste de la descendencia
se selecciona un grupo de individuos (entre seis y diez) de la poblacion con
un ajuste similar. Se reemplazan aleatoriamente los que sean
necesarios.
Reemplazo de los peores: de entre un porcentaje de los peores individuos de la poblacion se seleccionan aleatoriamente los necesarios para
dejar sitio a la descendencia.
6.4.
Copia
6.5.
Mutacion
7.
Evaluacion
Nc
.
j=1
Siendo :
s(i, j) = valor deseado para el individuo i en el caso j
c(i, j) = valor obtenido por el individuo i para el caso j
Nc = Numero de casos
(1)
a(i, t) =
(3)
1+ s(i,
t)
a(i, t)
N k=1
(4)
a(k,
t)
Referencias
[Beasley et al., 1993] Beasley, D., Bull, D. R., and Martin, R. R. (1993). An
overview of genetic algorithms: Part 1, fundamentals. University
Computing, 15(2):5869.
[Blickle and Thiele, 1995] Blickle, T. and Thiele, L. (1995). A comparison of
selection schemes used in genetic algorithms. Technical Report 11,
Computer Engineering and Comunnication Network Lab (TIK),
Gloriastrasse 35, 8092 Zurich, Switzerland.
[Darwin, 1859] Darwin, C. (1859). On the Origin of Species by Means of
Natural Selection. John Murray, London.
[Fogel et al., 1966] Fogel, L. J., Owens, A. J., and Walsh, M. J. (1966). Articial
Intelligence through Simulated Evolution. John Wiley & Sons, New York.
[Goldberg, 1989] Goldberg, D. E. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Longman Publishing Co.,
Inc., Boston, MA, USA.
[Holland, 1975] Holland, J. H. (1975). Adaptation in Natural and Articial
Systems. University of Michigan Press, Ann Arbor. Republished by the
MIT press, 1992.
[Jong, 1975] Jong, K. A. D. (1975). An analysis of the behavior of a class of
genetic adaptive systems. PhD thesis, University of Michigan.
[Koza, 1992] Koza, J. R. (1992). Genetic Programming: On the Programming
of Computers by Means of Natural Selection (Complex Adaptive Systems).
The MIT Press.
[Rechenberg, 1973] Rechenberg, I. (1973). Evolutionsstrategie: Optimierung
te- chnischer Systeme nach Prinzipien der biologischen Evolution.
Frommann- Holzboog, Stuttgart.
[Tomassini, 1995] Tomassini, M. (1995). A survey of genetic algorithms.
Annual Reviews of Computational Physics, III:87118.