Vous êtes sur la page 1sur 23

Algoritmos gen eticos paralelos

Antonio la Torre de la Fuente 16 de septiembre de 2005

Resumen Este trabajo pretende presentar de una manera general el estado actual de los algoritmos gen eticos paralelos, su evoluci on a partir de los algoritmos gen eticos tradicionales, establecer una clasicaci on no exhaustiva de los mismos, as como esbozar los principales problemas y retos que plantea el uso de estas t ecnicas. A lo largo del trabajo veremos que estos algoritmos son capaces de encontrar soluciones de una calidad similar a la obtenida por los algoritmos en su versi on secuencial y, algo fundamental, en un tiempo considerablemente menor, llegando en ocasiones a obtener un aumento de rendimiento superlineal.

Indice general
1. Introducci on 1.1. Or genes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Fundamentos de los algoritmos gen eticos . . . . . . . . . . . . . 1.3. Algoritmos gen eticos paralelos . . . . . . . . . . . . . . . . . . . 2. Clasicaci on de los AGP 2.1. Algoritmos maestro-esclavo . . . . . . . . . . . . 2.2. Algoritmos de grano no . . . . . . . . . . . . . . 2.3. Algoritmos de grano grueso . . . . . . . . . . . . . 2.3.1. Inuencia de las migraciones . . . . . . . . 2.3.2. Inuencia de la topolog a de comunicaci on 2.4. Algoritmos H bridos . . . . . . . . . . . . . . . . 3. Sincronismo y asincronismo en los AGP 4. Superlinealidad en los AGP 5. Conclusiones 2 2 3 4

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

5 . 6 . 7 . 8 . 9 . 10 . 10 13 15 18

Cap tulo 1 Introducci on


Los algoritmos gen eticos son un subconjunto de unas t ecnicas heur sticas conocidas como t ecnicas evolutivas. Estos algoritmos est an basados en la teor a de la evoluci on de Darwin, imitando el comportamiento de los mecanismos de reproducci on y selecci on dentro de una especie. Su gran versatilidad para resolver problemas de muy diferentes campos han hecho que hayan adquirido una gran ltimos a popularidad en los u nos.

1.1. Or genes
Como ya se ha dicho, los algoritmos gen eticos se basan en los mecanismos de selecci on que utiliza la naturaleza, seg un los cuales los individuos m as aptos de una poblaci on son los que sobreviven y los que, por tanto, servir an de base para generaciones posteriores. Un investigador de la Universidad de Michigan, John Holland, se interes o por estos mecanismos, asombrado por la capacidad de la naturaleza de perfeccionar a sus organismos. A principio de los a nos 60 comenz o a desarrollar estas ideas y a adaptarlas para la resoluci on de problemas computacionales. Dos fueron los objetivos sobre los que centr o su investigaci on: imitar los procesos adaptativos de los sistemas naturales dise nar sistemas inform aticos capaces de resolver problemas usando los mecanismos m as importantes presentes en la naturaleza 15 a nos m as tarde, un ingeniero industrial llamado David Golberg conoci oa John Holland y se convirti o en alumno suyo. Este intent o aplicar los algoritmos gen eticos a problemas industriales, aunque Holland intent o disuadirle por pensar que eran demasiado complicados de resolver. Finalmente, consigui o aplicarlos 2

de manera satisfactoria y esto, unido a las aplicaciones posteriores en diversos campos que de ellos se hicieron, propici o que los algoritmos gen eticos adquirieran la popularidad de la que a un hoy gozan.

1.2. Fundamentos de los algoritmos gen eticos


