SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
´
                         ALGORITMOS GENETICOS

1    Introducci´n
               o
Los Algoritmos Gen´ticos (AGs) son m´todos adaptativos que pueden usarse para resolver proble-
                     e                   e
mas de b´squeda y optimizaci´n. Est´n basados en el proceso gen´tico de los organismos vivos. A
          u                     o      a                           e
lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los princi-
pios de la selecci´n natural y la supervivencia de los m´s fuertes, postulados por Darwin (1859).
                  o                                      a
Por imitaci´n de este proceso, los Algoritmos Gen´ticos son capaces de ir creando soluciones para
            o                                       e
problemas del mundo real. La evoluci´n de dichas soluciones hacia valores optimos del problema
                                        o                                     ´
depende en buena medida de una adecuada codificaci´n de las mismas.
                                                       o
Los principios b´sicos de los Algoritmos Gen´ticos fueron establecidos por Holland (1975), y se
                a                            e
encuentran bien descritos en varios textos – Goldberg (1989), Davis (1991), Michalewicz (1992),
Reeves (1993) – .
En la naturaleza los individuos de una poblaci´n compiten entre s´ en la b´squeda de recursos tales
                                              o                    ı      u
como comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo en
la b´squeda de un compa˜ero. Aquellos individuos que tienen m´s ´xito en sobrevivir y en atraer
    u                     n                                       a e
compa˜eros tienen mayor probabilidad de generar un gran n´mero de descendientes. Por el con-
       n                                                       u
trario individuos poco dotados producir´n un menor n´mero de descendientes. Esto significa que los
                                       a             u
genes de los individuos mejor adaptados se propagar´n en sucesivas generaciones hacia un n´mero de
                                                   a                                        u
individuos creciente. La combinaci´n de buenas caracter´
                                   o                    ısticas provenientes de diferentes ancestros,
puede a veces producir descendientes “superindividuos”, cuya adaptaci´n es mucho mayor que la de
                                                                       o
cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas caracter´ ısticas
cada vez mejor adaptadas al entorno en el que viven.
Los Algoritmos Gen´ticos usan una analog´ directa con el comportamiento natural. Trabajan con
                    e                       ıa
una poblaci´n de individuos, cada uno de los cuales representa una soluci´n factible a un problema
            o                                                            o
dado. A cada individuo se le asigna un valor o puntuaci´n, relacionado con la bondad de dicha
                                                ´          o
soluci´n. En la naturaleza esto equivaldr´ al grado de efectividad de un organismo para compe-
      o                                    ıa
tir por unos determinados recursos. Cuanto mayor sea la adaptaci´n de un individuo al problema,
                                                                   o
mayor ser´ la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material
          a
gen´tico con otro individuo seleccionado de igual forma. Este cruce producir´ nuevos individuos –
    e                                                                         a
descendientes de los anteriores – los cuales comparten algunas de las caracter´ısticas de sus padres.
Cuanto menor sea la adaptaci´n de un individuo, menor ser´ la probabilidad de que dicho individuo
                              o                             a
sea seleccionado para la reproducci´n, y por tanto de que su material gen´tico se propague en suce-
                                    o                                    e
sivas generaciones.
De esta manera se produce una nueva poblaci´n de posibles soluciones, la cual reemplaza a la anterior
                                              o
y verifica la interesante propiedad de que contiene una mayor proporci´n de buenas caracter´
                                                                     o                     ısticas en
comparaci´n con la poblaci´n anterior. As´ a lo largo de las generaciones las buenas caracter´
           o                 o              ı                                                  ısticas
se propagan a trav´s de la poblaci´n. Favoreciendo el cruce de los individuos mejor adaptados, van
                    e               o
siendo exploradas las areas m´s prometedoras del espacio de b´squeda. Si el Algoritmo Gen´tico
                        ´       a                               u                                e
ha sido bien dise˜ado, la poblaci´n converger´ hacia una soluci´n optima del problema.
                  n               o            a                o ´
El poder de los Algoritmos Gen´ticos proviene del hecho de que se trata de una t´cnica robusta,
                                 e                                                  e
y pueden tratar con ´xito una gran variedad de problemas provenientes de diferentes areas, in-
                      e                                                                    ´
cluyendo aquellos en los que otros m´todos encuentran dificultades. Si bien no se garantiza que el
                                     e
Algoritmo Gen´tico encuentre la soluci´n optima del problema, existe evidencia emp´
                e                      o ´                                           ırica de que se
encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos
de optimizaci´n combinatoria. En el caso de que existan t´cnicas especializadas para resolver un
              o                                              e
determinado problema, lo m´s probable es que superen al Algoritmo Gen´tico, tanto en rapidez
                             a                                              e
como en eficacia. El gran campo de aplicaci´n de los Algoritmos Gen´ticos se relaciona con aque-
                                             o                         e
llos problemas para los cuales no existen t´cnicas especializadas. Incluso en el caso en que dichas
                                           e
t´cnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibrid´ndolas con los
 e                                                                                  a
Algoritmos Gen´ticos.
                 e
La estructura de este cap´
                         ıtulo es como sigue: en la siguiente secci´n se introduce por medio de
                                                                   o


                                                  1
un ejemplo el denominado Algoritmo Gen´tico Simple, tambi´n conocido como Algoritmo Gen´tico
                                           e                  e                                e
Can´nico, para a continuaci´n, mostrar distintas extensiones y modificaciones del mismo, relativas
     o                       o
a los operadores de selecci´n, cruce, mutaci´n y reducci´n, as´ como a la hibridaci´n del Algoritmo
                           o                 o          o      ı                   o
Gen´tico con otros algoritmos de b´squeda local, y a diversos modelos de Algoritmos Gen´ticos Dis-
     e                             u                                                      e
tribuidos. En la siguiente secci´n nos preguntamos el motivo por el cual funcionan los Algoritmos
                                o
Gen´ticos, demostr´ndose el teorema de los esquemas, y referenci´ndose algunos trabajos te´ricos
     e              a                                              a                          o
relacionados con las condiciones suficientes para garantizar la convergencia de dichos algoritmos ha-
cia el optimo global. Finalizamos el cap´
       ´                                ıtulo, mostrando operadores de cruce y mutaci´n espec´
                                                                                       o       ıficos
para el problema del agente viajero .


2     El Algoritmo Gen´tico Simple
                      e

BEGIN /* Algoritmo Genetico Simple */
   Generar una poblacion inicial.
   Computar la funcion de evaluacion de cada individuo.
   WHILE NOT Terminado DO
   BEGIN /* Producir nueva generacion */
        FOR Tama˜o poblacion/2 DO
                     n
        BEGIN /*Ciclo Reproductivo */
               Seleccionar dos individuos de la anterior generacion,
               para el cruce (probabilidad de seleccion proporcional
               a la funcion de evaluacion del individuo).
               Cruzar con cierta probabilidad los dos
               individuos obteniendo dos descendientes.
               Mutar los dos descendientes con cierta probabilidad.
               Computar la funcion de evaluacion de los dos
               descendientes mutados.
               Insertar los dos descendientes mutados en la nueva generacion.
        END
        IF     la poblacion ha convergido THEN
               Terminado := TRUE
   END
END


                      Figura 6.1: Pseudoc´digo del Algoritmo Gen´tico Simple
                                         o                      e


    El Algoritmo Gen´tico Simple, tambi´n denominado Can´nico, se representa en la figura 6.1.
                      e                   e                   o
Como se ver´ a continuaci´n, se necesita una codificaci´n o representaci´n del problema, que resulte
            a             o                           o                o
adecuada al mismo. Adem´s se requiere una funci´n de ajuste o adaptaci´n al problema, la cual
                            a                       o            ´         o
asigna un n´mero real a cada posible soluci´n codificada. Durante la ejecuci´n del algoritmo, los
            u                               o                                 o
padres deben ser seleccionados para la reproducci´n, a continuaci´n dichos padres seleccionados se
                                                  o               o
cruzar´n generando dos hijos, sobre cada uno de los cuales actuar´ un operador de mutaci´n. El
       a                                                            a                       o
resultado de la combinaci´n de las anteriores funciones ser´ un conjunto de individuos (posibles
                          o                                 a
soluciones al problema), los cuales en la evoluci´n del Algoritmo Gen´tico formar´n parte de la
                                                 o                      e           a
siguiente poblaci´n.
                 o

2.1    Codificaci´n
                o
Se supone que los individuos (posibles soluciones del problema), pueden representarse como un con-
junto de par´metros (que denominaremos genes), los cuales agrupados forman una ristra de valores
            a
(a menudo referida como cromosoma). Si bien el alfabeto utilizado para representar los individuos
no debe necesariamente estar constituido por el {0, 1}, buena parte de la teor´ en la que se funda-
                                                                              ıa
mentan los Algoritmos Gen´ticos utiliza dicho alfabeto.
                           e



                                                 2
En t´rminos biol´gicos, el conjunto de par´metros representando un cromosoma particular se de-
     e            o                          a
nomina fenotipo. El fenotipo contiene la informaci´n requerida para construir un organismo, el cual
                                                    o
se refiere como genotipo. Los mismos t´rminos se utilizan en el campo de los Algoritmos Gen´ticos.
                                         e                                                   e
La adaptaci´n al problema de un individuo depende de la evaluaci´n del genotipo. Esta ultima
            o                                                         o                     ´
puede inferirse a partir del fenotipo, es decir puede ser computada a partir del cromosoma, usando
la funci´n de evaluaci´n.
        o             o
La funci´n de adaptaci´n debe ser dise˜ada para cada problema de manera espec´
         o              o               n                                        ıfica. Dado un
cromosoma particular, la funci´n de adaptaci´n le asigna un n´mero real, que se supone refleja el
                              o              o                u
nivel de adaptaci´n al problema del individuo representado por el cromosoma.
                 o
Durante la fase reproductiva se seleccionan los individuos de la poblaci´n para cruzarse y producir
                                                                        o
descendientes, que constituir´n, una vez mutados, la siguiente generaci´n de individuos. La se-
                              a                                           o
lecci´n de padres se efect´a al azar usando un procedimiento que favorezca a los individuos mejor
     o                    u
adaptados, ya que a cada individuo se le asigna una probabilidad de ser seleccionado que es propor-
cional a su funci´n de adaptaci´n. Este procedimiento se dice que est´ basado en la ruleta sesgada.
                 o              o                                     a
Seg´n dicho esquema, los individuos bien adaptados se escoger´n probablemente varias veces por
    u                                                            a
generaci´n, mientras que los pobremente adaptados al problema, no se escoger´n m´s que de vez en
         o                                                                     a   a
cuando.
Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente los ope-
radores de cruce y mutaci´n. Las formas b´sicas de dichos operadores se describen a continuaci´n.
                         o               a                                                    o
El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posici´n
                                                                                                   o
escogida al azar, para producir dos subristras iniciales y dos subristras finales. Despu´s se inter-
                                                                                          e
cambian las subristras finales, produci´ndose dos nuevos cromosomas completos (v´ase la Figura
                                        e                                              e
2.2). Ambos descendientes heredan genes de cada uno de los padres. Este operador se conoce como
operador de cruce basado en un punto. Habitualmente el operador de cruce no se aplica a todos
                                                 Punto de cruce            Punto de cruce


                               Padres          1 0 1 0   0 0 1 1 1 0      0 0 1 1   0 1 0 0 1 0




                               Descendientes   1 0 1 0   0 1 0 0 1 0      0 0 1 1   0 0 1 1 1 0


                           Figura 6.2: Operador de cruce basado en un punto


los pares de individuos que han sido seleccionados para emparejarse, sino que se aplica de manera
aleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0. En el caso en que el
operador de cruce no se aplique, la descendencia se obtiene simplemente duplicando los padres.
El operador de mutaci´n se aplica a cada hijo de manera individual, y consiste en la alteraci´n
                      o                                                                      o
aleatoria (normalmente con probabilidad peque˜a) de cada gen componente del cromosoma. La
                                               n
Figura 6.3 muestra la mutaci´n del quinto gen del cromosoma. Si bien puede en principio pensarse
                            o

                                                                       gen mutado



                               Descendiente                   1 0 1 0 0 1 0 0 1 0


                               Descendiente mutado            1 0 1 0 1 1 0 0 1 0

                                        Figura 6.3: Operador de mutaci´n
                                                                      o


que el operador de cruce es m´s importante que el operador de mutaci´n, ya que proporciona una
                              a                                      o
exploraci´n r´pida del espacio de b´squeda, ´ste ultimo asegura que ning´n punto del espacio de
         o a                       u        e    ´                      u
b´squeda tenga probabilidad cero de ser examinado, y es de capital importancia para asegurar la
 u
convergencia de los Algoritmos Gen´ticos.
                                   e
Para criterios pr´cticos, es muy util la definici´n de convergencia introducida en este campo por De
                 a               ´              o
Jong (1975) en su tesis doctoral. Si el Algoritmo Gen´tico ha sido correctamente implementado,
                                                         e


                                                             3
Poblaci´n
                                 o            x            f (x) valor         f (x)/     f (x)   Probabilidad
                           inicial          valor           (funci´n
                                                                   o           (probabilidad      de selecci´n
                                                                                                            o
                        (fenotipos)       genotipo        adaptaci´n)
                                                                    o             selecci´n)
                                                                                         o         acumulada
                 1         01101             13                169                   0.14             0.14
                 2         11000             24                576                   0.49             0.63
                 3         01000              8                 64                   0.06             0.69
                 4         10011             19                361                   0.31             1.00
               Suma                                           1170
               Media                                           293
               Mejor                                           576
 Tabla 6.1: Poblaci´n inicial de la simulaci´n efectuada a mano correspondiente al Algoritmo Gen´tico Simple
                   o                        o                                                   e



la poblaci´n evolucionar´ a lo largo de las generaciones sucesivas de tal manera que la adaptaci´n
           o             a                                                                      o
media extendida a todos los individuos de la poblaci´n, as´ como la adaptaci´n del mejor individuo
                                                     o    ı                 o
se ir´n incrementando hacia el optimo global. El concepto de convergencia est´ relacionado con la
     a                          ´                                              a
progresi´n hacia la uniformidad: un gen ha convergido cuando al menos el 95 % de los individuos
         o
de la poblaci´n comparten el mismo valor para dicho gen. Se dice que la poblaci´n converge cuando
             o                                                                  o
todos los genes han convergido. Se puede generalizar dicha definici´n al caso en que al menos un
                                                                     o
β% de los individuos de la poblaci´n hayan convergido.
                                   o
La Figura 2.4 muestra como var´ la adaptaci´n media y la mejor adaptaci´n en un Algoritmo
                              ıa           o                           o

                                     Adaptación
                                                          Mejor




                                                                  Media




                                                                                  Generaciones
                                 0           20      40           60      80       100



             Figura 6.4: Adaptaci´n media y mejor adaptaci´n en un Algoritmo Gen´tico Simple
                                 o                        o                     e


Gen´tico Simple t´
   e             ıpico. A medida que el n´mero de generaciones aumenta, es m´s probable que la
                                         u                                  a
adaptaci´n media se aproxime a la del mejor individuo.
        o

2.2    Ejemplo
Como ilustraci´n de los diferentes componentes del Algoritmo Gen´tico Simple, supongamos el
                o                                                       e
problema – adaptado de Goldberg (1989) – de encontrar el m´ximo de la funci´n f (x) = x 2 sobre
                                                                  a              o
los enteros {1, 2, . . . , 32}. Evidentemente para lograr dicho optimo, bastar´ actuar por b´squeda
                                                                ´             ıa            u
exhaustiva, dada la baja cardinalidad del espacio de b´squeda. Se trata por tanto de un mero
                                                            u
ejemplo con el que pretendemos ilustrar el comportamiento del algoritmo anteriormente descrito.
Consultando el pseudoc´digo de la Figura 6.1, vemos que el primer paso a efectuar consiste en
                              o
determinar el tama˜o de la poblaci´n inicial, para a continuaci´n obtener dicha poblaci´n al azar y
                       n                o                         o                     o
computar la funci´n de evaluaci´n de cada uno de sus individuos.
                    o                o
Suponiendo que el alfabeto utilizado para codificar los individuos est´ constituido por {0, 1}, nece-
                                                                      e
sitaremos ristras de longitud 5 para representar los 32 puntos del espacio de b´squeda.
                                                                               u
En la Tabla 6.1, hemos representado los 4 individuos que constituyen la poblaci´n inicial, junto con
                                                                               o
su funci´n de adaptaci´n al problema, as´ como la probabilidad de que cada uno de dichos individuos
        o             o                 ı
sea seleccionado – seg´n el modelo de ruleta sesgada – para emparejarse.
                      u
Volviendo a consultar el pseudoc´digo expresado en la Figura 6.1, vemos que el siguiente paso con-
                                   o
siste en la selecci´n de 2 parejas de individuos. Para ello es suficiente, con obtener 4 n´meros reales
                   o                                                                     u
provenientes de una distribuci´n de probabilidad uniforme en el intervalo [0, 1], y compararlos con
                                o
