Introducción  a los Algoritmos Genéticos
Upcoming SlideShare
Loading in...5
×
 

Introducción a los Algoritmos Genéticos

on

  • 1,259 views

Recurso Original:

Recurso Original:
Algortimos geneticos: una muy buena y digerible introduccion.
http://www.sc.ehu.es/ccwbayes/docencia/mmcc/docs/temageneticos.pdf

Statistics

Views

Total Views
1,259
Views on SlideShare
1,259
Embed Views
0

Actions

Likes
0
Downloads
32
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introducción  a los Algoritmos Genéticos Introducción a los Algoritmos Genéticos Document Transcript

  • ´ ALGORITMOS GENETICOS1 Introducci´n oLos Algoritmos Gen´ticos (AGs) son m´todos adaptativos que pueden usarse para resolver proble- e emas de b´squeda y optimizaci´n. Est´n basados en el proceso gen´tico de los organismos vivos. A u o a elo 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 aPor imitaci´n de este proceso, los Algoritmos Gen´ticos son capaces de ir creando soluciones para o eproblemas 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. oLos principios b´sicos de los Algoritmos Gen´ticos fueron establecidos por Holland (1975), y se a eencuentran 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 ı ucomo comida, agua y refugio. Incluso los miembros de una misma especie compiten a menudo enla b´squeda de un compa˜ero. Aquellos individuos que tienen m´s ´xito en sobrevivir y en atraer u n a ecompa˜eros tienen mayor probabilidad de generar un gran n´mero de descendientes. Por el con- n utrario individuos poco dotados producir´n un menor n´mero de descendientes. Esto significa que los a ugenes de los individuos mejor adaptados se propagar´n en sucesivas generaciones hacia un n´mero de a uindividuos 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 ocualquiera de sus ancestros. De esta manera, las especies evolucionan logrando unas caracter´ ısticascada vez mejor adaptadas al entorno en el que viven.Los Algoritmos Gen´ticos usan una analog´ directa con el comportamiento natural. Trabajan con e ıauna poblaci´n de individuos, cada uno de los cuales representa una soluci´n factible a un problema o odado. A cada individuo se le asigna un valor o puntuaci´n, relacionado con la bondad de dicha ´ osoluci´n. En la naturaleza esto equivaldr´ al grado de efectividad de un organismo para compe- o ıatir por unos determinados recursos. Cuanto mayor sea la adaptaci´n de un individuo al problema, omayor ser´ la probabilidad de que el mismo sea seleccionado para reproducirse, cruzando su material agen´tico con otro individuo seleccionado de igual forma. Este cruce producir´ nuevos individuos – e adescendientes 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 asea seleccionado para la reproducci´n, y por tanto de que su material gen´tico se propague en suce- o esivas generaciones.De esta manera se produce una nueva poblaci´n de posibles soluciones, la cual reemplaza a la anterior oy verifica la interesante propiedad de que contiene una mayor proporci´n de buenas caracter´ o ısticas encomparaci´n con la poblaci´n anterior. As´ a lo largo de las generaciones las buenas caracter´ o o ı ısticasse propagan a trav´s de la poblaci´n. Favoreciendo el cruce de los individuos mejor adaptados, van e osiendo exploradas las areas m´s prometedoras del espacio de b´squeda. Si el Algoritmo Gen´tico ´ a u eha 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 ey 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 eAlgoritmo Gen´tico encuentre la soluci´n optima del problema, existe evidencia emp´ e o ´ ırica de que seencuentran soluciones de un nivel aceptable, en un tiempo competitivo con el resto de algoritmosde optimizaci´n combinatoria. En el caso de que existan t´cnicas especializadas para resolver un o edeterminado problema, lo m´s probable es que superen al Algoritmo Gen´tico, tanto en rapidez a ecomo en eficacia. El gran campo de aplicaci´n de los Algoritmos Gen´ticos se relaciona con aque- o ellos problemas para los cuales no existen t´cnicas especializadas. Incluso en el caso en que dichas et´cnicas existan, y funcionen bien, pueden efectuarse mejoras de las mismas hibrid´ndolas con los e aAlgoritmos Gen´ticos. eLa 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 eCan´nico, para a continuaci´n, mostrar distintas extensiones y modificaciones del mismo, relativas o oa los operadores de selecci´n, cruce, mutaci´n y reducci´n, as´ como a la hibridaci´n del Algoritmo o o o ı oGen´tico con otros algoritmos de b´squeda local, y a diversos modelos de Algoritmos Gen´ticos Dis- e u etribuidos. En la siguiente secci´n nos preguntamos el motivo por el cual funcionan los Algoritmos oGen´ticos, demostr´ndose el teorema de los esquemas, y referenci´ndose algunos trabajos te´ricos e a a orelacionados 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 ıficospara el problema del agente viajero .2 El Algoritmo Gen´tico Simple eBEGIN /* 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 ENDEND 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 oComo se ver´ a continuaci´n, se necesita una codificaci´n o representaci´n del problema, que resulte a o o oadecuada al mismo. Adem´s se requiere una funci´n de ajuste o adaptaci´n al problema, la cual a o ´ oasigna un n´mero real a cada posible soluci´n codificada. Durante la ejecuci´n del algoritmo, los u o opadres deben ser seleccionados para la reproducci´n, a continuaci´n dichos padres seleccionados se o ocruzar´n generando dos hijos, sobre cada uno de los cuales actuar´ un operador de mutaci´n. El a a oresultado de la combinaci´n de las anteriores funciones ser´ un conjunto de individuos (posibles o asoluciones al problema), los cuales en la evoluci´n del Algoritmo Gen´tico formar´n parte de la o e asiguiente poblaci´n. o2.1 Codificaci´n oSe 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 individuosno debe necesariamente estar constituido por el {0, 1}, buena parte de la teor´ en la que se funda- ıamentan 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 anomina fenotipo. El fenotipo contiene la informaci´n requerida para construir un organismo, el cual ose refiere como genotipo. Los mismos t´rminos se utilizan en el campo de los Algoritmos Gen´ticos. e eLa 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, usandola funci´n de evaluaci´n. o oLa funci´n de adaptaci´n debe ser dise˜ada para cada problema de manera espec´ o o n ıfica. Dado uncromosoma particular, la funci´n de adaptaci´n le asigna un n´mero real, que se supone refleja el o o univel de adaptaci´n al problema del individuo representado por el cromosoma. oDurante la fase reproductiva se seleccionan los individuos de la poblaci´n para cruzarse y producir odescendientes, que constituir´n, una vez mutados, la siguiente generaci´n de individuos. La se- a olecci´n de padres se efect´a al azar usando un procedimiento que favorezca a los individuos mejor o uadaptados, 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 aSeg´n dicho esquema, los individuos bien adaptados se escoger´n probablemente varias veces por u ageneraci´n, mientras que los pobremente adaptados al problema, no se escoger´n m´s que de vez en o a acuando.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 oEl operador de cruce, coge dos padres seleccionados y corta sus ristras de cromosomas en una posici´n oescogida al azar, para producir dos subristras iniciales y dos subristras finales. Despu´s se inter- ecambian las subristras finales, produci´ndose dos nuevos cromosomas completos (v´ase la Figura e e2.2). Ambos descendientes heredan genes de cada uno de los padres. Este operador se conoce comooperador 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 puntolos pares de individuos que han sido seleccionados para emparejarse, sino que se aplica de maneraaleatoria, normalmente con una probabilidad comprendida entre 0.5 y 1.0. En el caso en que eloperador 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 oaleatoria (normalmente con probabilidad peque˜a) de cada gen componente del cromosoma. La nFigura 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 oque el operador de cruce es m´s importante que el operador de mutaci´n, ya que proporciona una a oexploraci´n r´pida del espacio de b´squeda, ´ste ultimo asegura que ning´n punto del espacio de o a u e ´ ub´squeda tenga probabilidad cero de ser examinado, y es de capital importancia para asegurar la uconvergencia de los Algoritmos Gen´ticos. ePara criterios pr´cticos, es muy util la definici´n de convergencia introducida en este campo por De a ´ oJong (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 ela poblaci´n evolucionar´ a lo largo de las generaciones sucesivas de tal manera que la adaptaci´n o a omedia extendida a todos los individuos de la poblaci´n, as´ como la adaptaci´n del mejor individuo o ı ose ir´n incrementando hacia el optimo global. El concepto de convergencia est´ relacionado con la a ´ aprogresi´n hacia la uniformidad: un gen ha convergido cuando al menos el 95 % de los individuos ode la poblaci´n comparten el mismo valor para dicho gen. Se dice que la poblaci´n converge cuando o otodos 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. oLa 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 eGen´tico Simple t´ e ıpico. A medida que el n´mero de generaciones aumenta, es m´s probable que la u aadaptaci´n media se aproxime a la del mejor individuo. o2.2 EjemploComo ilustraci´n de los diferentes componentes del Algoritmo Gen´tico Simple, supongamos el o eproblema – adaptado de Goldberg (1989) – de encontrar el m´ximo de la funci´n f (x) = x 2 sobre a olos enteros {1, 2, . . . , 32}. Evidentemente para lograr dicho optimo, bastar´ actuar por b´squeda ´ ıa uexhaustiva, dada la baja cardinalidad del espacio de b´squeda. Se trata por tanto de un mero uejemplo 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 odeterminar el tama˜o de la poblaci´n inicial, para a continuaci´n obtener dicha poblaci´n al azar y n o o ocomputar la funci´n de evaluaci´n de cada uno de sus individuos. o oSuponiendo que el alfabeto utilizado para codificar los individuos est´ constituido por {0, 1}, nece- esitaremos ristras de longitud 5 para representar los 32 puntos del espacio de b´squeda. uEn la Tabla 6.1, hemos representado los 4 individuos que constituyen la poblaci´n inicial, junto con osu 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. uVolviendo a consultar el pseudoc´digo expresado en la Figura 6.1, vemos que el siguiente paso con- osiste en la selecci´n de 2 parejas de individuos. Para ello es suficiente, con obtener 4 n´meros reales o uprovenientes de una distribuci´n de probabilidad uniforme en el intervalo [0, 1], y compararlos con ola 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 o0.58; 0.84; 0.11 y 0.43. Esto significa que los individuos seleccionados para el cruce han sido: elindividuo 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 . eSupongamos que se fije en pc = 0.8. Vali´ndonos al igual que antes de, 2 en este caso, n´meros e uprovenientes de la distribuci´n uniforme, determinaremos si los emparejamientos anteriores se llevan oa cabo. Admitamos, por ejemplo, que los dos n´meros extra´ u ıdos sean menores que 0.8, decidi´ndose epor tanto efectuar el cruce entre las dos parejas. Para ello escogeremos un n´mero al azar entre u1 y l − 1 (siendo l la longitud de la ristra utilizada para representar el individuo). Not´se que la erestricci´n impuesta al escoger el n´mero entre 1 y l − 1, y no l, se realiza con la finalidad de que o ulos 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. Deesta manera obtendr´ ıamos los 4 descendientes descritos en la tercera columna de la Tabla 6.2. Acontinuaci´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 queel 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- ı oentes. Como puede observarse, tanto el mejor individuo como la funci´n de adaptaci´n media han o omejorado sustancialmente al compararlos con los resultados de la Tabla 6.1.3 Extensiones y Modificaciones del AGSEn este apartado se introducir´n algunas extensiones y modificaciones del Algoritmo Gen´tico Sim- a eple. Se comenzar´ dando un pseudoc´digo para un Algoritmo Gen´tico Abstracto, para a contin- a o eBEGIN 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. ENDEND AGA Figura 6.5: Pseudoc´digo del Algoritmo Gen´tico Abstracto o euaci´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 ofunciones, 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 ose refiere a encontrar el mejor valor de la funci´n f en el dominio D. Se trata por tanto de encontrar ox ∈ 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 op´rdida de generalizaci´n. En general, la tarea de optimizaci´n se complica debido a la existencia e o ode 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 ola misma el representar los elementos de D por medio de ristras de elementos de S. A S se ledenomina alfabeto, mientras que S l constituye el espacio de b´squeda. A la funci´n f (x) = g(e(x)) u ose le denomina funci´n objetivo. Es necesario que la funci´n e sea inyectiva, para que los elementos o ode D sean discernibles.El AGA examinar´ un subconjunto del espacio de b´squeda, obteniendo una ristra x ∗ , cuya funci´n a u oobjetivo 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 . oEn lo que sigue se considerar´ un AGA como una 10–tupla: a AGA = (P0 , λ, l, fsel , fprod , fmut , fext , fred , g, ct),donde: 1P0 = {I0 , . . . , I0 } ∈ (S l )λ λ poblaci´n inicial, oλ tama˜o poblaci´n, n ol longitud de la representaci´n, ofsel funci´n de selecci´n, o ofprod funci´n de producci´n de hijos, o ofmut funci´n de mutaci´n, o ofext funci´n de extensi´n, o ofred funci´n de reducci´n, o og funci´n objetivo, oct criterio de parada.En principio restringiremos nuestro AGA, imponi´ndole la condici´n de que todas las poblaciones e otengan el mismo tama˜o. Obviamente una generalizaci´n ser´ el considerar que el tama˜o depende n o ıa nde la generaci´n, es decir λt =| Pt |. Denotaremos por Pλ el conjunto de poblaciones de tama˜o λ, o na 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 oindividuos 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 ıdoLa funci´n de reproducci´n global, fprod , produce una poblaci´n de descendientes z ∈ Pλ a partir o o ode 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} oLa funci´n de reproducci´n se dice que est´ basada en un punto si los padres I i = (s1 , ....., sl ) y o o aI 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 > mdonde m es un n´mero entero escogido al azar seg´n una distribuci´n uniforme discreta definida u u osobre el conjunto {1, ....., l − 1}.La funci´n de mutaci´n individual find−mut , aplicada a I = (s1 , . . . , sl ), genera otro individuo o oM 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. oLa 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) −→ nDenotando por Ni con i = 1, .., 2λ el i-´simo individuo en n, por Xk , con k = 1, ..., λ el k-´simo e eindividuo 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 oLa funci´n de reducci´n es elitista de grado λ si la poblaci´n en el tiempo t + 1 est´ constituida por o o o alos mejores λ individuos, de entre los λ individuos que constituyen la poblaci´n en el tiempo t y los odescendientes 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 adescendientes derivados de la poblaci´n en el tiempo t. o3.1 Poblaci´n o3.1.1 Tama˜ o de la poblaci´n n oUna cuesti´n que uno puede plantearse es la relacionada con el tama˜o id´neo de la poblaci´n. o n o oParece intuitivo que las poblaciones peque˜as corren el riesgo de no cubrir adecuadamente el espa- ncio de b´squeda, mientras que el trabajar con poblaciones de gran tama˜o puede acarrear problemas u nrelacionados 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 nde la ristra.Este resultado traer´ como consecuencia que la aplicabilidad de los Algoritmos Gen´ticos en proble- ıa emas reales ser´ muy limitada, ya que resultar´ no competitivos con otros m´todos de optimizaci´n ıa ıan e ocombinatoria. Alander (1992), bas´ndose en evidencia emp´ a ırica sugiere que un tama˜o de poblaci´n n ocomprendida entre l y 2l es suficiente para atacar con ´xito los problemas por el considerados. e3.1.2 Poblaci´n inicial oHabitualmente la poblaci´n inicial se escoge generando ristras al azar, pudiendo contener cada gen ouno de los posibles valores del alfabeto con probabilidad uniforme. Nos podr´ ıamos preguntar quees lo que suceder´ si los individuos de la poblaci´n inicial se obtuviesen como resultado de alguna ıa ot´cnica heur´ e ıstica o de optimizaci´n local. En los pocos trabajos que existen sobre este aspecto, se oconstata que esta inicializaci´n no aleatoria de la poblaci´n inicial, puede acelerar la convergencia o odel Algoritmo Gen´tico. Sin embargo en algunos casos la desventaja resulta ser la prematura econvergencia del algoritmo, queriendo indicar con ´sto la convergencia hacia optimos locales. e ´ 7
  • 3.2 Funci´n objetivo oDos aspectos que resultan cruciales en el comportamiento de los Algoritmos Gen´ticos son la de- eterminaci´n de una adecuada funci´n de adaptaci´n o funci´n objetivo, as´ como la codificaci´n o o o o ı outilizada.Idealmente nos interesar´ construir funciones objetivo con “ciertas regularidades”, es decir fun- ıaciones objetivo que verifiquen que para dos individuos que se encuentren cercanos en el espaciode b´squeda, sus respectivos valores en las funciones objetivo sean similares. Por otra parte una udificultad en el comportamiento del Algoritmo Gen´tico puede ser la existencia de gran cantidad de eoptimos 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 eindividuo de una manera “real”, pero en muchos problemas de optimizaci´n combinatoria, donde oexisten gran cantidad de restricciones, buena parte de los puntos del espacio de b´squeda represen- utan individuos no v´lidos. aPara este planteamiento en el que los individuos est´n sometidos a restricciones, se han propuesto avarias 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 efectuandocruces y mutaciones hasta obtener individuos v´lidos, o bien a dichos individuos se les asigna una afunci´n objetivo igual a cero. oOtra posibilidad consiste en reconstruir aquellos individuos que no verifican las restricciones. Dichareconstrucci´n suele llevarse a cabo por medio de un nuevo operador que se acostumbra a denominar oreparador.Otro enfoque est´ basado en la penalizaci´n de la funci´n objetivo. La idea general consiste en a o odividir la funci´n objetivo del individuo por una cantidad (la penalizaci´n) que guarda relaci´n con o o olas restricciones que dicho individuo viola. Dicha cantidad puede simplemente tener en cuenta eln´mero de restricciones violadas o bien el denominado costo esperado de reconstrucci´n, es decir el u ´ ocoste asociado a la conversi´n de dicho individuo en otro que no viole ninguna restricci´n. o oOtra t´cnica que se ha venido utilizando en el caso en que la computaci´n de la funci´n objetivo e o osea muy compleja es la denominada evaluaci´n aproximada de la funci´n objetivo. En algunos casos o ola obtenci´n de n funciones objetivo aproximadas puede resultar mejor que la evaluaci´n exacta de o ouna unica funci´n objetivo (supuesto el caso de que la evaluaci´n aproximada resulta como m´ ´ o o ınimon veces m´s r´pida que la evaluaci´n exacta). a a oUn problema habitual en las ejecuciones de los Algoritmos Gen´ticos surge debido a la velocidad econ la que el algoritmo converge. En algunos casos la convergencia es muy r´pida, lo que suele adenominarse 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 lentadel algoritmo. Una posible soluci´n a estos problemas pasa por efectuar transformaciones en la ofunci´n objetivo. El problema de la convergencia prematura, surge a menudo cuando la selecci´n o ode individuos se realiza de manera proporcional a su funci´n objetivo. En tal caso, pueden exis- otir individuos con una adaptaci´n al problema muy superior al resto, que a medida que avanza el oalgoritmo “dominan” a la poblaci´n. Por medio de una transformaci´n de la funci´n objetivo, en o o oeste 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.oEl problema de la lenta convergencia del algoritmo, se resolver´ de manera an´loga, pero en este ıa acaso efectuando una expansi´n del rango de la funci´n objetivo. o oLa idea de especies de organismos, ha sido imitada en el dise˜o de los Algoritmos Gen´ticos en n eun m´todo propuesto por Goldberg y Richardson (1987), utilizando una modificaci´n de la funci´n e o oobjetivo de cada individuo, de tal manera que individuos que est´n muy cercanos entre s´ deval´en e ı usu funci´n objetivo, con objeto de que la poblaci´n gane en diversidad. o o j i j iPor 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 iA continuaci´n para cada individuo It , definimos σj = i=j h(d(It , It )), valor que utilizaremos o j jpara devaluar la funci´n objetivo del individuo en cuesti´n. Es decir, g ∗ (It ) = g(It )/σj . De esta o o tmanera aquellos individuos que est´n cercanos entre s´ ver´n devaluada la probabilidad de ser se- a ı aleccionados como padres, aument´ndose la probabilidad de los individuos que se encuentran m´s a aaislados.3.3 Selecci´n oLa funci´n de selecci´n de padres m´s utilizada es la denominada funci´n de selecci´n proporcional o o a o oa la funci´n objetivo, en la cual cada individuo tiene una probabilidad de ser seleccionado como opadre que es proporcional al valor de su funci´n objetivo. oDenotando por pprop la probabilidad de que el individuo It sea seleccionado como padre, se tiene j,t jque: 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 oUna de las maneras de superar el problema relacionado con la r´pida convergencia proveniente de alos superindividuos, que surge al aplicar la anterior funci´n de selecci´n, es el efectuar la selecci´n o o oproporcional al rango del individuo, con lo cual se produce una repartici´n m´s uniforme de la pro- o a jbabilidad 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 jde la funci´n objetivo del individuo It cuando los individuos de la poblaci´n han sido ordenados o ode menor a mayor (es decir el peor individuo tiene rango 1, mientras que el individuo con mejorfunci´n objetivo tiene rango λ), y sea prango la probabilidad de que el individuo It sea seleccionado o j,t jcomo 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)/2La suma de los rangos, λ(λ + 1)/2, constituye la constante de normalizaci´n. La funci´n de selecci´n o o obasada en el rango es invariante frente a la translaci´n y al cambio de escala. oOtro posible refinamento del modelo de selecci´n proporcional, es el modelo de selecci´n del valor o o jesperado, el cual act´a de la manera siguiente: para cada individuo It , se introduce un contador, u jinicializado en g(It )/¯t , donde gt denota la media de la funci´n objetivo en la generaci´n t. Cada g ¯ o o jvez que el individuo It es seleccionado para el cruce, dicho contador decrece en una cantidadc (c ∈ (0, 5; 1)). El individuo en cuesti´n dejar´ de poder ser seleccionado en esa generaci´n, cuando o a osu contador sea negativo.Un esquema de selecci´n, introducido por Brindle (1991), y que emp´ o ıricamente ha proporcionadobuenos 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 uesperado de ocurrencias de dicho suceso, compitiendo los individuos por los restos. Es decir, si j jdenotamos por n(It ) el n´mero de veces que el individuo It es seleccionado para el cruce, tenemos uque: j j j n(It ) = n1 (It ) + n2 (It ), donde j j jn1 (It ) = [g(It )/¯t ], y n2 (It ) corresponde a la componente aleatoria que resulta de muestrear sobre g λ jlos λ − j=1 [g(It )/¯t ] restantes individuos, siendo el muestro proporcional a la funci´n objetivo de g ocada individuo.Baker (1987) introduce un m´todo denominado muestreo universal estoc´stico, el cual utiliza un e aunico giro de la ruleta siendo los sectores circulares proporcionales a la funci´n objetivo. Los indi-´ oviduos son seleccionados a partir de marcadores (v´ase Figura 6.7 ), igualmente espaciados y con ecomienzo 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 tFigura 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 oobjetivo, est´ basada en el muestreo estratificado con afijaci´n proporcional al tama˜o. Tambi´n el a o n eprocedimiento de selecci´n que hemos denominado muestreo estoc´stico con reemplazamiento del o aresto, mantiene un paralelismo con el muestreo estratificado con afijaci´n de compromiso. oEn el modelo de selecci´n elitista se fuerza a que el mejor individuo de la poblaci´n en el tiempo t, o osea seleccionado como padre.La selecci´n por torneo, constituye un procedimiento de selecci´n de padres muy extendido y en el o ocual 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 hastaque el n´mero de individuos seleccionados coincida con el tama˜o de la poblaci´n. Habitualmente el u n otama˜o del torneo es 2, y en tal caso se ha utilizado una versi´n probabil´ n o ıstica en la cual se permitela selecci´n de individuos sin que necesariamente sean los mejores. oUna posible clasificaci´n de procedimientos de selecci´n de padres consistir´ en: m´todos de se- o o a elecci´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 aen los cuales dichas probabilidades permanecen constantes (por ejemplo la selecci´n basada en ran- ogos).Si se asegura que todos los individuos tienen asignada una probabilidad de selecci´n distinta de cero oel m´todo de selecci´n se denomina preservativo. En caso contrario se acostumbra a denominarlo e oextintivo. 10
  • 3.4 CruceEl Algoritmo Gen´tico Can´nico descrito anteriormente, utiliza el cruce basado en un punto, en el e ocual los dos individuos seleccionados para jugar el papel de padres, son recombinados por medio dela selecci´n de un punto de corte, para posteriormente intercambiar las secciones que se encuentran oa la derecha de dicho punto.Se han investigado otros operadores de cruce, habitualmente teniendo en cuenta m´s de un punto de acruce. De Jong (1975) investig´ el comportamiento del operador de cruce basado en m´ltiples puntos, o uconcluyendo que el cruce basado en dos puntos, representaba una mejora mientras que a˜adir m´s n apuntos de cruce no beneficiaba el comportamiento del algoritmo. La ventaja de tener m´s de un apunto de cruce radica en que el espacio de b´squeda puede ser explorado m´s f´cilmente, siendo la u a aprincipal 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 contemplarsecomo un circuito en el cual se efect´a la selecci´n aleatoria de dos puntos, tal y como se indica en u ola figura 6.8. Final Comienzo Primer punto de corte Segundo punto de corte Figura 6.8: Individuo visto como un circuitoDesde este punto de vista, el cruce basado en un punto, puede verse como un caso particular delcruce basado en dos puntos, en el cual uno de los puntos de corte se encuentra fijo al comienzo dela ristra que representa al individuo. V´ase figura 6.9. eEn 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 puntoscrea copiando el correspondiente gen de uno de los dos padres, escogido de acuerdo a una “m´scara ade cruce” generada aleatoriamente. Cuando existe un 1 en la “m´scara de cruce”, el gen es copiado adel primer padre, mientras que cuando exista un 0 en la m´scara, el gen se copia del segundo padre, atal y como se muestra en la figura 2.10. En la literatura, el t´rmino operador de cruce uniforme se erelaciona con la obtenci´n de la “m´scara de cruce” uniforme, en el sentido de que cualquiera de los o aelementos del alfabeto tenga asociada la misma probabilidad. Hablando en t´rminos de la teor´ de e ıala probabilidad la m´scara de cruce est´ compuesta por una muestra aleatoria de tama˜o λ extra´ a a n ıdade una distribuci´n de probabilidad de Bernouilli de par´metro 1/2. o aSi tuvi´semos en cuenta el valor de la funci´n de adaptaci´n de cada padre en el momento de generar e o ola “m´scara de cruce”, de tal manera que cuanto mayor sea la funci´n de adaptaci´n de un individuo, a o om´s probable sea heredar sus caracter´ a ısticas, podr´ ıamos definir, v´ase Larra˜aga y Poza (1994), un e noperador de cruce basado en la funci´n objetivo, en el cual la “m´scara de cruce” se interpreta como o auna 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 idonde 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 epunto y basados en m´ltiples puntos, tal y como se muestra en figura 6.11 uSirag 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 aesta manera el operador de cruce se modifica definiendo un umbral de energia θ c , y una temperaturaT , las cuales influencian la manera en la que se escogen los bits individuales. Seg´n el operador upropuesto el bit (i + 1)-´simo se tomar´ del padre opuesto al que se ha tomado el bit i-´simo, con e a eprobabilidad exp(−θc /T ), donde T es el par´metro “temperatura” el cual, al igual que en Simulated aAnnealing decrecer´ lentamente por medio de un programa de enfriamiento. Con altas temperaturas ael comportamiento se asemeja al del operador de cruce uniforme, es decir con probabilidad cercanaa la unidad los bits se van escogiendo alternativamente de cada padre. Por otra parte cuando elvalor del par´metro temperatura se acerca a cero el hijo resultante coincide pr´cticamente con uno a ade 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 aPor otra parte, la idea de que el cruce deber´ de ser m´s probable en algunas posiciones ha sido ıa adescrita por varios autores (Schaffer y Morishima, 1987; Holland, 1975; Davis, 1985; Levenick, 1991).3.5 Mutaci´n oLa mutaci´n se considera un operador b´sico, que proporciona un peque˜o elemento de aleatoridad o a nen la vecindad (entorno) de los individuos de la poblaci´n. Si bien se admite que el operador de cruce oes el responsable de efectuar la b´squeda a lo largo del espacio de posibles soluciones, tambi´n parece u edesprenderse de los experimentos efectuados por varios investigadores que el operador de mutaci´n ova ganando en importancia a medida que la poblaci´n de individuos va convergiendo (Davis, 1985). oSchaffer y col. (1989) encuentran que el efecto del cruce en la b´squeda es inferior al que previamente use esperaba. Utilizan la denominada evoluci´n primitiva, en la cual, el proceso evolutivo consta tan os´lo de selecci´n y mutaci´n. Encuentran que dicha evoluci´n primitiva supera con creces a una o o o oevoluci´n basada exclusivamente en la selecci´n y el cruce. Otra conclusi´n de su trabajo es que la o o odeterminaci´n del valor optimo de la probabilidad de mutaci´n es mucho m´s crucial que el relativo o ´ o aa 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 odel bit de l−1 , siendo l la longitud del string. Schaffer y col. (1989) utilizan resultados experimentalespara estimar la tasa optima proporcional a 1/λ0.9318 l0.4535 , donde λ denota el n´mero de individuos ´ uen la poblaci´n. oSi bien en la mayor´ de las implementaciones de Algoritmos Gen´ticos se asume que tanto la ıa eprobabilidad de cruce como la de mutaci´n permanecen constantes, algunos autores han obtenido omejores resultados experimentales modificando la probabilidad de mutaci´n a medida que aumenta oel n´mero de iteraciones. Pueden consultarse los trabajos de Ackley (1987), Bramlette (1991), uFogarty (1989) y Michalewicz y Janikow (1991).3.6 Reducci´n oUna vez obtenidos los individuos descendientes de una determinada poblaci´n en el tiempo t, el oproceso de reducci´n al tama˜o original, consiste en escoger λ individuos de entre los λ individuos o nque forman parte de la poblaci´n en el tiempo t, y los λ individuos descendientes de los mismos. oDicho 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 olo que se denomina reducci´n simple, o bien se escogen de entre los 2λ individuos, los λ individuos om´s adaptados al problema, siguiendo lo que podemos denominar un criterio de reducci´n elitista a ode grado λ. Podemos tambien considerar otros procedimientos de reducci´n que se colocan entre los oanteriores, por ejemplo, si escogemos los λ1 mejores de entre padres y descendientes, escogi´ndose elos λ − λ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 aen el porcentaje de hijos generados con respecto del tama˜o de la poblaci´n. n oSi bien en la idea primitiva de Holland (1975) dicho reemplazamiento se efectuaba de 1 en 1, esdecir 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 unsolapamiento controlado entre padres e hijos. En su trabajo, en cada paso una proporci´n, t rg , de ola poblaci´n es seleccionada para ser cruzada. Los hijos resultantes podr´n reemplazar a miembros o ade 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 yKauth, 1988; Whitley, 1989).Michalewicz (1992) introduce un algoritmo que denomina Algoritmo Gen´tico Modificado, MOD GA , een el cual para llevar a cabo el reemplazamiento generacional, selecciona al azar r 1 individuos parala 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 omanera que cuanto mayor es la funci´n objetivo, mayor es la probabilidad de que sea seleccionado opara 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 lapoblaci´n en la siguiente generaci´n. o o3.7 Algoritmos Gen´ticos Paralelos eEn este apartado se introducir´n tres maneras diferentes de explotar el paralelismo de los Algoritmos aGen´ticos, por medio de los denominados modelos de islas. Para una profundizaci´n sobre el tema e opuede consultarse Stender (1993).Modelos de islas. La idea b´sica consiste en dividir la poblaci´n total en varias subpoblaciones a oen cada una de las cuales se lleva a cabo un Algoritmo Gen´tico. Cada cierto n´mero de genera- e uciones, se efect´a un intercambio de informaci´n entre las subpoblaciones, proceso que se denomina u oemigraci´n. La introducci´n de la emigraci´n hace que los modelos de islas sean capaces de explotar o o olas diferencias entre las diversas subpoblaciones, obteni´ndose de esta manera una fuente de diversi- edad 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 oun asunto de capital importancia, ya que de ella puede depender la convergencia prematura de lab´squeda. uSe pueden distinguir diferentes modelos de islas en funci´n de la comunicaci´n entre las subpobla- o ociones. 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 eLas 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 oSi denotamos por vi (t) la funci´n objetivo del i-´simo individuo (i = 1, . . . , λ) en la t-´sima poblaci´n, o e e ola 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 . λTEs decir, la evaluaci´n on-line mide el comportamiento medio de todas las ristras generadas hasta oel tiempo T .La evaluaci´n off-line se refiere al comportamiento del Algoritmo Gen´tico en su proceso de con- o evergencia hacia el optimo. As´ tendremos que si denotamos por v ∗ (t) al mejor valor de la funci´n ´ ı oobjetivo obtenido hasta el tiempo t (incluyendo dicho tiempo), y si v off-line (T ) denota la evaluaci´n ooff-line despu´s de T generaciones, tenemos que e T v ∗ (t) v off-line (T ) = t=1 . TLa definici´n de evaluaci´n basada en el mejor trata de evaluar el Algoritmo Gen´tico por medio del o o emejor valor de la funci´n de evaluaci´n encontrado en la evoluci´n. Se trata por tanto de la medida o o ode evaluaci´n usual al tratar de estudiar el comportamiento de cualquier t´cnica heur´ o e ıstica.4 ¿Por qu´ funcionan? eEn este apartado se tratar´n algunas cuestiones relacionadas con el porqu´ “funcionan” los Algo- a eritmos Gen´ticos. El significado de la palabra “funcionan” se refiere al hecho de ser capaces de eencontrar el optimo de la funci´n durante el proceso de b´squeda. ´ o uSe estudiar´ en primer lugar el denominado Teorema de los esquemas, (Goldberg, 1989), adaptando ala notaci´n, para presentarlo en relaci´n con distribuciones binomiales, para a continuaci´n intro- o o oducir la denominada Hip´tesis de bloques, y finalizar referenciando algunos trabajos relativos a la oconvergencia de los Algoritmos Gen´ticos. e4.1 Teorema de los esquemasEn lo que sigue se desarrollar´ el denominado Teorema de los esquemas para el caso del Algoritmo aGen´tico Can´nico, utilizando adem´s un alfabeto binario. Dicho teorema utiliza el concepto de e o aesquema, que introducimos a continuaci´n. oSupongamos un alfabeto binario S = {0, 1}. Para construir un esquema necesitamos ampliar elalfabeto anterior por medio del s´ ımbolo ∗. Un esquema ser´ cualquier ristra de caracteres formada aa 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 otres elementos del alfabeto extendido S . Un esquema representa por tanto todas aquellas ristrasque se asocian con ´l, en todas las posiciones distintas de las ocupadas por ∗. eAs´ 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 uEl 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 al 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 longitudde un esquema, que se definen a continuaci´n. oEl orden del esquema Q, se denota por o(Q), y se refiere al n´mero de posiciones ocupadas por 0−s, uo 1−s dentro del esquema. Se trata por tanto del n´mero de posiciones fijas en el esquema. En´ uotras palabras se trata de la longitud de la ristra menos el n´mero de s´ u ımbolos ∗. Por ejemplo, lostres 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- aabilidad de supervivencia del esquema con relaci´n al operador mutaci´n. o oLa longitud del esquema Q, se denota por medio de δ(Q), y se define como la distancia entre laprimera 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 aloperador 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 opc , la probabilidad de cruce,pm , la probabilidad de mutaci´n. oPor otra parte, ξ(Q, t) denotar´ el n´mero de ristras que en una determinada poblaci´n en el tiempo a u ot, 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 adefine como la media de la funci´n objetivo de todas las ristras que en la poblaci´n se asocian con o oel 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 oF (t) = F (t)/λ, siendo F (t) la suma de las funciones objetivo de todas los individuos en la poblaci´n oen el tiempo t.Con la notaci´n introducida hasta el momento, podemos enunciar el Teorema de los esquemas de la osiguiente manera.Teorema de los esquemas Si denotamos por Esel, cru, mut (ξ(Q, t + 1)), el n´mero esperado de uindividuos que se asocian con el esquema Q, en el tiempo t + 1, despu´s de efectuar la selecci´n, el e ocruce 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−1La demostraci´n se efectuar´ en tres pasos, en el primero de los cuales se estudiar´ el efecto de la o a aselecci´n basada en la ruleta sesgada, en el n´mero esperado de individuos que se asocian con la o uristra Q. Dicho n´mero se denotar´ por Esel (ξ(Q, t + 1)). A continuaci´n se ver´ el efecto del cruce u a o aen dicho n´mero esperado, el cual se denotar´ por Esel, cru (ξ(Q, t + 1)), para finalmente tratar el u aefecto 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 oel 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−1o 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−1La f´rmula anterior nos proporciona una cota inferior del n´mero esperado de individuos que se o uasocian con el esquema Q en la siguiente generaci´n, expresado en funci´n del n´mero de individuos o o uque se asocian con el esquema en la actual generaci´n, as´ como de la adaptaci´n del esquema o ı orelativa a la adaptaci´n media de la poblaci´n, el orden y la longitud del esquema, la longitud de o olas ristras, as´ como las probabilidades de cruce y mutaci´n. ı oTal y como se desprende de la f´rmula anterior, esquemas cortos, de bajo orden y con una adaptaci´n o oal problema superior a la adaptaci´n media, se espera que a medida que evoluciona el Algoritmo oGen´tico, obtengan un incremento exponencial en el n´mero de individuos que se asocian con los e umismos. 18
  • 4.2 Paralelismo impl´ ıcitoEl hecho de que los Algoritmos Gen´ticos efect´en b´squedas robustas, se debe a que impl´ e u u ıcitamentemuestrean hiperplanos. Es decir cada individuo, representado por medio de una codificaci´n binaria, oconstituye un v´rtice del hipercubo que representa el espacio de b´squeda, y es a su vez un miembro e ude 2l − 1 diferentes hiperplanos, donde l es la longitud de la codificaci´n binaria. Por otra parte oexisten un total de 3l − 1 hiperplanos particiones sobre el espacio de b´squeda total. uCada individuo no proporciona gran informaci´n si se examina por separado. Es por ello que la ob´squeda basada en una poblaci´n es cr´ u o ıtica para los Algoritmos Gen´ticos. Una poblaci´n de indi- e oviduos, proporciona informaci´n sobre numerosos hiperplanos, estando los hiperplanos de bajo orden omuestrados por numerosos puntos de la poblaci´n. El hecho de que se muestreen muchos hiperplanos ocuando se eval´a una poblaci´n de ristras, se conoce como el paralelismo impl´ u o ıcito o intr´ ınseco delos Algoritmos Gen´ticos. Dicho paralelismo impl´ e ıcito, significa que muchas competiciones entrehiperplanos se efect´an simult´neamente. u a4.3 Teoremas de convergenciaRudolph (1994) demuestra la no convergencia hacia el optimo global del algoritmo gen´tico can´nico, ´ e oas´ como la garant´ de convergencia expresada en t´rminos probabil´ ı ıa, e ısticos, del algoritmo gen´tico eque mantiene a la mejor soluci´n en la poblaci´n. o oDavis y Principe (1993) extrapolan los fundamentos te´ricos del algoritmo simulated annealing a un omodelo de algoritmo gen´tico basado en cadenas de Markov. Se efect´a un estudio de las matrices e ude transici´n de estados teniendo en cuenta en primer lugar tan s´lo la reproducci´n, a continuaci´n o o o ola reproducci´n y la mutaci´n y finalmente la reproducci´n, la mutaci´n y el cruce. o o o oSuzuki (1993) efect´a un estudio de la convergencia de los algoritmos gen´ticos por medio de cadenas u ede Markov. Los algoritmos gen´ticos estudiados presentan un criterio de reducci´n elitista modifi- e ocado, seg´n el cual se genera una poblaci´n de λ individuos, incluyendo en ella al mejor individuo u ode la poblaci´n en la generaci´n anterior, obteni´ndose los λ − 1 individuos restantes por medio de o o elas operaciones gen´ticas normales. eLiepins (1992) demuestra la convergencia del algoritmo gen´tico hacia poblaciones que contienen al eoptimo, en el caso de algoritmos gen´ticos sin operador de mutaci´n, pero en los cuales el reem-´ e oplazamiento de individuos es elitista - el mejor individuo no se pierde nunca - y adem´s se efect´a de a utal manera que en cada paso cualquier punto del espacio sea potencialmente alcanzable por mediode la operaci´n de cruce. oChakraborty y Dastidar (1993), presentan un modelo de fiabilidad estoc´stica de un esquema para ael algoritmo gen´tico binario con longitud de representaci´n fija, y obtienen una estimaci´n para el e o on´mero de generaciones necesarias hasta obtener la convergencia. uEiben y col. (1990) modelan la evoluci´n del algoritmo gen´tico por medio de una cadena de Markov, o eobteniendo condiciones suficientes para la convergencia en probabilidad del procreso evolutivo haciael optimo global. ´ 19
  • 5 Operadores gen´ticos en el problema del agente viajero e5.1 Introducci´n oEl problema del agente viajero, tambi´n denominado TSP (Travelling Salesman Problem), consiste een -dada una colecci´n de ciudades- determinar la gira de m´ o ınimo costo, visitando cada ciudadexactamente una vez y volviendo al punto de partida.M´s precisamente, dado un n´mero entero n ≥ 3 y dada una matriz C = (c ij ) ∈ M (n, n), con a uelementos cij enteros no negativos, se trata de encontrar la permutaci´n c´ o ıclica π de los enteros de n1 a n que minimiza i=1 ciπ(i) .A lo largo de los a˜os el problema del agente viajero ha ocupado la mente de numerosos investi- ngadores. Los motivos son varios. En primer lugar, el TSP es un problema muy sencillo de enunciar,pero muy dif´ de resolver. En segundo lugar, el TSP es aplicable a una gran variedad de problemas ıcilde planificaci´n. Finalmente, se ha convertido en una especie de problema test, es decir los nuevos om´todos de optimizaci´n combinatoria son a menudo aplicados al TSP con objeto de tener una idea e ode sus potencialidades.Son numerosos los heur´ ısticos que se han desarrollado para el TSP. La mayor´ de ellos se describen ıaen Lawler y col. (1985). La primera aproximaci´n al TSP a partir de Algoritmos Gen´ticos la o eefectu´ Brady (1985). Su intento fue seguido por Grefenstette y col. (1985), Goldberg y Lingle o(1985), Oliver y col. (1987) y otros muchos. Tambi´n han sido aplicados otros Algoritmos Evolu- etivos, v´anse por ejemplo, Fogel (1988), Banzhaf (1990) y Ambati y col. (1991). Se pueden encontrar eejemplos de problemas para el TSP, en algunos casos con su soluci´n, en una librer´ disponible via o ıaftp, tecleando lo que sigue: ftp sfi.santafe.edu Name (sfi.santafe.edu: foobar): anonymous Password: < e-mail address > ftp> cd pub/EC/etc/data/TSP ftp> type binary ftp> get tsplib-1.2.tar.gz La librer´ fue compilada por Reinelt. Para m´s informaci´n sobre la misma, v´ase Reinelt ıa a o e(1991).Se expondr´n distintas representaciones, as´ como diferentes operadores de cruce y mutaci´n, que a ı ohan sido utilizados para resolver el TSP por medio de Algoritmos Gen´ticos. e5.2 Representaci´n basada en la trayectoria oLa representaci´n basada en la trayectoria es la representaci´n m´s natural de una gira. En ella, o o auna gira se representa como una lista de n ciudades. Si la ciudad i es el j-´simo elemento de la lista, ela ciudad i es la j-´sima ciudad a visitar. As´ por ejemplo, la gira 3 − 2 − 4 − 1 − 7 − 5 − 8 − 6 se e ırepresentar´ como a (3 2 4 1 7 5 8 6).Debido a que los operadores cl´sicos no funcionan con esta representaci´n, se han definido otros a ooperadores de cruce y mutaci´n, algunos de los cuales se describen a continuaci´n. Resultados o oexperimentales con dichos operadores de cruce y mutaci´n pueden consultarse en Larra˜aga et al. o n(1999).5.2.1 Operadores de cruce5.2.2 Operador de cruce basado en una correspondencia parcial (PMX)El PMX lo introdujeron Goldberg y Lingle (1985). En ´l, una parte de la ristra representando a euno de los padres, se hace corresponder con una parte, de igual tama˜o, de la ristra del otro padre, nintercambi´ndose la informaci´n restante. a o 20
  • Por ejemplo, si consideramos los dos padres siguientes: (1 2 3 4 5 6 7 8) y (3 7 5 1 6 8 2 4),el operador PMX crea las giras descendientes de la siguiente manera. En primer lugar, seleccionacon probabilidad uniforme dos puntos de corte a lo largo de las ristras que representan las giraspadres. Supongamos que el primer punto de corte se selecciona entre el tercer y el cuarto elementode la gira, y el segundo entre el sexto y el s´ptimo elemento: e (1 2 3 | 4 5 6 | 7 8) y (3 7 5 | 1 6 8 | 2 4).Se considera que existe una correspondencia biun´ ıvoca entre los elementos que forman parte de lassubristras comprendidas entre los puntos de corte. En nuestro ejemplo la correspondencia establecidaes la siguiente: 4 ↔ 1, 5 ↔ 6 y 6 ↔ 8. A continuaci´n la subristra del primer padre se copia en oel segundo hijo. De forma an´loga, la subristra del segundo padre se copia en el primer hijo, aobteni´ndose: e descendiente 1: (x x x | 1 6 8 | x x) y descendiente 2: (x x x | 4 5 6 | x x).En el siguiente paso el descendiente i-´simo (i=1,2) se rellena copiando los elementos del i-´simo e epadre. En el caso de que una ciudad est´ ya presente en el descendiente, se reemplaza teniendo en ecuenta la correspondencia anterior. Por ejemplo el primer elemento del descendiente 1 ser´ un 1 aal igual que el primer elemento del primer padre. Sin embargo, al existir un 1 en el descendiente1 y teniendo en cuenta la correspondencia 1 ↔ 4, se escoge la ciudad 4 como primer elementodel descendiente 1. El segundo, tercer y s´ptimo elementos del descendiente 1 pueden escogerse edel primer padre. Sin embargo, el ultimo elemento del descendiente 1 deber´ ser un 8, ciudad ya ´ ıapresente. Teniendo en cuenta las correspondencias 8 ↔ 6, y 6 ↔ 5, se escoge en su lugar un 5. Deah´ que ı descendiente 1: (4 2 3 | 1 6 8 | 7 5).En forma an´loga, se obtiene: a descendiente 2: (3 7 8 | 4 5 6 | 2 1).5.2.3 Operador de cruce basado en ciclos (CX)El operador CX (Oliver y col., 1987) crea un descendiente a partir de los padres, de tal maneraque cada posici´n se ocupa por el correspondiente elemento de uno de los padres. Por ejemplo, oconsiderando los padres (1 2 3 4 5 6 7 8) y (2 4 6 8 7 5 3 1),escogemos el primer elemento del descendiente bien del primer elemento del primer padre o delprimer elemento del segundo padre. Por tanto, el primer elemento del descendiente debe ser un 1 oun 2. Supongamos que escogemos el 1. Por el momento, el descendiente tendr´ la siguiente forma: a (1 ∗ ∗ ∗ ∗ ∗ ∗ ∗).A continuaci´n debemos de considerar el ultimo elemento del descendiente. Ya que dicho elemento o ´debe ser escogido de uno de los padres, tan s´lo puede tratarse de un 8 o un 1. Al haber sido oseleccionado el 1 con anteriordad, se escoge el 8, con lo cual el descendiente estar´ constituido por a (1 ∗ ∗ ∗ ∗ ∗ ∗ 8).De forma an´loga encontramos que el segundo y cuarto elemento del descendiente deben de ser aseleccionados del primer padre, lo cual resulta (1 2 ∗ 4 ∗ ∗ ∗ 8). 21
  • Una vez concluido ese ciclo, consideramos a continuaci´n el tercer elemento del descendiente. Dicho oelemento puede ser escogido de cualquiera de los padres. Supongamos que lo seleccionamos delsegundo padre. Esto implica que los elementos quinto, sexto y s´ptimo del descendiente deben ede escogerse del segundo padre, ya que constituyen un ciclo. De ah´ que se obtenga el siguiente ıdescendiente (1 2 6 4 7 5 3 8).5.2.4 Operador de cruce basado en el orden (OX1)El operador OX1 propuesto por Davis (1985), construye descendientes escogiendo una subgira deun padre y preservando el orden relativo de las ciudades del otro padre.Por ejemplo, considerando las dos giras padres anteriores: (1 2 3 4 5 6 7 8) y (2 4 6 8 7 5 3 1),y suponiendo que se escoge un primer punto de corte entre el segundo y el tercer elemento y unsegundo punto entre el quinto y el sexto elemento, se tiene (1 2 | 3 4 5 | 6 7 8) y (2 4 | 6 8 7 | 5 3 1).Los descendientes se crean de la siguiente manera. En primer lugar, las subgiras comprendidas entrelos puntos de corte se copian en los descendientes, obteni´ndose e (∗ ∗ | 3 4 5 | ∗ ∗ ∗) y (∗ ∗ | 6 8 7 | ∗ ∗ ∗).A continuaci´n, comenzando por el segundo punto de corte de uno de los padres, el resto de las ociudades se copian en el orden en el que aparecen en el otro padre, omiti´ndose las ciudades ya epresentes. Cuando se llega al final de la ristra de la gira padre, se contin´a en su primera posici´n. u oEn nuestro ejemplo, esto da origen a los siguientes hijos: (8 7 | 3 4 5 | 1 2 6) y (4 5 | 6 8 7 | 1 2 3).5.2.5 Operador de cruce basado en el orden (OX2)Syswerda (1991) sugiere, en conexi´n con problemas de secuenciaci´n de tareas, el operador OX2, el o ocual puede considerarse como una modificaci´n del OX1. El operador OX2 selecciona al azar varias oposiciones en el string de uno de los padres, para a continuaci´n imponer en el otro padre, el orden ode los elementos en las posiciones seleccionadas.Por ejemplo consideremos los padres (1 2 3 4 5 6 7 8) y (2 4 6 8 7 5 3 1),y supongamos que en el segundo padre se seleccionan las posiciones segunda, tercera y sexta. Loselementos en dichas posiciones son 4, 6 y 5 respectivamente. En el primer padre dichos elementos seencuentran en las posiciones cuarta, quinta y sexta. El descendiente coincidir´ con el primer padre asi exceptuamos las posiciones cuarta, quinta y sexta: (1 2 3 ∗ ∗ ∗ 7 8).A continuaci´n rellenamos los huecos del descendiente teniendo en cuenta el orden con el que apare- ocen en el segundo padre. Como resultado obtenemos (1 2 3 4 6 5 7 8).Cambiando el papel entre el primer y segundo padre, y utilizando las mismas posiciones selec-cionadas, obtendremos el segundo descendiente: (2 4 3 8 7 5 6 1). 22
  • 5.2.6 Operador de cruce basado en la posici´n (POS) oSyswerda (1991) propone tambi´n en conexi´n con problemas de secuenciaci´n, una segunda modi- e o oficaci´n del operador OX1: el operador POS. El operador POS tambi´n comienza seleccionando al o eazar un conjunto de posiciones en las giras padres. Sin embargo este operador impone, la posici´n ode los elementos seleccionados, en los correspondientes elementos del otro padre.Por ejemplo, si consideramos los padres (1 2 3 4 5 6 7 8) y (2 4 6 8 7 5 3 1),y suponemos que se seleccionan las posiciones segunda, tercera y sexta, esto nos proporcionar´ los ıasiguientes descendientes: (1 4 6 2 3 5 7 8) y (4 2 3 8 7 6 5 1).5.2.7 Operador de cruce basado en la combinaci´n de arcos (ER) oEste operador desarrollado por Whitley y col. (1991), Whitley y Starkweather (1990), utiliza una“conexi´n de arcos”, la cual proporciona para cada ciudad los arcos de los padres que comienzan o ofinalizan en ella. Por ejemplo, si consideramos las giras: (1 2 3 4 5 6) y (2 4 3 1 5 6),la “conexi´n de arcos” correspondiente puede consultarse en la Tabla 6.3. El operador ER funciona o ciudad ciudades conectadas 1 2, 6, 3, 5 2 1, 3, 4, 6 3 2, 4, 1 4 3, 5, 2 5 4, 6, 1 6 1, 5, 2 Tabla 6.3: Conexi´n de arcos, para las giras (1 2 3 4 5 6) y (2 4 3 1 5 6). ode acorde con el siguiente algoritmo: 1. Escoger la ciudad inicial de una de las dos giras padres. Esta selecci´n puede realizarse al o azar o de acorde con el criterio expuesto en el paso 4. La ciudad seleccionada se denominar´ a “ciudad de referencia”. 2. Quitar todas las ocurrencias de la “ciudad de referencia” de la parte derecha de la tabla de “conexi´n de arcos” correspondiente. o 3. Si la “ciudad de referencia” tiene entradas en la lista de arcos se ir´ al paso 4, en caso contrario a al paso 5. 4. Determinar la ciudad que perteneciendo a la lista de ciudades conectadas con la “ciudad de referencia” tenga el menor n´mero de entradas en su lista de arcos. Dicha ciudad se convierte u en la nueva “ciudad de referencia”. Los empates se dilucidan al azar. Ir al paso 2. 5. Si no quedan ciudades por visitar, parar el algoritmo. En otro caso, escoger al azar una ciudad no visitada e ir al paso 2.Para el ejemplo anterior, obtenemos: 23
  • • La primera gira descendiente se inicializa con una de las dos ciudades iniciales de sus giras padres. Las ciudades iniciales 1 y 2 ambas tienen 4 arcos; escogemos al azar la ciudad 2. • La lista de ciudades para la ciudad 2 indica que los candidatos para convertirse en la siguiente “ciudad de referencia” son las ciudades 1, 3, 4 y 6. Las ciudades 3, 4 y 6 tienen todas 2 arcos: los tres iniciales menos la conexi´n con la ciudad 2. La ciudad 1 tiene tres arcos y por tanto o no se tiene en cuenta. Supongamos que se escoge al azar la ciudad 3. • La ciudad 3 est´ conectada con la ciudad 1 y con la ciudad 4. Se escoge la ciudad 4 ya que es a la que menos arcos tiene. • La ciudad 4 tan s´lo tiene un arco, a la ciudad 5, la cual se escoge a continuaci´n como nueva o o “ciudad de referencia”. • La ciudad 5 tiene arcos a las ciudades 1 y 6, las cuales tienen ambas tan s´lo 1 arco. Escogemos o al azar la ciudad 1. • La ciudad 1 debe ir a la ciudad 6.La gira resultante es (2 3 4 5 1 6),la cual ha sido creada totalmente utilizando arcos tomados de las dos giras padres.5.2.8 Operador de cruce basado en la combinaci´n del voto (VR) oEl operador VR propuesto por M¨hlenbein (1989) puede verse como un operador de cruce p-sexual, udonde p es un n´mero natural mayor o igual que 2. Comienza definiendo un umbral, que es un un´mero natural menor o igual que p. A continuaci´n para cada i ∈ {1, 2, . . . , n} se considera el u oconjunto de los i-´simos elementos. Si en dicho conjunto un elemento ocurre con una frecuencia esuperior o igual al umbral anteriormente determinado, dicho elemento se copia en el descendiente.Por ejemplo, si se consideran los padres (p=4) (1 4 3 5 2 6 ), (1 2 4 3 5 6 ), (3 2 1 5 4 6 ), (1 2 3 4 5 6 )y definimos el umbral en 3, encontramos (1 2 ∗ ∗ ∗ 6).El resto de las posiciones se completan con mutaciones. Por tanto, en nuestro ejemplo se podr´ ıaobtener como resultado: (1 2 4 5 3 6).5.2.9 Operador de cruce basado en la alternancia de las posiciones (AP)El operador AP ( Larra˜aga y col., 1999), crea un descendiente seleccionando ciudades alterna- ntivamente del primer y segundo padre en el orden ocupado por los mismos, omiti´ndose aquellas eciudades que ya se encuentran presenten en la gira descendiente.Por ejemplo, si el primer padre es (1 2 3 4 5 6 7 8)y el segundo padre es (3 7 5 1 6 8 2 4),el operador AP proporciona el siguiente descendiente (1 3 2 7 5 4 6 8).Cambiando el orden de los padres se obtiene (3 1 7 2 5 4 6 8). 24
  • 5.3 Operadores de mutaci´n o5.3.1 Operador de mutaci´n basado en el desplazamiento (DM) oEl operador DM (Michalewizc, 1997) comienza seleccionando una subristra al azar. Dicha subristrase extrae de la gira, y se inserta en un lugar aleatorio.Por ejemplo, si consideramos la gira representada por (1 2 3 4 5 6 7 8),y suponemos que se selecciona la subristra (3 4 5), despu´s de quitar dicha subristra tenemos e (1 2 6 7 8).Supongamos que aleatoriamente seleccionamos la ciudad 7 para insertar a partir de ella la subgiraextraida. Esto producir´ la gira: ıa (1 2 6 7 3 4 5 8).5.3.2 Operador de mutaci´n basado en cambios (EM) oEl operador EM (Banzhaf, 1990) selecciona al azar dos ciudades en la gira y las cambia.Por ejemplo, si consideremos la gira representada por (1 2 3 4 5 6 7 8),y suponemos que seleccionamos al azar la tercera y la quinta ciudad. El resultado del operador EMsobre la gira anterior ser´ ıa (1 2 5 4 3 6 7 8).5.3.3 Operador de mutaci´n basado en la inserci´n (ISM) o oEl operador ISM (Fogel, 1993; Michalewizc, 1992) escoge aleatoriamente una ciudad en la gira, paraa continuaci´n extraer dicha ciudad de la gira, e insertarla en un lugar seleccionado al azar. oPor ejemplo, si consideramos de nuevo la gira (1 2 3 4 5 6 7 8),y suponiendo que se seleccione la ciudad 4, para colocarla a continuaci´n de la ciudad 7, el resultado oser´ ıa (1 2 3 5 6 7 4 8).5.3.4 Operador de mutaci´n basado en la inversi´n simple (SIM) o oEl operador SIM (Holland, 1975; Grefenstette y col., 1985) selecciona aleatoriamente dos puntos decorte en la ristra, para a continuaci´n revertir la subristra comprendida entre ambos. oPor ejemplo, si consideramos la gira (1 2 3 4 5 6 7 8),y suponemos que el primer punto de corte se escoge entre la segunda y tercera ciudad, y el segundopunto de corte se escoge entre la quinta y la sexta ciudad, la gira resultante ser´ ıa (1 2 5 4 3 6 7 8). 25
  • 5.3.5 Operador de mutaci´n basado en la inversi´n (IVM) o oEl operador IVM (Fogel, 1988, 1993) es similar al operador DM. Se selecciona al azar una subgira,para a continuaci´n y una vez extra´ la misma, insertarla en orden contrario en una posici´n o ıda oseleccionada aleatoriamente.Por ejemplo, si consideramos la gira (1 2 3 4 5 6 7 8),y se supone que se escoge la subgira (3 4 5), para insertarla a continuaci´n de la ciudad 7, ob- otendr´ ıamos (1 2 6 7 5 4 3 8).5.3.6 Operador de mutaci´n basado en el cambio (SM) oEste operador de mutaci´n, introducido por Syswerda (1991), selecciona una subgira al azar y a ocontinuaci´n cambia el orden de las ciudades de la misma. oPor ejemplo, considerando la gira (1 2 3 4 5 6 7 8),y suponiendo que se escoge la subgira (4 5 6 7) podr´ ıamos obtener como resultado (1 2 3 5 6 7 4 8).5.4 Representaci´n binaria oEn una representaci´n binaria de un TSP con n ciudades, cada ciudad se codifica como una subristra ode log2 n bits, donde log2 n denota la suma entre la parte entera del logaritmo en base 2 de n yla unidad. Una gira de n ciudades, se representar´ por medio de una ristra de n log 2 n bits. aPor ejemplo, en un TSP de 6 ciudades, las ciudades se representan por medio de subristras de 3 bits(v´ase Tabla 3.2). Siguiendo la representaci´n binaria definida en la tabla, la gira 1−2−3−4−5−6 e o i ciudad i i ciudad i 1 000 4 011 2 001 5 100 3 010 6 101 Tabla 6.4: Representaci´n binaria para un TSP con 6 ciudades ose representa por medio de (000 001 010 011 100 101).N´tese que existen subristras de 3 bits que no corresponden a ninguna ciudad, por ejemplo 110 y o111.5.4.1 El cruce cl´sico aPara mostrar la problem´tica que surge al aplicar el operador de cruce basado en un punto, se aconsideran las dos giras siguientes: (000 001 010 011 100 101) y (101 100 011 010 001 000).Suponiendo que el punto de cruce escogido al azar se encuentre entre el noveno y el d´cimo bit, etendr´ ıamos: (000 001 010 | 011 100 101) y (101 100 011 | 010 001 000). 26
  • La combinaci´n de las distintas partes da como resultado o (000 001 010 010 001 000) y (101 100 011 011 100 101).Ninguna de las ristras anteriores representan giras legales.5.4.2 La mutaci´n cl´sica o aAl aplicar el operador de mutaci´n, cada bit tiene una probabilidad de ser alterado cercana a cero. oPor ejemplo, si consideramos de nuevo la ristra (000 001 010 011 100 101),y suponemos que se mutan el primer y segundo bit, obtenemos como resultado la ristra: (110 001 010 011 100 101),la cual no representa una gira.5.5 Otro tipo de representaci´n binaria oWhitley y col. (1989, 1991), sugieren una representaci´n binaria diferente de la anterior, en la cual oen primer lugar se define una lista ordenada que contiene todos los posibles arcos no dirigidos. Conla ayuda de esta lista, una gira puede escribirse como un vector binario, con una longitud igual aln´mero de arcos en la lista anterior. El i-´simo elemento del vector binario valdr´ 1, si y s´lo si, el u e a oi-´simo arco de la lista ordenada es parte de la gira. En caso contrario su valor ser´ 0. e aPor ejemplo, para el TSP de 6 ciudades, la lista ordenada podr´ definirse a partir de la siguiente ıalista de arcos no dirigidos: (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 3), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6).Entonces la gira 1 − 2 − 3 − 4 − 5 − 6, se representa por el vector binario 100011000100101.5.6 Representaci´n matricial oEn esta secci´n se introducen dos aproximaciones al problema usando representaciones matriciales obinarias.Fox y McMahon (1987) representan una gira como una matriz en la cual el elemento (i, j) de lamisma vale 1, si y s´lo si, en la gira la ciudad i se visita con anterioridad a la j. En caso contrario odicho elemento valdr´ 0. aUna manera de definir el cruce es por medio de un operador que construye un descendiente, O, apartir de dos padres, P1 y P2 , de la manera siguiente. En primer lugar, ∀i, j ∈ {1, 2, . . . , n}, siendon el n´mero de ciudades, se define u 1 si p1,ij = p2,ij = 1, oij := 0 en otro caso.A continuaci´n, algunos 1-s que tan s´lo aparecen en uno de los padres se a˜aden al descendiente, o o npara finalmente completarse la matriz de manera que el resultado sea una gira legal. 27
  • Por ejemplo, las giras padres 2 − 3 − 1 − 4 y 2 − 4 − 1 − 3 que se representan por medio de lasmatrices:     0 0 0 1 0 0 1 0  1 0 1 1   1 0 1 1    y  ,  1 0 0 1   0 0 0 0  0 0 0 0 1 0 1 0despu´s de la primera fase dan como resultado: e   0 0 0 0  1 0 1 1   .  0 0 0 0  0 0 0 0Esta matriz puede completarse de 6 maneras diferentes, ya que la unica restricci´n en la gira ´ odescendiente es que comienza en la ciudad 2. Una posible gira descendiente es: 2 − 1 − 4 − 3,la cual se representa por medio de:   0 0 1 1  1 0 1 1   0 0 0 0 .   0 0 1 0Fox y McMahon no definen ning´n operador de mutaci´n. u oSeniw (1991) define otra representaci´n en la cual el elemento (i, j) de la matriz vale 1, si y s´lo si, en o ola gira la ciudad j se visita inmediatamente despu´s de la ciudad i. Esto implica que una gira legal ese representa por medio de una matriz en la cual en cada fila y cada columna existe exactamenteun 1. Sin embargo, tal y como se ver´ en el ejemplo siguiente, una matriz que contiene exactamente aun 1 en cada fila y en cada columna no representa necesariamente un gira legal.As´ por ejemplo, si consideramos las matrices ı     0 0 0 1 0 1 0 0  0 0 1 0   1 0 0 0   1 0 0 0  y  0    , 0 0 1  0 1 0 0 0 0 1 0la primera de ellas representa la gira 2 − 3 − 1 − 4, mientras que la segunda est´ representando el aconjunto de subgiras {1 − 2}, {3 − 4} .Adem´s, los operadores de cruce y mutaci´n definidos por Seniw (1991) no garantizan que el de- a oscendiente sea una gira legal, de ah´ que necesiten operadores de reparaci´n que transformen dichos ı odescendientes en giras legales.5.7 Representaci´n basada en una lista de adyacencia oEn la representaci´n basada en una lista de adyacencia, una gira se representa como una lista de n ociudades. La ciudad j est´ en la posici´n i-´sima, si y s´lo si, la gira va de la ciudad i a la j. a o e oAs´ por ejemplo, la lista de adyacencia ı (3 5 7 6 4 8 2 1)representa la gira 1 − 3 − 7 − 2 − 5 − 4 − 6 − 8.N´tese que toda gira tiene una unica representaci´n por medio de una lista de adyacencia. Sin o ´ oembargo, una lista de adyacencia puede no representar una gira.As´ por ejemplo, ı (3 5 7 6 2 4 1 8)representa el siguiente conjunto de subgiras: 1 − 3 − 7, 2 − 5, 4 − 6 y 8. 28
  • Puede comprobarse que con esta representaci´n el operador de cruce basado en un punto puede dar oorigen a giras ilegales. Para solventar esta problem´tica se han definido otros operadores de cruce a-Grefenstette y col. (1985)-.5.8 Representaci´n ordinal oEn la representaci´n ordinal -Grefenstette y col. (1985)- una gira se representa como una lista, T , ode longitud n, denotando n el n´mero de ciudades. El i-´simo elemento de la lista T , es un n´mero u e uentero comprendido entre 1 y n − i + 1. Existe tambi´n una lista ordenada de ciudades, L 0 , que esirve como punto de referencia inicial, y que posteriormente se actualiza.As´ por ejemplo, sea la lista ordenada de ciudades: ı L0 = (1 2 3 4 5 6 7 8).Sea la gira 1 − 5 − 3 − 2 − 8 − 4 − 7 − 6. Su representaci´n ordinal consiste en la ristra: o T = (1 4 2 1 4 1 2 1)la cual se interpreta de la siguiente manera: • El primer n´mero de T es el 1. Esto significa que para conseguir la primera ciudad de la gira, u se debe de coger el primer elemento de la lista L0 y a continuaci´n quitarlo de dicha lista. La o gira parcial es: 1, y la lista ordenada de ciudades actualizada ser´: a L1 = (2 3 4 5 6 7 8). • El segundo elemento de T es el 4. Para conseguir la segunda ciudad de la gira, debemos de escoger el cuarto elemento de la lista L1 , que es un 5. A continuaci´n quitamos el 5 de la lista o L1 . La gira parcial es: 1 − 5, y la lista ordenada de ciudades actualizada ser´: a L2 = (2 3 4 6 7 8).Si continuamos de manera an´loga hasta que quitemos todos los elementos de la lista ordenada de aciudades, obtenemos la gira 1 − 5 − 3 − 2 − 8 − 4 − 7 − 6.La ventaja de la representaci´n ordinal es que el operador de cruce basado en un punto funciona. o 29
  • 6 Notas bibliogr´ficas aEl primer libro escrito sobre algoritmos gen´ticos se debe a Holland (1975). El libro recoge el tra- ebajo llevado a cabo por investigadores de la Universidad de Michigan en relaci´n con los algoritmos ogen´ticos. Sin embargo hasta la publicaci´n del libro escrito por Goldberg (1989) no se llegan a e opopularizar los algoritmos gen´ticos como una herramienta para la b´squeda y la optimizaci´n. Con e u oposterioridad a este trabajo un gran n´mero de publicaciones (libros, revistas, informes internos de uinvestigaci´n, etc.) asi como de congresos y conferencias (International Conference on Genetic Al- ogorithms, Parallel Problem Solving from Nature, Congress on Evolutionary Computation, Geneticand Evolutionary Computation Conference, etc.) se han ido desarrollando, convirtiendo a la com-putaci´n evolutiva en general, y a los algoritmos gen´ticos en particular, en una de las areas m´s o e ´ aactivas de la Inteligencia Artificial.7 Recursos en internet • http://www.aic.nrl.navy.mil/galist Se trata de un repositorio de informaci´n acerca de la investigaci´n relacionada con los algo- o o ritmos gen´ticos y otras t´cnicas de computaci´n evolutiva. En el mismo se pueden encon- e e o trar los mensajes semanales enviados por la lista de distribuci´n GA-list digest, al igual que o gran n´mero de implementaciones de algoritmos gen´ticos, y anuncios acerca de conferencias u e cient´ ıficas relacionadas con la computaci´n evolutiva. Resultan tambien de inter´s los links a o e distintos grupos de investigaci´n trabajando en este tema. o • http://www.cs.gmu.edu/research/gag Grupo de investigaci´n de la Universidad George Masson (Virginia) investigando sobre algo- o ritmos gen´ticos. El grupo est´ dirigido por el Prof. De Jong. e a • http://ls11-www.informatik.uni-dortmund.de/Welcome-e.html Grupo de investigaci´n de la Universidad de Dortmund (Alemania) trabajando sobre com- o putaci´n evolutiva, principalmente sobre estrategias evolutivas (Prof. Schwefel) y progra- o maci´n gen´tica (Prof. Banzhaf). o e • http://www-illigal.ge.uiuc.edu/index.html P´gina web del grupo Illinois Genetic Algorithms Laboratory dirigido por el Prof. Goldberg. a • http://www.cs.colostate.edu/ genitor P´gina web del The Genitor Group grupo de investigaci´n de la Universidad de Colorado, a o dirigido por el Prof. Whitley. Ejercicios Dise˜ar Algoritmos Gen´ticos (funci´n de coste, representaci´n de individuos, operadores de n e o ocruce y mutaci´n) para los siguientes problemas: o 1. El problema del agente viajero Dada una colecci´n finita de ciudades, determinar la gira de m´ o ınimo coste, visitando cada ciudad exactamente una vez y volviendo al punto de partida. Sea n ≥ 3, y C = (cij ) una matriz M (n, n) de n´meros reales positivos, encontrar la per- u n−1 o ıclica π de los enteros de 1 a n que minimice i=1 cπ(i)π(i+1) + cπ(n)π(1) mutaci´n c´ 2. El problema de la mochila 0 − 1 Dado un conjunto finito de items, cada uno de los cuales tiene asocido un peso y una ganancia, seleccionar el subconjunto de items a incluir en una mochila –capaz de soportar un peso m´ximo finito– cuya inclusi´n proporcione una ganancia m´xima. a o a Sean n items y una mochila capaz de soportar un peso m´ximo C. Denotamos por b j el a beneficio obtenido al introducir el item j en la mochila, mientras que wj denota el peso asociado 30
  • n a dicho item j. Se trata de seleccionar un subconjuto de items que maximicen Z = j=1 bj xj , n sujeto a la restricci´n j=1 wj xj ≤ C, siendo o 1 si el item j seleccionado xj = 0 si el item j no seleccionado3. El problema de las n reinas En un hip´tetico tablero de ajedrez n × n, posicionar n reinas, de tal manera que ninguna o ataque al resto.4. Problema de agrupamiento I Agrupar N n´meros en k grupos disjuntos minimizando la suma de las diferencias entre los u grupos.5. Problema de agrupamiento II Disponer los N 2 primeros n´meros naturales en una matriz cuadrada M (N, N ) de tal manera u que las sumas tanto por filas como por columnas coincidan.6. Problema de emplazamiento de bloques rectangulares Dado un conjunto de n bloques rectangulares de distintas anchuras y alturas, se trata de encontrar un emplazamiento –asignaci´n de los centros de los bloques rectangulares a puntos o de un espacio cartesiano bidimensional– de tal forma que no haya solapamientos entre los bloques rectangulares, y se minimice la funci´n de coste f = A + λC, donde A es el area del o ´ rect´ngulo que engloba todos los bloques rectangulares, λ es una constante positiva y C un a n−1 n t´rmino de conectividad C = i=1 j=i+1 wij dij , siendo dij la distancia entre los centros de e los bloques rectangulares y wij el coste relacionado al unir el bloque rectangular i-´simo con e el bloque rectangular j-´simo. e7. Particionamientos de un grafo. Problema ”max-cut”. Problema ”min-cut”. Dado un grafo G = (V, E) sin ciclos, donde cada arista lleva asociada un peso entero positivo, se trata de encontrar una partici´n de V en dos conjuntos disjuntos V0 y V1 de tal manera que o la suma de los pesos de las aristas que tienen un extremo en V0 y el otro extremo en V1 , sea m´ximo (problema ”max-cut”) o m´ a ınimo (problema ”min-cut”).8. Problema del conjunto de v´rtices independientes. e Dado un grafo G = (V, E), se trata de encontrar el denominado conjunto maximal de v´rtices e independientes, es decir el conjunto V IM ⊂ V de mayor cardinalidad para el cual ninguna de sus aristas se encuentre en E (∀u, v ∈ V IM =⇒ {u, v} ∈ E).Lista de trabajos optativos1. Elaboraci´n de un informe recogiendo los trabajos mas actuales en los que los algoritmos o gen´ticos han sido aplicados al problema de la ruta de veh´ e ıculos. Se trata de gestionar de manera eficiente un flota de veh´ıculos que debe de satisfacer las peticiones diarias de una serie de clientes.2. Elaboraci´n de un informe recogiendo los trabajos mas actuales en los que los algoritmos o gen´ticos han sido aplicados al problema de la b´squeda del filtro optimo en im´genes digitales. e u ´ a3. Elaboraci´n de un informe recogiendo las caracter´ o ısticas del software de libre distribuci´n o disponible en internet en relaci´n con los algoritmos gen´ticos. o eReferencias1. D.H. Ackley (1987). A Connectionist Machine for Genetic Hillclimbing, Kluwer Academic Publishers. 31
  • 2. J.T. Alander (1992). On optimal population size of genetic algorithms. Proceedings Com- pEuro 1992, Computer Systems and Software Engineering, 6th Annual European Computer Conference, 65-70. 3. B.K. Ambati, J. Ambati, M.M. Mokhtar (1991). Heuristic combinatorial optimization by sim- ulated Darwinian evolution: A polynomial time algorithm for the traveling salesman problem, Biological Cybernetics, 65, 31-35. 4. J.E. Baker (1987). Reducing bias and inefficiency in the selection algorithm. Proceedings of the Second International Conference on Genetic Algorithms and Their Applications, 14-21. 5. W. Banzhaf (1990). The “molecular” traveling salesman, Biological Cybernetics, 64, 7-14. 6. R.M. Brady (1985). Optimization strategies gleaned from biological evolution, Nature, 317, 804-806. 7. M.F. Bramlette (1991). Initialization, mutation and selection methods in genetic algorithms for function optimization. Proceedings of the Fourth International Conference on Genetic Algorithms, 100-107. 8. A. Brindle (1991). Genetic algorithms for function optimization. Tesis doctoral, Universidad de Alberta, Canada. 9. U.K. Chakraborty, D.G. Dastidar (1993). Using reliability analysis to estimate the number of generations to convergence in genetic algorithms. Information Processing Letters, 46, 199-209.10. C. Darwin (1859). On the Origin of Species by Means of Natural Selection, Murray, London.11. L. Davis (1985). Applying adaptive algorithms to epistatic domains, en Proceedings of the International Joint Conference on Artificial Intelligence, 162-164.12. L. Davis (ed.) (1991). Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York.13. T.E. Davis, J.C. Principe (1993). A Markov chain framework for the simple genetic algorithm. Evolutionary Computation, 1(3), 269-288.14. K.A. De Jong (1975). An analysis of the behaviour of a class of genetic adaptive systems. Tesis doctoral, University of Michigan.15. A.E. Eiben, E.H.L. Aarts, K.M. Van Hee (1990). Global convergence of genetic algorithms: An infinite Markov chain analysis. Computing Science Notes, Eindhoven University of Technology, The Netherlands.16. T.C. Fogarty (1989). Varying the probability of mutation in the genetic algorithm. Proceedings of the Third International Conference on Genetic Algorithms, 104-109.17. D. B. Fogel (1988). An evolutionary approach to the traveling salesman problem, Biological Cybernetics, 60, 139-144.18. D. B. Fogel (1993). Applying evolutionary programming to selected traveling salesman prob- lems, Cybernetics and Systems, 24, 27-36.19. M. S. Fox, M. B. McMahon (1987). Genetic operators for sequencing problems, en Rawlings, G. (ed.) Foundations of Genetic Algorithms: First Workshop on the Foundations of Genetic Algorithms and Classifier Systems, Morgan Kaufmann Publishers, Los Altos, CA, 284-300.20. D.E. Goldberg (1989). Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA.21. D. E. Goldberg, Jr. R. Lingle (1985). Alleles, loci and the traveling salesman problem, en Pro- ceedings of the First International Conference on Genetic Algorithms and Their Applications, 154-159. 32
  • 22. D.E. Goldberg, J.T. Richardson (1987). Genetic algorithms with sharing for multimodal function optimization. Genetic Algorithms and their Applications: Proceedings of the Second International Conference on Genetic Algorithms and Their Applications, 41-49.23. M. Gorges-Schleuter (1989). ASPARAGOS An asynchronous parallel genetic optimization strategy. Proceedings on the Third International Conference on Genetic Algorithms, 422-427.24. J. Grefenstette, R. Gopal, B. Rosmaita, D. Van Gucht (1985). Genetic algorithms for the traveling salesman problem, en Proceedings of the First International Conference on Genetic Algorithms and Their Applications, 160-165.25. J. Holland (1975). Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor.26. P. Larra˜aga, M. Poza (1994). Structure learning of Bayesian network by genetic algorithms. n E. Diday (ed.), New Approaches in Classification and Data Analysis, Springer-Verlag, 300-307.27. P. Larra˜aga, C. Kuijpers, R. Murga, I. Inza, S. Dizdarevich (1999) Evolutionary algorithms n for the travelling salesman problem: A review of representations and operators. Artificial Intelligence Review, 13, 129–170.28. E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (eds.) (1985). The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, Chichester.29. G.E. Liepins (1992). On global convergence of genetic algorithms. Neural and Stochastic Methods in Image and Signal Processing, 61-65.30. Z. Michalewicz (1992). Genetic Algorithms + Data Structures = Evolution Programs, Springer- Verlag, Berlin Heidelberg.31. Z. Michalewicz, C.Z. Janikow (1991). Handling constraints in genetic algorithms. Proceedings of the Fourth International Conference on Genetic Algorithms, 151-157.32. H. M¨hlenbein (1989). Parallel genetic algorithms, population genetics and combinatorial u optimization, en Proceedings on the Third International Conference on Genetic Algorithms, 416-421.33. I.M. Oliver, D.J. Smith, J.R.C. Holland (1987). A study of permutation crossover opera- tors on the TSP, en Genetic Algorithms and Their Applications: Proceedings of the Second International Conference, 224-230.34. C. Reeves (1993). Modern Heuristic Techniques for Combinatorial Problems, Blackwell Scien- tific Publications.35. G. Reinelt (1991). TSPLIB - A Traveling Salesman Library, ORSA Journal on Computing, 3(4), 376-384.36. G. Rudolph (1994). Convergence analysis of canonical genetic algoritms. IEEE Transactions on Neural Networks, 96-101.37. J.D. Schaffer, R.A. Caruna, L.J. Eshelman, R. Das (1989). A study of control parameters af- fecting online performance of genetic algorithms for function optimization. J.D. Schaffer (ed.), Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann, 51-60.38. D. Seniw (1991). A genetic algorithm for the traveling salesman problem, M.Sc. Thesis, University of North Carolina at Charlotte.39. D.J. Sirag, P.T. Weisser (1987). Toward a unified thermodynamic genetic operator. Genetic Algorithms and their applications: Proceedings of the Second International Conference on Genetic Algorithms and Their Applications, 116-122.40. J. Stender (1993). Parallel Genetic Algorithms: Theory and Applications, IOS Press. 33
  • 41. J. Suzuki (1993). A construction of Bayesian networks from databases based on an MDL Principle. Uncertainty in Artificial Intelligence, Proceedings of the Ninth Conference, 266- 273.42. G. Syswerda (1991). Schedule optimization using genetic algorithms. L. Davis (ed.). Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, 332-349.43. R. Tanese (1987). Parallel genetic algorithm for a hypercube. Proceedings of the Second International Conference on Genetic Algorithms, 177-183.44. D. Whitley (1989). The GENITOR algorithm and selection pressure: Why rank-based allo- cation of reproductive trials is best. Proceedings on the Third International Conference on Genetic Algorithms, 116-121.45. D. Whitley, J. Kauth (1988). GENITOR: A different genetic algorithm. Proceedings of the Rocky Mountain Conference on Artificial Intelligence, Denver, CO, 118-130.46. D. Whitley, T. Starkweather, D. Fuquay (1989). Scheduling problems and travelling sales- man: The genetic edge recombination operator, en Proceedings on the Third International Conference on Genetic Algorithms, 133-140.47. D. Whitley, T. Starkweather (1990). Genitor II: A distributed genetic algorithm. Journal of Experimental and Theorical Artificial Intelligence, 2, 189-214.48. D. Whitley, T. Starkweather, D. Shaner (1991). The traveling salesman and sequence schedul- ing: Quality solutions using genetic edge recombination, en Davis, L. (ed.) Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, 350-372. 34