Los algoritmos gen eticos son m etodos de resoluci on de problemas de b usqueda y optimizaci on que hacen uso de los mismos m etodos de los que se sirve la naturaleza, seg un la teor a de Darwin, para la evoluci on biol ogica: la reproducci on, la mutaci on y la selecci on de los mejores individuos de una poblaci on. En un algoritmo gen etico, se parametrizar a el problema con una serie de variables (xi ...xn ) que ser an codicadas en un cromosoma. El objetivo ser a maximizar (o minimizar) este conjnto de variables. Para ello, se crea una poblaci on inicial de individuos que son potenciales soluciones del problema. Normalmente, esta poblaci on inicial se obtendr a de manera aleatoria, aunque bien podr a utilizarse otros m etodos basados en el conocimiento que tengamos del problema para facilitar la convergencia del algoritmo. Sobre la poblaci on de posibles soluciones, el algoritmo gen etico aplicar a los operadores de cruce (reproducci on), mutaci on y selecci on y, tras cada iteraci on, evaluar a los individuos de la nueva poblaci on generada a partir de la anterior. Los mejores individuos ser an la base de la nueva generaci on, que se obtendr a con la aplicaci on de los operadores antes citados. La gran ventaja de los algoritmos gen eticos es que no tienen un campo de aplicaci on espec co. Basta con denir una representaci on del problema y una funci on de evaluaci on de los individuos para poder resolver casi cualquier tipo de problemas. El problema que se deducir a r apidamente es que, al tratarse de una t ecnica heur stica, el tiempo de ejecuci on puede convertirse en un obst aculo insalvable si el espacio de b usqueda de soluciones es muy amplio. Adem as, si no se tiene cuidado al elegir el factor de mutaci on, podr a darse el caso de que el ptimo local, sin llegar nunca al o ptimo global del algoritmo convergiera hacia un o problema. Por eso, garantizar la diversidad de los individuos es fundamental al usar este tipo de t ecnicas. Es por ello, tanto por la velocidad de ejecuci on como por la diversidad de los individuos, por lo que surgen aproximaciones paralelas de los algoritmos gen eticos.

1.3. Algoritmos gen eticos paralelos


Los algoritmos gen eticos paralelos (o, para abreviar a partir de ahora, AGP) surgen ante la necesidad de c omputo requerida por problemas de extrema complejidad, cuyo tiempo de ejecuci on utilizando los tradicionales algoritmos gen eticos secuenciales es prohibitivo. Es por eso que se busc o la manera de poder adaptar este tipo de heur sticas a distintas conguraciones de c omputo paralelo, lo que dio lugar a tres grandes modelos de algoritmos gen eticos paralelos [9]: (1) algoritmos maestro-esclavo, (2) algoritmos de grano no y (3) algoritmos de grano grueso. ltimos, tambi Es en estos u en llamados algoritmos gen eticos distribuidos, en los que se centrar a este trabajo y sobre los que se han realizado un mayor n umero de estudios. Algunos de estos estudios presentan, adem as, conclusiones bastante interesantes. La primera de ellas es la inuencia de tener varias subpoblaciones en lugar de una sola a la hora de garantizar la diversidad de los individuos. Una buena pol tica de migraci on de estos individuos puede ayudar signicativamente a que el algoritmo no se quede atrapado en m aximos (o m nimos) locales, y evitar as una convergencia prematura. La segunda conclusi on tiene que ver con el speed-up conseguido mediante el uso de estas t ecnicas. Algunos estudios proponen que se puede alcanzar incluso la superlinealidad en determinados casos, aunque no se ha conseguido a un comprobar exactamente a qu e es debido. En los cap tulos siguientes se profundizar a en la clasicaci on de los algoritmos gen eticos paralelos, as como en las cuestiones m as importantes a tener en cuenta a la hora de su implementaci on y sus aportanciones principales con respecto a los algoritmos gen eticos secuenciales.

Cap tulo 2 Clasicaci on de los AGP


Antes de iniciar la paralelizaci on de un algoritmo, de cualquier tipo, es imprescindible realizar una primera fase de estudio de qu e elementos de los que forman el algoritmo son susceptibles de paralelizarse [4]. En el caso de los algoritmos gen eticos es claro que la evaluaci on de la adecuaci on de los individuos es una tarea cuya paralelizaci on no afecta al comportamiento del algoritmo. Sin embargo, el operador de selecci on s debe ser aplicado de foma global a toda la poblaci on si queremos que el comportamiento del algoritmo siga siendo el mismo que el de la versi on secuencial. Esta primera aproximaci on para la paralelizaci on de los algoritmos gen eticos dar a lugar a un conjunto de algoritmos que recibir an el nombre de algoritmos maestro-esclavo. La otra gran aproximaci on a la paralelizaci on de algoritmos gen eticos consiste en dividir la poblaci on inicial en subpoblaciones de mayor o menor tama no que se xito comuniquen de alguna manera. Este sistema de paralelizaci on es el que m as e ha obtenido en comparaci on con su equivalente secuencial. Adem as de las mejoras de rendimiento debidas a la subdivisi on del problema se ha demostrado que el hecho de considerar subpoblaciones que evolucionan independientemente suele, por lo general, ayudar en el proceso de b usqueda. Este tipo de algoritmos se dice que da lugar a especies o nichos de individuos separados. Dentro de esta segunda aproximaci on podemos distinguir entre algoritmos de grano grueso y algoritmos de grano frino. La diferencia entre ambos es el tama no de las poblaciones (mayor en los primeros) y la forma en que los individuos interact uan los unos con los otros. Veamos con m as detalle cada una de estas aproximaciones a la paralelizaci on de los algoritmos gen eticos.