la ultima columna de la Tabla 6.1. As´ por ejemplo, supongamos que dichos 4 n´meros hayan sido:
   ´                                     ı                                         u


                                                                  4
Emparejamiento      Punto    Descen-    Nueva poblaci´n
                                                                    o         x          f (x)
               de los individuos    de      dientes     descendientes       valor       funci´n
                                                                                             o
                seleccionados      cruce                  mutados         genotipo    adaptaci´n
                                                                                               o
                    11000            2       11011          11011            27           729
                    10011            2       10000          10000            16           256
                    01101            3       01100          11100            28           784
                    11000            3       11101          11101            29           841
                     Suma                                                                2610
                    Media                                                                652.5
                     Mejor                                                                841
    Tabla 6.2: Poblaci´n en el tiempo 1, proveniente de efectuar los operadores de cruce y mutaci´n sobre los
                      o                                                                            o
             individuos expresados en la Tabla 6.1, los cuales constituyen la poblaci´n en el tiempo 0
                                                                                     o



0.58; 0.84; 0.11 y 0.43. Esto significa que los individuos seleccionados para el cruce han sido: el
individuo 2 junto con el individuo 4, as´ como el individuo 1 junto con el individuo 2.
                                        ı
Para seguir con el Algoritmo Gen´tico Simple, necesitamos determinar la probabilidad de cruce, p c .
                                  e
Supongamos que se fije en pc = 0.8. Vali´ndonos al igual que antes de, 2 en este caso, n´meros
                                            e                                                u
provenientes de la distribuci´n uniforme, determinaremos si los emparejamientos anteriores se llevan
                             o
a cabo. Admitamos, por ejemplo, que los dos n´meros extra´
                                                 u           ıdos sean menores que 0.8, decidi´ndose
                                                                                              e
por tanto efectuar el cruce entre las dos parejas. Para ello escogeremos un n´mero al azar entre
                                                                                 u
1 y l − 1 (siendo l la longitud de la ristra utilizada para representar el individuo). Not´se que la
                                                                                           e
restricci´n impuesta al escoger el n´mero entre 1 y l − 1, y no l, se realiza con la finalidad de que
         o                           u
los descendientes no coincidan con los padres.
Supongamos, tal y como se indica en la Tabla 6.2, que los puntos de cruce resulten ser 2 y 3. De
esta manera obtendr´ ıamos los 4 descendientes descritos en la tercera columna de la Tabla 6.2. A
continuaci´n siguiendo el pseudoc´digo de la Figura 6.1, mutar´
          o                        o                                ıamos con una probabilidad, p m ,
cercana a cero, cada uno de los bit de las cuatro ristras de individuos. En este caso suponemos que
el unico bit mutado corresponde al primer gen del tercer individuo. En las dos ultimas columnas
   ´                                                                               ´
se pueden consultar los valores de los individuos, as´ como las funciones de adaptaci´n correspondi-
                                                     ı                                o
entes. Como puede observarse, tanto el mejor individuo como la funci´n de adaptaci´n media han
                                                                         o              o
mejorado sustancialmente al compararlos con los resultados de la Tabla 6.1.


3      Extensiones y Modificaciones del AGS
En este apartado se introducir´n algunas extensiones y modificaciones del Algoritmo Gen´tico Sim-
                              a                                                       e
ple. Se comenzar´ dando un pseudoc´digo para un Algoritmo Gen´tico Abstracto, para a contin-
                 a                   o                            e

BEGIN AGA
   Obtener la poblacion inicial al azar.
   WHILE NOT stop DO
        BEGIN
              Seleccionar padres de la poblacion.
              Producir hijos a partir de los padres seleccionados.
              Mutar los individuos hijos.
              Extender la poblacion a˜adiendo los hijos.
                                         n
              Reducir la poblacion extendida.
        END
END AGA


                        Figura 6.5: Pseudoc´digo del Algoritmo Gen´tico Abstracto
                                           o                      e


uaci´n formalizar matem´ticamente cada uno de los elementos integrantes del Algoritmo, as´ como
     o                  a                                                                ı
las extensiones y modificaciones que se vayan presentando.
Una versi´n del Algoritmo Gen´tico Abstracto (AGA), puede ser como el de la Figura 6.5. Ya
         o                   e


                                                       5
que el principal dominio de aplicaci´n de los Algoritmos Gen´ticos lo constituye la optimizaci´n de
                                    o                       e                                  o
funciones, se introducen algunos conceptos b´sicos que se usar´n a lo largo de este Cap´
                                              a               a                         ıtulo.
Dado un dominio finito D y una funci´n f : D → , el problema de la optimizaci´n de la funci´n f
                                       o                                           o            o
se refiere a encontrar el mejor valor de la funci´n f en el dominio D. Se trata por tanto de encontrar
                                                o
x ∈ D para el cual f (x) ≤ f (y) ∀y ∈ D.
Ya que max{f (x)} = − min{−f (x)} la restricci´n al problema de minimizaci´n no supone ninguna
                                               o                            o
p´rdida de generalizaci´n. En general, la tarea de optimizaci´n se complica debido a la existencia
 e                     o                                     o
de optimos locales (m´
   ´                 ınimos locales en nuestro caso).
La funci´n f tiene un m´
        o              ınimo local en x ∈ D si se verifica la siguiente condici´n:
                                      ˆ                                       o
                       ∃E(x), entorno de x, tal que si y ∈ E(x), ⇒ f (x) ≤ f (y).
Diremos que e : D → S l donde l ≥ log S D constituye una codificaci´n, siendo la finalidad de
                                                                           o
la misma el representar los elementos de D por medio de ristras de elementos de S. A S se le
denomina alfabeto, mientras que S l constituye el espacio de b´squeda. A la funci´n f (x) = g(e(x))
                                                              u                   o
se le denomina funci´n objetivo. Es necesario que la funci´n e sea inyectiva, para que los elementos
                    o                                     o
de D sean discernibles.
El AGA examinar´ un subconjunto del espacio de b´squeda, obteniendo una ristra x ∗ , cuya funci´n
                  a                                u                                           o
objetivo g(x∗ ) puede considerarse un estimador del minx∈S l g(x).
Abusando del lenguaje de notaci´n, designaremos por I a los elementos de S l .
                               o
En lo que sigue se considerar´ un AGA como una 10–tupla:
                             a

                            AGA = (P0 , λ, l, fsel , fprod , fmut , fext , fred , g, ct),

donde:
        1
P0 = {I0 , . . . , I0 } ∈ (S l )λ
                    λ
                                         poblaci´n inicial,
                                                 o
λ                                        tama˜o poblaci´n,
                                               n         o
l                                        longitud de la representaci´n,
                                                                    o
fsel                                     funci´n de selecci´n,
                                              o             o
fprod                                    funci´n de producci´n de hijos,
                                              o                o
fmut                                     funci´n de mutaci´n,
                                              o             o
fext                                     funci´n de extensi´n,
                                              o              o
fred                                     funci´n de reducci´n,
                                              o              o
g                                        funci´n objetivo,
                                              o
ct                                       criterio de parada.
En principio restringiremos nuestro AGA, imponi´ndole la condici´n de que todas las poblaciones
                                                    e               o
tengan el mismo tama˜o. Obviamente una generalizaci´n ser´ el considerar que el tama˜o depende
                            n                           o       ıa                     n
de la generaci´n, es decir λt =| Pt |. Denotaremos por Pλ el conjunto de poblaciones de tama˜o λ,
                  o                                                                         n
a las que denominaremos poblaciones bien dimensionadas.
La funci´n de selecci´n global, fsel , selecciona al azar y con reemplazamiento una colecci´n de
        o            o                                                                     o
individuos y ∈ Pλ a partir de una poblaci´n x ∈ Pλ :
                                           o

                                               fsel : (α, x) −→ y,

donde α es un vector de dimensi´n λ constitu´ por valores escogidos aleatoriamente.
                               o            ıdo
La funci´n de reproducci´n global, fprod , produce una poblaci´n de descendientes z ∈ Pλ a partir
         o               o                                    o
de individuos seleccionados y ∈ Pλ por medio de un operador de cruce:

                                              fprod : (β, y) −→ z,

donde β es un vector de dimensi´n λ/2 de valores escogidos al azar entre los enteros {1, ....., l − 1}
                               o
La funci´n de reproducci´n se dice que est´ basada en un punto si los padres I i = (s1 , ....., sl ) y
           o                   o                   a
I j = (b1 , ....., bl ) producen hijos CH i,j;1 = (c1 , ....., cl ) y CH i,j;2 = (d1 , ....., dl ) verific´ndose :
                                                                                                         a

                                                      sj       si j ≤ m
                                            cj =                                                             (1)
                                                      bj       si j > m

                                                           6
bj       si j ≤ m
                                          dj =                                                            (2)
                                                   sj       si j > m
donde m es un n´mero entero escogido al azar seg´n una distribuci´n uniforme discreta definida
                 u                              u                o
sobre el conjunto {1, ....., l − 1}.
La funci´n de mutaci´n individual find−mut , aplicada a I = (s1 , . . . , sl ), genera otro individuo
        o                  o
M I = (sm1 , . . . , sml ), es decir find−mut (I) = M I, tal que ∀j ∈ {1, . . . , l}, P (smj = sj ) = 1 − pm ,
donde pm es la probabilidad de mutaci´n.   o
La funci´n de extensi´n, fext , crea a partir de dos poblaciones x, z ∈ Pλ , una poblaci´n n ∈ P2λ :
        o            o                                                                  o

                                             fext : (x, z) −→ n
Denotando por Ni con i = 1, .., 2λ el i-´simo individuo en n, por Xk , con k = 1, ..., λ el k-´simo
                                          e                                                   e
individuo en x, y por Zj con j = 1, ..., λ el j-´simo individuo en z, se tendr´:
                                                e                             a

                                                   Xi        si i ≤ λ
                                         Ni =                                                             (3)
                                                   Zi−λ      si i > λ

La funci´n de reducci´n global, fred , convierte una poblaci´n n ∈ P2λ en una poblaci´n r ∈ Pλ
        o            o                                      o                        o

                                                fred : n −→ r.

N´tese que r denota la poblaci´n de individuos en el tiempo t + 1.
 o                            o
La funci´n de reducci´n es elitista de grado λ si la poblaci´n en el tiempo t + 1 est´ constituida por
        o             o                                     o                        a
los mejores λ individuos, de entre los λ individuos que constituyen la poblaci´n en el tiempo t y los
                                                                               o
descendientes derivados de ellos.
La funci´n de reducci´n se denomina simple si la poblaci´n en el tiempo t + 1 est´ formada por los
        o            o                                  o                        a
descendientes derivados de la poblaci´n en el tiempo t.
                                     o

3.1     Poblaci´n
               o
3.1.1   Tama˜ o de la poblaci´n
            n                o
Una cuesti´n que uno puede plantearse es la relacionada con el tama˜o id´neo de la poblaci´n.
           o                                                            n    o                 o
Parece intuitivo que las poblaciones peque˜as corren el riesgo de no cubrir adecuadamente el espa-
                                           n
cio de b´squeda, mientras que el trabajar con poblaciones de gran tama˜o puede acarrear problemas
        u                                                              n
relacionados con el excesivo costo computacional.
Goldberg (1989) efectu´ un estudio te´rico, obteniendo como conclusi´n que el tama˜o optimo de la
                       o               o                               o            n ´
poblaci´n para ristras de longitud l, con codificaci´n binaria, crece exponencialmente con el tama˜o
        o                                          o                                             n
de la ristra.
Este resultado traer´ como consecuencia que la aplicabilidad de los Algoritmos Gen´ticos en proble-
                    ıa                                                             e
mas reales ser´ muy limitada, ya que resultar´ no competitivos con otros m´todos de optimizaci´n
              ıa                             ıan                              e                  o
combinatoria. Alander (1992), bas´ndose en evidencia emp´
                                  a                        ırica sugiere que un tama˜o de poblaci´n
                                                                                    n            o
comprendida entre l y 2l es suficiente para atacar con ´xito los problemas por el considerados.
                                                      e

3.1.2   Poblaci´n inicial
               o
Habitualmente la poblaci´n inicial se escoge generando ristras al azar, pudiendo contener cada gen
                          o
uno de los posibles valores del alfabeto con probabilidad uniforme. Nos podr´    ıamos preguntar que
es lo que suceder´ si los individuos de la poblaci´n inicial se obtuviesen como resultado de alguna
                  ıa                               o
t´cnica heur´
 e          ıstica o de optimizaci´n local. En los pocos trabajos que existen sobre este aspecto, se
                                  o
constata que esta inicializaci´n no aleatoria de la poblaci´n inicial, puede acelerar la convergencia
                              o                            o
del Algoritmo Gen´tico. Sin embargo en algunos casos la desventaja resulta ser la prematura
                     e
convergencia del algoritmo, queriendo indicar con ´sto la convergencia hacia optimos locales.
                                                     e                         ´




                                                        7
3.2    Funci´n objetivo
            o
Dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Gen´ticos son la de-
                                                                              e
terminaci´n de una adecuada funci´n de adaptaci´n o funci´n objetivo, as´ como la codificaci´n
           o                       o             o         o             ı                  o
utilizada.
Idealmente nos interesar´ construir funciones objetivo con “ciertas regularidades”, es decir fun-
                         ıa
ciones objetivo que verifiquen que para dos individuos que se encuentren cercanos en el espacio
de b´squeda, sus respectivos valores en las funciones objetivo sean similares. Por otra parte una
    u
dificultad en el comportamiento del Algoritmo Gen´tico puede ser la existencia de gran cantidad de
                                                  e
optimos locales, as´ como el hecho de que el optimo global se encuentre muy aislado.
´                  ı                         ´
La regla general para construir una buena funci´n objetivo es que ´sta debe reflejar el valor del
                                                  o                   e
individuo de una manera “real”, pero en muchos problemas de optimizaci´n combinatoria, donde
                                                                            o
existen gran cantidad de restricciones, buena parte de los puntos del espacio de b´squeda represen-
                                                                                  u
tan individuos no v´lidos.
                   a
Para este planteamiento en el que los individuos est´n sometidos a restricciones, se han propuesto
                                                     a
varias soluciones. La primera ser´ la que podr´
                                 ıa             ıamos denominar absolutista, en la que aquellos in-
dividuos que no verifican las restricciones, no son considerados como tales, y se siguen efectuando
cruces y mutaciones hasta obtener individuos v´lidos, o bien a dichos individuos se les asigna una
                                                a
funci´n objetivo igual a cero.
     o
Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha
reconstrucci´n suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar
            o
reparador.
Otro enfoque est´ basado en la penalizaci´n de la funci´n objetivo. La idea general consiste en
                  a                         o             o
dividir la funci´n objetivo del individuo por una cantidad (la penalizaci´n) que guarda relaci´n con
                o                                                        o                    o
las restricciones que dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el
n´mero de restricciones violadas o bien el denominado costo esperado de reconstrucci´n, es decir el
  u                                ´                                                  o
coste asociado a la conversi´n de dicho individuo en otro que no viole ninguna restricci´n.
                             o                                                          o
Otra t´cnica que se ha venido utilizando en el caso en que la computaci´n de la funci´n objetivo
       e                                                                 o              o
sea muy compleja es la denominada evaluaci´n aproximada de la funci´n objetivo. En algunos casos
                                            o                         o
la obtenci´n de n funciones objetivo aproximadas puede resultar mejor que la evaluaci´n exacta de
          o                                                                           o
una unica funci´n objetivo (supuesto el caso de que la evaluaci´n aproximada resulta como m´
     ´         o                                               o                           ınimo
n veces m´s r´pida que la evaluaci´n exacta).
          a a                      o
Un problema habitual en las ejecuciones de los Algoritmos Gen´ticos surge debido a la velocidad
                                                                    e
con la que el algoritmo converge. En algunos casos la convergencia es muy r´pida, lo que suele
                                                                                  a
denominarse convergencia prematura, en la cual el algoritmo converge hacia optimos locales, mien-
                                                                               ´
tras que en otros casos el problema es justo el contrario, es decir se produce una convergencia lenta
del algoritmo. Una posible soluci´n a estos problemas pasa por efectuar transformaciones en la
                                   o
funci´n objetivo. El problema de la convergencia prematura, surge a menudo cuando la selecci´n
      o                                                                                            o
de individuos se realiza de manera proporcional a su funci´n objetivo. En tal caso, pueden exis-
                                                              o
tir individuos con una adaptaci´n al problema muy superior al resto, que a medida que avanza el
                                 o
algoritmo “dominan” a la poblaci´n. Por medio de una transformaci´n de la funci´n objetivo, en
                                   o                                     o            o
este caso una comprensi´n del rango de variaci´n de la funci´n objetivo, se pretende que dichos
                          o                       o              o
“superindividuos” no lleguen a dominar a la poblaci´n.o
El problema de la lenta convergencia del algoritmo, se resolver´ de manera an´loga, pero en este
                                                               ıa            a
caso efectuando una expansi´n del rango de la funci´n objetivo.
                           o                       o