2.1. Algoritmos maestro-esclavo


nica poblaci Estos algoritmos trabajan con una u on de individuos que ser a gestionada por el nodo maestro. La evaluaci on de la adecuaci on de los individuos y/o la aplicaci on de los operadores gen eticos puede ser realizada por los nodos esclavos. A cada nodo esclavo le corresponder a una parte de la poblaci on total, sobre la cual realizar a las operaciones antes citadas. Una vez terminado este proceso, devolver an el resultado al nodo maestro, que realizar a la selecci on de individuos.En la gura 2.1 podemos encontrar un peque no esquema de la arquitectura de este tipo de algoritmos.

Figura 2.1: Representaci on esquem atica de un AGP con arquitectura maestroesclavo [9] Normalmente, la operaci on que se suele implementar en paralelo es la evaluaci on de la adecuaci on de los individuos, porque suele ser la m as compleja. Adem as, este valor es independiente del resto de la poblaci on, por lo que su implementaci on es muy sencilla. El intercambio de informaci on entre los nodos es sencillo: el nodo maestro stos le devuelenv a el subconjunto de inviduos que corresponde a cada nodo, y e ven los valores de adecuaci on para cada uno de ellos. La comunicaci on puede ser implementada de dos maneras: s ncrona o as ncrona. En la primera de ellas, el nodo maestro espera a recibir los valores de adecuaci on de todos los individuos para generar la siguiente generaci on. En la segunda, el algoritmo no espera a que los nodos m as lentos env en sus valores de tness. De este modo conseguimos agilizar el proceso, pero el comportamiento no es exactamente el mismo que el de un algoritmo gen etico secuencial. La implementaci on s ncrona, en cambio, s mantiene este comportamiento. Este tipo de algoritmos no especican nada acerca de la arquitectura subya6

cente [9], por lo que pueden ser implementados sin problemas en computadores tanto de memoria compartida como de memoria distribuida. En el caso de los computadores de memoria compartida, la poblaci on podr a estar almacenada en memoria, y cada procesador esclavo podr a leer directamente los individuos que le hubieran sido asignados. En caso de usar un computador de memoria distribuida, ser a el nodo maestro el encargado de asignar y distribuir individuos entre los nodos esclavos y de recoger, una vez evaluada, la adecuaci on de cada uno de ellos. Varios estudios han sido realizados para evaluar el rendimiento de este tipo de algoritmos. Algunos resultados interesantes pueden verse, por ejemplo, en el que realizaron Abramson, Mills y Perkins [1], que usando dos computadores de memoria compartida observaron un incremento de prestaciones razonablemente alto en comparaci on con los algoritmos gen eticos tradicionales usando hasta 16 ste procesadores. A partir de ese n umero, el comportamiento se degradaba, dato e que justicaban por el aumento del coste de las comunicaciones.

2.2. Algoritmos de grano no


Este tipo de algoritmos han sido dise nados para ser implementados usando computadores masivamente paralelos. Ahora, la poblaci on se encuentra dividida espacialmente entre los distintos procesadores e, idealmente, cada procesador de nico individuo. El cruce y la selecci ber a albergar un u on de individuos se har a entre individuos que pertenezcan a un mismo vecindario, formado por un conjunto de individuos adyacentes seg un la representaci on espacial antes citada. Sin embargo, se permite el solapamiento entre vecindarios para propiciar la interacci on, aunque leve, entre todos los individuos de la poblaci on. La gura 2.2 recoge un esquema de esta aproximaci on.

Figura 2.2: Representaci on esquem atica de un AGP de grano no [9] Se han llevado a cabo algunos estudios para determinar si el tama no de los 7

vecindarios inu a o no en la presi on de selecci on de los individuos. Sarma y De Jong [18] encontraron que la relaci on entre el radio de los vecindarios y el radio de la poblaci on completa inu a en este aspecto, y cuanticaron el tiempo que tardaba en propagarse una soluci on buena al resto de la poblaci on con diferentes tama nos para los vecindarios. Otros estudios han intentado determinar qu e tipo de representaciones espaciales daban mejores resultados. Schwehm [19] experiment o con varias representaciones: un anillo, un toro, un cubo 16x8x8 y un hipercubo 4x4x4x4x4. El problema con el que trabaj o fue el particionamiento de grafos, y encontr o que el algoritmo que us o la estructura de toro convergi o m as r apidamente que el resto, aunque no da detalles sobre la calidad de las soluciones encontradas.

2.3. Algoritmos de grano grueso


Las caracter sticas m as importantes de estos algoritmos son el uso de m ultiples poblaciones y la migraci on de individuos entre ellas. Dado que cada una de las poblaciones evolucionan independientemente, el ratio de migraci on ser a muy importante de cara a obtener resultados satisfactorios. Se puede observar una posible soluci on usando este tipo de algoritmos en la gura 2.3.

Figura 2.3: Representaci on esquem atica de un AGP con arquitectura maestroesclavo [9] Grosso, en 1985 [11], realiz o el que se puede considerar como el primer estudio de los algoritmos gen eticos paralelos con m ultiples poblaciones. Algunos de sus resultados, lejos de aclarar si el uso de este tipo de algoritmos es recomendable en sustituci on de los tradicionales algoritmos gen eticos secuenciales, arrojan nuevas inc ognitas. Por ejemplo, observ o que los individuos de las poblaciones, 8

stas est ptimos, cuando e an aisladas, convergen m as r apidamente hacia valores o pero que estos valores no son tan buenos como los obtenidos con los algoritmos secuenciales. Con valores bajos en el ratio de migraciones los cambios apenas son apreciables. Una vez alcanzado un determinado ratio de migraci on, que depender a del problema y de la topolog a empleada, las soluciones encontradas por estos algoritmos igualan en calidad a las encontradas por el algoritmo secuencial. ste y otros estudios demuestran, el buen funcionamiento de estos alComo e goritmos depende en gran medida de varios factores, de entre los que destacan la frecuencia con la que se realicen las migraciones y la topolog a de comunicaci on entre las subpoblaciones que se use. Estos dos factores los veremos con mayor detalle a continuaci on.

2.3.1. Inuencia de las migraciones


Hay que tener en cuenta varios factores en la migraci on de individuos entre stas se llevar poblaciones. El primero de ellos es la frecuencia con la que e an a cabo. La mayor parte de las implementaciones existentes programan las migraciones a intervalos jos o, dicho de otra forma, de una forma s ncrona. Por otro lado, se puede introducir asincron a en la pol tica de migraciones haciendo que stas sean efectuadas s e olo cuando se produzca un evento. En el estudio descrito ste program en la tesis de Grosso [11], e o las migraciones para que fueran efec nicamente cuando la poblaci tuadas u on estuviera cerca de converger. Braun [7] hizo algo parecido, aunque en este caso las migraciones se realizaban una vez la poblaci on hab a convergido completamente con el prop osito de restaurar la diver sidad. Este es un aspecto muy importante, ya que una migraci on prematura de individuos puede entra nar serios problemas, ya que la calidad de los individuos enviados podr a no aportar ninguna mejora en el resto de poblaciones, con lo que estar amos desperdiciando valiosos y costosos recursos de red. Sin embargo, una migraci on muy tard a puede afectar tambi en negativamente y aumentar conside ptimo global o, incluso, propiciar que rablemente el tiempo de convergencia al o sta no se produzca. Por tanto, encontrar el momento adecuado para la migraci e on de los individuos es un aspecto muy a tener en cuenta a la hora de dise nar un algoritmo de este tipo. Otro aspecto muy a tener en cuenta es qu e individuo se env a en las migraciones. Pettey, Leuze y Grefenstette [17] proponen enviar el mejor individuo de cada poblaci on a todas sus adyacentes. Los resultados experimentales que obtuvieron desvelaron que los resultados as obtenidos eran de una calidad similar a los nica poblaci obtenidos por algoritmos gen eticos con una u on. Una aproximaci on diferente es la que desarrollaron Marin, Trelles-Salazar y Sandoval [15]. Propusie9

ron que cada subpoblaci on, transcurridas las generaciones necesarias para realizar la migraci on, enviaran su mejor individuo a un nodo maestro, que se encargar a de elegir a los mejores individuos entre todos los recibidos y de reenviarlos de nuevo a todas las poblaciones. Con un n umero peque no de nodos (alrededor de seis) obtuvieron resultados que propiciaban speed-ups casi lineales en los tiempos de ejecuci on.

2.3.2. Inuencia de la topolog a de comunicaci on