La idea de especies de organismos, ha sido imitada en el dise˜o de los Algoritmos Gen´ticos en
                                                               n                         e
un m´todo propuesto por Goldberg y Richardson (1987), utilizando una modificaci´n de la funci´n
      e                                                                          o             o
objetivo de cada individuo, de tal manera que individuos que est´n muy cercanos entre s´ deval´en
                                                                e                      ı      u
su funci´n objetivo, con objeto de que la poblaci´n gane en diversidad.
        o                                        o
                                 j    i                                                   j    i
Por ejemplo, si denotamos por d(It , It ) a la distancia de Hamming entre los individuos It e It , y




                                                 8
por K ∈ R+ a un par´metro, podemos definir la siguiente funci´n:
                   a                                        o
                                                        j    i                    j    i
                               j    i            K − d(It , It )            si d(It , It ) < K,
                          h(d(It , It )) =                                        j    i
                                                 0                          si d(It , It ) ≥ K.
                                       j             t              j   i
A continuaci´n para cada individuo It , definimos σj = i=j h(d(It , It )), valor que utilizaremos
             o
                                                                             j        j
para devaluar la funci´n objetivo del individuo en cuesti´n. Es decir, g ∗ (It ) = g(It )/σj . De esta
                      o                                  o                                 t

manera aquellos individuos que est´n cercanos entre s´ ver´n devaluada la probabilidad de ser se-
                                   a                   ı   a
leccionados como padres, aument´ndose la probabilidad de los individuos que se encuentran m´s
                                 a                                                                  a
aislados.

3.3    Selecci´n
              o
La funci´n de selecci´n de padres m´s utilizada es la denominada funci´n de selecci´n proporcional
        o            o              a                                 o            o
a la funci´n objetivo, en la cual cada individuo tiene una probabilidad de ser seleccionado como
          o
padre que es proporcional al valor de su funci´n objetivo.
                                              o
Denotando por pprop la probabilidad de que el individuo It sea seleccionado como padre, se tiene
               j,t
                                                           j

que:
                                                 g(I j )
                                     pprop = λ t j .
                                      j,t
                                                j=1 g(It )

Esta funci´n de selecci´n es invariante ante un cambio de escala, pero no ante una traslaci´n.
          o            o                                                                   o
Una de las maneras de superar el problema relacionado con la r´pida convergencia proveniente de
                                                                   a
los superindividuos, que surge al aplicar la anterior funci´n de selecci´n, es el efectuar la selecci´n
                                                           o            o                            o
proporcional al rango del individuo, con lo cual se produce una repartici´n m´s uniforme de la pro-
                                                                          o    a
                                                                                           j
babilidad de selecci´n, tal y como se ilustra en la figura 6.6. Si denotamos por rango(g(I t )) el rango
                    o

                                  prop                              rango
                                 P ( I j,t )                       P ( I j,t )




                                                     I j,t                               I j,t



      Figura 6.6: Esquemas de selecci´n de padres proporcional a la funci´n objetivo (izquierda) y
                                     o                                   o
                        proporcional al rango de la funci´n objetivo (derecha)
                                                         o

                                       j
de la funci´n objetivo del individuo It cuando los individuos de la poblaci´n han sido ordenados
           o                                                                  o
de menor a mayor (es decir el peor individuo tiene rango 1, mientras que el individuo con mejor
funci´n objetivo tiene rango λ), y sea prango la probabilidad de que el individuo It sea seleccionado
     o                                  j,t
                                                                                   j

como padre cuando la selecci´n se efect´a proporcionalmente al rango del individuo, se tiene que
                             o           u
                                                                          j
                                                             rango(g(It ))
                                               prango =
                                                j,t                              .
                                                             λ(λ + 1)/2

La suma de los rangos, λ(λ + 1)/2, constituye la constante de normalizaci´n. La funci´n de selecci´n
                                                                         o           o            o
basada en el rango es invariante frente a la translaci´n y al cambio de escala.
                                                      o
Otro posible refinamento del modelo de selecci´n proporcional, es el modelo de selecci´n del valor
                                                   o                                      o
                                                                          j
esperado, el cual act´a de la manera siguiente: para cada individuo It , se introduce un contador,
                        u
                      j
inicializado en g(It )/¯t , donde gt denota la media de la funci´n objetivo en la generaci´n t. Cada
                         g         ¯                              o                         o
                           j
vez que el individuo It es seleccionado para el cruce, dicho contador decrece en una cantidad
c (c ∈ (0, 5; 1)). El individuo en cuesti´n dejar´ de poder ser seleccionado en esa generaci´n, cuando
                                         o       a                                          o
su contador sea negativo.
Un esquema de selecci´n, introducido por Brindle (1991), y que emp´
                       o                                            ıricamente ha proporcionado
buenos resultados, es el denominado muestreo estoc´stico con reemplazamiento del resto, en el cual
                                                  a


                                                              9
cada individuo es seleccionado un n´mero de veces que coincide con la parte entera del n´mero
                                   u                                                         u
esperado de ocurrencias de dicho suceso, compitiendo los individuos por los restos. Es decir, si
                  j                                           j
denotamos por n(It ) el n´mero de veces que el individuo It es seleccionado para el cruce, tenemos
                         u
que:
                                   j          j          j
                                n(It ) = n1 (It ) + n2 (It ), donde
     j         j                j
n1 (It ) = [g(It )/¯t ], y n2 (It ) corresponde a la componente aleatoria que resulta de muestrear sobre
                   g
            λ       j
los λ − j=1 [g(It )/¯t ] restantes individuos, siendo el muestro proporcional a la funci´n objetivo de
                        g                                                                 o
cada individuo.
Baker (1987) introduce un m´todo denominado muestreo universal estoc´stico, el cual utiliza un
                              e                                              a
unico giro de la ruleta siendo los sectores circulares proporcionales a la funci´n objetivo. Los indi-
´                                                                               o
viduos son seleccionados a partir de marcadores (v´ase Figura 6.7 ), igualmente espaciados y con
                                                      e
comienzo aleatorio.
Efectuando un paralelismo con los m´todos de muestreo estad´
                                   e                       ısticos, este ultimo tipo de selecci´n de
                                                                         ´                     o




                                            t
                                          I4                   t
                                                           I1

                                                t
                                            I3           I2
                                                           t


                                                                                                    t
Figura 6.7: M´todo de selecci´n de padres denominado muestreo universal estoc´stico. El individuo I 1
             e               o                                                 a
                                                  t    t
                 se escoge 2 veces, mientras que I3 e I4 son elegidos una unica vez
                                                                          ´


padres se relaciona con el muestreo sistem´tico, mientras que la selecci´n proporcional a la funci´n
                                           a                            o                         o
objetivo, est´ basada en el muestreo estratificado con afijaci´n proporcional al tama˜o. Tambi´n el
             a                                              o                       n           e
procedimiento de selecci´n que hemos denominado muestreo estoc´stico con reemplazamiento del
                         o                                          a
resto, mantiene un paralelismo con el muestreo estratificado con afijaci´n de compromiso.
                                                                        o
En el modelo de selecci´n elitista se fuerza a que el mejor individuo de la poblaci´n en el tiempo t,
                       o                                                           o
sea seleccionado como padre.
La selecci´n por torneo, constituye un procedimiento de selecci´n de padres muy extendido y en el
           o                                                      o
cual la idea consiste en escoger al azar un n´mero de individuos de la poblaci´n, tama˜o del torneo,
                                             u                                 o        n
(con o sin reemplazamiento), seleccionar el mejor individuo de este grupo, y repetir el proceso hasta
que el n´mero de individuos seleccionados coincida con el tama˜o de la poblaci´n. Habitualmente el
         u                                                       n               o
tama˜o del torneo es 2, y en tal caso se ha utilizado una versi´n probabil´
      n                                                        o          ıstica en la cual se permite
la selecci´n de individuos sin que necesariamente sean los mejores.
          o
Una posible clasificaci´n de procedimientos de selecci´n de padres consistir´ en: m´todos de se-
                       o                                o                       a        e
lecci´n din´micos, en los cuales los probabilidades de selecci´n var´ de generaci´n a generaci´n,
     o     a                                                   o      ıan             o             o
(por ejemplo la selecci´n proporcional a la funci´n objetivo), frente a m´todos de selecci´n est´ticos,
                       o                         o                        e               o     a
en los cuales dichas probabilidades permanecen constantes (por ejemplo la selecci´n basada en ran-
                                                                                    o
gos).
Si se asegura que todos los individuos tienen asignada una probabilidad de selecci´n distinta de cero
                                                                                  o
el m´todo de selecci´n se denomina preservativo. En caso contrario se acostumbra a denominarlo
     e               o
extintivo.


                                                    10
3.4    Cruce
El Algoritmo Gen´tico Can´nico descrito anteriormente, utiliza el cruce basado en un punto, en el
                   e         o
cual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio de
la selecci´n de un punto de corte, para posteriormente intercambiar las secciones que se encuentran
          o
a la derecha de dicho punto.
Se han investigado otros operadores de cruce, habitualmente teniendo en cuenta m´s de un punto de
                                                                                 a
cruce. De Jong (1975) investig´ el comportamiento del operador de cruce basado en m´ltiples puntos,
                              o                                                    u
concluyendo que el cruce basado en dos puntos, representaba una mejora mientras que a˜adir m´s
                                                                                         n       a
puntos de cruce no beneficiaba el comportamiento del algoritmo. La ventaja de tener m´s de un
                                                                                           a
punto de cruce radica en que el espacio de b´squeda puede ser explorado m´s f´cilmente, siendo la
                                            u                               a a
principal desventaja el hecho de aumentar la probabilidad de ruptura de buenos esquemas.
En el operador de cruce basado en dos puntos, los cromosomas (individuos) pueden contemplarse
como un circuito en el cual se efect´a la selecci´n aleatoria de dos puntos, tal y como se indica en
                                    u            o
la figura 6.8.

                                              Final             Comienzo




                                                                      Primer punto
                                                                      de corte
                              Segundo punto
                              de corte


                            Figura 6.8: Individuo visto como un circuito


Desde este punto de vista, el cruce basado en un punto, puede verse como un caso particular del
cruce basado en dos puntos, en el cual uno de los puntos de corte se encuentra fijo al comienzo de
la ristra que representa al individuo. V´ase figura 6.9.
                                        e
En el denominado operador de cruce uniforme (Syswerda (1991)) cada gen en la descendencia se

                              Padres          1010    001 110      0011 010   010



                              Descendientes   1010 010 110         0011 001   010



                        Figura 6.9: Operador de cruce basado en dos puntos


crea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una “m´scara
                                                                                             a
de cruce” generada aleatoriamente. Cuando existe un 1 en la “m´scara de cruce”, el gen es copiado
                                                                 a
del primer padre, mientras que cuando exista un 0 en la m´scara, el gen se copia del segundo padre,
                                                           a
tal y como se muestra en la figura 2.10. En la literatura, el t´rmino operador de cruce uniforme se
                                                              e
relaciona con la obtenci´n de la “m´scara de cruce” uniforme, en el sentido de que cualquiera de los
                        o          a
elementos del alfabeto tenga asociada la misma probabilidad. Hablando en t´rminos de la teor´ de
                                                                             e                 ıa
la probabilidad la m´scara de cruce est´ compuesta por una muestra aleatoria de tama˜o λ extra´
                    a                  a                                               n         ıda
de una distribuci´n de probabilidad de Bernouilli de par´metro 1/2.
                  o                                      a
Si tuvi´semos en cuenta el valor de la funci´n de adaptaci´n de cada padre en el momento de generar
       e                                     o             o
la “m´scara de cruce”, de tal manera que cuanto mayor sea la funci´n de adaptaci´n de un individuo,
      a                                                             o             o
m´s probable sea heredar sus caracter´
  a                                     ısticas, podr´
                                                     ıamos definir, v´ase Larra˜aga y Poza (1994), un
                                                                    e         n
operador de cruce basado en la funci´n objetivo, en el cual la “m´scara de cruce” se interpreta como
                                      o                           a
una muestra aleatoria de tama˜o l proveniente de una distribuci´n de Bernouilli de par´metro
                               n                                   o                      a
                                               j       j        i
                                        p = g(It )/(g(It ) + g(It ))


                                                        11
Máscara de cruce             1 0 0 1 0 0 1


                               Padre 1                      1 1 0 1 1 0 1


                               Descendiente                 1 0 0 1 1 1 1


                               Padre 2                      0 0 0 1 1 1 0

                               Figura 6.10: Operador de cruce uniforme


       j    i
donde It y It denotan los padres seleccionados para ser cruzados.
El concepto de “m´scara de cruce” puede tambi´n servir para representar los cruces basados en un
                 a                            e
punto y basados en m´ltiples puntos, tal y como se muestra en figura 6.11
                    u
Sirag y Weiser (1987), modifican el operador de cruce en el sentido del Simulated Annealing. De

                               Máscara de cruce   1 1 1 0 0 0 0   1 1 0 0 0 1 1


                               Padre 1            1 0 1 1 0 0 1   1 0 1 1 0 0 1


                               Descendiente       1 0 1 0 1 1 1   1 0 0 0 1 0 1


                               Padre 2            1 0 0 0 1 1 1   1 0 0 0 1 1 1


  Figura 6.11: “M´scaras de cruce” para los operadores de cruce basados en 1 punto y en 2 puntos
                 a


esta manera el operador de cruce se modifica definiendo un umbral de energia θ c , y una temperatura
T , las cuales influencian la manera en la que se escogen los bits individuales. Seg´n el operador
                                                                                     u
propuesto el bit (i + 1)-´simo se tomar´ del padre opuesto al que se ha tomado el bit i-´simo, con
                         e             a                                                 e
probabilidad exp(−θc /T ), donde T es el par´metro “temperatura” el cual, al igual que en Simulated
                                            a
Annealing decrecer´ lentamente por medio de un programa de enfriamiento. Con altas temperaturas
                    a
el comportamiento se asemeja al del operador de cruce uniforme, es decir con probabilidad cercana
a la unidad los bits se van escogiendo alternativamente de cada padre. Por otra parte cuando el
valor del par´metro temperatura se acerca a cero el hijo resultante coincide pr´cticamente con uno
              a                                                                a
de los padres.
Existen otros operadores de cruce espec´
                                       ıficos para un determinado problema como son, por ejemplo,
los definidos para el TSP, que se tratar´n m´s adelante.
                                       a    a
Por otra parte, la idea de que el cruce deber´ de ser m´s probable en algunas posiciones ha sido
                                              ıa         a
descrita por varios autores (Schaffer y Morishima, 1987; Holland, 1975; Davis, 1985; Levenick, 1991).

3.5    Mutaci´n
             o
La mutaci´n se considera un operador b´sico, que proporciona un peque˜o elemento de aleatoridad
           o                             a                                  n
en la vecindad (entorno) de los individuos de la poblaci´n. Si bien se admite que el operador de cruce
                                                         o
es el responsable de efectuar la b´squeda a lo largo del espacio de posibles soluciones, tambi´n parece
                                  u                                                           e
desprenderse de los experimentos efectuados por varios investigadores que el operador de mutaci´n    o
va ganando en importancia a medida que la poblaci´n de individuos va convergiendo (Davis, 1985).
                                                      o
Schaffer y col. (1989) encuentran que el efecto del cruce en la b´squeda es inferior al que previamente
                                                                 u
se esperaba. Utilizan la denominada evoluci´n primitiva, en la cual, el proceso evolutivo consta tan
                                             o
s´lo de selecci´n y mutaci´n. Encuentran que dicha evoluci´n primitiva supera con creces a una
 o             o           o                                    o
evoluci´n basada exclusivamente en la selecci´n y el cruce. Otra conclusi´n de su trabajo es que la
       o                                       o                            o
determinaci´n del valor optimo de la probabilidad de mutaci´n es mucho m´s crucial que el relativo
            o            ´                                     o              a
a la probabilidad de cruce.
La b´squeda del valor optimo para la probabilidad de mutaci´n, es una cuesti´n que ha sido motivo
    u                 ´                                    o                o


                                                      12
de varios trabajos. As´ De Jong (1975) recomienda la utilizaci´n de una probabilidad de mutaci´n
                          ı,                                         o                                 o
del bit de l−1 , siendo l la longitud del string. Schaffer y col. (1989) utilizan resultados experimentales
para estimar la tasa optima proporcional a 1/λ0.9318 l0.4535 , donde λ denota el n´mero de individuos
                       ´                                                               u
en la poblaci´n.
              o
Si bien en la mayor´ de las implementaciones de Algoritmos Gen´ticos se asume que tanto la
                     ıa                                           e
probabilidad de cruce como la de mutaci´n permanecen constantes, algunos autores han obtenido
                                       o
mejores resultados experimentales modificando la probabilidad de mutaci´n a medida que aumenta
                                                                      o
el n´mero de iteraciones. Pueden consultarse los trabajos de Ackley (1987), Bramlette (1991),
    u
Fogarty (1989) y Michalewicz y Janikow (1991).

3.6    Reducci´n
              o