ste es un factor muy Aunque muchas veces no se tenga demasiado en cuenta, e importante a la hora de implementar un algoritmo gen etico paralelo, ya que determina la velocidad con la que las buenas soluciones encontradas se propagan hacia el resto de poblaciones. Si el grado de conectividad es alto o e di ametro de la red es peque no (o ambas cosas) las soluciones buenas se expandir an r apidamente a ptimo. En trav es de todas las poblaciones, favoreciendo as la evoluci on hacia el o caso contrario, las poblaciones estar an m as aisladas las unas de las otras, por lo que evolucionar an mucho m as despacio, y llevar a m as tiempo la incorporaci on de los genes potencialmente buenos a las nueva soluciones. Por otro lado, es necesario tener en cuenta que la densidad de conexiones puede inuir negativamente en el algoritmo, ya que supone una sobrecarga importante en el tr aco de la red. Por eso, es muy importante elegir una buena topolog a para obtener el m aximo rendimiento del algoritmo. Por lo general, se suelen utilizar topolog as est aticas, es decir, topolog as predenidas que no cambian seg un avanza la ejecuci on del algoritmo. Las m as utilizadas suelen ser las topolog as de anillo y de hipercubo de cuatro dimensiones. Sin embargo, algunas implementaciones proponen que las conexiones entre poblaciones no est en denidas desde el principio, sino que se establezcan sobre la marcha cuando alguna poblaci on cumpla alg un criterio, como la diversidad de la poblaci on [16] o la distancia entre los genotipos de las dos poblaciones [14]. Es nicamente la distancia ta medidad de distancia se puede simplicar calculando u entre los dos mejores individuos de ambas poblaciones.

2.4. Algoritmos H bridos


ltimo tipo de algoritmos son, quiz Este u a, los m as complejos de los vistos hasta el momento, dado que combinan dos de los algoritmos anteriores una estructura de dos niveles. En el nivel superior suele haber siempre un algoritmos de grano grueso (multipoblaci on). En el nivel inferior se han probado los tres tipos 10

de algoritmos vistos: maestro-esclavo, de grano no y de grano grueso. A esta estructuraci on en dos niveles se le denomina jerarqu a y, por eso, muchas veces a estos algoritmos se les denomina algoritmos gen eticos jer arquicos (del ingl es Hierarchical Genetic Algorithms). La primera posibilidad es combinar un algoritmo multipoblaci on en el nivel superior con un algoritmo de grano no en el nivel inferior (ver gura 2.4). Existen varias implementaciones de este tipo de algoritmos. Gruau [12] us o un algoritmo gen etico multipoblaci on cuyas poblaciones estaban conectadas en forma toroidal de dos dimensiones. Cada una de las poblaciones fue organizada siguiendo una estructura de grano no, en este caso una cuadr cula de dos dimensiones. Otros autores, como Lin, Goodman y Punch [13], conectaron las poblaciones del nivel superior usando una topolog a de anillo, y conservaron la distribuci on en cuadr cula de dos dimensiones para el nivel inferior. Compararon esta implementaci on con varios tipos de algoritmos gen eticos, para lo cual usaron un problema de planicaci on. Entre los algoritmos usados para la comparativa se encuentran algunas implementaciones paralelas de las vistas anteriormente, as como algoritmos gen eticos secuenciales. Los resultados que obtuvieron con este algoritmo h brido fueron mejores que los obtenidos por el resto de aproximaciones.

Figura 2.4: Representaci on esquem atica de un algoritmo h brido de tipo multipoblaci on en el nivel superior y de grano no en el nivel inferior [9] Como segunda alternativa para implementar algoritmos h bridos se puede usar un algoritmo multipoblaci on en el nivel superior y un algoritmo maestro-esclavo en cada una de las poblaciones (ver gura 2.5). Bianchini y Brown [6] experimentaron con estos algoritmos, consiguiendo soluciones de la misma calidad que las obtenidas con algoritmos paralelos tradicionales (multipoblaci on y maestroesclavo) en menos tiempo.

11

Figura 2.5: Representaci on esquem atica de un algoritmo h brido de tipo multipoblaci on en el nivel superior y maestro-esclavo en el nivel inferior [9] La tercera opci on de hibridaci on es usar algoritmos multipoblaci on en ambos niveles (superior e inferior). Usando una topolog a altamente conectada en el nivel inferior y una frecuencia de migraci on elevada se consigue una mejor distribuci on ptimas a trav de las soluciones o es de las poblaciones (ver gura 2.6). En el nivel superior se suele optar por frecuencias de migraciones bajas, lo cual hace que la complejidad no crezca demasiado, siendo aproximadamente igual a la de un algoritmo paralelo con multipoblaciones tradicional [10].

Figura 2.6: Representaci on esquem atica de un algoritmo h brido de tipo multipoblaci on tanto en el nivel superior como en el nivel inferior [9]

12

Cap tulo 3 Sincronismo y asincronismo en los AGP


Cuando se pretende implementar un algoritmo gen etico paralelo, del tipo que sea, una duda surge inmediatamente: deben las migraciones efectuarse de forma s ncrona o as ncrona? En el caso de las implementaciones s ncronas, cada nodo del sistema distribuido espera, llegado el momento de las migraciones, a recibir todos los individuos de sus nodos adyacentes. Esto no es as en el caso de las implementaciones as ncronas, en las que todo individuo recibido ser a insertado en la poblaci on nada m as llegar, independientemente del resto. Esto hace que las poblaciones evolucionen de distinta manera, seg un la velocidad de c omputo de cada nodo, y que se difumine el concepto de generaci on. Un experimento interesante a este respecto es el efectuado por Alba y Troya [3], para el que usaron varias implementaciones paralelas de algoritmos gen eticos, tanto s ncronas como as ncronas, distintas frecuencias de migraciones y n umero de nodos. Probaron los algoritmos con varios tests de diferente complejidad. Los resultados obtenidos pueden verse con m as detalle en [3], aunque podemos avanzar que, por regla general, las implementaciones as ncronas obten an soluciones de igual calidad que las s ncronas, evaluando un n umero similar de individuos, pero en un tiempo inferior. Adem as, observaron que esta mejora depend a tambi en de la complejidad del problema a resolver y del n umero de nodos utilizados, ya que si el problema resultaba demasiado simple, o el n umero de nodos era excesivo, ptima era despreciable. la disminuci on del tiempo para encontrar una soluci on o Un hallazgo curioso relacionado con el uso de una pol tica de comunicaciones as ncrona es el hecho de que estos algoritmos presentan una mayor resistencia al uso de frecuencias de migraci on err oneas. Es decir, si para un problema se eligen stas son excesivas como si son insucienunas frecuencias inapropiadas, tanto si e 13

tes, la versi on s ncrona del algoritmo tendr a problemas para encontrar soluciones en un tiempo razonable, llegando en algunos casos a no ser capaces de hacerlo. Por el contrario, parece que esto afecta en menor medida a los algoritmos as ncronos. En resumen, la calidad de las soluciones encontradas no se ve afectada por el uso de algoritmos s ncronos o as ncronos, aunque, en general, los tiempos de ltimos. b usqueda ser an inferiores en el caso de estos u

14

Cap tulo 4 Superlinealidad en los AGP


Desde un principio qued o claro que el motivo principal por el que se inici o la investigaci on en el campo de los algoritmos gen eticos paralelos es la necesidad de c omputo requerida por algunos problemas de gran complejidad que dif cilmente podr an ser resueltos con heur sticas tradicionales. Llegados a este punto se hace necesario alg un m etodo para determinar el benecio obtenido al usar estas t ecnicas frente a las aproximaciones tradicionales. Podr a darse el caso de que el benecio obtenido no compensase la complejidad a nadida al distribuir el algoritmo gen etico, adem as del tiempo necesario para estudiar el problema y establecer los par ametros adecuados para el algoritmo (tama no de poblaciones o frecuencia de las migraciones, por ejemplo). Es por eso que en ltimos a los u nos se haya empezado a estudiar este aspecto. La mayor a de los resultados actuales se centran en dos tipos de medidas para discernir si el comportamiento del algoritmo gen etico paralelo es o no superlineal con respecto al algoritmo secuencial equivalente. La primera es el n umero de ptimo. La segunda es el tiempo evaluaciones necesarias para encontrar el valor o necesario para encontrar este valor. Ambas medidas, junto con otras m as complejas, son en principio v alidas, aunque una puede ser m as apropiada que la otra seg un el entorno de experimentaci on con el que se cuente. La medida del n umero de evaluaciones puede ser m as apropiada si se cuenta con un conjunto de m aquinas heterog eneas, con distintas conguraciones y capacidades de c alculo, ya que las conclusiones as obtenidas pueden ser m as f acilmente extrapolables a conguraciones distintas (un aumento de la potencia de c omputo de los equipos utilizados afectar a sensiblemente al tiempo de ejecuci on ptimo). Por pero no al n umero de evaluaciones necesarias para encontrar el valor o til si el entorno de experiotro lado, la medida de tiempo de ejecuci on es muy u 15