Una vez obtenidos los individuos descendientes de una determinada poblaci´n en el tiempo t, el
                                                                             o
proceso de reducci´n al tama˜o original, consiste en escoger λ individuos de entre los λ individuos
                  o          n
que forman parte de la poblaci´n en el tiempo t, y los λ individuos descendientes de los mismos.
                               o
Dicho proceso se suele hacer fundamentalmente de dos formas distintas.
O bien los λ individuos descendientes son los que forman parte de la poblaci´n en el tiempo t + 1, es
                                                                            o
lo que se denomina reducci´n simple, o bien se escogen de entre los 2λ individuos, los λ individuos
                            o
m´s adaptados al problema, siguiendo lo que podemos denominar un criterio de reducci´n elitista
  a                                                                                       o
de grado λ. Podemos tambien considerar otros procedimientos de reducci´n que se colocan entre los
                                                                          o
anteriores, por ejemplo, si escogemos los λ1 mejores de entre padres y descendientes, escogi´ndose
                                                                                              e
los λ − λ1 restantes de entre los descendientes no seleccionados hasta el momento.
El concepto de reducci´n est´ ligado con el de tasa de reemplazamiento generacional, t rg , es decir
                       o     a
en el porcentaje de hijos generados con respecto del tama˜o de la poblaci´n.
                                                         n               o
Si bien en la idea primitiva de Holland (1975) dicho reemplazamiento se efectuaba de 1 en 1, es
decir trg = λ−1 , habitualmente dicho reemplazamiento se efect´a en bloque, trg = 1. De Jong
                                                                  u
(1975) introdujo el concepto de tasa de reemplamiento generacional con el objetivo de efectuar un
solapamiento controlado entre padres e hijos. En su trabajo, en cada paso una proporci´n, t rg , de
                                                                                        o
la poblaci´n es seleccionada para ser cruzada. Los hijos resultantes podr´n reemplazar a miembros
          o                                                              a
de la poblaci´n anterior. Este tipo de Algoritmos Gen´ticos se conocen bajo el nombre de SSGA
             o                                          e
(Steady State Genetic Algorithm), un ejemplo de los cuales lo constituye GENITOR (Whitley y
Kauth, 1988; Whitley, 1989).
Michalewicz (1992) introduce un algoritmo que denomina Algoritmo Gen´tico Modificado, MOD GA ,
                                                                           e
en el cual para llevar a cabo el reemplazamiento generacional, selecciona al azar r 1 individuos para
la reproducci´n, as´ como r2 individuos (distintos de los anteriores) destinados a morir. Estas se-
              o      ı
lecciones aleatorias tienen en consideraci´n el valor de la funci´n objetivo de cada individuo, de tal
                                          o                      o
manera que cuanto mayor es la funci´n objetivo, mayor es la probabilidad de que sea seleccionado
                                      o
para la reproducci´n, y menor es la probabilidad de que dicho individuo fallezca. El resto de los
                    o
λ − (r1 + r2 ) individuos son considerados como neutros y pasan directamente a formar parte de la
poblaci´n en la siguiente generaci´n.
        o                          o



3.7    Algoritmos Gen´ticos Paralelos
                     e
En este apartado se introducir´n tres maneras diferentes de explotar el paralelismo de los Algoritmos
                              a
Gen´ticos, por medio de los denominados modelos de islas. Para una profundizaci´n sobre el tema
    e                                                                               o
puede consultarse Stender (1993).

Modelos de islas. La idea b´sica consiste en dividir la poblaci´n total en varias subpoblaciones
                                  a                                 o
en cada una de las cuales se lleva a cabo un Algoritmo Gen´tico. Cada cierto n´mero de genera-
                                                               e                  u
ciones, se efect´a un intercambio de informaci´n entre las subpoblaciones, proceso que se denomina
                u                               o
emigraci´n. La introducci´n de la emigraci´n hace que los modelos de islas sean capaces de explotar
          o                 o                o
las diferencias entre las diversas subpoblaciones, obteni´ndose de esta manera una fuente de diversi-
                                                         e
dad gen´tica. Cada subpopulaci´n es una “isla”, defini´ndose un procedimiento por medio del cual
         e                         o                     e


                                                   13
se mueve el material gen´tico de una “isla” a otra. La determinaci´n de la tasa de migraci´n, es
                        e                                         o                       o
un asunto de capital importancia, ya que de ella puede depender la convergencia prematura de la
b´squeda.
 u
Se pueden distinguir diferentes modelos de islas en funci´n de la comunicaci´n entre las subpobla-
                                                          o                 o
ciones. Algunas comunicaciones t´ıpicas son las siguientes:
   • Comunicaci´n en estrella, en la cual existe una subpoblaci´n que es seleccionada como maestra
                 o                                               o
     (aquella que tiene mejor media en el valor de la funci´n objetivo), siendo las dem´s consideradas
                                                           o                           a
     como esclavas. Todas las subpoblaciones esclavas mandan sus h 1 mejores individuos (h1 ≥ 1)
     a la subpoblaci´n maestra la cual a su vez manda sus h2 mejores individuos (h2 ≥ 1) a cada
                     o
     una de las subpoblaciones esclavas. V´ase figura 6.12.
                                            e


                                Esclava                         Esclava



                                                Maestra




                                Esclava                         Esclava



        Figura 6.12: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en estrella
                                  e                                          o



   • Comunicaci´n en red, en la cual no existe una jerarqu´ entre las subpoblaciones, mandando
                o                                         ıa
     todas y cada una de ellas sus h3 (h3 ≥ 1) mejores individuos al resto de las subpoblaciones.
     V´ase figura 6.13.
       e


                                Subpobl. 1                  Subpobl. 2




                               Subpobl. 3                   Subpobl. 4


          Figura 6.13: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en red
                                    e                                          o



   • Comunicaci´n en anillo, en la cual cada subpoblaci´n env´ sus h 4 mejores individuos (h4 ≥ 1),
                o                                      o     ıa
     a una poblaci´n vecina, efectu´ndose la migraci´n en un unico sentido de flujo. V´ase figura
                  o                 a                o        ´                         e
     6.14.
El modelo de islas ha sido utilizado por varios autores (Whitley y Starkweather, 1990; Gorges-
Schleuter, 1989; Tanese, 1987).

3.8   Evaluaci´n de Algoritmos Gen´ticos
              o                   e
Las tres medidas de evaluaci´n que se tratar´n en este apartado, fueron introducidas por De Jong
                            o               a
(1975), y se conocen como:
   • evaluaci´n on-line
             o
   • evaluaci´n off-line
             o


                                                 14
Subpobl. 1                            Subpobl. 2




                                  Subpobl. 3                            Subpobl. 4


          Figura 6.14: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en anillo
                                    e                                          o



    • evaluaci´n basada en el mejor
              o

Si denotamos por vi (t) la funci´n objetivo del i-´simo individuo (i = 1, . . . , λ) en la t-´sima poblaci´n,
                                o                 e                                          e            o
la evaluaci´n on-line, despu´s de T iteraciones, se denotar´ por v on-line (T ), y se define como
           o                  e                               a
                                                           T       λ
                                                                         vi (t)
                                     v on-line (T ) =      t=1     i=1
                                                                                   .
                                                                 λT
Es decir, la evaluaci´n on-line mide el comportamiento medio de todas las ristras generadas hasta
                     o
el tiempo T .
La evaluaci´n off-line se refiere al comportamiento del Algoritmo Gen´tico en su proceso de con-
           o                                                             e
vergencia hacia el optimo. As´ tendremos que si denotamos por v ∗ (t) al mejor valor de la funci´n
                   ´           ı                                                                     o
objetivo obtenido hasta el tiempo t (incluyendo dicho tiempo), y si v off-line (T ) denota la evaluaci´n
                                                                                                     o
off-line despu´s de T generaciones, tenemos que
             e
                                                             T
                                                                     v ∗ (t)
                                        v off-line (T ) =     t=1
                                                                               .
                                                                 T
La definici´n de evaluaci´n basada en el mejor trata de evaluar el Algoritmo Gen´tico por medio del
          o              o                                                       e
mejor valor de la funci´n de evaluaci´n encontrado en la evoluci´n. Se trata por tanto de la medida
                       o             o                          o
de evaluaci´n usual al tratar de estudiar el comportamiento de cualquier t´cnica heur´
           o                                                               e          ıstica.




4     ¿Por qu´ funcionan?
             e
En este apartado se tratar´n algunas cuestiones relacionadas con el porqu´ “funcionan” los Algo-
                           a                                             e
ritmos Gen´ticos. El significado de la palabra “funcionan” se refiere al hecho de ser capaces de
           e
encontrar el optimo de la funci´n durante el proceso de b´squeda.
             ´                 o                         u
Se estudiar´ en primer lugar el denominado Teorema de los esquemas, (Goldberg, 1989), adaptando
           a
la notaci´n, para presentarlo en relaci´n con distribuciones binomiales, para a continuaci´n intro-
         o                             o                                                  o
ducir la denominada Hip´tesis de bloques, y finalizar referenciando algunos trabajos relativos a la
                         o
convergencia de los Algoritmos Gen´ticos.
                                    e

4.1    Teorema de los esquemas
En lo que sigue se desarrollar´ el denominado Teorema de los esquemas para el caso del Algoritmo
                              a
Gen´tico Can´nico, utilizando adem´s un alfabeto binario. Dicho teorema utiliza el concepto de
    e         o                       a
esquema, que introducimos a continuaci´n.
                                        o
Supongamos un alfabeto binario S = {0, 1}. Para construir un esquema necesitamos ampliar el
alfabeto anterior por medio del s´
                                 ımbolo ∗. Un esquema ser´ cualquier ristra de caracteres formada
                                                          a
a partir de elementos del alfabeto ampliado S , siendo S = {0, 1, ∗}. Si la longitud de la ristra es l,


                                                        15
el n´mero de esquemas existentes es 3l , ya que cada posici´n puede ocuparse por cualquier de los
    u                                                         o
tres elementos del alfabeto extendido S . Un esquema representa por tanto todas aquellas ristras
que se asocian con ´l, en todas las posiciones distintas de las ocupadas por ∗.
                   e
As´ por ejemplo considerando ristras de longitud 4, tenemos que el esquema Q = (∗1∗0) se empareja
  ı
con los cromosomas
                                   (0100), (0110), (1100)y(1110).
Desde un punto de vista geom´trico un esquema equivale a un hiperplano en el espacio de b´squeda.
                            e                                                            u
El esquema (0111) representa una unica ristra, mientras que el esquema (∗ ∗ ∗∗) representa todas
                                   ´
las ristras de longitud 4. Por otra parte cada esquema se empareja exactamente con 2 r ristras,
donde r denota el n´mero de s´
                     u        ımbolos ∗ contenidos en el esquema. Adem´s cada ristra de longitud
                                                                       a
l se empareja con 2l esquemas. As´ por ejemplo el ristra (0100) se empareja con los siguientes 2 4
                                   ı
esquemas:
                                             (0100),
                                    (∗100), (0 ∗ 00), (01 ∗ 0), (010∗),
                          (∗ ∗ 00), (∗1 ∗ 0), (∗10∗), (0 ∗ ∗0), (0 ∗ 0∗), (01 ∗ ∗),
                                   (∗ ∗ ∗0), (∗ ∗ 0∗), (∗1 ∗ ∗), (0 ∗ ∗∗),
                                                 (∗ ∗ ∗∗).
Para desarrollar el Teorema de los esquemas necesitamos utilizar los conceptos de orden y longitud
de un esquema, que se definen a continuaci´n.
                                          o
El orden del esquema Q, se denota por o(Q), y se refiere al n´mero de posiciones ocupadas por 0−s,
                                                             u
o 1−s dentro del esquema. Se trata por tanto del n´mero de posiciones fijas en el esquema. En
´                                                      u
otras palabras se trata de la longitud de la ristra menos el n´mero de s´
                                                              u         ımbolos ∗. Por ejemplo, los
tres esquemas siguientes,
                                            Q1 = (∗01∗),
                                              Q2 = (∗ ∗ ∗1),
                                               Q3 = (110∗),
tienen los siguientes ordenes:
                      ´

                                 o(Q1 ) = 2, o(Q2 ) = 1,     y o(Q3 ) = 3.

El concepto de orden del esquema se utiliza, como se ver´ con posterioridad, para calcular la prob-
                                                        a
abilidad de supervivencia del esquema con relaci´n al operador mutaci´n.
                                                o                     o
La longitud del esquema Q, se denota por medio de δ(Q), y se define como la distancia entre la
primera y la ultima posiciones fijas de la ristra. Dicho concepto define en cierto modo la com-
              ´
pactibilidad de la informaci´n contenida en el esquema. As´ por ejemplo
                            o                             ı

                   δ(Q1 ) = 3 − 2 = 1, δ(Q2 ) = 4 − 4 = 0,        y δ(Q3 ) = 3 − 1 = 2.

El concepto anterior se utiliza para calcular la probabilidad de supervivencia del esquema frente al
operador de cruce.
Denotaremos por:
λ, el tama˜o de la poblaci´n que se considerar´ constante a lo largo de la evoluci´n,
          n               o                   a                                   o
pc , la probabilidad de cruce,
pm , la probabilidad de mutaci´n.
                              o
Por otra parte, ξ(Q, t) denotar´ el n´mero de ristras que en una determinada poblaci´n en el tiempo
                               a     u                                              o
t, se asocian con el esquema Q.
As´ por ejemplo si consideramos la poblaci´n en el tiempo t,
  ı                                       o

                                 Pt = {(0100), (1001), (1111), (0001)},


                                                     16
y los dos esquemas siguientes

                                     Q1 = (∗ ∗ 01) y Q2 = (∗ ∗ ∗0),

tenemos que
                                      ξ(Q1 , t) = 2 y ξ(Q2 , t) = 1.
Otra propiedad del esquema es su adaptaci´n en el tiempo t, la cual se denotar´ por eval(Q, t) y se
                                         o                                     a
define como la media de la funci´n objetivo de todas las ristras que en la poblaci´n se asocian con
                               o                                                 o
el esquema Q.
Sea F (t), la media de la funci´n objetivo extendida a toda la poblaci´n en el tiempo t. Es decir
                                  o                                       o
F (t) = F (t)/λ, siendo F (t) la suma de las funciones objetivo de todas los individuos en la poblaci´n
                                                                                                     o
en el tiempo t.
Con la notaci´n introducida hasta el momento, podemos enunciar el Teorema de los esquemas de la
             o
siguiente manera.

Teorema de los esquemas Si denotamos por Esel, cru, mut (ξ(Q, t + 1)), el n´mero esperado de
                                                                                u
individuos que se asocian con el esquema Q, en el tiempo t + 1, despu´s de efectuar la selecci´n, el
                                                                     e                        o
cruce y la mutaci´n en un Algoritmo Gen´tico Can´nico, se tiene que:
                 o                       e         o

                                                                                 δ(Q)
              Esel, cru, mut (ξ(Q, t + 1)) ≥ ξ(Q, t) · eval(Q, t)/F (t)[1 − pc        − o(Q)pm ].
                                                                                 l−1
La demostraci´n se efectuar´ en tres pasos, en el primero de los cuales se estudiar´ el efecto de la
              o             a                                                          a
selecci´n basada en la ruleta sesgada, en el n´mero esperado de individuos que se asocian con la
       o                                      u
ristra Q. Dicho n´mero se denotar´ por Esel (ξ(Q, t + 1)). A continuaci´n se ver´ el efecto del cruce
                 u                a                                      o         a
en dicho n´mero esperado, el cual se denotar´ por Esel, cru (ξ(Q, t + 1)), para finalmente tratar el
           u                                  a
efecto de la mutaci´n, obteni´ndose una cota inferior para Esel, cru, mut (ξ(Q, t + 1))
                   o         e
   • Efecto selecci´n
                   o
     Utilizando la notaci´n anteriormente introducida, se tiene que la probabilidad de que un
                         o
     individuo seleccionado para cruzarse (suponemos que la selecci´n se efect´a de manera pro-
                                                                   o          u
     porcional a la funci´n objetivo) se empareje con el esquema Q, se calcular´ por medio de
                         o                                                       a
     eval(Q, t)/F (t).

     El n´mero esperado de individuos que a partir del anterior individuo seleccionado van a em-
         u
     parejarse con Q, ser´ (eval(Q, t)/F (t)) · ξ(Q, t). Al efectuarse λ selecciones, se tendr´ que:
                         a                                                                    a

                                 Esel (ξ(Q, t + 1)) = λ · ξ(Q, t) · eval(Q, t)/F (t).

     Teniendo en cuenta que F (t) = F (t)/λ, tendremos que:

                                   Esel (ξ(Q, t + 1)) = ξ(Q, t) · eval(Q, t)/F (t).

     Si se asume que la evaluaci´n del esquema supera a la evaluaci´n media extendida a toda la
                                o                                  o
     poblaci´n en un ε%, es decir si
             o

                                        eval(Q, t) = F (t) + εF (t)(ε > 0),

     entonces obtendremos que

                                        Esel (ξ(Q, t)) = ξ(Q, 0) · (1 + ε)t .

     Por tanto acabamos de obtener que el n´mero medio esperado de individuos que se asocian
                                              u
     con un esquema determinado Q en el tiempo t, crece de forma exponencial en funci´n de o
     la diferencia entre la evaluaci´n media de dicho esquema con respecto a la evaluaci´n media
                                    o                                                   o
     global.
     La anterior ecuaci´n se conoce bajo el nombre de ecuaci´n de crecimiento reproductivo de los
                       o                                    o
     esquemas.


                                                      17