mentaci on es lo sucientemente homog eneo, ya que proporciona un valor que nos permite observar muy directamente la mejora obtenida con la paralelizaci on del algoritmo. Te oricamente, los algoritmos gen eticos paralelos, y otros m etodos de b usqueda estoc asticos, pueden presentar un speedup (cociente entre el tiempo de c omputo de un algoritmo gen etico secuencial y su versi on paralela) superlineal. De hecho, Shonkwiler en [20] arma que existe una relaci on exponencial entre el speedup y el n umero de procesadores. Sin embargo, no siempre es posible conseguir la superlinealidad al implementar un algoritmo gen etico paralelo, como veremos a continuaci on. Algunos estudios, como el presentado por Cant u-Paz en [8], sostienen que el motivo por el que se obtiene un speedup superlineal en estos algoritmos es porque la versi on paralela realiza menos trabajo que la versi on secuencial. La justicaci on que ofrece es que la presi on ejercida por las migraciones hace que el ptimo. Tambi algoritmo converja m as r apidamente hacia el valor o en Alba en [2] da una explicaci on similar, en cuanto a que las versiones paralelas de los algoritmos gen eticos realizan menor trabajo que sus versiones secuenciales, aunque en este caso la explicaci on ofrecida tiene que ver con el espacio de soluciones que exploran ambas versiones. Otros autores, como Belding en [5], arman que el motivo de alcanzar speedups superlineales tiene m as que ver con las conguraciones hardware utilizadas. Belding justic o los resultados obtenidos en el estudio antes citado diciendo que al pasar de un algoritmo secuencial a uno paralelo, las subpoblaciones utilizadas pod an ser almacenadas completamente en las cach es de los equipos, lo cual incid a notablemente en el aumento de rendimiento observado. Tambi en Alba en [2] arma algo parecido, aunque sin entrar en tanto detalle. Entre las diferentes razones que propone para los aumentos de rendimiento observados en sus experimentos se encuentra la conguraci on hardware de los equipos utilizados. ltimo factor a tener en cuenta que varios autores citan como importante Un u es la implementaci on de los algoritmos, ya que distintas implementaciones de un algoritmo pueden ser m as o menos ecientes. En algunos casos, dependiendo, por ejemplo, de las estructuras de datos utilizadas, las versiones paralelas de un algoritmo pueden resultar mucho m as ecientes. En resumen, por el momento no es posible armar si un algoritmo va a presentar un speedup superlineal o no, dado que, aunque te oricamente esto es posible, son muchos los factores a tener en cuenta, por lo que no es posible, por lo menos 16

apriori, determinar c omo se comportar a el algoritmo aunque, tambi en es cierto, por regla general el aumento de prestaciones obtenido suele ser notable.

17

Cap tulo 5 Conclusiones


Los algoritmos gen eticos paralelos surgen ante las necesidades de c omputo cada vez m as exigentes de los problemas que pueden ser resueltos con ellos. Ante esta situaci on, los algoritmos tradicionales (secuenciales) se muestran insucientes, y su tiempo de ejecuci on se vuelve prohibitivo. A lo largo de este trabajo hemos tratado de ofrecer una visi on general del estado actual de este tipo de t ecnicas e intentado justicar por qu e su uso es v alido para resolver los problemas a los que antes se hizo referencia. Hemos visto los distintos tipos de algoritmos gen eticos paralelos existentes, la utilidad de cada una de ellas y sus caracter sticas m as importantes. Tres son los m as importantes: los algoritmos gen eticos con arquitectura maestro-esclavo, los algoritmos gen eticos de grano no y los algoritmos gen eticos con multipoblaciones. Los primeros vimos que eran la adaptaci on directa de los algoritmos gen eticos secuenciales equivalentes, y que su funcionamiento era exactamente el mismo que stos, por lo que los resultados obtenidos era de esperar que fueran id el de e enticos. Los segundos son un caso especial, que normalmente requieren de arquitecturas hardware muy espec cas para su implantaci on y que, de momento, tienen un inter es m as te orico que pr actico. ltimo, los terceros, los algoritmos gen Por u eticos con multipoblaciones, son los que centran la atenci on de los investigadores hoy d a, y los que m as cuestiones plantean, ya que en su funcionamiento inuyen numerosos factores y no son una conversi on tan directa de los algoritmos secuenciales como los primeros. De hecho, el trabajar cada uno con una subpoblaci on de tama no m as reducido y el intercambio de informaci on sobre los individuos mediante las migraciones hacen de estos algoritmos interesantes casos de estudio y, por lo que se ha visto en los 18

experimentos realizados, t ecnicas muy potentes para la resoluci on de un amplio abanico de problemas. ltimo, dado que el objetivo de estos algoritmos era facilitar la resoluci Por u on de problemas con grandes necesidades de c omputo, parec a l ogico indagar sobre el aumento de rendimiento observado al utilizar estas t ecnicas. Seg un los estudios consultados, parece ser que te oricamente es posible obtener un speedup superlineal, aunque esto depende de muchos factores, por lo que no es posible determinar apriori si en cada caso concreto se obtendr a un aumento de rendimiento de este calibre. Finalmente, y aunque no siempre se alcance un speedup superlineal, los algoritmos gen eticos paralelos han demostrado que son capaces de obtener soluciones de una calidad similar a la de las obtenidas por los algoritmos gen eticos tradicionales en un tiempo sensiblemente inferior, por lo que su aplicaci on a problemas reales de gran complejidad parece apropiada.

19

Bibliograf a
[1] D. Abramson, G. Mills, and S. Perkins. Parallelisation of a genetic algorithm for the computation of efcient train schedules. In Proceedings of 1993 Parallel Computing and Transputers Conference, pages 139149, 1993. [2] E. Alba. Parallel evolutionary algorithms can achieve super-linear performance. Information Processing Letters, (82):713, 2002. [3] E. Alba and Jos e M. Troya. Analyzing synchronous and asynchronous parallel distributed genetic algorithms. Future Generation Computer Systems, (17):451465, 2001. [4] Enrique Alba. An alisis y Dise no de Algoritmos Gen eticos Paralelos Distribuidos. PhD thesis, Universidad de M alaga, 1999. [5] T.C. Belding. The distributed genetic algorithm revisited. Eschelman, pages 114121, 1995. [6] R. Bianchini and C.M. Brown. Parallel genetic algorithms on distributedmemory architectures. Transputer Research and Applications, (6):6782, 1993. [7] H. C. Braun. On solving travelling salesman problems by genetic algorithms. In Proceedings of the First Parallel Problem Solving from Nature Conference, pages 129133, Springer-Verlag (Berlin), 1990. [8] E. Cant u-Paz. Migration policies, selection pressure, and parallel evolutionary algorithms. In Proceedings of the 1999 Genetic and Evolutionary Computation Conference, San Francisco, CA, 1999. [9] Erick Cant u-Paz. A survey of parallel genetic algorithms. Calculateurs Paralleles, R eseaux et Systems R epartis, 10(2):141171, 1998. [10] D.E. Goldberg. Personal Communication, 1996.

20

[11] P. B. Grosso. Computer Simulations of Genetic Adaptation: Parallel Subcomponent Interaction in a Multilocus Model. PhD thesis, Unpublished Doctoral Dissertation, The University of Michigan, 1985. [12] F. Gruau. Neural Network Synthesis Using Cellular Encoding and the Genetic Algorithm. PhD thesis, LUniversit e Claude Bernard-Lyon I, 1994. [13] S. Lin, E. Goodman, and W. Punch. Investigating parallel genetic algorithms on job shop scheduling problem. In Proceedings of the Sixth International Conference on Evolutionary Programming, pages 383393, Springer Verlag (Berlin), 1997. [14] S. C. Lin, W. Punch, and E. Goodman. Coarse-grain parallel genetic algorithms: Categorization and new approach. In Proceedings of the Sixth IEEE Symposium on Parallel and Distributed Processing, IEEE Computer Society Press (Los Alamitos, CA), 1994. [15] F. J. Marin, O. Trelles-Salazar, and F. Sandoval. Genetic algorithms on lanmessage passing architectures using pvm: Application to the routing problem. In Proceedings of the Thirth Parallel Problem Solving from Nature Conference, pages 534543, Springer-Verlag (Berlin), 1994. [16] M. Munetomo, Y. Takai, and Y. Sato. An efcient migration scheme for subpopulation-based asynchronously parallel genetic algorithms. In Proceedings of the Fifth International Conference on Genetic Algorithms, page 649, Morgan Kaufmann (San Mateo, CA), 1993. [17] C. B. Pettey, M. R. Leuze, and J. J. Grefenstette. A parallel genetic algorithm. In Proceedings of the Second International Conference on Genetic Algorithms, pages 155161, Lawrence Erlbaum Associates (Hillsdale, NJ), 1987. [18] J. Sarma and K. D. Jong. An analysis of the effects of neighborhood size and shape on local selection algorithms. In Proceedings of the Fourth Parallel Problem Solving from Nature Conference, pages 236244, Springer-Verlag (Berlin), 1996. [19] M. Schwehm. Implementation of genetic algorithms on various interconnection networks. In Proceedings of Parallel Computing and Transputers Application Conference, pages 195203, IOS Press (Amsterdam), 1992. [20] R. Shonkwiler. Parallel genetic algorithms. In Proceedings of the Fifth International Conference on Genetic Algorithms, pages 199205, Morgan Kaufmann (San Mateo, CA), 1993. 21

Vous aimerez peut-être aussi