• Efecto cruce
     Denotando por pd,cruce (Q), la probabilidad de que el esquema Q sea destruido por el operador
     de cruce, se tiene que
                                                          δ(Q)
                                           pd,cruce (Q) =      .
                                                          l−1
     En realidad como el operador de cruce se lleva a cabo con una cierta probabilidad p c , se tiene
     que
                                                        δ(Q)
                                         pd,cruce (Q) =      · pc ,
                                                        l−1
     lo cual equivale a decir que la probabilidad de que el esquema Q sobreviva al cruce es
                                                                 δ(Q)
                               pso, cruce (Q) = 1 − pd,cruce (Q) = 1 −  · pc .
                                                                 l−1
     En realidad la f´rmula anterior nos proporciona una cota para la probabilidad de que sobreviva
                     o
     el esquema Q. Ello es debido a que, puede ocurrir que aunque el punto de corte se encuentre
     entre los s´
                ımbolos ∗ comprendidos entre el primer y el ultimo elemento distintos de ∗, el
                                                               ´
     esquema resultante no muera. As´ por ejemplo, si consideramos los dos esquemas:
                                       ı
                                                     S1 = 1 ∗ ∗0,
                                                     S2 = 1 ∗ ∗0,
     independientemente del punto de corte, cualquiera de los esquemas resultantes coincide con
     los anteriores. De ah´ que en realidad tenemos que:
                          ı
                                                                 δ(Q)
                                          pso, cruce (Q) ≥ 1 −        · pc ,
                                                                 l−1
     obteni´ndose que
           e
                                                                                    δ(Q)
                      Esel, cru [ξ(Q, t + 1)] ≥ ξ(Q, t) · eval(Q, t)/F (t) · (1 −        · pc ).
                                                                                    l−1
   • Efecto mutaci´n
                  o
     Denotando por pso, mut (Q) a la probabilidad de que el esquema Q sobreviva al operador mu-
     taci´n, se tiene que pso, mut (Q) = (1 − pm )o(Q) . Al ser pm << 1, la anterior probabilidad de
         o
     sobrevivir puede ser aproximada por
                                             pso,mut ≈ 1 − o(Q)pm .

El efecto combinado de la selecci´n, el operador de cruce y el operador de mutaci´n nos proporciona
                                 o                                               o
el denominado Teorema de los esquemas.
Es decir

                                        Esel, cru, mut [ξ(Q, t + 1)] ≥
                                                     δ(Q)               δ(Q)
                 ξ(Q, t) · eval(Q, t)/F (t) · [1 −        pc − o(Q)pm +      o(Q)pc pm ].
                                                     l−1                l−1
o bien suprimiendo el ultimo t´rmino
´                     ´       e
                                                                   δ(Q)
             Esel, cru, mut [ξ(Q, t + 1)] ≥ ξ(Q, t) · eval(Q, t)/F (t)[1 −
                                                                         pc − o(Q)pm ].
                                                                    l−1
La f´rmula anterior nos proporciona una cota inferior del n´mero esperado de individuos que se
     o                                                          u
asocian con el esquema Q en la siguiente generaci´n, expresado en funci´n del n´mero de individuos
                                                  o                    o        u
que se asocian con el esquema en la actual generaci´n, as´ como de la adaptaci´n del esquema
                                                       o      ı                    o
relativa a la adaptaci´n media de la poblaci´n, el orden y la longitud del esquema, la longitud de
                       o                      o
las ristras, as´ como las probabilidades de cruce y mutaci´n.
               ı                                          o
Tal y como se desprende de la f´rmula anterior, esquemas cortos, de bajo orden y con una adaptaci´n
                               o                                                                 o
al problema superior a la adaptaci´n media, se espera que a medida que evoluciona el Algoritmo
                                   o
Gen´tico, obtengan un incremento exponencial en el n´mero de individuos que se asocian con los
    e                                                  u
mismos.


                                                       18
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos
Introducción  a los Algoritmos Genéticos

Mais conteúdo relacionado

Semelhante a Introducción a los Algoritmos Genéticos

Semelhante a Introducción a los Algoritmos Genéticos (20)

Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13Algoritmos genéticos 2 s lun 30 sep-13
Algoritmos genéticos 2 s lun 30 sep-13
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmos geneticos mundial
Algoritmos geneticos mundialAlgoritmos geneticos mundial
Algoritmos geneticos mundial
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
ALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptxALGORITMO GENETICO - II.pptx
ALGORITMO GENETICO - II.pptx
 
Trabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+geneticoTrabajo+completo+de+inteligencia+algoritmo+genetico
Trabajo+completo+de+inteligencia+algoritmo+genetico
 
Matlab
MatlabMatlab
Matlab
 
Algoritmo Genético
Algoritmo GenéticoAlgoritmo Genético
Algoritmo Genético
 
Unl articulo cientifico-1
Unl articulo cientifico-1Unl articulo cientifico-1
Unl articulo cientifico-1
 
Algoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia ArtificialAlgoritmos Genéticos_Inteligencia Artificial
Algoritmos Genéticos_Inteligencia Artificial
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Ag (2005 verano)
Ag (2005 verano)Ag (2005 verano)
Ag (2005 verano)
 
Desarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticosDesarollo de sofware con algoritmos genéticos
Desarollo de sofware con algoritmos genéticos
 
020 algoritmos2
020 algoritmos2020 algoritmos2
020 algoritmos2
 
Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba Trabajo algoritmo genetico uba
Trabajo algoritmo genetico uba
 
Agente inteligente
Agente inteligenteAgente inteligente
Agente inteligente
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Resumen 2 Unidad
Resumen 2 UnidadResumen 2 Unidad
Resumen 2 Unidad
 

Introducción a los Algoritmos Genéticos

  • 1. ´ ALGORITMOS GENETICOS 1 Introducci´n o Los Algoritmos Gen´ticos (AGs) son m´todos adaptativos que pueden usarse para resolver proble- e e mas de b´squeda y optimizaci´n. Est´n basados en el proceso gen´tico de los organismos vivos. A u o a e lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los princi- pios de la selecci´n natural y la supervivencia de los m´s fuertes, postulados por Darwin (1859). o a Por imitaci´n de este proceso, los Algoritmos Gen´ticos son capaces de ir creando soluciones para o e problemas del mundo real. La evoluci´n de dichas soluciones hacia valores optimos del problema o ´ depende en buena medida de una adecuada codificaci´n de las mismas. o Los principios b´sicos de los Algoritmos Gen´ticos fueron establecidos por Holland (1975), y se a e encuentran bien descritos en varios textos – Goldberg (1989), Davis (1991), Michalewicz (1992), Reeves (1993) – . En la naturaleza los individuos de una poblaci´n compiten entre s´ en la b´squeda de recursos tales o ı u como comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo en la b´squeda de un compa˜ero. Aquellos individuos que tienen m´s ´xito en sobrevivir y en atraer u n a e compa˜eros tienen mayor probabilidad de generar un gran n´mero de descendientes. Por el con- n u trario individuos poco dotados producir´n un menor n´mero de descendientes. Esto significa que los a u genes de los individuos mejor adaptados se propagar´n en sucesivas generaciones hacia un n´mero de a u individuos creciente. La combinaci´n de buenas caracter´ o ısticas provenientes de diferentes ancestros, puede a veces producir descendientes “superindividuos”, cuya adaptaci´n es mucho mayor que la de o cualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas caracter´ ısticas cada vez mejor adaptadas al entorno en el que viven. Los Algoritmos Gen´ticos usan una analog´ directa con el comportamiento natural. Trabajan con e ıa una poblaci´n de individuos, cada uno de los cuales representa una soluci´n factible a un problema o o dado. A cada individuo se le asigna un valor o puntuaci´n, relacionado con la bondad de dicha ´ o soluci´n. En la naturaleza esto equivaldr´ al grado de efectividad de un organismo para compe- o ıa tir por unos determinados recursos. Cuanto mayor sea la adaptaci´n de un individuo al problema, o mayor ser´ la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material a gen´tico con otro individuo seleccionado de igual forma. Este cruce producir´ nuevos individuos – e a descendientes de los anteriores – los cuales comparten algunas de las caracter´ısticas de sus padres. Cuanto menor sea la adaptaci´n de un individuo, menor ser´ la probabilidad de que dicho individuo o a sea seleccionado para la reproducci´n, y por tanto de que su material gen´tico se propague en suce- o e sivas generaciones. De esta manera se produce una nueva poblaci´n de posibles soluciones, la cual reemplaza a la anterior o y verifica la interesante propiedad de que contiene una mayor proporci´n de buenas caracter´ o ısticas en comparaci´n con la poblaci´n anterior. As´ a lo largo de las generaciones las buenas caracter´ o o ı ısticas se propagan a trav´s de la poblaci´n. Favoreciendo el cruce de los individuos mejor adaptados, van e o siendo exploradas las areas m´s prometedoras del espacio de b´squeda. Si el Algoritmo Gen´tico ´ a u e ha sido bien dise˜ado, la poblaci´n converger´ hacia una soluci´n optima del problema. n o a o ´ El poder de los Algoritmos Gen´ticos proviene del hecho de que se trata de una t´cnica robusta, e e y pueden tratar con ´xito una gran variedad de problemas provenientes de diferentes areas, in- e ´ cluyendo aquellos en los que otros m´todos encuentran dificultades. Si bien no se garantiza que el e Algoritmo Gen´tico encuentre la soluci´n optima del problema, existe evidencia emp´ e o ´ ırica de que se encuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmos de optimizaci´n combinatoria. En el caso de que existan t´cnicas especializadas para resolver un o e determinado problema, lo m´s probable es que superen al Algoritmo Gen´tico, tanto en rapidez a e como en eficacia. El gran campo de aplicaci´n de los Algoritmos Gen´ticos se relaciona con aque- o e llos problemas para los cuales no existen t´cnicas especializadas. Incluso en el caso en que dichas e t´cnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibrid´ndolas con los e a Algoritmos Gen´ticos. e La estructura de este cap´ ıtulo es como sigue: en la siguiente secci´n se introduce por medio de o 1
  • 2. un ejemplo el denominado Algoritmo Gen´tico Simple, tambi´n conocido como Algoritmo Gen´tico e e e Can´nico, para a continuaci´n, mostrar distintas extensiones y modificaciones del mismo, relativas o o a los operadores de selecci´n, cruce, mutaci´n y reducci´n, as´ como a la hibridaci´n del Algoritmo o o o ı o Gen´tico con otros algoritmos de b´squeda local, y a diversos modelos de Algoritmos Gen´ticos Dis- e u e tribuidos. En la siguiente secci´n nos preguntamos el motivo por el cual funcionan los Algoritmos o Gen´ticos, demostr´ndose el teorema de los esquemas, y referenci´ndose algunos trabajos te´ricos e a a o relacionados con las condiciones suficientes para garantizar la convergencia de dichos algoritmos ha- cia el optimo global. Finalizamos el cap´ ´ ıtulo, mostrando operadores de cruce y mutaci´n espec´ o ıficos para el problema del agente viajero . 2 El Algoritmo Gen´tico Simple e BEGIN /* Algoritmo Genetico Simple */ Generar una poblacion inicial. Computar la funcion de evaluacion de cada individuo. WHILE NOT Terminado DO BEGIN /* Producir nueva generacion */ FOR Tama˜o poblacion/2 DO n BEGIN /*Ciclo Reproductivo */ Seleccionar dos individuos de la anterior generacion, para el cruce (probabilidad de seleccion proporcional a la funcion de evaluacion del individuo). Cruzar con cierta probabilidad los dos individuos obteniendo dos descendientes. Mutar los dos descendientes con cierta probabilidad. Computar la funcion de evaluacion de los dos descendientes mutados. Insertar los dos descendientes mutados en la nueva generacion. END IF la poblacion ha convergido THEN Terminado := TRUE END END Figura 6.1: Pseudoc´digo del Algoritmo Gen´tico Simple o e El Algoritmo Gen´tico Simple, tambi´n denominado Can´nico, se representa en la figura 6.1. e e o Como se ver´ a continuaci´n, se necesita una codificaci´n o representaci´n del problema, que resulte a o o o adecuada al mismo. Adem´s se requiere una funci´n de ajuste o adaptaci´n al problema, la cual a o ´ o asigna un n´mero real a cada posible soluci´n codificada. Durante la ejecuci´n del algoritmo, los u o o padres deben ser seleccionados para la reproducci´n, a continuaci´n dichos padres seleccionados se o o cruzar´n generando dos hijos, sobre cada uno de los cuales actuar´ un operador de mutaci´n. El a a o resultado de la combinaci´n de las anteriores funciones ser´ un conjunto de individuos (posibles o a soluciones al problema), los cuales en la evoluci´n del Algoritmo Gen´tico formar´n parte de la o e a siguiente poblaci´n. o 2.1 Codificaci´n o Se supone que los individuos (posibles soluciones del problema), pueden representarse como un con- junto de par´metros (que denominaremos genes), los cuales agrupados forman una ristra de valores a (a menudo referida como cromosoma). Si bien el alfabeto utilizado para representar los individuos no debe necesariamente estar constituido por el {0, 1}, buena parte de la teor´ en la que se funda- ıa mentan los Algoritmos Gen´ticos utiliza dicho alfabeto. e 2
  • 3. En t´rminos biol´gicos, el conjunto de par´metros representando un cromosoma particular se de- e o a nomina fenotipo. El fenotipo contiene la informaci´n requerida para construir un organismo, el cual o se refiere como genotipo. Los mismos t´rminos se utilizan en el campo de los Algoritmos Gen´ticos. e e La adaptaci´n al problema de un individuo depende de la evaluaci´n del genotipo. Esta ultima o o ´ puede inferirse a partir del fenotipo, es decir puede ser computada a partir del cromosoma, usando la funci´n de evaluaci´n. o o La funci´n de adaptaci´n debe ser dise˜ada para cada problema de manera espec´ o o n ıfica. Dado un cromosoma particular, la funci´n de adaptaci´n le asigna un n´mero real, que se supone refleja el o o u nivel de adaptaci´n al problema del individuo representado por el cromosoma. o Durante la fase reproductiva se seleccionan los individuos de la poblaci´n para cruzarse y producir o descendientes, que constituir´n, una vez mutados, la siguiente generaci´n de individuos. La se- a o lecci´n de padres se efect´a al azar usando un procedimiento que favorezca a los individuos mejor o u adaptados, ya que a cada individuo se le asigna una probabilidad de ser seleccionado que es propor- cional a su funci´n de adaptaci´n. Este procedimiento se dice que est´ basado en la ruleta sesgada. o o a Seg´n dicho esquema, los individuos bien adaptados se escoger´n probablemente varias veces por u a generaci´n, mientras que los pobremente adaptados al problema, no se escoger´n m´s que de vez en o a a cuando. Una vez seleccionados dos padres, sus cromosomas se combinan, utilizando habitualmente los ope- radores de cruce y mutaci´n. Las formas b´sicas de dichos operadores se describen a continuaci´n. o a o El operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posici´n o escogida al azar, para producir dos subristras iniciales y dos subristras finales. Despu´s se inter- e cambian las subristras finales, produci´ndose dos nuevos cromosomas completos (v´ase la Figura e e 2.2). Ambos descendientes heredan genes de cada uno de los padres. Este operador se conoce como operador de cruce basado en un punto. Habitualmente el operador de cruce no se aplica a todos Punto de cruce Punto de cruce Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 Descendientes 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 Figura 6.2: Operador de cruce basado en un punto los pares de individuos que han sido seleccionados para emparejarse, sino que se aplica de manera aleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0. En el caso en que el operador de cruce no se aplique, la descendencia se obtiene simplemente duplicando los padres. El operador de mutaci´n se aplica a cada hijo de manera individual, y consiste en la alteraci´n o o aleatoria (normalmente con probabilidad peque˜a) de cada gen componente del cromosoma. La n Figura 6.3 muestra la mutaci´n del quinto gen del cromosoma. Si bien puede en principio pensarse o gen mutado Descendiente 1 0 1 0 0 1 0 0 1 0 Descendiente mutado 1 0 1 0 1 1 0 0 1 0 Figura 6.3: Operador de mutaci´n o que el operador de cruce es m´s importante que el operador de mutaci´n, ya que proporciona una a o exploraci´n r´pida del espacio de b´squeda, ´ste ultimo asegura que ning´n punto del espacio de o a u e ´ u b´squeda tenga probabilidad cero de ser examinado, y es de capital importancia para asegurar la u convergencia de los Algoritmos Gen´ticos. e Para criterios pr´cticos, es muy util la definici´n de convergencia introducida en este campo por De a ´ o Jong (1975) en su tesis doctoral. Si el Algoritmo Gen´tico ha sido correctamente implementado, e 3
  • 4. Poblaci´n o x f (x) valor f (x)/ f (x) Probabilidad inicial valor (funci´n o (probabilidad de selecci´n o (fenotipos) genotipo adaptaci´n) o selecci´n) o acumulada 1 01101 13 169 0.14 0.14 2 11000 24 576 0.49 0.63 3 01000 8 64 0.06 0.69 4 10011 19 361 0.31 1.00 Suma 1170 Media 293 Mejor 576 Tabla 6.1: Poblaci´n inicial de la simulaci´n efectuada a mano correspondiente al Algoritmo Gen´tico Simple o o e la poblaci´n evolucionar´ a lo largo de las generaciones sucesivas de tal manera que la adaptaci´n o a o media extendida a todos los individuos de la poblaci´n, as´ como la adaptaci´n del mejor individuo o ı o se ir´n incrementando hacia el optimo global. El concepto de convergencia est´ relacionado con la a ´ a progresi´n hacia la uniformidad: un gen ha convergido cuando al menos el 95 % de los individuos o de la poblaci´n comparten el mismo valor para dicho gen. Se dice que la poblaci´n converge cuando o o todos los genes han convergido. Se puede generalizar dicha definici´n al caso en que al menos un o β% de los individuos de la poblaci´n hayan convergido. o La Figura 2.4 muestra como var´ la adaptaci´n media y la mejor adaptaci´n en un Algoritmo ıa o o Adaptación Mejor Media Generaciones 0 20 40 60 80 100 Figura 6.4: Adaptaci´n media y mejor adaptaci´n en un Algoritmo Gen´tico Simple o o e Gen´tico Simple t´ e ıpico. A medida que el n´mero de generaciones aumenta, es m´s probable que la u a adaptaci´n media se aproxime a la del mejor individuo. o 2.2 Ejemplo Como ilustraci´n de los diferentes componentes del Algoritmo Gen´tico Simple, supongamos el o e problema – adaptado de Goldberg (1989) – de encontrar el m´ximo de la funci´n f (x) = x 2 sobre a o los enteros {1, 2, . . . , 32}. Evidentemente para lograr dicho optimo, bastar´ actuar por b´squeda ´ ıa u exhaustiva, dada la baja cardinalidad del espacio de b´squeda. Se trata por tanto de un mero u ejemplo con el que pretendemos ilustrar el comportamiento del algoritmo anteriormente descrito. Consultando el pseudoc´digo de la Figura 6.1, vemos que el primer paso a efectuar consiste en o determinar el tama˜o de la poblaci´n inicial, para a continuaci´n obtener dicha poblaci´n al azar y n o o o computar la funci´n de evaluaci´n de cada uno de sus individuos. o o Suponiendo que el alfabeto utilizado para codificar los individuos est´ constituido por {0, 1}, nece- e sitaremos ristras de longitud 5 para representar los 32 puntos del espacio de b´squeda. u En la Tabla 6.1, hemos representado los 4 individuos que constituyen la poblaci´n inicial, junto con o su funci´n de adaptaci´n al problema, as´ como la probabilidad de que cada uno de dichos individuos o o ı sea seleccionado – seg´n el modelo de ruleta sesgada – para emparejarse. u Volviendo a consultar el pseudoc´digo expresado en la Figura 6.1, vemos que el siguiente paso con- o siste en la selecci´n de 2 parejas de individuos. Para ello es suficiente, con obtener 4 n´meros reales o u provenientes de una distribuci´n de probabilidad uniforme en el intervalo [0, 1], y compararlos con o la ultima columna de la Tabla 6.1. As´ por ejemplo, supongamos que dichos 4 n´meros hayan sido: ´ ı u 4
  • 5. Emparejamiento Punto Descen- Nueva poblaci´n o x f (x) de los individuos de dientes descendientes valor funci´n o seleccionados cruce mutados genotipo adaptaci´n o 11000 2 11011 11011 27 729 10011 2 10000 10000 16 256 01101 3 01100 11100 28 784 11000 3 11101 11101 29 841 Suma 2610 Media 652.5 Mejor 841 Tabla 6.2: Poblaci´n en el tiempo 1, proveniente de efectuar los operadores de cruce y mutaci´n sobre los o o individuos expresados en la Tabla 6.1, los cuales constituyen la poblaci´n en el tiempo 0 o 0.58; 0.84; 0.11 y 0.43. Esto significa que los individuos seleccionados para el cruce han sido: el individuo 2 junto con el individuo 4, as´ como el individuo 1 junto con el individuo 2. ı Para seguir con el Algoritmo Gen´tico Simple, necesitamos determinar la probabilidad de cruce, p c . e Supongamos que se fije en pc = 0.8. Vali´ndonos al igual que antes de, 2 en este caso, n´meros e u provenientes de la distribuci´n uniforme, determinaremos si los emparejamientos anteriores se llevan o a cabo. Admitamos, por ejemplo, que los dos n´meros extra´ u ıdos sean menores que 0.8, decidi´ndose e por tanto efectuar el cruce entre las dos parejas. Para ello escogeremos un n´mero al azar entre u 1 y l − 1 (siendo l la longitud de la ristra utilizada para representar el individuo). Not´se que la e restricci´n impuesta al escoger el n´mero entre 1 y l − 1, y no l, se realiza con la finalidad de que o u los descendientes no coincidan con los padres. Supongamos, tal y como se indica en la Tabla 6.2, que los puntos de cruce resulten ser 2 y 3. De esta manera obtendr´ ıamos los 4 descendientes descritos en la tercera columna de la Tabla 6.2. A continuaci´n siguiendo el pseudoc´digo de la Figura 6.1, mutar´ o o ıamos con una probabilidad, p m , cercana a cero, cada uno de los bit de las cuatro ristras de individuos. En este caso suponemos que el unico bit mutado corresponde al primer gen del tercer individuo. En las dos ultimas columnas ´ ´ se pueden consultar los valores de los individuos, as´ como las funciones de adaptaci´n correspondi- ı o entes. Como puede observarse, tanto el mejor individuo como la funci´n de adaptaci´n media han o o mejorado sustancialmente al compararlos con los resultados de la Tabla 6.1. 3 Extensiones y Modificaciones del AGS En este apartado se introducir´n algunas extensiones y modificaciones del Algoritmo Gen´tico Sim- a e ple. Se comenzar´ dando un pseudoc´digo para un Algoritmo Gen´tico Abstracto, para a contin- a o e BEGIN AGA Obtener la poblacion inicial al azar. WHILE NOT stop DO BEGIN Seleccionar padres de la poblacion. Producir hijos a partir de los padres seleccionados. Mutar los individuos hijos. Extender la poblacion a˜adiendo los hijos. n Reducir la poblacion extendida. END END AGA Figura 6.5: Pseudoc´digo del Algoritmo Gen´tico Abstracto o e uaci´n formalizar matem´ticamente cada uno de los elementos integrantes del Algoritmo, as´ como o a ı las extensiones y modificaciones que se vayan presentando. Una versi´n del Algoritmo Gen´tico Abstracto (AGA), puede ser como el de la Figura 6.5. Ya o e 5
  • 6. que el principal dominio de aplicaci´n de los Algoritmos Gen´ticos lo constituye la optimizaci´n de o e o funciones, se introducen algunos conceptos b´sicos que se usar´n a lo largo de este Cap´ a a ıtulo. Dado un dominio finito D y una funci´n f : D → , el problema de la optimizaci´n de la funci´n f o o o se refiere a encontrar el mejor valor de la funci´n f en el dominio D. Se trata por tanto de encontrar o x ∈ D para el cual f (x) ≤ f (y) ∀y ∈ D. Ya que max{f (x)} = − min{−f (x)} la restricci´n al problema de minimizaci´n no supone ninguna o o p´rdida de generalizaci´n. En general, la tarea de optimizaci´n se complica debido a la existencia e o o de optimos locales (m´ ´ ınimos locales en nuestro caso). La funci´n f tiene un m´ o ınimo local en x ∈ D si se verifica la siguiente condici´n: ˆ o ∃E(x), entorno de x, tal que si y ∈ E(x), ⇒ f (x) ≤ f (y). Diremos que e : D → S l donde l ≥ log S D constituye una codificaci´n, siendo la finalidad de o la misma el representar los elementos de D por medio de ristras de elementos de S. A S se le denomina alfabeto, mientras que S l constituye el espacio de b´squeda. A la funci´n f (x) = g(e(x)) u o se le denomina funci´n objetivo. Es necesario que la funci´n e sea inyectiva, para que los elementos o o de D sean discernibles. El AGA examinar´ un subconjunto del espacio de b´squeda, obteniendo una ristra x ∗ , cuya funci´n a u o objetivo g(x∗ ) puede considerarse un estimador del minx∈S l g(x). Abusando del lenguaje de notaci´n, designaremos por I a los elementos de S l . o En lo que sigue se considerar´ un AGA como una 10–tupla: a AGA = (P0 , λ, l, fsel , fprod , fmut , fext , fred , g, ct), donde: 1 P0 = {I0 , . . . , I0 } ∈ (S l )λ λ poblaci´n inicial, o λ tama˜o poblaci´n, n o l longitud de la representaci´n, o fsel funci´n de selecci´n, o o fprod funci´n de producci´n de hijos, o o fmut funci´n de mutaci´n, o o fext funci´n de extensi´n, o o fred funci´n de reducci´n, o o g funci´n objetivo, o ct criterio de parada. En principio restringiremos nuestro AGA, imponi´ndole la condici´n de que todas las poblaciones e o tengan el mismo tama˜o. Obviamente una generalizaci´n ser´ el considerar que el tama˜o depende n o ıa n de la generaci´n, es decir λt =| Pt |. Denotaremos por Pλ el conjunto de poblaciones de tama˜o λ, o n a las que denominaremos poblaciones bien dimensionadas. La funci´n de selecci´n global, fsel , selecciona al azar y con reemplazamiento una colecci´n de o o o individuos y ∈ Pλ a partir de una poblaci´n x ∈ Pλ : o fsel : (α, x) −→ y, donde α es un vector de dimensi´n λ constitu´ por valores escogidos aleatoriamente. o ıdo La funci´n de reproducci´n global, fprod , produce una poblaci´n de descendientes z ∈ Pλ a partir o o o de individuos seleccionados y ∈ Pλ por medio de un operador de cruce: fprod : (β, y) −→ z, donde β es un vector de dimensi´n λ/2 de valores escogidos al azar entre los enteros {1, ....., l − 1} o La funci´n de reproducci´n se dice que est´ basada en un punto si los padres I i = (s1 , ....., sl ) y o o a I j = (b1 , ....., bl ) producen hijos CH i,j;1 = (c1 , ....., cl ) y CH i,j;2 = (d1 , ....., dl ) verific´ndose : a sj si j ≤ m cj = (1) bj si j > m 6
  • 7. bj si j ≤ m dj = (2) sj si j > m donde m es un n´mero entero escogido al azar seg´n una distribuci´n uniforme discreta definida u u o sobre el conjunto {1, ....., l − 1}. La funci´n de mutaci´n individual find−mut , aplicada a I = (s1 , . . . , sl ), genera otro individuo o o M I = (sm1 , . . . , sml ), es decir find−mut (I) = M I, tal que ∀j ∈ {1, . . . , l}, P (smj = sj ) = 1 − pm , donde pm es la probabilidad de mutaci´n. o La funci´n de extensi´n, fext , crea a partir de dos poblaciones x, z ∈ Pλ , una poblaci´n n ∈ P2λ : o o o fext : (x, z) −→ n Denotando por Ni con i = 1, .., 2λ el i-´simo individuo en n, por Xk , con k = 1, ..., λ el k-´simo e e individuo en x, y por Zj con j = 1, ..., λ el j-´simo individuo en z, se tendr´: e a Xi si i ≤ λ Ni = (3) Zi−λ si i > λ La funci´n de reducci´n global, fred , convierte una poblaci´n n ∈ P2λ en una poblaci´n r ∈ Pλ o o o o fred : n −→ r. N´tese que r denota la poblaci´n de individuos en el tiempo t + 1. o o La funci´n de reducci´n es elitista de grado λ si la poblaci´n en el tiempo t + 1 est´ constituida por o o o a los mejores λ individuos, de entre los λ individuos que constituyen la poblaci´n en el tiempo t y los o descendientes derivados de ellos. La funci´n de reducci´n se denomina simple si la poblaci´n en el tiempo t + 1 est´ formada por los o o o a descendientes derivados de la poblaci´n en el tiempo t. o 3.1 Poblaci´n o 3.1.1 Tama˜ o de la poblaci´n n o Una cuesti´n que uno puede plantearse es la relacionada con el tama˜o id´neo de la poblaci´n. o n o o Parece intuitivo que las poblaciones peque˜as corren el riesgo de no cubrir adecuadamente el espa- n cio de b´squeda, mientras que el trabajar con poblaciones de gran tama˜o puede acarrear problemas u n relacionados con el excesivo costo computacional. Goldberg (1989) efectu´ un estudio te´rico, obteniendo como conclusi´n que el tama˜o optimo de la o o o n ´ poblaci´n para ristras de longitud l, con codificaci´n binaria, crece exponencialmente con el tama˜o o o n de la ristra. Este resultado traer´ como consecuencia que la aplicabilidad de los Algoritmos Gen´ticos en proble- ıa e mas reales ser´ muy limitada, ya que resultar´ no competitivos con otros m´todos de optimizaci´n ıa ıan e o combinatoria. Alander (1992), bas´ndose en evidencia emp´ a ırica sugiere que un tama˜o de poblaci´n n o comprendida entre l y 2l es suficiente para atacar con ´xito los problemas por el considerados. e 3.1.2 Poblaci´n inicial o Habitualmente la poblaci´n inicial se escoge generando ristras al azar, pudiendo contener cada gen o uno de los posibles valores del alfabeto con probabilidad uniforme. Nos podr´ ıamos preguntar que es lo que suceder´ si los individuos de la poblaci´n inicial se obtuviesen como resultado de alguna ıa o t´cnica heur´ e ıstica o de optimizaci´n local. En los pocos trabajos que existen sobre este aspecto, se o constata que esta inicializaci´n no aleatoria de la poblaci´n inicial, puede acelerar la convergencia o o del Algoritmo Gen´tico. Sin embargo en algunos casos la desventaja resulta ser la prematura e convergencia del algoritmo, queriendo indicar con ´sto la convergencia hacia optimos locales. e ´ 7
  • 8. 3.2 Funci´n objetivo o Dos aspectos que resultan cruciales en el comportamiento de los Algoritmos Gen´ticos son la de- e terminaci´n de una adecuada funci´n de adaptaci´n o funci´n objetivo, as´ como la codificaci´n o o o o ı o utilizada. Idealmente nos interesar´ construir funciones objetivo con “ciertas regularidades”, es decir fun- ıa ciones objetivo que verifiquen que para dos individuos que se encuentren cercanos en el espacio de b´squeda, sus respectivos valores en las funciones objetivo sean similares. Por otra parte una u dificultad en el comportamiento del Algoritmo Gen´tico puede ser la existencia de gran cantidad de e optimos locales, as´ como el hecho de que el optimo global se encuentre muy aislado. ´ ı ´ La regla general para construir una buena funci´n objetivo es que ´sta debe reflejar el valor del o e individuo de una manera “real”, pero en muchos problemas de optimizaci´n combinatoria, donde o existen gran cantidad de restricciones, buena parte de los puntos del espacio de b´squeda represen- u tan individuos no v´lidos. a Para este planteamiento en el que los individuos est´n sometidos a restricciones, se han propuesto a varias soluciones. La primera ser´ la que podr´ ıa ıamos denominar absolutista, en la que aquellos in- dividuos que no verifican las restricciones, no son considerados como tales, y se siguen efectuando cruces y mutaciones hasta obtener individuos v´lidos, o bien a dichos individuos se les asigna una a funci´n objetivo igual a cero. o Otra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dicha reconstrucci´n suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar o reparador. Otro enfoque est´ basado en la penalizaci´n de la funci´n objetivo. La idea general consiste en a o o dividir la funci´n objetivo del individuo por una cantidad (la penalizaci´n) que guarda relaci´n con o o o las restricciones que dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta el n´mero de restricciones violadas o bien el denominado costo esperado de reconstrucci´n, es decir el u ´ o coste asociado a la conversi´n de dicho individuo en otro que no viole ninguna restricci´n. o o Otra t´cnica que se ha venido utilizando en el caso en que la computaci´n de la funci´n objetivo e o o sea muy compleja es la denominada evaluaci´n aproximada de la funci´n objetivo. En algunos casos o o la obtenci´n de n funciones objetivo aproximadas puede resultar mejor que la evaluaci´n exacta de o o una unica funci´n objetivo (supuesto el caso de que la evaluaci´n aproximada resulta como m´ ´ o o ınimo n veces m´s r´pida que la evaluaci´n exacta). a a o Un problema habitual en las ejecuciones de los Algoritmos Gen´ticos surge debido a la velocidad e con la que el algoritmo converge. En algunos casos la convergencia es muy r´pida, lo que suele a denominarse convergencia prematura, en la cual el algoritmo converge hacia optimos locales, mien- ´ tras que en otros casos el problema es justo el contrario, es decir se produce una convergencia lenta del algoritmo. Una posible soluci´n a estos problemas pasa por efectuar transformaciones en la o funci´n objetivo. El problema de la convergencia prematura, surge a menudo cuando la selecci´n o o de individuos se realiza de manera proporcional a su funci´n objetivo. En tal caso, pueden exis- o tir individuos con una adaptaci´n al problema muy superior al resto, que a medida que avanza el o algoritmo “dominan” a la poblaci´n. Por medio de una transformaci´n de la funci´n objetivo, en o o o este caso una comprensi´n del rango de variaci´n de la funci´n objetivo, se pretende que dichos o o o “superindividuos” no lleguen a dominar a la poblaci´n.o El problema de la lenta convergencia del algoritmo, se resolver´ de manera an´loga, pero en este ıa a caso efectuando una expansi´n del rango de la funci´n objetivo. o o La idea de especies de organismos, ha sido imitada en el dise˜o de los Algoritmos Gen´ticos en n e un m´todo propuesto por Goldberg y Richardson (1987), utilizando una modificaci´n de la funci´n e o o objetivo de cada individuo, de tal manera que individuos que est´n muy cercanos entre s´ deval´en e ı u su funci´n objetivo, con objeto de que la poblaci´n gane en diversidad. o o j i j i Por ejemplo, si denotamos por d(It , It ) a la distancia de Hamming entre los individuos It e It , y 8
  • 9. por K ∈ R+ a un par´metro, podemos definir la siguiente funci´n: a o j i j i j i K − d(It , It ) si d(It , It ) < K, h(d(It , It )) = j i 0 si d(It , It ) ≥ K. j t j i A continuaci´n para cada individuo It , definimos σj = i=j h(d(It , It )), valor que utilizaremos o j j para devaluar la funci´n objetivo del individuo en cuesti´n. Es decir, g ∗ (It ) = g(It )/σj . De esta o o t manera aquellos individuos que est´n cercanos entre s´ ver´n devaluada la probabilidad de ser se- a ı a leccionados como padres, aument´ndose la probabilidad de los individuos que se encuentran m´s a a aislados. 3.3 Selecci´n o La funci´n de selecci´n de padres m´s utilizada es la denominada funci´n de selecci´n proporcional o o a o o a la funci´n objetivo, en la cual cada individuo tiene una probabilidad de ser seleccionado como o padre que es proporcional al valor de su funci´n objetivo. o Denotando por pprop la probabilidad de que el individuo It sea seleccionado como padre, se tiene j,t j que: g(I j ) pprop = λ t j . j,t j=1 g(It ) Esta funci´n de selecci´n es invariante ante un cambio de escala, pero no ante una traslaci´n. o o o Una de las maneras de superar el problema relacionado con la r´pida convergencia proveniente de a los superindividuos, que surge al aplicar la anterior funci´n de selecci´n, es el efectuar la selecci´n o o o proporcional al rango del individuo, con lo cual se produce una repartici´n m´s uniforme de la pro- o a j babilidad de selecci´n, tal y como se ilustra en la figura 6.6. Si denotamos por rango(g(I t )) el rango o prop rango P ( I j,t ) P ( I j,t ) I j,t I j,t Figura 6.6: Esquemas de selecci´n de padres proporcional a la funci´n objetivo (izquierda) y o o proporcional al rango de la funci´n objetivo (derecha) o j de la funci´n objetivo del individuo It cuando los individuos de la poblaci´n han sido ordenados o o de menor a mayor (es decir el peor individuo tiene rango 1, mientras que el individuo con mejor funci´n objetivo tiene rango λ), y sea prango la probabilidad de que el individuo It sea seleccionado o j,t j como padre cuando la selecci´n se efect´a proporcionalmente al rango del individuo, se tiene que o u j rango(g(It )) prango = j,t . λ(λ + 1)/2 La suma de los rangos, λ(λ + 1)/2, constituye la constante de normalizaci´n. La funci´n de selecci´n o o o basada en el rango es invariante frente a la translaci´n y al cambio de escala. o Otro posible refinamento del modelo de selecci´n proporcional, es el modelo de selecci´n del valor o o j esperado, el cual act´a de la manera siguiente: para cada individuo It , se introduce un contador, u j inicializado en g(It )/¯t , donde gt denota la media de la funci´n objetivo en la generaci´n t. Cada g ¯ o o j vez que el individuo It es seleccionado para el cruce, dicho contador decrece en una cantidad c (c ∈ (0, 5; 1)). El individuo en cuesti´n dejar´ de poder ser seleccionado en esa generaci´n, cuando o a o su contador sea negativo. Un esquema de selecci´n, introducido por Brindle (1991), y que emp´ o ıricamente ha proporcionado buenos resultados, es el denominado muestreo estoc´stico con reemplazamiento del resto, en el cual a 9
  • 10. cada individuo es seleccionado un n´mero de veces que coincide con la parte entera del n´mero u u esperado de ocurrencias de dicho suceso, compitiendo los individuos por los restos. Es decir, si j j denotamos por n(It ) el n´mero de veces que el individuo It es seleccionado para el cruce, tenemos u que: j j j n(It ) = n1 (It ) + n2 (It ), donde j j j n1 (It ) = [g(It )/¯t ], y n2 (It ) corresponde a la componente aleatoria que resulta de muestrear sobre g λ j los λ − j=1 [g(It )/¯t ] restantes individuos, siendo el muestro proporcional a la funci´n objetivo de g o cada individuo. Baker (1987) introduce un m´todo denominado muestreo universal estoc´stico, el cual utiliza un e a unico giro de la ruleta siendo los sectores circulares proporcionales a la funci´n objetivo. Los indi- ´ o viduos son seleccionados a partir de marcadores (v´ase Figura 6.7 ), igualmente espaciados y con e comienzo aleatorio. Efectuando un paralelismo con los m´todos de muestreo estad´ e ısticos, este ultimo tipo de selecci´n de ´ o t I4 t I1 t I3 I2 t t Figura 6.7: M´todo de selecci´n de padres denominado muestreo universal estoc´stico. El individuo I 1 e o a t t se escoge 2 veces, mientras que I3 e I4 son elegidos una unica vez ´ padres se relaciona con el muestreo sistem´tico, mientras que la selecci´n proporcional a la funci´n a o o objetivo, est´ basada en el muestreo estratificado con afijaci´n proporcional al tama˜o. Tambi´n el a o n e procedimiento de selecci´n que hemos denominado muestreo estoc´stico con reemplazamiento del o a resto, mantiene un paralelismo con el muestreo estratificado con afijaci´n de compromiso. o En el modelo de selecci´n elitista se fuerza a que el mejor individuo de la poblaci´n en el tiempo t, o o sea seleccionado como padre. La selecci´n por torneo, constituye un procedimiento de selecci´n de padres muy extendido y en el o o cual la idea consiste en escoger al azar un n´mero de individuos de la poblaci´n, tama˜o del torneo, u o n (con o sin reemplazamiento), seleccionar el mejor individuo de este grupo, y repetir el proceso hasta que el n´mero de individuos seleccionados coincida con el tama˜o de la poblaci´n. Habitualmente el u n o tama˜o del torneo es 2, y en tal caso se ha utilizado una versi´n probabil´ n o ıstica en la cual se permite la selecci´n de individuos sin que necesariamente sean los mejores. o Una posible clasificaci´n de procedimientos de selecci´n de padres consistir´ en: m´todos de se- o o a e lecci´n din´micos, en los cuales los probabilidades de selecci´n var´ de generaci´n a generaci´n, o a o ıan o o (por ejemplo la selecci´n proporcional a la funci´n objetivo), frente a m´todos de selecci´n est´ticos, o o e o a en los cuales dichas probabilidades permanecen constantes (por ejemplo la selecci´n basada en ran- o gos). Si se asegura que todos los individuos tienen asignada una probabilidad de selecci´n distinta de cero o el m´todo de selecci´n se denomina preservativo. En caso contrario se acostumbra a denominarlo e o extintivo. 10
  • 11. 3.4 Cruce El Algoritmo Gen´tico Can´nico descrito anteriormente, utiliza el cruce basado en un punto, en el e o cual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio de la selecci´n de un punto de corte, para posteriormente intercambiar las secciones que se encuentran o a la derecha de dicho punto. Se han investigado otros operadores de cruce, habitualmente teniendo en cuenta m´s de un punto de a cruce. De Jong (1975) investig´ el comportamiento del operador de cruce basado en m´ltiples puntos, o u concluyendo que el cruce basado en dos puntos, representaba una mejora mientras que a˜adir m´s n a puntos de cruce no beneficiaba el comportamiento del algoritmo. La ventaja de tener m´s de un a punto de cruce radica en que el espacio de b´squeda puede ser explorado m´s f´cilmente, siendo la u a a principal desventaja el hecho de aumentar la probabilidad de ruptura de buenos esquemas. En el operador de cruce basado en dos puntos, los cromosomas (individuos) pueden contemplarse como un circuito en el cual se efect´a la selecci´n aleatoria de dos puntos, tal y como se indica en u o la figura 6.8. Final Comienzo Primer punto de corte Segundo punto de corte Figura 6.8: Individuo visto como un circuito Desde este punto de vista, el cruce basado en un punto, puede verse como un caso particular del cruce basado en dos puntos, en el cual uno de los puntos de corte se encuentra fijo al comienzo de la ristra que representa al individuo. V´ase figura 6.9. e En el denominado operador de cruce uniforme (Syswerda (1991)) cada gen en la descendencia se Padres 1010 001 110 0011 010 010 Descendientes 1010 010 110 0011 001 010 Figura 6.9: Operador de cruce basado en dos puntos crea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una “m´scara a de cruce” generada aleatoriamente. Cuando existe un 1 en la “m´scara de cruce”, el gen es copiado a del primer padre, mientras que cuando exista un 0 en la m´scara, el gen se copia del segundo padre, a tal y como se muestra en la figura 2.10. En la literatura, el t´rmino operador de cruce uniforme se e relaciona con la obtenci´n de la “m´scara de cruce” uniforme, en el sentido de que cualquiera de los o a elementos del alfabeto tenga asociada la misma probabilidad. Hablando en t´rminos de la teor´ de e ıa la probabilidad la m´scara de cruce est´ compuesta por una muestra aleatoria de tama˜o λ extra´ a a n ıda de una distribuci´n de probabilidad de Bernouilli de par´metro 1/2. o a Si tuvi´semos en cuenta el valor de la funci´n de adaptaci´n de cada padre en el momento de generar e o o la “m´scara de cruce”, de tal manera que cuanto mayor sea la funci´n de adaptaci´n de un individuo, a o o m´s probable sea heredar sus caracter´ a ısticas, podr´ ıamos definir, v´ase Larra˜aga y Poza (1994), un e n operador de cruce basado en la funci´n objetivo, en el cual la “m´scara de cruce” se interpreta como o a una muestra aleatoria de tama˜o l proveniente de una distribuci´n de Bernouilli de par´metro n o a j j i p = g(It )/(g(It ) + g(It )) 11
  • 12. Máscara de cruce 1 0 0 1 0 0 1 Padre 1 1 1 0 1 1 0 1 Descendiente 1 0 0 1 1 1 1 Padre 2 0 0 0 1 1 1 0 Figura 6.10: Operador de cruce uniforme j i donde It y It denotan los padres seleccionados para ser cruzados. El concepto de “m´scara de cruce” puede tambi´n servir para representar los cruces basados en un a e punto y basados en m´ltiples puntos, tal y como se muestra en figura 6.11 u Sirag y Weiser (1987), modifican el operador de cruce en el sentido del Simulated Annealing. De Máscara de cruce 1 1 1 0 0 0 0 1 1 0 0 0 1 1 Padre 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 Descendiente 1 0 1 0 1 1 1 1 0 0 0 1 0 1 Padre 2 1 0 0 0 1 1 1 1 0 0 0 1 1 1 Figura 6.11: “M´scaras de cruce” para los operadores de cruce basados en 1 punto y en 2 puntos a esta manera el operador de cruce se modifica definiendo un umbral de energia θ c , y una temperatura T , las cuales influencian la manera en la que se escogen los bits individuales. Seg´n el operador u propuesto el bit (i + 1)-´simo se tomar´ del padre opuesto al que se ha tomado el bit i-´simo, con e a e probabilidad exp(−θc /T ), donde T es el par´metro “temperatura” el cual, al igual que en Simulated a Annealing decrecer´ lentamente por medio de un programa de enfriamiento. Con altas temperaturas a el comportamiento se asemeja al del operador de cruce uniforme, es decir con probabilidad cercana a la unidad los bits se van escogiendo alternativamente de cada padre. Por otra parte cuando el valor del par´metro temperatura se acerca a cero el hijo resultante coincide pr´cticamente con uno a a de los padres. Existen otros operadores de cruce espec´ ıficos para un determinado problema como son, por ejemplo, los definidos para el TSP, que se tratar´n m´s adelante. a a Por otra parte, la idea de que el cruce deber´ de ser m´s probable en algunas posiciones ha sido ıa a descrita por varios autores (Schaffer y Morishima, 1987; Holland, 1975; Davis, 1985; Levenick, 1991). 3.5 Mutaci´n o La mutaci´n se considera un operador b´sico, que proporciona un peque˜o elemento de aleatoridad o a n en la vecindad (entorno) de los individuos de la poblaci´n. Si bien se admite que el operador de cruce o es el responsable de efectuar la b´squeda a lo largo del espacio de posibles soluciones, tambi´n parece u e desprenderse de los experimentos efectuados por varios investigadores que el operador de mutaci´n o va ganando en importancia a medida que la poblaci´n de individuos va convergiendo (Davis, 1985). o Schaffer y col. (1989) encuentran que el efecto del cruce en la b´squeda es inferior al que previamente u se esperaba. Utilizan la denominada evoluci´n primitiva, en la cual, el proceso evolutivo consta tan o s´lo de selecci´n y mutaci´n. Encuentran que dicha evoluci´n primitiva supera con creces a una o o o o evoluci´n basada exclusivamente en la selecci´n y el cruce. Otra conclusi´n de su trabajo es que la o o o determinaci´n del valor optimo de la probabilidad de mutaci´n es mucho m´s crucial que el relativo o ´ o a a la probabilidad de cruce. La b´squeda del valor optimo para la probabilidad de mutaci´n, es una cuesti´n que ha sido motivo u ´ o o 12
  • 13. de varios trabajos. As´ De Jong (1975) recomienda la utilizaci´n de una probabilidad de mutaci´n ı, o o del bit de l−1 , siendo l la longitud del string. Schaffer y col. (1989) utilizan resultados experimentales para estimar la tasa optima proporcional a 1/λ0.9318 l0.4535 , donde λ denota el n´mero de individuos ´ u en la poblaci´n. o Si bien en la mayor´ de las implementaciones de Algoritmos Gen´ticos se asume que tanto la ıa e probabilidad de cruce como la de mutaci´n permanecen constantes, algunos autores han obtenido o mejores resultados experimentales modificando la probabilidad de mutaci´n a medida que aumenta o el n´mero de iteraciones. Pueden consultarse los trabajos de Ackley (1987), Bramlette (1991), u Fogarty (1989) y Michalewicz y Janikow (1991). 3.6 Reducci´n o Una vez obtenidos los individuos descendientes de una determinada poblaci´n en el tiempo t, el o proceso de reducci´n al tama˜o original, consiste en escoger λ individuos de entre los λ individuos o n que forman parte de la poblaci´n en el tiempo t, y los λ individuos descendientes de los mismos. o Dicho proceso se suele hacer fundamentalmente de dos formas distintas. O bien los λ individuos descendientes son los que forman parte de la poblaci´n en el tiempo t + 1, es o lo que se denomina reducci´n simple, o bien se escogen de entre los 2λ individuos, los λ individuos o m´s adaptados al problema, siguiendo lo que podemos denominar un criterio de reducci´n elitista a o de grado λ. Podemos tambien considerar otros procedimientos de reducci´n que se colocan entre los o anteriores, por ejemplo, si escogemos los λ1 mejores de entre padres y descendientes, escogi´ndose e los λ − λ1 restantes de entre los descendientes no seleccionados hasta el momento. El concepto de reducci´n est´ ligado con el de tasa de reemplazamiento generacional, t rg , es decir o a en el porcentaje de hijos generados con respecto del tama˜o de la poblaci´n. n o Si bien en la idea primitiva de Holland (1975) dicho reemplazamiento se efectuaba de 1 en 1, es decir trg = λ−1 , habitualmente dicho reemplazamiento se efect´a en bloque, trg = 1. De Jong u (1975) introdujo el concepto de tasa de reemplamiento generacional con el objetivo de efectuar un solapamiento controlado entre padres e hijos. En su trabajo, en cada paso una proporci´n, t rg , de o la poblaci´n es seleccionada para ser cruzada. Los hijos resultantes podr´n reemplazar a miembros o a de la poblaci´n anterior. Este tipo de Algoritmos Gen´ticos se conocen bajo el nombre de SSGA o e (Steady State Genetic Algorithm), un ejemplo de los cuales lo constituye GENITOR (Whitley y Kauth, 1988; Whitley, 1989). Michalewicz (1992) introduce un algoritmo que denomina Algoritmo Gen´tico Modificado, MOD GA , e en el cual para llevar a cabo el reemplazamiento generacional, selecciona al azar r 1 individuos para la reproducci´n, as´ como r2 individuos (distintos de los anteriores) destinados a morir. Estas se- o ı lecciones aleatorias tienen en consideraci´n el valor de la funci´n objetivo de cada individuo, de tal o o manera que cuanto mayor es la funci´n objetivo, mayor es la probabilidad de que sea seleccionado o para la reproducci´n, y menor es la probabilidad de que dicho individuo fallezca. El resto de los o λ − (r1 + r2 ) individuos son considerados como neutros y pasan directamente a formar parte de la poblaci´n en la siguiente generaci´n. o o 3.7 Algoritmos Gen´ticos Paralelos e En este apartado se introducir´n tres maneras diferentes de explotar el paralelismo de los Algoritmos a Gen´ticos, por medio de los denominados modelos de islas. Para una profundizaci´n sobre el tema e o puede consultarse Stender (1993). Modelos de islas. La idea b´sica consiste en dividir la poblaci´n total en varias subpoblaciones a o en cada una de las cuales se lleva a cabo un Algoritmo Gen´tico. Cada cierto n´mero de genera- e u ciones, se efect´a un intercambio de informaci´n entre las subpoblaciones, proceso que se denomina u o emigraci´n. La introducci´n de la emigraci´n hace que los modelos de islas sean capaces de explotar o o o las diferencias entre las diversas subpoblaciones, obteni´ndose de esta manera una fuente de diversi- e dad gen´tica. Cada subpopulaci´n es una “isla”, defini´ndose un procedimiento por medio del cual e o e 13
  • 14. se mueve el material gen´tico de una “isla” a otra. La determinaci´n de la tasa de migraci´n, es e o o un asunto de capital importancia, ya que de ella puede depender la convergencia prematura de la b´squeda. u Se pueden distinguir diferentes modelos de islas en funci´n de la comunicaci´n entre las subpobla- o o ciones. Algunas comunicaciones t´ıpicas son las siguientes: • Comunicaci´n en estrella, en la cual existe una subpoblaci´n que es seleccionada como maestra o o (aquella que tiene mejor media en el valor de la funci´n objetivo), siendo las dem´s consideradas o a como esclavas. Todas las subpoblaciones esclavas mandan sus h 1 mejores individuos (h1 ≥ 1) a la subpoblaci´n maestra la cual a su vez manda sus h2 mejores individuos (h2 ≥ 1) a cada o una de las subpoblaciones esclavas. V´ase figura 6.12. e Esclava Esclava Maestra Esclava Esclava Figura 6.12: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en estrella e o • Comunicaci´n en red, en la cual no existe una jerarqu´ entre las subpoblaciones, mandando o ıa todas y cada una de ellas sus h3 (h3 ≥ 1) mejores individuos al resto de las subpoblaciones. V´ase figura 6.13. e Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Figura 6.13: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en red e o • Comunicaci´n en anillo, en la cual cada subpoblaci´n env´ sus h 4 mejores individuos (h4 ≥ 1), o o ıa a una poblaci´n vecina, efectu´ndose la migraci´n en un unico sentido de flujo. V´ase figura o a o ´ e 6.14. El modelo de islas ha sido utilizado por varios autores (Whitley y Starkweather, 1990; Gorges- Schleuter, 1989; Tanese, 1987). 3.8 Evaluaci´n de Algoritmos Gen´ticos o e Las tres medidas de evaluaci´n que se tratar´n en este apartado, fueron introducidas por De Jong o a (1975), y se conocen como: • evaluaci´n on-line o • evaluaci´n off-line o 14
  • 15. Subpobl. 1 Subpobl. 2 Subpobl. 3 Subpobl. 4 Figura 6.14: Algoritmo Gen´tico Paralelo. Modelo de Islas. Comunicaci´n en anillo e o • evaluaci´n basada en el mejor o Si denotamos por vi (t) la funci´n objetivo del i-´simo individuo (i = 1, . . . , λ) en la t-´sima poblaci´n, o e e o la evaluaci´n on-line, despu´s de T iteraciones, se denotar´ por v on-line (T ), y se define como o e a T λ vi (t) v on-line (T ) = t=1 i=1 . λT Es decir, la evaluaci´n on-line mide el comportamiento medio de todas las ristras generadas hasta o el tiempo T . La evaluaci´n off-line se refiere al comportamiento del Algoritmo Gen´tico en su proceso de con- o e vergencia hacia el optimo. As´ tendremos que si denotamos por v ∗ (t) al mejor valor de la funci´n ´ ı o objetivo obtenido hasta el tiempo t (incluyendo dicho tiempo), y si v off-line (T ) denota la evaluaci´n o off-line despu´s de T generaciones, tenemos que e T v ∗ (t) v off-line (T ) = t=1 . T La definici´n de evaluaci´n basada en el mejor trata de evaluar el Algoritmo Gen´tico por medio del o o e mejor valor de la funci´n de evaluaci´n encontrado en la evoluci´n. Se trata por tanto de la medida o o o de evaluaci´n usual al tratar de estudiar el comportamiento de cualquier t´cnica heur´ o e ıstica. 4 ¿Por qu´ funcionan? e En este apartado se tratar´n algunas cuestiones relacionadas con el porqu´ “funcionan” los Algo- a e ritmos Gen´ticos. El significado de la palabra “funcionan” se refiere al hecho de ser capaces de e encontrar el optimo de la funci´n durante el proceso de b´squeda. ´ o u Se estudiar´ en primer lugar el denominado Teorema de los esquemas, (Goldberg, 1989), adaptando a la notaci´n, para presentarlo en relaci´n con distribuciones binomiales, para a continuaci´n intro- o o o ducir la denominada Hip´tesis de bloques, y finalizar referenciando algunos trabajos relativos a la o convergencia de los Algoritmos Gen´ticos. e 4.1 Teorema de los esquemas En lo que sigue se desarrollar´ el denominado Teorema de los esquemas para el caso del Algoritmo a Gen´tico Can´nico, utilizando adem´s un alfabeto binario. Dicho teorema utiliza el concepto de e o a esquema, que introducimos a continuaci´n. o Supongamos un alfabeto binario S = {0, 1}. Para construir un esquema necesitamos ampliar el alfabeto anterior por medio del s´ ımbolo ∗. Un esquema ser´ cualquier ristra de caracteres formada a a partir de elementos del alfabeto ampliado S , siendo S = {0, 1, ∗}. Si la longitud de la ristra es l, 15
  • 16. el n´mero de esquemas existentes es 3l , ya que cada posici´n puede ocuparse por cualquier de los u o tres elementos del alfabeto extendido S . Un esquema representa por tanto todas aquellas ristras que se asocian con ´l, en todas las posiciones distintas de las ocupadas por ∗. e As´ por ejemplo considerando ristras de longitud 4, tenemos que el esquema Q = (∗1∗0) se empareja ı con los cromosomas (0100), (0110), (1100)y(1110). Desde un punto de vista geom´trico un esquema equivale a un hiperplano en el espacio de b´squeda. e u El esquema (0111) representa una unica ristra, mientras que el esquema (∗ ∗ ∗∗) representa todas ´ las ristras de longitud 4. Por otra parte cada esquema se empareja exactamente con 2 r ristras, donde r denota el n´mero de s´ u ımbolos ∗ contenidos en el esquema. Adem´s cada ristra de longitud a l se empareja con 2l esquemas. As´ por ejemplo el ristra (0100) se empareja con los siguientes 2 4 ı esquemas: (0100), (∗100), (0 ∗ 00), (01 ∗ 0), (010∗), (∗ ∗ 00), (∗1 ∗ 0), (∗10∗), (0 ∗ ∗0), (0 ∗ 0∗), (01 ∗ ∗), (∗ ∗ ∗0), (∗ ∗ 0∗), (∗1 ∗ ∗), (0 ∗ ∗∗), (∗ ∗ ∗∗). Para desarrollar el Teorema de los esquemas necesitamos utilizar los conceptos de orden y longitud de un esquema, que se definen a continuaci´n. o El orden del esquema Q, se denota por o(Q), y se refiere al n´mero de posiciones ocupadas por 0−s, u o 1−s dentro del esquema. Se trata por tanto del n´mero de posiciones fijas en el esquema. En ´ u otras palabras se trata de la longitud de la ristra menos el n´mero de s´ u ımbolos ∗. Por ejemplo, los tres esquemas siguientes, Q1 = (∗01∗), Q2 = (∗ ∗ ∗1), Q3 = (110∗), tienen los siguientes ordenes: ´ o(Q1 ) = 2, o(Q2 ) = 1, y o(Q3 ) = 3. El concepto de orden del esquema se utiliza, como se ver´ con posterioridad, para calcular la prob- a abilidad de supervivencia del esquema con relaci´n al operador mutaci´n. o o La longitud del esquema Q, se denota por medio de δ(Q), y se define como la distancia entre la primera y la ultima posiciones fijas de la ristra. Dicho concepto define en cierto modo la com- ´ pactibilidad de la informaci´n contenida en el esquema. As´ por ejemplo o ı δ(Q1 ) = 3 − 2 = 1, δ(Q2 ) = 4 − 4 = 0, y δ(Q3 ) = 3 − 1 = 2. El concepto anterior se utiliza para calcular la probabilidad de supervivencia del esquema frente al operador de cruce. Denotaremos por: λ, el tama˜o de la poblaci´n que se considerar´ constante a lo largo de la evoluci´n, n o a o pc , la probabilidad de cruce, pm , la probabilidad de mutaci´n. o Por otra parte, ξ(Q, t) denotar´ el n´mero de ristras que en una determinada poblaci´n en el tiempo a u o t, se asocian con el esquema Q. As´ por ejemplo si consideramos la poblaci´n en el tiempo t, ı o Pt = {(0100), (1001), (1111), (0001)}, 16
  • 17. y los dos esquemas siguientes Q1 = (∗ ∗ 01) y Q2 = (∗ ∗ ∗0), tenemos que ξ(Q1 , t) = 2 y ξ(Q2 , t) = 1. Otra propiedad del esquema es su adaptaci´n en el tiempo t, la cual se denotar´ por eval(Q, t) y se o a define como la media de la funci´n objetivo de todas las ristras que en la poblaci´n se asocian con o o el esquema Q. Sea F (t), la media de la funci´n objetivo extendida a toda la poblaci´n en el tiempo t. Es decir o o F (t) = F (t)/λ, siendo F (t) la suma de las funciones objetivo de todas los individuos en la poblaci´n o en el tiempo t. Con la notaci´n introducida hasta el momento, podemos enunciar el Teorema de los esquemas de la o siguiente manera. Teorema de los esquemas Si denotamos por Esel, cru, mut (ξ(Q, t + 1)), el n´mero esperado de u individuos que se asocian con el esquema Q, en el tiempo t + 1, despu´s de efectuar la selecci´n, el e o cruce y la mutaci´n en un Algoritmo Gen´tico Can´nico, se tiene que: o e o δ(Q) Esel, cru, mut (ξ(Q, t + 1)) ≥ ξ(Q, t) · eval(Q, t)/F (t)[1 − pc − o(Q)pm ]. l−1 La demostraci´n se efectuar´ en tres pasos, en el primero de los cuales se estudiar´ el efecto de la o a a selecci´n basada en la ruleta sesgada, en el n´mero esperado de individuos que se asocian con la o u ristra Q. Dicho n´mero se denotar´ por Esel (ξ(Q, t + 1)). A continuaci´n se ver´ el efecto del cruce u a o a en dicho n´mero esperado, el cual se denotar´ por Esel, cru (ξ(Q, t + 1)), para finalmente tratar el u a efecto de la mutaci´n, obteni´ndose una cota inferior para Esel, cru, mut (ξ(Q, t + 1)) o e • Efecto selecci´n o Utilizando la notaci´n anteriormente introducida, se tiene que la probabilidad de que un o individuo seleccionado para cruzarse (suponemos que la selecci´n se efect´a de manera pro- o u porcional a la funci´n objetivo) se empareje con el esquema Q, se calcular´ por medio de o a eval(Q, t)/F (t). El n´mero esperado de individuos que a partir del anterior individuo seleccionado van a em- u parejarse con Q, ser´ (eval(Q, t)/F (t)) · ξ(Q, t). Al efectuarse λ selecciones, se tendr´ que: a a Esel (ξ(Q, t + 1)) = λ · ξ(Q, t) · eval(Q, t)/F (t). Teniendo en cuenta que F (t) = F (t)/λ, tendremos que: Esel (ξ(Q, t + 1)) = ξ(Q, t) · eval(Q, t)/F (t). Si se asume que la evaluaci´n del esquema supera a la evaluaci´n media extendida a toda la o o poblaci´n en un ε%, es decir si o eval(Q, t) = F (t) + εF (t)(ε > 0), entonces obtendremos que Esel (ξ(Q, t)) = ξ(Q, 0) · (1 + ε)t . Por tanto acabamos de obtener que el n´mero medio esperado de individuos que se asocian u con un esquema determinado Q en el tiempo t, crece de forma exponencial en funci´n de o la diferencia entre la evaluaci´n media de dicho esquema con respecto a la evaluaci´n media o o global. La anterior ecuaci´n se conoce bajo el nombre de ecuaci´n de crecimiento reproductivo de los o o esquemas. 17
  • 18. • Efecto cruce Denotando por pd,cruce (Q), la probabilidad de que el esquema Q sea destruido por el operador de cruce, se tiene que δ(Q) pd,cruce (Q) = . l−1 En realidad como el operador de cruce se lleva a cabo con una cierta probabilidad p c , se tiene que δ(Q) pd,cruce (Q) = · pc , l−1 lo cual equivale a decir que la probabilidad de que el esquema Q sobreviva al cruce es δ(Q) pso, cruce (Q) = 1 − pd,cruce (Q) = 1 − · pc . l−1 En realidad la f´rmula anterior nos proporciona una cota para la probabilidad de que sobreviva o el esquema Q. Ello es debido a que, puede ocurrir que aunque el punto de corte se encuentre entre los s´ ımbolos ∗ comprendidos entre el primer y el ultimo elemento distintos de ∗, el ´ esquema resultante no muera. As´ por ejemplo, si consideramos los dos esquemas: ı S1 = 1 ∗ ∗0, S2 = 1 ∗ ∗0, independientemente del punto de corte, cualquiera de los esquemas resultantes coincide con los anteriores. De ah´ que en realidad tenemos que: ı δ(Q) pso, cruce (Q) ≥ 1 − · pc , l−1 obteni´ndose que e δ(Q) Esel, cru [ξ(Q, t + 1)] ≥ ξ(Q, t) · eval(Q, t)/F (t) · (1 − · pc ). l−1 • Efecto mutaci´n o Denotando por pso, mut (Q) a la probabilidad de que el esquema Q sobreviva al operador mu- taci´n, se tiene que pso, mut (Q) = (1 − pm )o(Q) . Al ser pm << 1, la anterior probabilidad de o sobrevivir puede ser aproximada por pso,mut ≈ 1 − o(Q)pm . El efecto combinado de la selecci´n, el operador de cruce y el operador de mutaci´n nos proporciona o o el denominado Teorema de los esquemas. Es decir Esel, cru, mut [ξ(Q, t + 1)] ≥ δ(Q) δ(Q) ξ(Q, t) · eval(Q, t)/F (t) · [1 − pc − o(Q)pm + o(Q)pc pm ]. l−1 l−1 o bien suprimiendo el ultimo t´rmino ´ ´ e δ(Q) Esel, cru, mut [ξ(Q, t + 1)] ≥ ξ(Q, t) · eval(Q, t)/F (t)[1 − pc − o(Q)pm ]. l−1 La f´rmula anterior nos proporciona una cota inferior del n´mero esperado de individuos que se o u asocian con el esquema Q en la siguiente generaci´n, expresado en funci´n del n´mero de individuos o o u que se asocian con el esquema en la actual generaci´n, as´ como de la adaptaci´n del esquema o ı o relativa a la adaptaci´n media de la poblaci´n, el orden y la longitud del esquema, la longitud de o o las ristras, as´ como las probabilidades de cruce y mutaci´n. ı o Tal y como se desprende de la f´rmula anterior, esquemas cortos, de bajo orden y con una adaptaci´n o o al problema superior a la adaptaci´n media, se espera que a medida que evoluciona el Algoritmo o Gen´tico, obtengan un incremento exponencial en el n´mero de individuos que se asocian con los e u mismos. 18