Análisis y Diseño de Algoritmos Genéticos Paralelos Distribuidos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Análisis y Diseño de Algoritmos Genéticos Paralelos Distribuidos"

Transcripción

1 UNIVERSIDAD DE MÁLAGA E. T. S. DE INGENIERÍA INFORMÁTICA Departamento de Lenguajes y Cencas de la Computacón Análss y Dseño de Algortmos Genétcos Paralelos Dstrbudos TESIS DOCTORAL Enrque Alba Torres Málaga, Febrero de 1999

2 Análss y Dseño de Algortmos Genétcos Paralelos Dstrbudos TESIS DOCTORAL Presentada por D. Enrque Alba Torres para optar al grado de Doctor en Informátca Drgda por el Dr. José María Troya Lnero Catedrátco de Unversdad del Área de Lenguajes y Sstemas Informátcos Málaga, Febrero de 1999

3 D. José María Troya Lnero, Catedrátco de Unversdad del Área de Lenguajes y Sstemas Informátcos de la E. T. S. de Ingenería Informátca de la Unversdad de Málaga Certfca que D. Enrque Alba Torres, Lcencado en Informátca, ha realzado en el Departamento de Lenguajes y Cencas de la Computacón de la Unversdad de Málaga, bajo m dreccón, el trabajo de nvestgacón correspondente a su Tess Doctoral ttulada Análss y Dseño de Algortmos Genétcos Paralelos Dstrbudos Revsado el menconado trabajo, estmo que puede ser presentado al trbunal que ha de juzgarlo, y autorzo la defensa de esta Tess Doctoral en la Unversdad de Málaga. Málaga, 1 de Febrero de 1999 Fdo.: José María Troya Lnero Catedrátco de Unversdad del Área de Lenguajes y Sstemas Informátcos

4 Agradecmentos Este trabajo representa el esfuerzo conjunto de muchas personas que me han ayudado a lo largo de muchos años, y no sólo el mío propo. En prmer lugar, me gustaría agradecer a m drector José Mª Troya su constante apoyo y segumento en este campo de nvestgacón concreto. De manera sobresalente y defntva qusera agradecer a ms padres y m hermana sus apoyos contnuados que, a lo largo de ms años de formacón, me han permtdo realzarme como profesonal y como persona. Asmsmo, quero dar las gracas a ms compañeros de despacho, Carlos y Antono, y a los compañeros del departamento por su ayuda, dscusones, y alento constante. Tambén quero menconar la ayuda de ms amgos del coro rocero, la chrgota, y de las dstntas actvdades culturales que me han ayudado a despejar las deas y a conocer otros valores. Por últmo, pero no menos mportante, quero agradecer a m mujer, Ana, y a m hjo, Enrque, la ayuda, apoyo y esfuerzos que han hecho sn una queja. Espero poderos compensar en el futuro por tantos años de amor desnteresado, porque sn vosotros n este trabajo n yo seríamos.

5 ÍNDICE ÍNDICE INTRODUCCIÓN... CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Computacón Evolutva Algortmos Evolutvos Secuencales Algortmos Evolutvos Paralelos Revsón y Clasfcacón de Trabajos Relaconados Establecmento del Problema Técncas Báscas e Implementacón Codfcacón, Operadores y Crteros de Comparacón El Genotpo G El Operador de Seleccón s El Operador de Cruce El Operador de Mutacón m Crteros Utlzados para el Análss Necesdad del Paradgma de Orentacón a Objetos CAPÍTULO 2. CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Formalzacón Unfcada Dervacón Unfcada de Modelos Des/Centralzados La Búsqueda de Modelos Efcentes. Prelmnares Relacón con otras Técncas Evolucón de Estructuras de Datos Complejas Casos de Estudo Metodología Representacones Funcones de Evaluacón Conclusones Algortmos Genétcos Celulares Dervacón y Revsón Caracterzacón Formal de la Rejlla... 54

6 ÍNDICE 2.5. Algortmos Genétcos Dstrbudos Evolucón Básca de las Islas Topología de Interconexón Polítcas de Mgracón Sncronzacón Homogenedad Dscusón y Aclaracones usando el Pseudocódgo Fundamentos Fundamentos de los Algortmos Genétcos Secuencales Nueva Interpretacón del Concepto de Esquema Codfcacón Real Otros Resultados Interesantes Relaconados Extensón de los Fundamentos para los Modelos Paralelos Modelos Teórcos de Presón Selectva Implcacones de los Resultados Presentados...72 CAPÍTULO 3. EL MODELO PROPUESTO Crítca a los Modelos Paralelos Tradconales El Modelo xxga Caracterzacón La Famla dcga Implementacón Dseño de Clases El Sstema de Comuncacón Consderacones Globales sobre la Implementacón Relacón de xxga con los Marcos de Programacón Nvel Abstracto Nvel de Instanca Nvel de Implementacón Resumen de la Propuesta CAPÍTULO 4. EVALUACIÓN DE RESULTADOS Comportamento Teórco Básco Mantenmento de la Dversdad Presón Selectva. Teoría y Práctca Tratamento de Esquemas Estudo Detallado de Parámetros Influyentes en los Modelos Descentralzados Polítca de Mgracón en el Modelo Dstrbudo...113

7 ÍNDICE Importanca de la Polítca de Reemplazo en el Modelo Celular Importanca de la Forma de la Malla en el Modelo Celular Efcenca Numérca Respuesta a la Seleccón Esfuerzo de Evaluacón de los Modelos Resultados Usando SPH Resultados Usando MMDP Resultados Usando RAS Clasfcacón Prelmnar sobre los Problemas Analzados Efcenca y Gananca de Velocdad en los Modelos Paralelos Dstrbudos Un Estudo Exhaustvo sobre el Problema SPH Esfuerzo de Evaluacón Algortmos Síncronos vs. Asíncronos Ganancas en Velocdad (Speedup) Extensón del Análss a Problemas más Complejos Extensón del Análss al Problema "Pardad4" Extensón del Análss al Problema "Tráfco" Extensón del Análss al Problema de la Suma del Subconjunto Crecmento del Esfuerzo de Evaluacón ante Problemas Progresvamente más Dfícles Capacdad de Escalada General para Múltples Modelos Capacdad de Escalada en el Modelo Celular CAPÍTULO 5. CONCLUSIONES Y TRABAJO FUTURO Resumen de Resultados Evaluacón de la Implementacón Ventajas e Inconvenentes Conclusones Trabajo Futuro APÉNDICE A. CASOS DE ESTUDIO A.1. Funcón Esfera Generalzada (SPH) A.2. Funcón de Rastrgn Generalzada (RAS) A.3. Funcón de Rosenbrock Generalzada (ROS) A.4. Problema Decepconante Masvamente Multmodal (MMDP) A.5. Problema Decepconante Masvamente Multmodal. Versón Fea -ugly- (UMMDP)

8 ÍNDICE A.6. Entrenamento de un Perceptrón Multcapa para el Problema de la Pardad A.7. Entrenamento de un Perceptrón Multcapa para la Predccón del Rudo del Tráfco Urbano A.8. El Problema de la Mochla A.9. El Problema de la Suma del Subconjunto (SSS) APÉNDICE B. FICHEROS DE CONFIGURACIÓN Y UDPS B.1. Fchero de Confguracón del Sstema B.2. Fchero de Confguracón de cada Isla AG B.3. Undades de Datos del Protocolo de Comuncacón (UDPs) APÉNDICE C. GLOSARIO DE TÉRMINOS APÉNDICE D. RESUMEN DE LA RELACIÓN CON OTRAS TÉCNICAS BIBLIOGRAFÍA...181

9 Introduccón Planteamento En la actualdad uno de los puntos débles en la aplcacón de algortmos evolutvos (AEs) [BFM97] es su moderado/alto consumo de recursos computaconales (memora y/o tempo del procesador). La nclusón de técncas paralelas en la defncón de algortmos ha sdo muy mportante en los recentes dseños de este tpo de mecansmos de búsqueda y optmzacón [Sten93] [Adam94] [LPG94] [Cant97a]. De esta forma, la especal adecuacón de estos heurístcos para trabajar sobre problemas de elevada complejdad puede verse mejorada s el dseño y la mplementacón son paralelos. Entre los algortmos evolutvos, tanto secuencales como paralelos, podemos dstngur varos modelos de búsqueda dferencados en la actualdad pero con raíces comunes [BHS97]: Algortmo Genétco (AG), la varante más popular. Estratega Evolutva (EE), típca en ngenería de sstemas. Programacón Evolutva (PE), típca en aplcacones de ntelgenca artfcal. Programacón Genétca (PG) con una gran dversdad de aplcacones a problemas reales. Sstema Clasfcador (SC), normalmente empleado en el aprendzaje máquna. El contendo de este trabajo se centra en el campo de los algortmos genétcos, tanto secuencales como paralelos (AGPs), por varas razones. En prmer lugar, por su ampla aceptacón en numerosas áreas de nvestgacón y aplcacón; en segundo lugar, debdo a que muchas de las aportacones que se realcen serán extensbles a algunos de los restantes tpos de algortmos evolutvos y, fnalmente, porque la demanda de efcenca tanto en tempo real como numérca es, en este campo, muy acusada debdo a que son muy utlzados. Tradconalmente se ha dstngudo entre algortmos genétcos paralelos de grano grueso y de grano fno, según que la relacón computacón/comuncacón fuera alta o baja, respectvamente. Sn embargo, las aportacones de los nvestgadores en este terreno son confusas debdo a que pocas veces se los compara drectamente, y en muy contadas ocasones se los combna. De hecho, las comparacones exstentes entre modelos secuencales y paralelos están a menudo oscurecdas por la nclusón de técncas híbrdas de búsqueda en los algortmos estudados. Asmsmo, la dstncón respecto al grano de los modelos paralelos los ha presentado con frecuenca como alternatvos, cuando en realdad son dos expresones paralelas que podrían combnarse para obtener sus ventajas respectvas evtando en lo posble sus nconvenentes. Aunque la exstenca de algortmos genétcos paralelos híbrdos no es nueva [Gorg89] [WS90] [MSB91] [VSB92] [GW93] [Grua94] [Loza96] [Pedr96], sí lo es el estudo unfcado de modelos canóncos en los que se evte la presenca de técncas adconales. Estas técncas, aunque mejoran el algortmo para un problema concreto, no ayudan al conocmento de sus característcas respectvas. De hecho, cualquer técnca que mejore el comportamento básco de un AG secuencal puede aplcarse a los que presentamos y por tanto dcha mejora podría tambén consegurse en ellos.

10 Por tanto, un estudo canónco del comportamento secuencal y paralelo presenta múltples ventajas, tanto en el terreno teórco como en el práctco. La utlzacón de modelos paralelos está notablemente avalada por un conjunto muy numeroso de aplcacones a problemas reales y estudos sobre su comportamento. Sn embargo, es manfesta la falta de unformdad de estos modelos paralelos que, de exstr, ayudaría a crear una metodología y extraccón de característcas comunes que permteran estmar su comportamento en otros problemas. En consecuenca, es mportante la presentacón de los dstntos modelos paralelos como subclases de una formalzacón común de algortmo evolutvo paralelo que permta una comparacón de sus componentes, una dentfcacón de smltudes/dferencas, y una transferenca de conceptos y a veces de resultados teórcos entre ellos. Por otro lado, algunos resultados no están sufcentemente contrastados, sobre todo en lo concernente a parámetros clave del dseño de algortmos genétcos paralelos. En partcular, el dseño de versones dstrbudas es muy nteresante por la ampla dsposcón de redes de estacones de trabajo en la actualdad. Exsten algunos resultados en este sentdo, pero no evalúan las prestacones de dferentes modos de evolucón en los sub-algortmos componentes. Este es otro de los huecos que pretendemos cubrr. En partcular, podemos dstngur como modos de evolucón báscos los sguentes: Evolucón en estado estaconaro (steady state) [Sysw91]. Evolucón generaconal (tradconal) [Gold89a]. Evolucón ajustable (generaton gap), que unfca las dos anterores [Gold89a]. Evolucón por dfusón (grano fno), en la que se utlza un esquema de vecndad [SM91]. En realdad demostraremos cómo todos estos modos de seleccón, reproduccón y reemplazo en poblacones con o sn dsposcón espacal de las estructuras-solucón son expresones de un sstema subyacente común. Esta vsón permte explcar, clasfcar y estudar algortmos exstentes así como dervar nuevos algortmos de comportamento más predecble. Debdo a estas razones, y puesto que cualquera de estos algortmos es un sstema software de mayor o menor complejdad, es nteresante dar un dseño e mplementacón usando una metodología orentada a objetos [Rumb91]. Actualmente, los sstemas exstentes aparentan usar una coleccón de recursos separados con los que resulta muy dfícl realzar prototpos rápdos o hacer extensones del algortmo paralelo. Además, el conjunto de parámetros que en algunos casos se utlza para problemas complejos parece ndcar que el uso de un sstema orentado a objetos es la decsón más segura, extensble y benefcosa a medo y largo plazo. Para termnar este planteamento ncal resta añadr algunas consderacones sobre la evaluacón de algortmos paralelos. En este caso, y debdo a la naturaleza estocástca de los sstemas que manejamos, las condcones tradconales de parada no son váldas. Los algortmos deben ejecutarse hasta alcanzar solucones de adecuacón smlares, pues es este el únco crtero justo y realsta para su comparacón [HBBK97] [CG97]. Por otro lado, algunos estudos que versan sobre aspectos concretos de estos algortmos se realzan sobre problemas muy smples. Esto permte comprender su comportamento, pero al msmo tempo desautorza en certa medda las conclusones alcanzadas. En consecuenca, resulta mperatvo un estudo sobre problemas de complejdad no trval y tan alta como sea posble para poner de manfesto los puntos fuertes y débles de cada modelo y obtener conclusones correctas con una segurdad razonable.

11 Objetvos El objetvo global del presente trabajo es proporconar un estudo sgnfcatvo de modelos secuencales y paralelos de algortmos genétcos que sea útl por cubrr las varantes más usadas y que tambén srva de base para proponer modelos concretos que presenten una mayor efcenca. Este objetvo genérco se descompone en otros sub-objetvos partculares: 1. Descrpcón unfcada de las clases de algortmos genétcos secuencales y paralelos. 2. Construccón y evaluacón de un modelo paralelo dstrbudo de evolucón básca secuencal o de poblacón con estructura bdmensonal. 3. Estudo de las prestacones de los modelos de poblacón únca, estructurada o dstrbuda (evaluados en mono/mult-procesador). Análss sobre problemas de dfcultad elevada, determnacón de su utldad práctca, y estudo de las característcas más sobresalentes. 4. Determnacón de decsones software conducentes a una mplementacón efcente. Aportacones Orgnales En esta seccón lstamos las prncpales aportacones que nclumos a lo largo de esta memora y las relaconamos con los trabajos que más puedan asemejarse a cada una de ellas. En general, las aportacones pueden clasfcarse como extensones de trabajos exstentes o ben como nuevos resultados. En resumen, las aportacones son: 1. Caracterzacón formal unfcada de los algortmos evolutvos secuencales. Se trata de una extensón del trabajo de [Bäck96] junto con algunas defncones nuevas. 2. Estudo y clasfcacón unfcados de los modelos paralelos de algortmos genétcos. Para ello partmos de la clasfcacón proporconada en [Sten93] e ntroducmos modelos actuales ncluyendo un mayor número de detalles sobre ellos. Como aportacones orgnales se ncluyen los resúmenes ordenados por año y los detalles de los modelos paralelos. 3. Incorporacón del paradgma de orentacón a objetos en el dseño de software evolutvo. Se trata de una aportacón nueva, aunque exsten algunos ntentos con gual objetvo pero usando medos dstntos. 4. Formalzacón unfcada de modelos paralelos de algortmos evolutvos y genétcos. Se pretende abrr con ello la línea de trasvase de conocmentos entre modelos paralelos. La dervacón unfcada permtrá entender los modelos exstentes y dervar nuevos modelos paralelos, muchos de ellos evaluados en este trabajo. Las bases genércas pueden encontrarse en el desarrollo de un sstema adaptatvo [DRH95]. 5. Estudo unfcado de algunos fundamentos de funconamento como las operacones de seleccón secuencal, dstrbuda y descentralzada. Para ello extendemos los estudos en [Sysw91] sobre estado estaconaro secuencal al campo paralelo; drectamente relaconados están los trabajos sobre AGPs dstrbudos de [Tane89], [Gold89b], [Gold95], y mejoramos los desarrollos dsponbles en [SD96] y [GW93] sobre seleccón en algortmos genétcos celulares.

12 6. Propuesta de un modelo dstrbudo con slas secuencales o celulares y mgracón entre ellas. Estudo sobre un conjunto de casos representatvos de domnos de aplcacón típcos de computacón evolutva. Algunos resultados exstentes en certa medda smlares son [VSB92] y [Pedr96] sobre combnacón de jerarquías de nveles y tambén [Grua94] [RS94] como ejemplos cas úncos de slas de algortmos celulares (orentados a la aplcacón). 7. Estudo detallado teórco y práctco de la nfluenca de la forma de la malla sobre un algortmo genétco celular. Algunos conceptos son extensones de los trabajos [Dav91b] y [SD96]. Las aportacones se basan en consderar la malla como rectangular en vez de cuadrada y estudar el mpacto de este hecho usando un vecndaro estátco. 8. Estudo de la nfluenca de la frecuenca y polítca de mgracón y reemplazo. Algunos estudos comparables pueden encontrarse en [DG89], [ME90] y [MC94], s ben nuestros algortmos demuestran ser más efcentes en esfuerzo de evaluacón y en tempo real. 9. Estudo en el espaco de los esquemas del trabajo de estos algortmos. Realzamos un trabajo nuevo en este sentdo atendendo a los esquemas en sí y a la dversdad [ER96]. Otros parámetros como la epstass, mérto de los modelos, u otros conceptos, son nteresantes, pero escapan por su dmensón a este trabajo. 10. Resultados sobre la nfluenca que certas decsones de mplementacón tenen sobre sstemas paralelos de algortmos genétcos. En partcular, son novedosas las deas sobre cómo mplementar el vecndaro, el plan reproductor, los fcheros de confguracón, el protocolo de comuncacones y los modos síncrono/asíncrono de evolucón. Estas característcas no aparecen conjuntamente en nngún sstema exstente, aunque las ventajas de usar un modelo paralelo asíncrono sí que se presentan drectamente en [MTS93] y [HBBK97]. Igualmente la capacdad de ejecucón heterogénea a nvel de búsqueda es dstntva y nueva. En [AP96] podemos encontrar un sstema heterogéneo atendendo a parámetros smples como son las probabldades de mutacón y cruce, mentras que en otros modelos como [Loza96] exsten planos de búsqueda para exploracón y explotacón con dstntos tpos de cruce. 11. Las aportacones presentadas permten aumentar la potenca de las versones canóncas de AGPs, luego presentan como ventaja añadda la capacdad de sufrr mejoras ya desarrolladas para modelos más smples. Nuestras aportacones sguen sendo susceptbles de mejoras ante un problema concreto debdo a hbrdacón [Cott98], manpulacón de la adecuacón [GR87], nuevos genotpos [GDK91], etc. Estructura de la Memora La presente memora está organzada en cnco capítulos, cuatro apéndces y una bblografía. Los cuatro prmeros capítulos descrben el trabajo que compone la aportacón, mentras que el qunto presenta un resumen de las conclusones más sobresalentes y el trabajo futuro relaconado con el realzado. A contnuacón descrbmos brevemente el contendo. En el Capítulo 1 se enmarcan los estudos de este trabajo en el contexto de las técncas de optmzacón, se presenta el problema de optmzacón global como la super-clase de problemas que engloba a las aplcacones a las que frecuentemente se enfrentan los algortmos estudados. v

13 Introducremos en este prmer capítulo conceptos mportantes que se van a utlzar en el resto de la presentacón, tanto para descrbr técncas como para estudar los resultados. Adconalmente, se dscute de manera unfcada los algortmos evolutvos, en partcular los algortmos genétcos secuencales y paralelos. Tambén se justfca la necesdad de este trabajo, así como la sgnfcacón de las aportacones consegudas. Fnalmente, se proporcona la descrpcón formal de las técncas que utlzamos y algunas otras relaconadas en térmnos de codfcacón, operadores de varacón, homogenedad, mgracón o dfusón y otros conceptos. El Capítulo 2 descrbe progresvamente la aportacón concreta de funconamento paralelo que permte abarcar algortmos exstentes así como concretar modelos paralelos de prestacones equvalentes o superores a ellos. Se dscute su efcenca respecto a otras técncas y se caracterzan los parámetros que más nfluyen en su comportamento. Se sugere la necesdad de los modelos dstrbudos en base a trabajos práctcos concretos y, para termnar, se descrben las bases del funconamento y la presón selectva que nducen los algortmos dscutdos. El Capítulo 3 contene los detalles sobre nuestra propuesta de famla de algortmos paralelos. Tambén se ncluye una descrpcón de alternatvas de mplementacón usando un lenguaje orentado a objetos como C++ (y tambén marcos de programacón) y se ejemplfca la comuncacón de un sstema de búsqueda de grano grueso con una descrpcón del protocolo de comuncacón usado en una de las mplementacones dscutdas en esta memora. El Capítulo 4 contene los resultados de los estudos realzados en térmnos de su capacdad de encontrar una solucón, efcenca de la búsqueda (tempo real y algorítmco), fdeldad a las predccones teórcas de funconamento, comportamento de cada modelo ante problemas progresvamente más complejos, ganancas en la velocdad de ejecucón y relacón entre los resultados obtendos. En el Capítulo 5 se resumen las conclusones alcanzadas y se dscute su valdez relatva. Además, se analzan algunas de las decsones de mplementacón y dseño más sgnfcatvas en el campo de los algortmos genétcos, y se resaltan los puntos fuertes y débles de cada técnca estudada en térmnos práctcos. Para termnar, se descrbe el trabajo futuro que tene sentdo e nterés a la vsta de los resultados, así como algunas deas prelmnares basadas en trabajos en curso. Los cuatro apéndces fnales contenen, respectvamente, (A) la descrpcón de los problemas usados en este estudo, (B) la sntaxs de los fcheros de confguracón y mensajes ntercambados por el sstema paralelo, (C) un glosaro de térmnos y acrónmos, y (D) un resumen orentatvo que compara múltples algortmos (evolutvos y no evolutvos) entre sí atendendo a varos crteros. v

14 v

15 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS 1 Introduccón Entre el conjunto de técncas de optmzacón y búsqueda, en la últma década ha sdo especalmente mportante el desarrollo de los algortmos evolutvos [BS93] [BFM97]. Los algortmos evolutvos son un conjunto de metaheurístcos modernos [Reev93a] utlzados con éxto en un número elevado de aplcacones reales de gran complejdad. Su éxto resolvendo problemas dfícles ha sdo el motor de un campo conocdo como computacón evolutva (CE) en el que se encuadran estudos sobre aplcabldad, complejdad algorítmca, fundamentos de funconamento y muchos otros aspectos, con el objetvo de facltar la promocón y compresón de los algortmos evolutvos a nuevos campos de trabajo. Aunque los orígenes de la computacón evolutva pueden segurse hasta fnales de los cncuenta (por ejemplo [Box57], [Fre58], [Brem62]) sólo después de tres décadas la comundad centífca ha comenzado a benefcarse del uso de estas técncas. Este período de trabajos aslados sobre computadoras de poca potenca y con numerosas lagunas metodológcas comenzó a convertrse en sera nvestgacón de base tras las aportacones defntvas de Fogel [FOW66], Holland [Holl75], Rechenberg [Rech73] y Schwefel [Schw81]. El cambo durante los años setenta es el responsable de la actual prolferacón de estudos teórcos y práctcos sobre este tema (extensas y detalladas referencas de nterés son [Gold89a], [Alan96] y [BFM97]). Los benefcos de las técncas de computacón evolutva provenen en su mayoría de las ganancas en flexbldad y adaptacón a la tarea objetvo, en combnacón con su alta aplcabldad y característcas globales de la búsqueda que llevan a cabo. En la actualdad, se entende la computacón evolutva como un concepto adaptable para resolucón de problemas, especalmente apropado para problemas de optmzacón complejos. Esta vsón [BHS97] es la alternatva a algunas descrpcones en desuso que muestran a la computacón evolutva como una coleccón de algortmos parecdos lstos para usar en cualquer problema. La mayoría de las mplementacones actuales de algortmos evolutvos son descendentes de alguno de entre tres tpos báscos (fuertemente relaconados aunque fueron desarrollados ndependentemente): algortmos genétcos, programacón evolutva y estrategas evolutvas. Los algortmos genétcos fueron propuestos ncalmente por Holland [Holl75] y estudados por muchos autores como un modelo genérco de adaptacón, pero con un claro acento en aplcacones de optmzacón. La programacón evolutva fue ntroducda por Fogel [FOW66] y los trabajos posterores han segudo su línea ncal de aplcacón en domnos donde se ntenta crear ntelgenca artfcal. Esta propuesta ncal se basaba en evoluconar máqunas de estados fntos (MEFs). Fnalmente, las estrategas evolutvas, desarrolladas por Rechenberg [Rech73] y Schwefel [Schw81] y objeto actualmente de numerosas extensones y estudos, fueron dseñadas en un prncpo para soluconar problemas dfícles de optmzacón con parámetros dscretos y/o contnuos (sobre todo en ngenería). Consulte [Foge98] para una detallada dsposcón hstórca de los avances en el campo de los algortmos evolutvos. 1

16 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS De entre dcho conjunto de técncas, este trabajo gra prncpalmente entorno a los algortmos genétcos y a los procedmentos, consderacones, conceptos, ventajas e nconvenentes de su paralelzacón. En aras de la complettud debemos menconar en esta exposcón ntroductora dos grupos de algortmos evolutvos que han tomado especal relevanca por sí msmos. El prmero de ellos es la programacón genétca que recbó el mpulso defntvo como campo de trabajo separado gracas a las aportacones de Koza [Koza92] [Koza94], y que en la actualdad tene un enorme abanco de aplcacones a problemas reales [Knn94] [KGFR96]. Esta técnca evolucona árboles sntáctcos de símbolos frente a las estructuras de datos algo más smples que tradconalmente manejan los algortmos genétcos (de donde ncalmente se desgajaron como algortmo de búsqueda). En segundo y últmo lugar encontramos los sstemas de clasfcacón (SC), objetvo ncal de los desarrollos de Holland, enfocados al aprendzaje máquna y al descubrmento por evolucón de las reglas de un sstema basado en reglas (SBR). En todo este campo compuesto por numerosos procedmentos de búsqueda, la mayoría nsprados en procesos bológcos naturales, la nclusón del paralelsmo ha sdo sempre presentada como una forma de extender su aplcabldad a problemas más complejos debdo a las mejoras consegudas en efcenca. Esto se debe prncpalmente a dos razones. En prmer lugar, la ejecucón paralela permte un uso de mayores recursos de computacón como son el tempo de procesador y la memora. En segundo lugar, la ejecucón paralela de un algortmo evolutvo camba, a veces sustancalmente, su comportamento, como consecuenca de la estructuracón de la poblacón en forma de grupos nterconectados de ndvduos. Normalmente, el balance fnal es una mejora en el resultado obtendo y en la caldad de la búsqueda. Este segundo punto es mportante y los dstngue de otros algortmos en los que la ejecucón paralela úncamente provee un tempo de espera menor antes de obtener la solucón al problema. En este capítulo centraremos nuestro trabajo en el campo de los algortmos evolutvos. Para ello presentaremos una formalzacón de los algortmos genétcos secuencales y paralelos (Seccón 1.1) y del tpo de problemas que pretendemos resolver (Seccón 1.2). En la Seccón 1.3 descrbmos las técncas báscas consderadas de los algortmos genétcos utlzados Computacón Evolutva Este trabajo se enmarca en el campo de la computacón evolutva y es por tanto nteresante localzar prmero los algortmos de nterés entre el conjunto de algortmos de búsqueda más conocdos. La Fgura 1.1 presenta una taxonomía de técncas de búsqueda en la que se ncluyen los algortmos evolutvos y otras técncas de búsqueda. Puede observarse cómo se trata de heurístcos (no aseguran que el resultado de la búsqueda será un óptmo global) cuyo comportamento es no determnsta [AA92]. Además de ser heurístcos estocástcos, otra característca dferencadora es la de trabajar con múltples puntos del espaco de búsqueda a la vez. Esto contrasta con otras técncas de segumento del gradente descendente o smlares que úncamente mantenen el últmo punto vstado. Adconalmente, un algortmo evolutvo no trabaja drectamente sobre los parámetros del problema, sno sobre una representacón de los msmos. En general, estos algortmos no mponen restrccones sobre convexdad, contnudad, o smlares como precondcones para su aplcacón. 2

17 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS TÉCNICAS DE BÚSQUEDA BASADAS EN EL CÁLCULO ALEATORIAS ENUMERATIVAS DIRECTAS INDIRECTAS GUIADAS NO GUIADAS GUIADAS NO GUIADAS Fbonacc Newton Voraces Las Vegas Programacón Dnámca Ramfcacón y Poda Retroceso Búsqueda Tabú Enframento Smulado ALGORITMOS EVOLUTIVOS REDES DE NEURONAS Hopfeld Mapas Kohonen Perceptrón Multcapa SISTEMA CLASIFICADOR PROGRAMACIÓN GENÉTICA ESTRATEGIAS EVOLUTIVAS PROGRAMACIÓN EVOLUTIVA ALGORITMOS GENÉTICOS PARALELOS SECUENCIALES Paralelsmo Automátco (complador) Una poblacón, Evals. Paralelas + + Mutacón AGPs DE GRANO GRUESO AGPs DE GRANO FINO Generaconales Graduales Estado Estaconaro Desordenados HOMOGÉNEOS HETEROGÉNEOS EJECUCIÓN (HARDWARE) BÚSQUEDA (SOFTWARE) EJECUCIÓN (HARDWARE) BÚSQUEDA (SOFTWARE) Fgura 1.1. Taxonomía de técncas de búsqueda. Sguendo una presentacón de arrba-abajo podemos dar ahora otro contexto en el que típcamente se encuadra a la computacón evolutva. Nos refermos a la clasfcacón que descrbe a los AEs como una subclase de las técncas conocdas como Soft Computng o ntelgenca computaconal [Bezd94] [Bon97] (Fgura 1.2). Según esta clasfcacón muy recente, la computacón evolutva (CE) junto con las redes de neuronas artfcales (RNs) y la lógca dfusa (LD, borrosa o fuzzy logc), forman la trpleta de campos de trabajo en los que se busca soluconar problemas a través de técncas algorítmcas basadas en la representacón numérca -no smbólca- del conocmento, al contraro que en el campo de la ntelgenca artfcal tradconal. Soft Computng = CE + RN + LD Fgura 1.2. Los algortmos evolutvos son consderados tambén técncas de soft computng. Fnalmente, dsponemos ya de los elementos necesaros para presentar la computacón evolutva como suma de estudos, conceptos y resultados pertenecentes a los cnco campos menconados en lo que daremos en llamar la ecuacón evolutva (Fgura 1.3) [AC98]. CE = AG + PE + EE + PG + SC [BFM97] [Gold89a] [FOW66] [Rech73] [Koza92] [Holl75] Fgura 1.3. Ecuacón evolutva: famlas de algortmos en computacón evolutva. A contnuacón presentamos una prmera defncón genérca de problema de optmzacón que servrá para r concretando más el tpo de tareas a las que se aplca un algortmo evolutvo. 3

18 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Defncón 1.1. (Problema de Optmzacón Global). De forma smple, podemos establecer que, un problema de optmzacón global como el que permte resolver un algortmo evolutvo, requere encontrar un vector de parámetros lbres tal que se optmce (maxmce o mnmce) con él un certo crtero de caldad conocdo como funcón objetvo f ( x & ) max (1.1) La funcón objetvo puede venr defnda por un sstema del mundo real de complejdad arbtrara. La solucón a este problema de optmzacón global normalmente requere encontrar & & & un vector x * tal que x M : f ( x) f ( x*) : = f *. Esta defncón de problema de optmzacón puede mejorarse (véase la Seccón 1.2), pero por el momento nos permte conocer el ámbto de trabajo de los algortmos evolutvos. Conceptos tales como multmodaldad, restrccones, óptmos locales, alta dmensonaldad, fuertes nolnealdades, mposble dferencacón, rudo y funcones multobjetvo o cambantes en el tempo dan lugar en la práctca a problemas de optmzacón de dfícl, cuando no mposble, solucón por otros mecansmos. La efcenca demostrada de los algortmos evolutvos en estos campos los hace muy atractvos y merecedores de estudo. Los problemas de optmzacón aparecen en dscplnas tan dstntas como aplcacones técncas, en economía, mnmzacón del tempo o coste de proyectos, o maxmzacón de benefcos. En todas ellas el desarrollo de estrategas de búsqueda global es de gran valor. En la práctca, la funcón objetvo f es normalmente ntratable analítcamente o ncluso se desconoce su forma cerrada (por lo que se suelen usar modelos de smulacón). En un enfoque tradconal de programacón matemátca deberíamos desarrollar un modelo formal lo sufcentemente relajado para poder someterlo a técncas típcas de optmzacón. Aunque estas técncas son de ndudable utldad presentan el grave problema de que necestan normalmente una excesva smplfcacón, lo que conduce en ocasones a que la solucón encontrada no resuelva el problema real orgnal. De hecho, la funcón objetvo que admte un AE es a pror de dfcultad arbtrara. De ahí el enorme abanco de aplcacones exstentes. En partcular, con algortmos evolutvos podemos soluconar problemas tan dstntos como el dseño de redes de neuronas [AAT93a], asgnacón de procesos a procesadores [AAT95], dseño de controladores dfusos [ACT96] o ncluso estudos sobre valdacón de protocolos de comuncacón [AT96]. La prncpal ventaja de los AEs radca en la flexbldad de adaptar el método de búsqueda al problema. Para completar la revsón de estos algortmos las dos subseccones sguentes presentan el funconamento de los AEs tanto secuencales como paralelos, para después revsar en una tercera subseccón los modelos más mportantes de AGPs exstentes en la actualdad Algortmos Evolutvos Secuencales Los algortmos evolutvos mtan el proceso de evolucón natural, el prncpal mecansmo que guía la aparcón de estructuras orgáncas complejas y ben adaptadas. De forma muy smplfcada, la evolucón es el resultado de las relacones entre la creacón de nueva nformacón genétca y los procesos de evaluacón+seleccón. 4

19 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Cada ndvduo en una poblacón se ve afectado por el resto (comptendo por recursos, emparejándose para procrear, huyendo de los depredadores,...) y tambén por el entorno (dsponbldad de comda, clma,...). Los ndvduos mejor adaptados son los que tenen mayores posbldades de vvr más tempo y reproducrse, generando así una progene con su nformacón genétca (posblemente modfcada). En el transcurso de la evolucón se generan poblacones sucesvas con nformacón genétca de los ndvduos cuya adecuacón es superor a la de la meda. La naturaleza no determnsta de la reproduccón provoca una creacón permanente de nformacón genétca nueva, y por tanto la aparcón de dstntos ndvduos. Este modelo neo-darwnano de la evolucón orgánca se refleja en la estructura genérca de un algortmo evolutvo (Algortmo 1.1). El Algortmo 1.2 es una defncón en pseudocódgo un poco más detallada y cercana a la que usaremos para un algortmo genétco, quen centrará nuestro trabajo. Podemos observar que se trata de un algortmo estocástco en el que es posble dstngur las tres etapas cláscas [WC97]: generacón de la muestra ncal, paso de optmzacón y comprobacón de la condcón de parada. ALGORITMO 1.1. (ALGORITMO EVOLUTIVO) t := 0; ncalzar [P(t)]; evaluar [P(t)]; mentras no termnar hacer P (t) := varacón [P(t)]; evaluar [P (t)]; P(t+1) := selecconar [P (t) Q]; t := t +1 ; fn mentras ALGORITMO 1.2. (ALGORITMO EVOLUTIVO) t := 0; ncalzar [P(t)]; evaluar [P(t)]; mentras no termnar hacer P (t) := seleccón_pareja [P(t)]; P (t) := recombnacón [P (t)]; P (t) := mutacón [P (t)]; evaluar [P (t)]; P(t+1) : =selecc_entorno [P (t) P(t)]; t := t +1 ; fn mentras En el Algortmo 1.1 P(t) denota una poblacón de µ ndvduos en la generacón t. Q es un conjunto de ndvduos adconal que podemos consderar para la seleccón. En el caso más genérco y normal Q=P(t) como presentamos en el Algortmo 1.2, aunque Q= es gualmente posble. El algortmo genera una nueva poblacón P (t) de λ ndvduos aplcando a P(t) un conjunto de operadores de varacón. Típcamente tenemos el caso del algortmo 1.2 en el que dchos operadores son la seleccón y recombnacón de parejas junto con la mutacón de los nuevos ndvduos generados. Los operadores de varacón son en general no determnstas, vnendo por tanto su comportamento regulado por reglas de transcón probablístcas. & La evaluacón srve para asocar un valor de caldad, calculado por la funcón objetvo f ( ) para cada solucón x & k representada por el ndvduo k-ésmo de P (t), k:1,..., λ. El proceso de seleccón en un AE consta de dos etapas: la prmera decde quénes compten por la reproduccón (emparejamento) y la segunda decde cuáles de entre todos los ndvduos (nuevos y vejos) van a sobrevvr, smulando así el proceso de seleccón del entorno (o ambental). Ambas etapas de la seleccón utlzan de alguna manera los valores de adecuacón (ftness) calculados en la evaluacón y asocados a cada ndvduo para guar el proceso haca solucones mejores. x k, 5

20 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Ya estamos en dsposcón de dentfcar los valores de algunos parámetros que dan lugar a los dstntos algortmos secuencales que vamos a estudar. En concreto, podemos defnr tpos dstntos de esquemas de seleccón como sgue: Defncón 1.2. (Esquemas de Seleccón). Dada la descrpcón abstracta de algortmo evolutvo presentada en el Algortmo 1.1, sea Q=P(t). Entonces podemos dstngur los tpos de esquemas de seleccón genércos de las defncones 1.2.1, 1.2.2, y varando el valor del parámetro λ. Defncón (Seleccón por Estado Estaconaro). Cuando λ=1 tenemos una seleccón por estado estaconaro (steady-state) [Wht89] [Swys91] en la que úncamente se genera un hjo en cada paso de la evolucón. Defncón (Seleccón Generaconal). Cuando λ=µ tenemos una seleccón por generacones [Gold89a] en la que se genera una nueva poblacón completa de ndvduos en cada paso de la evolucón. Defncón (Seleccón Ajustable). Cuando 1 λ µ tenemos una seleccón ntermeda en la que se calcula un número ajustable (generaton gap) de ndvduos en cada paso de la evolucón. Por tanto las defncones y son casos partculares de ésta para λ=1 y λ=µ, respectvamente. Defncón (Seleccón por Exceso). Cuando λ.>µ tenemos una seleccón por exceso típca de los procesos naturales reales. En general el uso de seleccón generaconal pura era usual tras la aparcón de los algortmos evolutvos, aunque cada vez más se tende a utlzar evolucón ntermeda ajustable y de estado estaconaro, tenendo en cuenta de esta forma a las estructuras presentes en la poblacón anteror para decdr quén compone la nueva generacón (Fgura 1.4). λ=1 1<λ<µ λ=µ estado estaconaro generaconal Fgura 1.4. Dferencas entre evolucón en estado estaconaro y generaconal. Es normal en los algortmos evolutvos que el tamaño de la poblacón permanezca constante a lo largo del proceso de optmzacón. Asmsmo, exste un elevado número de operadores de varacón, sobre todo versones de los más populares operadores de seleccón, recombnacón y mutacón. Inclumos los detalles técncos relevantes para este trabajo en la Seccón 1.3. Sn embargo, podemos mejorar más la descrpcón de los dstntos tpos de algortmos evolutvos s estudamos en profunddad el operador de seleccón. Este operador es quzás el que más caracterza a un algortmo evolutvo. De forma genérca, el bucle de trabajo de un AE puede vsualzarse como presentamos en la Fgura 1.5. En ella podemos observar los tres elementos más mportantes que caracterzan la seleccón. Las dferentes ternas de valores para estos tres parámetros permten dferencar el funconamento de los operadores de seleccón más conocdos. Los parámetros más nfluyentes son: el tamaño de la poblacón µ, el número de descendentes generados λ y fnalmente el tempo de vda máxmo (edad) k de los ndvduos de la poblacón. Los tres parámetros suelen ser constantes durante toda la evolucón del AE. 6

21 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS La Fgura 1.5 permte ver cómo en una poblacón de µ membros exste una porcón que ya habrán alcanzado la edad máxma, a quenes no se les permtrá ya producr descendentes en el futuro. Sólo los ndvduos de edad menor a la máxma partcpan en los procesos de seleccón. De entre ellos la seleccón determna parejas formando un subconjunto llamado multconjunto (multset) que sufrrán los efectos de los operadores de varacón. Tras la generacón de λ descendentes, la seleccón del entorno (envromental selecton) determna quénes formarán la nueva poblacón. Prmero debe decdrse quénes serán los canddatos: sólo los descendentes o tambén los membros de la poblacón antgua. La prmera posbldad se denomna seleccón (µ, λ), sendo µ λ, y la segunda posbldad se denomna seleccón (µ + λ). Por tanto, de los λ (µ + λ) canddatos se selecconan los µ ndvduos que formarán la nueva poblacón. La edad de los membros que sobrevven de la poblacón antgua se ncrementa en uno y los descendentes recén creados elegdos para sobrevvr recben una edad de 0. Típcamente esta seleccón del entorno determnístcamente decde que sobrevvan los mejores µ ndvduos (eltsmo), pero exsten numerosas varantes útles. En prncpo, el eltsmo permte que uno o más ndvduos ben adecuados al problema puedan llegar a exstr durante toda la vda del algortmo. POBLACIÓN EDAD=k EDAD<k µ membros seleccón del entorno (µ+λ) HIJOS seleccón de pareja y operadores de varacón λ membros seleccón del entorno (µ,λ) µ membros NUEVA POBLACIÓN Fgura 1.5. La próxma generacón. Con la ntencón de ntroducr las prncpales dferencas entre famlas de algortmos evolutvos podemos vsualzar el dagrama conocdo como cubo evolutvo [BGKK97]. Un AE cualquera puede vsualzarse en él como un punto representado por las coordenadas (µ, λ, k ), con µ, k [1.. ) y λ [0.. ). 7

22 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS En la Fgura 1.6 los puntos negros ndcan tpos genércos de AEs con dferentes parámetros. Nótese por ejemplo que, ya que la seleccón (µ, λ) reemplaza la poblacón antgua, el parámetro k vale sempre uno, mentras que para la seleccón (µ + λ), k tende a nfnto. Además, en la seleccón (µ, λ) debe cumplrse que µ λ. Esta condcón suele ncluso respetarse (aunque no es oblgatora) en las estrategas evolutvas, donde es normal utlzar seleccón (µ + λ). edad número de hjos tamaño poblacón Estratega Evolutva (µ+λ) Programacón Evolutva Algortmo Evolutvo (µ+λ) Estado Estaconaro Dstrbucones Estratega Evolutva (µ,λ) Algortmo Genétco Smple Fgura 1.6. El cubo evolutvo. Los algortmos genétcos tradconales pueden verse como un tpo de AE que utlza una seleccón (µ, µ) como mecansmo de seleccón ambental (del entorno). En un AE de estado estaconaro realmente se utlza seleccón (µ + 1), pues se crea un únco descendente en cada paso. Un algortmo evolutvo (1 + 1) es realmente un proceso de segumento del gradente descendente. Fnalmente, un algortmo de programacón evolutva tradconal [FOW66] produce un descendente a partr de cada padre, y tanto padres como hjos se utlzan para generar la próxma poblacón. Esto puede verse como la utlzacón de un esquema de seleccón (µ + µ). Aunque hemos mejorado la caracterzacón de los AEs, el cubo evolutvo no proporcona todos los detalles sobre el mecansmo de seleccón. Los tpos de seleccón serán objeto de estudo en la seccón (representan el nteror de las flechas de la Fgura 1.5). Presentamos a contnuacón los prncpales ngredentes formales necesaros para defnr un algortmo evolutvo secuencal. La descrpcón es una extensón y modfcacón del trabajo de [Bäck96] que permte el trasvase de conocmentos debdo a la descrpcón y estudo unfcados de los algortmos evolutvos secuencales. De la msma manera, se pretende proporconar en el presente trabajo una descrpcón y estudo unfcados de modelos paralelos y dstrbudos de algortmos genétcos con los que se espera obtener las msmas ventajas que en el campo de los modelos secuencales. Defncón 1.3. (Algortmo Evolutvo Secuencal). Un algortmo evolutvo secuencal (AE) se defne como una tupla de 7 elementos: AE = (I, Φ, Ω, Ψ, ι, µ, λ) (1.2) donde I = G IR es el espaco de ndvduos, sendo G el genotpo al que se asoca un valor de adecuacón pertenecente al conjunto de los reales IR. 8

23 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Para asgnar a cada ndvduo un valor de adecuacón se utlza la funcón de adecuacón Φ : G IR. A su vez, defnmos el fenotpo P como el conjunto de valores resultantes de expresar el genotpo G en parámetros con sgnfcado para el problema. De esta forma Γ : P G es la funcón de codfcacón que permte representar los parámetros del problema como puntos del espaco de genotpos. La funcón nversa Γ -1 es la que se utlza sempre sobre un ndvduo antes de someterlo a evaluacón. La funcón de adecuacón puede someter a certa transformacón el valor devuelto por la funcón objetvo antes de consderarlo como valor de adecuacón del ndvduo. Para ello se utlza una funcón ϕ : IR IR. El objetvo es asegurar valores postvos de adecuacón y separar dchos valores entre sí de forma que se faclte el trabajo del operador de seleccón. Por tanto, dada una estructura a G el proceso de evaluacón mplca: & 1 & Φ ( a) = ϕ f Γ a (1.3) ( ( ( ) ) La componente Ω representa un conjunto de operadores genétcos de aplcacón no determnstaω cada uno de ellos controlado por un conjunto de parámetros Θ IR φ. El valor Θ φ es el número de parámetros que controlan el funconamento del operador -ésmo, s = ω Θ es 0 el operador de seleccón de parejas y r = ω Θ z es la seleccón ambental (reemplazo). S notamos 1 como z el número de operadores entonces el conjunto de operadores se defne como sgue: Ω = { ω Θ,..., ω 1 Θ z ω 2 Θ : I λ I λ } { ω Θ : I µ I λ } { ω 0 Θ z : I λ I λ+µ I µ } (1.4) 1 Tambén se permte µ = λ. Por otro lado, sguendo con la descrpcón de los elementos de la tupla, los valores µ, λ IN son valores naturales, ndcando el tamaño de la poblacón y el tamaño del conjunto de descendentes generados por los operadores, respectvamente. Fnalmente ι : I µ {true, false} es el crtero de termnacón del AE. La transcón entre dos generacones vene gobernada por la funcón Ψ : I µ I µ quen descrbe el proceso completo de transformacón de una poblacón P(t) en la sguente por aplcacón del plan adaptatvo, es decr, la composcón ordenada de operadores desde la seleccón de parejas hasta la ambental: Ψ = ω Θ z 1 ω Θ 1... ω Θ j ω Θ 0 Ψ(P(t)) = ω Θ z 1 (Q ω Θ 1 (... ( ω Θ ( ω Θ ( P(t) )))...)) (1.5) j 0 donde { 1,..., j } {1,..., z-2} y Q {, P(t)}. La defncón anteror admte numerosas varantes consecuenca de modfcacones en la defncón de operadores, representacón de los ndvduos, tpo de la evaluacón, crteros de parada, etc. Aunque el espaco de búsqueda es arbtraramente complejo, tradconalmente los AGs se han ceñdo a un espaco vectoral en el conjunto de los reales. Los parámetros de cada operador utlzado determnan comportamentos dstntos del msmo algortmo. El operador de seleccón puede ser tanto determnsta como no determnsta. El crtero de termnacón puede ser tan smple como alcanzar un número preestablecdo de generacones o tan complejo como una condcón dependente de alguna métrca (Defncón 1.10) sobre los ndvduos de la poblacón. 9

24 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Un algortmo evolutvo tera un certo número de veces generando una secuenca de poblacones (Defncón 1.4) e dentfcando como solucón (Defncón 1.5) una de las estructuras de la poblacón aparecda durante el tempo de ejecucón (Defncón 1.6) transcurrdo hasta satsfacer la condcón de termnacón. Defncón 1.4. (Secuenca de Poblacones). Dado un AE con una funcón de transcón entre generacones Ψ : I µ I µ y una poblacón ncal P(0) I µ, la secuenca P(0), P(1), P(2),... se denomna secuenca de poblacones -o evolucón de P(0)- t 0 : P( t + 1) = Ψ( P( t)). (1.6) La creacón de la poblacón ncal P(0) se suele realzar de forma aleatora aunque en algunas aplcacones práctcas puede utlzarse nformacón dependente del problema para generar un conjunto de puntos de búsqueda ncales que presenten a pror certas ventajas [Reev93b]. Típcamente se dstnguen dos modelos de algortmos evolutvos atendendo a s se determna como solucón una únca estructura o ben una poblacón completa [Gold89a] [DeJo92]. En este trabajo utlzaremos el prmer crtero conocdo como modelo Pttsburg, frente al segundo crtero (típco de sstemas para aprendzaje máquna) conocdo como modelo Mchgan. Por tanto, podemos defnr como resultado la estructura, de entre todas las generadas durante el proceso de búsqueda, que provoque un mayor valor de la funcón objetvo: Defncón 1.5. (Resultado de un AE). Dado un AE con una funcón de transcón entre generacones Ψ y una poblacón ncal P(0) I µ se defne como resultado al ndvduo a s & a τ AE t Ψ ( P(0)) (1.7) t= 0 τ AE & & & t y además se cumple que f ( a) = máx f ( a ) a Ψ ( P(0)). (1.8) t= 0 En la defncón anteror utlzamos el concepto de tempo de ejecucón del AE y lo notamos como τ AE, quedando defndo éste como el menor número de generacones que satsface el crtero de termnacón (vea la sguente defncón). Defncón 1.6. (Tempo de Ejecucón). Dado un AE con una funcón de transcón entre generacones Ψ y una poblacón ncal P(0) I µ se defne como tempo de ejecucón a τ AE s t { t IN ι( Ψ ( P(0 ) = true } τ AE = mín )). (1.9) La defncón de tempo de ejecucón en térmno de generacones es dferente cuando se comparan algortmos de dstntos gránulos de generacón, es decr, dependente del número de descendentes generados λ en cada paso. De esta forma, ya que en este trabajo realzamos un estudo comparatvo entre algortmos cuyo paso evolutvo es dferente, es mportante determnar un crtero nequívoco de comparacón como es el número de evaluacones de la funcón objetvo que se ha realzado en cada uno de los algortmos comparados. 10

25 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Para termnar esta seccón, y a modo de resumen, vamos a expresar con estos formalsmos el funconamento de un AE secuencal en el algortmo sguente (Algortmo 1.3). ALGORITMO 1.3. (ALGORITMO EVOLUTIVO SECUENCIAL) t := 0; & & P( 0) : = a1(0),..., a ) µ (0 G µ ncalzar: { } & & evaluar: P 0) : { Φ( a (0)),..., Φ( a (0))} ι P(t) ( 1 µ mentras ( ) true hacer selecconar: P ( t) : = sθ ( P( t) ); s recombnar: P ( t) : = ( P Θ ( t) ); c mutar: P ( t) : = m ( P Θ ( t) ); m & & evaluar: P ( t) : { Φ( a 1(0) ),..., Φ( a λ (0))} reemplazar: P( t + 1) : = r ( P ( t) Q) ; t := t +1 ; fn mentras Θ r La smltud de este algortmo con su pseudocódgo (Algortmo 1.2) atendendo a las defncones proporconadas hacen que sea un claro representante de la mayoría de algortmos evolutvos. Los operadores de seleccón de pareja, cruce, mutacón y reemplazo (s,, m, r) utlzan cada uno de ellos su propo conjunto de parámetros Θ. Los operadores de cruce y mutacón se han descrto en su versón de alto nvel, es decr, aplcados sobre el conjunto de la poblacón. En la sguente seccón se refna su comportamento en térmnos de su ardad y panmxa. ; ; ; Algortmos Evolutvos Paralelos La ejecucón real de un algortmo evolutvo secuencal requere de una poblacón de solucones tentatvas que representan puntos del espaco de búsqueda, sobre las que se realzan operacones para guar la búsqueda. En la práctca, esto supone que un AE utlza recursos de computacón como memora físca y tempo del procesador de forma consderable. Exsten báscamente dos enfoques para dsmnur el tempo de ejecucón real: (1) dsmnur de alguna manera el número de evaluacones necesaro para alcanzar una solucón y (2) ejecutar el algortmo en una máquna paralela. Como veremos, los modelos paralelos de estos algortmos son nteresantes porque consguen ambos objetvos, ya que modfcan el comportamento típco del algortmo secuencal equvalente medante el uso de una poblacón estructurada. La nclusón del paralelsmo en las operacones de un AE da lugar a un AE paralelo (AEP) [BB93] [CF96]. Un AEP permte pues utlzar poblacones de mayor tamaño, resolver problemas de mayor dmensón y complejdad, y reducr el tempo real de espera por una solucón. Además de estas ventajas planteadas globalmente, veremos más adelante cómo algunos tpos de AEPs pueden cambar su comportamento debdo a la forma especal de nclusón del paralelsmo. Por el momento, ya dsponemos de los elementos mínmos para delnear el funconamento de un algortmo evolutvo paralelo (Algortmo 1.4) a partr de la versón secuencal. 11

26 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS ALGORITMO 1.4. (ALGORITMO EVOLUTIVO PARALELO) AEP t := 0; ncalzar [P (t )]; evaluar [P (t )]; mentras no termnar hacer P (t ) := seleccón_pareja [P (t )]; P (t ) := recombnacón [P (t )]; P (t ) := mutacón [P (t )]; evaluar [P (t )]; P (t ) := comuncacón [P (t ) AEP j ::P j (t j )]; // Interaccón con los vecnos P (t +1) := selecc_entorno [P (t ) P (t )]; t := t +1 ; fn mentras Como puede observarse, un algortmo evolutvo paralelo extende la versón secuencal ncluyendo una fase de comuncacón con un vecndaro de otros algortmos evolutvos. La forma de realzar esta comuncacón, el tpo de operacones del resto de algortmos en paralelo y otros detalles de funconamento determnan su comportamento global. Debdo a la exstenca de numerosas varantes trasladamos al Capítulo 2 los detalles sobre AEPs. Sn embargo, podemos observar que este modelo permte tambén una fácl composcón con algortmos no evolutvos, lo que consttuye otra rama nteresante de trabajo. Obsérvese en el Algortmo 1.4 que notamos la generacón de cada subalgortmo con un superíndce t para constatar el hecho de que dstntos subalgortmos pueden estar en dstntas etapas de su evolucón. De entre las operacones de un algortmo evolutvo secuencal el mecansmo de seleccón es el únco que oblgatoramente nvolucra a toda la poblacón. Este hecho es muy relevante para la paralelzacón, y por tanto es merecedor de un estudo detendo. Puede caracterzarse formalmente al operador de seleccón clasfcándolo en tres tpos: operadores unaros, bnaros y operadores que utlzan toda la poblacón (panmxa): Defncón 1.7. (Operadores Genétcos Unaros, Bnaros y que usan Panmxa). Un operador genétco ω Θ : I p I q se denomna unaro : ω : I I : ω Θ Θ & & & & ( a,..., a ) = ( ω ( a ),..., ω ( a )) p q 1 p Θ 1 Θ p = bnaro : ω : I ω I : Θ & & & & & & ( a,..., a ) = ( ω ( a, a ),..., ω ( a, a )) 1 2 donde k {1,..., q} se elgen aleatoramente, j k Θ k p {1,..., p} Θ 1 j1 Θ q jq (1.10) ω : I p I : panmxa : & & & & & & ω ( a,..., a ) = ( ω ( a,..., a ),..., ω ( a,..., a )) Θ Θ Θ 1 p 1 p 1 p Θ q 12

27 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Los operadores unaros como la mutacón, y los bnaros como el cruce, no presentan problemas en la defncón de un modelo paralelo. Sn embargo, el operador de seleccón, (parejas y ambental), representa un cuello de botella en el sstema paralelo ya que usa panmxa. Más adelante presentaremos la evolucón y los tpos de algortmos evolutvos paralelos para encuadrar nuestra propuesta. Por el momento debemos centrar nuestra atencón en los aspectos que son susceptbles de paralelzar. De esta forma, encontramos que los operadores que no usan panmxa pueden ejecutarse a la vez sobre dferentes porcones de la poblacón. Por otro lado, las operacones de evaluacón de la adecuacón de los descendentes pueden ser gualmente paralelzadas sn provocar nngún cambo en el modelo secuencal básco. Con estos dos tpos de paralelzacón, y mantenendo una seleccón centralzada, damos lugar a un algortmo más rápdo en tempo real pero con las msmas característcas de búsqueda que s no estuvese trabajando en paralelo. A los modelos resultantes se les denomna de paralelzacón global (Fgura 1.1, tpo 2) [Cant97b]. Cuando la paralelzacón no la establece el usuaro sno que ocurre a nvel de complacón de las nstruccones del programa se le denomna automátca (Fgura 1.1, tpo 1). La otra gran vertente que conduce a la paralelzacón de AGs es la de abandonar la vsón de una poblacón únca y separarla en subpoblacones de certo tamaño que se comunquen entre sí de alguna forma. Es en este sentdo en el que la paralelzacón se ha mostrado con frecuenca más efectva que su contrapartda secuencal. Los algortmos así paralelzados demuestran comportarse de forma dstnta a la secuencal y, en general, mejoran la búsqueda. Este hecho es lógco, ya que, contnuando con la dea de copar el funconamento de la evolucón natural, no deberíamos permtr que cualquer ndvduo se empareje con cualquer otro de la poblacón global (panmxa). Por el contraro, es normal la evolucón en grupos separados, dando lugar a especes (demes) o nchos. De esta manera, una poblacón de ndvduos separada en grupos de reproduccón cas-aslada se conoce como poltípca, y es la vsón natural equvalente a la ejecucón paralela en slas de ndvduos típca de los algortmos evolutvos dstrbudos. Atendendo a esta últma vsón encontramos que podemos dstngur entre modelos de grano grueso [Tane89] [Beld95] [Gold95] y grano fno [MS89] [SM91] [MSB91], según que la relacón entre el tempo de la fase de computacón y la fase de comuncacón sea alta o baja, respectvamente (tpos 3 y 4 de la Fgura 1.1). En un algortmo de grano grueso el tamaño de la poblacón es aprecable P (t ) =µ/d, donde d es el número de subalgortmos, mentras que en uno de grano fno cada subalgortmo contene una sola estructura P (t ) =1. En este trabajo aportamos la vsón de consderar que la prncpal dferenca frente a los algortmos tradconalmente llamados secuencales es esencalmente que utlzan una poblacón estructurada espacalmente. La Fgura 1.7 muestra lo que nosotros hemos dado en llamar el cubo de poblacones estructuradas en el que puede observarse que realmente las dferencas deben establecerse entre los modelos, y no entre sus mplementacones, ya que cada modelo admte múltples. El modelo celular consta de un elevado número de subalgortmos con frecuentemente comuncacón entre ellos, cada uno con unos pocos ndvduos (usualmente sólo uno). Por el contraro, un modelo dstrbudo consta de pocos subalgortmos de gran poblacón y realza ntercambos esporádcos de nformacón. En medo exste un contnuo de posbles modelos, a veces de dfícl clasfcacón. Respecto a la mplementacón, parece evdente que los modelos celulares encajan fáclmente en un sstema SIMD, mentras que los dstrbudos lo hacen en uno MIMD, pero eso no sgnfca que sean los úncos tpos de mplementacón posbles. 13

28 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS cga #subalgortmos acoplamento dga tamaño subpob. Fgura 1.7. Cubo explcatvo de algortmos con poblacón estructurada. Podríamos decr que la nomenclatura antgua secuencal/paralelo puede ser en ocasones equívoca. Proponemos hablar de algortmos celulares frente a dstrbudos en vez de algortmos de grano fno frente a algortmos de grano grueso. Sn embargo, en muchas ocasones las descrpcones de modelos exstentes hablan de mplementacones sobre certo sstema hardware, porque en muchas ocasones la relacón es de uno a uno. La formalzacón de estos conceptos se proporcona en el capítulo sguente, pero parece claro que el proceso de crear subpoblacones nterconectadas no mplca que estas subpoblacones deban trabajar atendendo a un AE de poblacón únca. Con esta vsón del paralelsmo en que grano fno y grueso no son consderados como alternatvas y hablamos de algortmos de poblacón estructurada, se abren nuevas expectatvas [AT99a]. Un AGP tradconal de granulardad combnada es un modelo AG estructurado en dos o más nveles. Esto puede ser ventajoso debdo a que es posble combnar algunas de las ventajas relatvas de cada modelo sn, al menos, acentuar sus respectvos nconvenentes (Fgura 1.8). Maestro... Maestro Trabajadores Trabajadores Trabajadores (a) (b) (c) (d) (e) (f) Fgura 1.8. Esquemas de un AG (a) con paralelzacón global, (b) paralelo de grano grueso, y (c) paralelo de grano fno. Exsten numerosos modelos paralelos híbrdos que combnan a alto y bajo nvel (d) grano grueso y grano fno, (e) grano grueso y paralelzacón global y (f) grano grueso tanto a alto como a bajo nvel (nomenclatura tradconal). Es mportante resaltar que en los modelos dstrbudos se ntroduce el concepto de homogenedad. Este concepto nos permte dstngur dos nveles: nvel de búsqueda y nvel de ejecucón. A nvel de búsqueda (software), un algortmo de poblacón estructurada es homogéneo s todas los subalgortmos que lo componen aplcan el msmo plan adaptatvo sobre sus respectvos datos (paralelsmo de datos y smetría textual) y es heterogéneo s no se cumple esta condcón. A nvel de ejecucón (hardware), s los dstntos subalgortmos se ejecutan sobre plataformas del msmo tpo, entonces el algortmo es homogéneo. En otro caso, se trata de un algortmo evolutvo heterogéneo. En nuestro caso trabajamos con algortmos homogéneos tanto a nvel de búsqueda como a nvel de ejecucón. La heterogenedad en ejecucón es cas nexstente en este campo aunque la heterogenedad a nvel de búsqueda está progresando con algunos resultados nteresantes [LPG94] [AP96] [HL97]. 14

29 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Debemos tener en cuenta que los modelos que surgen por paralelzacón no restrngen el modelo genérco de algortmo evolutvo. Por un lado, esto sgnfca que los desarrollos exstentes sobre algortmos evolutvos pueden extenderse a los modelos paralelos estructurados. Por otro lado, esto mplca tambén que podemos mejorar la efcenca en problemas donde ya se aplcan los algortmos evolutvos secuencales o de poblacón únca, además de ser posble abordar nuevos problemas cas ntratables hasta el momento. En consecuenca, cualquer modfcacón del comportamento de un AE secuencal tal como ntroducr conocmento dependente del problema es tambén susceptble de aplcarse al modelo paralelo, con la mportante dferenca de que el modelo paralelo es de partda más genérco y potente en la mayoría de los casos que el secuencal Revsón y Clasfcacón de Trabajos Relaconados En esta seccón presentaremos una revsón de los prncpales algortmos, clasfcados como secuencales o paralelos, encontrados en la bblografía asocada a este campo. Pretendemos con ello dar un cauce lógco que plantee la necesdad de resolver problemas complejos usando algortmos paralelos y estructurados. Igualmente, se dscuten las prncpales ventajas de usar un algortmo genétco de poblacón estructurada (Tabla 1.1) y un resumen de sus aplcacones que ayude a justfcar la utldad de nuestro trabajo en este campo. Esta seccón será ntenconadamente ntroductora y descrptva debdo a que nuestra aportacón se centra en este terreno y dedcaremos los sguentes capítulos a refnar y formalzar los conceptos que aquí presentamos ntutvamente. En muchos puntos nos refermos a algortmos paralelos por ser tradconal descrbr dchos trabajos de esta manera. TABLA 1.1. VENTAJAS DE USAR UN AG DE POBLACIÓN ESTRUCTURADA Ventajas de Utlzar un Algortmo Genétco de Poblacón Estructurada n Trabaja sobre una codfcacón del problema o Báscamente ndependente del problema (robusto) p Proporcona múltples solucones al msmo tempo q Búsqueda paralela desde dstntos puntos del espaco r Fácl paralelzacón como slas o vecndaros s Mejores resultados ncluso sn hardware paralelo t Mayor efcenca e ncluso porcentaje de éxtos u Fácl cooperacón con métodos no evolutvos Exsten numerosos modelos de AGPs [Gorg89] [MS89] [Tane89] [WS90] [Dav91b]. Todos ellos pueden clasfcarse en los cuatro tpos báscos de la Fgura 1.1 ya menconados. Los modelos de paralelzacón global, aunque son nteresantes, tenen una aplcacón reducda en la actualdad, ya que, para que merezca la pena dstrbur así, la funcón objetvo debe ser muy costosa de evaluar. Además, queda el problema del cuello de botella en la seleccón del maestro, aunque nada mpde la paralelzacón de la seleccón, mentras sga utlzando los valores de adecuacón de toda la poblacón. Consulte recentes trabajos están en la línea en [CG97]. El segundo tpo de modelos paralelos se basa en aplcar a un AG secuencal un complador que paralelce automátcamente allí donde el códgo lo permta. Este tpo de paralelsmo es poco usual en computacón evolutva. El resto de modelos, quenes centran actualmente la atencón de la comundad centífca, son AGPs de grano fno o grano grueso, o más correctamente, dstrbudos y celulares. 15

30 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Los modelos de dstrbudos son con mucho los más populares [FAT94] debdo a que de forma clara permten extender la ejecucón secuencal a un grupo de slas AG que se ejecutan en paralelo e ntercamban con certa frecuenca entre sí un conjunto de ndvduos u otra nformacón, atendendo a certa topología como un anllo, árbol, estrella,... Los modelos celulares típcamente stúan cada ndvduo de la poblacón en una dsposcón bdmensonal (como por ejemplo una malla torodal) y hacen nteracconar a cada ndvduo exclusvamente con sus vecnos atendendo a certa defncón de vecndaro. La mgracón en este caso se da de forma contnua en la rejlla (malla) y además transparentemente, debdo al solapamento de vecndaros. Los modelos dstrbudos están déblmente acoplados (de hecho la evolucón separada durante un alto número de pasos es lo más ndcado, sn llegar al aslamento total) mentras que los algortmos celulares están fuertemente acoplados, debdo a las nteraccones de cada ndvduo con su vecndaro. Típcamente los modelos dstrbudos envían al subalgortmo destno una copa del mejor o de un ndvduo aleatoro, mentras que los modelos celulares deben utlzar vecndaros reducdos que permtan un trabajo descentralzado. La sguente tabla resume las característcas de ambos tpos de modelos y su paralelzacón. TABLA 1.2. RESUMEN DE CARACTERÍSTICAS DE LOS MODELOS CELULARES Y DISTRIBUIDOS AGPs Dstrbudos AGPs Celulares Déblmente acoplados (fácl mplementacón dstrbuda) Típcamente slas en un anllo con mgracón esporádca Típcamente mplementados en redes locales (clusters) Múltples subpoblacones evoluconan a dstntas solucs. Fácl cooperacón con otras técncas no evolutvas Fuertemente acoplados (paralelsmo físco masvo) Interaccón de cada ndvduo sólo con su vecndaro Típcamente mplementados en máqunas SIMD Múltples solucones ntermedas se dfunden y compten Alta efcaca en problemas complejos La Tabla 1.3 resume de forma ordenada en el tempo la aparcón y algunas característcas báscas de mplementacones paralelas de modelos dstrbudos o celulares que permtan obtener una dea clara de la dversdad exstente, así como de los factores comunes compartdos por todas ellas. En la Tabla 1.3 presentamos algunos modelos como dga, DGENESIS o GALOPPS que sguen felmente el estándar tradconal de grano grueso hacendo hncapé en presentar un sstema flexble. Otros modelos como PGA (ambos modelos), SGA-cube, SP1-GA o PARAGENESIS están fuertemente atados a la máquna para la que fueron desarrollados. En este aspecto son más mplementacones paralelas que ejemplos de modelos de ejecucón paralela. El resto de modelos se dseñó pensando en potencar en partcular una o varas característcas de la búsqueda. Este es el caso de GENITOR II y dgann que utlzan una evolucón de estado estaconaro en cada sla en lugar de una generaconal. PeGAsuS y GALOPPS están pensados para ser fáclmente transportables entre máqunas de dstntos tpos. GAMAS potenca el uso de dferentes especes de codfcacón entre las dstntas slas, aunque de forma dstnta a GA en donde el flujo de estructuras está jerarquzado y se potenca la heterogenedad y trabajo asíncrono sobre el resto de sus característcas. Fnalmente, GDGA, CoPDEB y dcga están pensados para ntroducr de forma explícta dferentes nveles de exploracón/explotacón en el algortmo atendendo al uso de dstntos operadores o modelos de evolucón. 16

31 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS TABLA 1.3. RESUMEN ORDENADO POR AÑO DE ALGUNAS IMPLEMENTACIONES DE AGPS Nombre Ref. Año Característcas Generales PGA [PLG87] 1987 Islas generacs. sobre Intel PSC (8 CPUs). Mgra el mejor. Topología dnámca dga [Tane89] 1989 Poblacones dstrbudas. Mgra el 20% de cada poblacón cada 20 generacones GENITOR II [WS90] 1990 Estado estaconaro con seleccón por rankng y cruce específco propo PGA [MSB91] 1991 Subpoblacones en una escalera crcular 2-D. Mgra el mejor y hace escalada local SGA-cube [ESG91] 1991 Hecho para el ncube2. Extensón paralela del SGA básco de Goldberg PARAGENESIS Hecho para la CM-200. Stúa un ndvduo en cada CPU PeGAsuS [RAT93] 1993 Pensado para máqunas MIMD y escrto en un lenguaje de alto nvel muy flexble GAMAS [PGY94] 1994 Usa 4 especes (slas) heterogéneas y mgracón y codfcacón muy especales GA [LPG94] 1994 Islas de nyeccón con nodos heterogéneos jerarquzados y mgracón asíncrona SP1-GA [Lev94] slas de estado estaconaro sobre un IBM SP1 de 128 nodos. Cuadrícula 2-D DGENESIS [MC94] 1994 Topología flexble por mgracón. Implementado usando sockets sobre UDP GALOPPS [Good96] 1996 Muy flexble. Implementado con PVM. Dspone un gran número de operadores GDGA [HL97] 1996 Síncrono. Paralelsmo smulado (generaconal). Genotpo real y cruce dfuso CoPDEB [AP96] 1996 Cada sla usa sus propos operadores y dstntas probabldades para ellos dgann [AC97] 1997 Islas de estado estaconaro en anllo con ntercambos síncronos de un ndvduo dcga [CAT98a] 1998 Islas celulares o de estado estaconaro con mgracón en anllo Las actuales tendencas están provocando por ejemplo que GENITOR II evolucone hasta convertrse en una bbloteca ncluso contenendo modelos celulares. Como otro ejemplo de las nuevas tendencas podemos señalar a GDGA, quen utlza un sstema de exploracón/explotacón explíctas en dstntas slas, y que en la actualdad está evoluconando a un sstema jerárquco multnvel, todo ello ejecutado sobre un únco procesador. Aunque la lsta está lejos de ser completa, demuestra el nterés en realzar estos algortmos como software flexble y paralelo. Igualmente se detecta una tendenca a utlzar mplementacones dependentes de una máquna en concreto, sobre todo en el caso de los modelos de dfusón exstentes, ya que el uso de poblacones estructuradas en cuadrícula ha estado sempre asocado al uso de computadores SIMD de gual dsposcón bdmensonal. La tendenca a utlzar lenguajes modernos como C++ [Stro91] o JAVA [Pew96] es cada vez más acusada en la actualdad. La expansón del uso de modelos paralelos es mportante y abarca numerosos domnos entre los que destacamos los contendos en la Tabla 1.4. TABLA 1.4. ALGUNOS DOMINIOS DE APLICACIÓN DE LOS ALGORITMOS GENÉTICOS PARALELOS Referenca Domno de Aplcacón [AC97] Entrenamento en paralelo de redes de neuronas, lógca dfusa,... Algortmos puros e hbrdados [CPRS96] Síntess de crcutos VLSI [GW93] Optmzacón Funconal [Lev94] Problemas de partcón de conjuntos [LPG94] Problemas de partcón de grafos [Mch92] Optmzacón con restrccones, problemas de reordenacón,... [MSB91] Vajante de comerco (TSP), optmzacón funconal [MT91] Dstrbucón de la carga de computacón sobre un conjunto de procesadores [PGY94] Problema de asgnacón de fcheros, red de neuronas XOR, funcones senodales [Sten93] Modelado de sstemas, estructura de las proteínas y problemas de empaquetado bdmensonal [Tane89] Polnomos Walsh [WS90] Optmzacón de pesos en redes de neuronas (XOR, sumador bnaro,...) y optmzacón funconal 17

32 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Puede observarse en la tabla anteror la multplcdad de trabajos en domnos de optmzacón funconal, optmzacón combnatora, ntelgenca artfcal o ngenería. Exsten muchas otras aplcacones nteresantes en otros domnos que justfcan el valor del trabajo hecho en algortmos genétcos (y evolutvos en general) paralelos: asgnacón de frecuencas a enlaces rado, predccón de mercado, teoría de juegos, gráfcos,... En la Tabla 1.5 detallamos el tpo de paralelsmo que se ha ntroducdo en dferentes mplementacones de algortmos genétcos con poblacón estructurada, así como un resumen sobre el tpo de topología que nterconecta a los subalgortmos y sus aplcacones más conocdas. TABLA 1.5. DETALLES INTERESANTES SOBRE ALGORITMOS GENÉTICOS PARALELOS AGP Tpo de Paralelsmo Topología Ha sdo Aplcado a... ASPARAGOS Grano fno. Aplca escalada s no detecta mejora Escalera TSP CoPDEB Grano grueso. Cada subpoblacón aplca df. operadores Totalmente conect. Opt. func. y RNs DGENESIS 1.0 Grano grueso con mgracón entre subpoblacones Cualquera deseada Optmzacón funconal ECO-GA Grano fno (uno de los prmeros de este tpo) Malla Optmzacón funconal EnGENEer Paralelzacón global (evaluacones paralelas) Maestro / Esclavo Muy varadas aplcs. GALOPPS 3.1 Grano grueso. Sstema muy portable Cualquera deseada Opt. func. y transporte GAMAS Grano grueso. Utlza cuatro especes de genotpo Jerarquía fja Opt. func., RNs,... GAME Orentado a objetos. Versón paralela no dsponble Cualquera deseada TSP, Opt. func.,... GAucsd 1.2 / 1.4 No es paralelo, pero dstrbuye los expermentos sobre una LAN <secuencal> <como GENESIS> GDGA Grano grueso. Admte exploracón/explotacón explícta Hpercubo Opt. func. y (genot-fp) GENITOR II Grano grueso. Operador de cruce propo e nteresante Anllo Opt. func. y RNs HSDGA Usa nveles de grano grueso y de grano fno para una ES Anllo, Árbol,... Optmzacón funconal PARAGENESIS Paralalelzacón global y Grano grueso. CM-200 (1 nd 1 CPU) Múltple Optmzacón funconal PeGAsuS Grano grueso o fno (MIMD). Programacón de alto nvel. Múltple Enseñanza y opt. func. PGA 2.5 Seleccón estructur. Realza mgracones entre subpoblacones Múltple Mochla y Opt. Func. PGAPack Paralelzacón global (evaluacones paralelas) Maestro / Esclavo Optmzacón funconal RPL2 Grano grueso y fno. Muy flexble y aberto a nuevos modelos Cualquera deseada Investgacón y Negocos SGA-Cube Paralelzacón global. Dseñado para el ncube 2 Hpercubo Optmzacón funconal Puede observarse en esta tabla la gran varedad de topologías usadas y la asdudad de los algortmos de grano grueso usando modelos dstrbudos, así como el ncremento recente en la mportanca de los modelos celulares, y la dsmnucón de AGPs que usan paralelzacón global. Incluso es muy notable la nclusón de técncas de búsqueda local o smlares para mejorar los resultados. Esta gran dversdad de sstemas software es actualmente muy acusada. En general, pocos enfoques estructurados y unfcados se han realzado. Sn embargo, sus característcas comunes permten clasfcarlos y, como veremos en breve, dar un enfoque típcamente software de ellos. Podemos dstngur tres categorías de algortmos genétcos [RAT93]: Orentados a la Aplcacón: Sstemas de caja negra dseñados para ocultar los detalles de los algortmos y ayudar al usuaro a desarrollar aplcacones en domnos específcos. Normalmente presentan una nterfaz drgda por menú y son altamente flexbles. Orentados al Algortmo: Basados en algortmos concretos. El códgo fuente está dsponble para ncorporarlo en nuevas aplcacones. A su vez podemos dstngur: - Algortmo Específco: Contenen un únco algortmo genétco. Sus usuaros suelen ser técncos que generan nuevas aplcacones o nvestgadores en computacón evolutva. - Bbloteca de Algortmos: Contenen un grupo de algortmos de forma estructurada y son muy flexbles para ncorporar nuevos operadores o parámetros. 18

33 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Herramentas: Entornos de programacón flexble para generar algortmos o aplcacones. Pueden subdvdrse a su vez en dos tpos: - Educaconales: Utlzados para explcar conceptos a usuaros noveles. Las técncas báscas típcas para estudar ejecucones o resultados durante y tras la ejecucón están amplamente dsponbles y son fácles de usar. - Propósto General: Útles para desarrollar, modfcar y supervsar un extenso rango de operadores, algortmos y aplcacones fnales. Un tpo especal de herramentas son las mplementadas como Marcos o Frameworks [RP97], destnados a smplfcar y extender el uso de algortmos (u otros sstemas) paralelos entre usuaros no especalzados. Cualquer modelo es susceptble de este tpo de sstema, en partcular, en el Capítulo 3, proponemos un desarrollo en forma de marco nsprado y pensado para ser mplementado con uno de nuestros sstemas de optmzacón paralelos. Presentamos a contnuacón algunas tablas con detalles sobre los algortmos concretos que más cercanos están a los propuestos y evaluados en esta memora. Además de las etquetas resultantes de la clasfcacón anteror usaremos Prop para dentfcar aplcacones comercales pertenecentes a una compañía propetara de dcho algortmo. Hemos ntroducdo en las tablas sobre todo algortmos paralelos dstrbudos, aunque están presentes tambén algunos de los más relevantes entornos de celulares y de poblacón únca. Añadmos tambén el tpo de evolucón básca dstnguendo entre generaconal (Gen), estado estaconaro (EE) y ajustable. Dstngumos además aquellos algortmos en los que el uso ntensvo de búsqueda local (Local) es una mportante baza para el éxto del algortmo. En prmer lugar mostramos una clasfcacón muy detallada atendendo a los algortmos de mplementacón tanto secuencal como paralela (Tabla 1.6) y explcamos los símbolos utlzados en la Tabla 1.7. La Tabla 1.8 resume el conjunto de algortmos ncludos en la Tabla 1.6 atendendo a la clasfcacón que acabamos de menconar. Como puede observarse en la Tabla 1.6, báscamente todos los modelos ncluyen un únco tpo de AG están mplementados en C o C++ y funconan sobre UNIX. Las bblotecas como EM 2.1, OOGA, GAGS, GAlb, PGAPack, SUGAL 2.0,... ncluyen herramentas de programacón estructurada u orentada a objetos destnadas a permtr una rápda defncón de prototpos. Las aspracones de GAME son realmente más altas, pues es una bbloteca más genérca y flexble que el resto. Por otro lado, TOLKIEN es un sstema bastante grande donde no sólo se consderan algortmos y herramentas para computacón evolutva, sno tambén técncas útles en otros domnos como ntelgenca artfcal, aprendzaje máquna,... En computacón evolutva RPL2 es quzás el únco de los entornos paralelos que ha cumpldo con las ventajas teórcas potencales al permtr llevarlas a la práctca, proporconando un lenguaje de defncón de modelos para algortmos evolutvos. Algunos de los sstemas como ASPARAGOS se han remozado e ncluso cambado su orentacón de grano fno por otra de grano grueso que permte un mayor mpacto en los resultados obtendos. Otros modelos como CoPDEB o GDGA son bastante nuevos y con peculardades muy propas, de corte muy dstnto a otros poco conocdos como OMEGA o Splcer 1.0 que tenen una aplcacón bastante restrngda y poco estándar. 19

34 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS TABLA 1.6. RESUMEN DE ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Nombre Ref. Leng. SO/Máquna Tpo de GA Algortmo Sec/Par Evolucón ACCESIBLE EN... ASPARAGOS [Gorg89] C 64 T800 transp Algor. Específco Únco / No pop. PAR Local --- CoPDEB [AP96] C UNIX Algor. Específco Únco / No prop. PAR Gen. mal to: adamds@t.tethe.gr DGENESIS 1.0 [MC94] C UNIX Algor. Específco Únco / No Prop. PAR Ajustable ftp to: ftp.ac.nrl.navy.ml ECO-GA [Dav91b] C? UNIX? Algor. Específco Únco / No Prop. PAR Local mal to: yuval@wsdom.wezmann.ac.l EM 2.1 [VBT91] C DOS Bbloteca Bbloteca SEC Gen. / EE/ ES ftp to: [ ]/> EnGENEer [Robb92] C UNIX Propósto General Bbloteca SEC/par Gen. / EE Tel: , George Robbns ESC A PADE 1.2 [Hoff91] C --- Bbloteca Bbloteca --- ES ftp to: ls11.nformatk.un-dortmund.de EVOLVER C++ DOS & MAC Applcaton Orent. Únco / Prop. SEC GA Workbench [Hugh89] C DOS & WIN Educaconal Bbloteca SEC Ajustable ftp to: camcon.co.uk GAGA [AT91] C UNIX, DOS, MAC Algor. Específco Únco / No Prop. SEC como GAs ftp to: cs.ucl.ac.uk/darpa/gaga.shar GAGS [MP96] C++ UNIX & DOS Propósto General Bbloteca SEC Gen. GAlb [Wall95] C++ UNIX Bbloteca Bbloteca SEC Gen. ftp to: lancet.mt.edu/pub/ga/galb242.tar.gz GALOPPS 3.1 [Good96] C UNIX, DOS, MAC Algor. Específco Únco / No Prop. PAR Gen. ftp to: GARAGe.cps.msu.edu GAMAS [PGY94] C? UNIX Algor. Específco Únco / No Prop PAR Gen. --- GAME [Sten93] C++ UNIX & DOS Propósto General Bbloteca SEC-PAR Gen. / EE ftp to: bells.cs.ucl.ac.uk/papagena/game GAucsd 1.2 / 1.4 [SG91] C UNIX, DOS... Algor. Específco Únco / No Prop. SEC Gen. GDGA [HL97] C UNIX Algor. Específco Únco / No Prop. SEC/par Gen. mal to: lozano@decsa.ugr.es GENESIS 5.0 [Gref84] C UNIX, DOS... Algor. Específco Únco / No Prop. SEC Ajustable GENEsYs C UNIX Algor. Específco Únco / No Prop. SEC Ajustable [ ]/pub/GA/src/GENEsYs-1.0.tar.Z GENITOR I - II [WS90] C UNIX Bbloteca Bbloteca SEC-PAR EE / Rank */gentor HSDGA [VSB92] C HELIOS Algor. Específco Únco / No Prop. PAR Local --- LbGA [CW93] C UNIX, DOS, NeXT Algor. Específco Bbloteca SEC Gen. / EE */lbga OMEGA [Sten93] Applcaton Orent. Prop. SEC --- Tel: , KQ Lmted (busness) OOGA [DG91] CLOS cualquer LISP Bbloteca Bbloteca SEC Gen. / EE TSP, P.O. Box 991, Melrose, MA USA PARAGENESIS --- C* CM-200 Algor. Específco Únco / No Prop PAR Ajustable [ ]/pub/galst/src/ga/parageness.tar.Z PC/BEAGLE [RAT93] --- DOS Orent. Aplcacón Prop. SEC EE Tel: , Pathway Research Ltd. PeGAsuS [RAT93] C UNIX,... Propósto General Prop. PAR Gen. / EE mal to: drk.schlerkamp-voosen@gmd.de PGA C UNIX & DOS Bbloteca Únco / No Prop PAR Gen. / Local /pga-2.5.tar.z PGAPack [Lev96] Fort., C UNIX,... Bbloteca Bbloteca PAR Gen. / EE RPL2 [RS94] C UNIX,... Propósto General Bbloteca Prop. PAR Gen. / EE SGA [Gold89a] Pascal UNIX Algor. Específco Únco / No Prop SEC Gen. ftp to: [ ]... sgac_94m.tgz (n C) SGA-Cube [ESG91] C ncube 2 Algor. Específco Únco / No Prop PAR Gen. ftp to: [ ]... sgacub94.tgz Splcer 1.0 [NASA91] C UNIX & MAC Propósto General Bbloteca SEC Gen. ftp to: galleo.jsc.nasa.gov SUGAL 2.0 [Hunt95] C UNIX, DOS,... Bbloteca Bbloteca SEC Gen. / EE TOLKIEN --- C++ UNIX, DOS, WIN Propósto General Bbloteca SEC Gen.? */tolken XpertRule GenAsys Orent. Aplcacón Prop. SEC Attar Software (schedulng) 20

35 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Exsten pocos modelos educaconales como GA Workbench (quzás SGA pudera ser consderado tambén educaconal por su hstora), ya que normalmente no exsten referencas a ellos debdo a su uso local en las nsttucones que los desarrollan. Algunos modelos como HSDGA, SGA-Cube o PGA 2.5 de altas prestacones han sdo cas abandonados por sus desarrolladores debdo a que estaban muy asocados a sstemas operatvos y máqunas que van desaparecendo del mercado en favor cas sempre de una red local de estacones de trabajo. Algunos de los algortmos menconados permten elegr s utlzar una evolucón generaconal o de estado estaconaro, con contadas mencones al uso de un modelo ajustable (por ejemplo DGENESIS y PARAGENESIS). En nnguno encontramos explíctamente una dstrbucón de slas celulares aunque potencalmente podrían consegurse con GAME y exste un ejemplo de aplcacón usando RPL2. En el terreno secuencal, algunos sstemas de AEs han sentado escuela, como el popular GENESIS, con numerosas extensones como GAucsd, GENEsYs o DGENESIS. Báscamente son sstemas de algortmo específco de lbre dsposcón para usar en comparacones o aplcacones de nvestgadores de otros campos. Junto a GENESIS, otro estándar mportante en el terreno de los algortmos de estado estaconaro es GENITOR y su versón dstrbuda en slas GENITOR II. Este últmo, junto con dga quzás sean los estándares más claros de evolucón dstrbuda, aunque en la actualdad el prmero está ncorporando nuevos modelos y varantes. Respecto a modelos de dfusón, pocos se conocen con un nombre y son un sstema software, con la notable excepcón de ECO-GA. Los modelos GAGA y GAMAS representan modelos poco usuales porque utlzan representacones dstntas en los subalgortmos componentes. GALOPPS cuda más los aspectos algorítmcos y de mplementacón. De gual manera, LbGA es un sstema relatvamente nuevo que presta atencón a la defncón de componentes y a la versatldad y facldad de extensón. El resto de los modelos ncludos en la Tabla 1.6 se menconan por complettud (sstemas no muy conocdos como EnGENEer, ESC A P A DE 1.2 o PeGAsuS) o para hacer constar que exsten aplcacones comercales y algortmos no dsponbles para el públco que realmente dan benefcos en el mercado (EVOLVER 2.0, OMEGA, PC/BEAGLE o XpertRule GenAsys). En la tabla anteror hemos ncludo los enlaces hpertexto a los lugares más conocdos donde encontrar estos sstemas. Estos enlaces son bastante estables en su mayoría ya que funconan desde hace varos años y no exsten prevsones de que camben; más ben al contraro, se refuerzan con la adcón de nueva documentacón, versones, y software auxlar. La Tabla 1.7 recuerda el sgnfcado de las etquetas para acceder a la Tabla 1.6 de forma más smple y rápda. Algunos modelos pueden trabajar ndstntamente en modo secuencal o paralelo (SEC-PAR) aunque algunos de ellos no tenen aún versones paralelas (los notamos como par) o están en fase de desarrollo. Como menconamos antes, en la Tabla 1.8 presentamos una clasfcacón de los modelos de la Tabla 1.6 atendendo a los tpos de algortmos defndos en esta msma seccón. Puede observarse cómo los sstemas de algortmo específco son los más abundantes, mentras que los puramente educaconales son mnoría. 21

36 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS TABLA 1.7. SÍMBOLOS UTILIZADOS EN LA TABLA ANTERIOR Símbolo Sgnfcado Local Las operacones sobre cada cadena nvolucran como mucho a las stuadas en su vecndaro Gen. Generaconal: El paso algorítmco básco es la creacón de toda una generacón de ndvduos EE Estado estaconaro (Steady-State): el paso básco de la evolucón es la creacón de unos pocos ndvduos (normalmente sólo uno) Ajustable (gap) El algortmo reemplaza en cada paso sólo a un certo porcentaje de los ndvduos de una poblacón E. S. Evolutonary Strategy Rank Se ordena a los ndvduos por valor crecente de adecuacón y la seleccón se efectúa atendendo a su poscón (y no a su adecuacón) par (mnúscula) Versón paralela aún no dsponble o no es una característca fundamental de la búsqueda SEC-PAR El algortmo es capaz de trabajar tanto en secuencal como en paralelo (y esto se aprovecha como característca sobresalente) * > pub/software/evoluton_machne/em_tc.exe TABLA 1.8. OTRA PERSPECTIVA DE LA CLASIFICACIÓN ATENDIENDO AL TIPO DE ALGORITMO Orentados a la Orentados al Algortmo Herramentas (Tool Kts) Aplcacón Algortmo Específco Bbloteca de Algortmos Educaconales Propósto General EVOLVER 2.0 OMEGA PC/BEAGLE XpertRule GenAsys ASPARAGOS CoPDEB DGENESIS 1.0 ECO-GA GAGA GALOPPS 3.1 GAMAS GAucsd 1.2 / 1.4 GDGA GENESIS GENEsYs 1.0 HSDGA PARAGENESIS SGA SGA-Cube EM 2.1 SUGAL 2.0 ESC A PADE 1.2 GAlb GENITOR I - II lbga OOGA PGA 2.5 PGAPack GA Workbench EnGENEer GAGS GAME PeGAsuS RPL2 Splcer 1.0 TOLKIEN 22

37 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS 1.2. Establecmento del Problema De una forma genérca, un algortmo evolutvo resuelve problemas de optmzacón global (Defncón 1.1). En este tpo de problemas el objetvo es encontrar un conjunto de parámetros que maxmcen un certo crtero de caldad. Los problemas de este tpo tenen una enorme mportanca en muchos campos de nvestgacón tales como produccón ndustral, dseño asstdo por ordenador, construccón, bología, químca, sstemas eléctrcos, medcna,... El objetvo de un problema de optmzacón global se resume en la sguente defncón de máxmo global. Defncón 1.8. (Máxmo Global). Dada una funcón f : M IR n IR, M, para x* M el & valor f *: = f ( x*) < + se denomna máxmo global s & & & x M : f ( x*) f ( x), (1.11) donde x * es un máxmo global, f es la funcón objetvo, y el conjunto M es la regón de solucones admsbles. El problema de determnar un máxmo global se denomna problema de optmzacón global (Defncón 1.1). Se ha demostrado [Kurs92] que los algortmos evolutvos pueden extenderse para resolver problemas de toma de decsón mult-crtero, en los que la funcón objetvo tene la forma más general: f : M IR n IR k, M, k>1. (1.12) En este tpo de problemas exste un conjunto de solucones no-domnantes (Pareto). En dchos problemas la caldad de la solucón puede mejorarse respecto de uno de los crteros sólo degradando al menos uno de los restantes crteros. Nuestro trabajo se centra en resolver problemas del caso de crtero únco, es decr, k=1. Asmsmo, nos concentraremos en problemas de maxmzacón para proporconar una vsón únca estándar en la descrpcón de técncas y expermentos. Esto no restrnge en absoluto la generaldad de los resultados ya que puede establecerse una gualdad entre tpos de problemas de maxmzacón y mnmzacón [Gold89a] [Bäck96]: & & & & max f ( x) x M = mn f ( x) x M. (1.13) { } { } El problema básco de optmzacón global se ve a menudo dfcultado por la exstenca de restrccones, es decr, por una especal defncón de la regón de solucones admsbles M. { } n Defncón 1.9. (Restrccones). Sea M = x IR g ( x) 0 [ 1,... q] la regón de solucones admsbles de la funcón objetvo f : M IR.. Las funcones g : IR n IR se denomnan restrccones. Se denomna a g j de dstnta forma según el valor que toma sobre x IR n : & satsfecha : g j ( x) 0, & actva : g j ( x) = 0, & nactva : g j ( x) > 0, y (1.14) & volada : ( x) < 0. g j El problema de optmzacón global se denomna sn restrccones s = M IR n ; en otro caso se le denomna restrngdo o con restrccones. 23

38 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Exsten trabajos muy nteresantes sobre cómo manejar restrccones en un algortmo evolutvo. Vea por el ejemplo [MJ91] o [Mch92]. En resumen, el problema se ve dfcultado por el hecho de que el conjunto de solucones admsbles F M es en realdad un subconjunto del domno de las varables (aquellos puntos que satsfacen todas las restrccones): & & F = { x M g j ( x) 0 j}. (1.15) En general, en un problema complejo como los que utlzamos en este trabajo, la funcón objetvo presenta varos máxmos de dstntas alturas. La mayoría de los métodos de búsqueda suelen quedar atrapados en máxmos locales una vez que caen en su regón de atraccón 1. Para formalzar el concepto de máxmo local es necesaro prmero especfcar una métrca o medda de dstanca de un espaco vectoral arbtraro. Defncón (Métrca). Sea V un espaco vectoral. Una métrca sobre V es una aplcacón 2 + & & & ρ : V IR 0, tal que v, w, x V : & & & & ρ( v, w) = 0 v = w & & & & ρ ( v, w) = ρ( w, v) (1.16) & & & & & & ρ ( v, w) ρ( v, x) + ρ( x, w). En muchos casos es sufcente con defnr una norma sobre el espaco de vectores reales (o ncluso complejos) en lugar de una métrca. Informalmente podemos pensar en la norma de un vector como una medda de su longtud. Defncón (Norma). Sea V un espaco vectoral sobre IR. Una norma sobre V es una + & & & aplcacón : V IR0, tal que v, w, x V, r IR : & & & v = 0 v = 0 & & r v = r v (1.17) & & & & v + w v + w. Es trval verfcar que en cualquer espaco donde pueda defnrse una norma puede tambén defnrse una métrca, úncamente consderando que la sguente gualdad sempre se cumple: & & & & ρ v, w = v. (1.18) ( ) w Por supuesto la condcón nversa no se cumple. Es muy normal utlzar la norma euclídea cuando se trabaja con topologías en IR n. Esta norma asegura que x & = ( x 1,..., x n ) IR n ocurre que: & x = n 2 x = 1. (1.19) 1 Por regón de atraccón queremos referrnos nformalmente al conjunto de todos los puntos desde los cuales una secuenca monótona de pasos de subda conducen al punto máxmo (local en este caso). 24

39 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS En este caso, la métrca x & y Basándonos en estas defncones podemos ya caracterzar los máxmos locales como sgue: Defncón (Máxmo Local). Para un certo x M el valor ˆ & f : = f ( xˆ ) es un máxmo local s & ε IR, ε > 0 : x M : & & x xˆ fˆ & < ε f ( x). (1.20) & U ε ( xˆ) = & x M & & x xˆ < ε tal que En defntva, queremos decr que exste un entorno-ε { } fˆ es el mayor valor admsble de la funcón objetvo dentro de dcho entorno. Obvamente cualquer máxmo global es tambén un máxmo local. Se dce que la funcón objetvo es unmodal s tene exactamente un máxmo local. En otro caso se denomna multmodal. En nuestro trabajo estamos nteresados en obtener un óptmo global, aunque a veces este objetvo debe relajarse debdo a la dfcultad del problema tratado. De hecho no exste un crtero genérco de dentfcar un máxmo global [TZ89]. Además, en la práctca, tanto la dscretzacón que ntroduce el trabajo numérco con un ordenador, como la demanda relatvamente permsva en relacón a su nvel de precsón hacen que esto no sea un problema. Los planteamentos hechos sobre optmzacón global permten un paso suave del domno de las varables contnuas al de las varables dscretas. La dea clave es pensar que estamos dscretzando el espaco de búsqueda en puntos representables en el ordenador stuados en una rejlla de puntos esqudstantes en los que consderamos stuados cualquer punto nspecconado por el algortmo. La resolucón de dcha rejlla (número de marcas en cada dmensón) depende del problema y del ordenador usado. En general, es admsble pensar que encontrar un óptmo en esta rejlla abstracta que mpone la dscretzacón de valores contnuos es equvalente a encontrar el óptmo de la funcón objetvo real. Los problemas de optmzacón en los que se trabaja con varables objetvo dscretas se conocen como problemas de optmzacón combnatora. Aunque el concepto de óptmo global es el msmo, en estos problemas la defncón del entorno-ε sí que se transforma en un concepto equvalente pero nuevo. Este concepto es el de vecndaro. Con ambos podemos caracterzar conjuntos de puntos cercanos a un punto dado atendendo a la métrca usada, pero el concepto de vecndaro es más general que el de entorno-ε. Según las defncones de Papadmtru y Stegltz [PS82] podemos hacer las sguentes defncones aquí: Defncón (Vecndaro). Se defne un vecndaro sobre un conjunto S como una S aplcacón N : S 2, donde 2 S denota el conjunto de las partes (power set) de S -P(S)-. Ahora podemos redefnr el concepto de máxmo local en un espaco dscreto. Defncón (Máxmo Local en Espacos Dscretos). Para un certo x ˆ& M, donde M denota una regón admsble arbtrara, y un certo vecndaro es un máxmo local respecto a N s & ˆ M N : M 2, el valor f : = f ( x) ˆ & f f ( x) & & x N ( xˆ). (1.21) ˆ 25

40 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS En esta memora tambén abordamos la solucón de problemas de una subclase de la optmzacón combnatora bastante mportante denomnada problemas de optmzacón pseudológcos (pseudoboolean). En este tpo de problemas la funcón objetvo transforma vectores de parámetros bnaros en valores reales. S defnmos IB ={0,1} como el domno de dchas varables, entonces f : IB n IR tene 2 n vectores-argumento posbles. Esto mplca tambén que es mposble una enumeracón completa de todas las solucones debdo al crecmento exponencal con n y a las restrccones naturales de los recursos de computacón. En estos casos se suele utlzar como métrca la conocda dstanca de Hammng, que smplemente cuenta el número de poscones en que dos vectores se dferencan. Defncón (Dstanca de Hammng). Para dos vectores a & = ( a 1,..., a n ) IB n y b & = b,..., b ) IB n se defne la métrca llamada dstanca de Hammng como ( 1 n n & ( a b &, ) = ρ a b. (1.22) H Con esta métrca podemos defnr vecndaros N k para cualquer k {0,...,n} por agrupacón de todos los puntos de gual dstanca a un punto de referenca común: & & n & & N ( a) = { b IB ρ a, b k. (1.23) = 1 ( ) } k H = Los óptmos locales del hpercubo bnaro venen caracterzados de acuerdo a su vecndaro N 1 de tal forma que, dada una funcón f : IB n IR, ˆ & f : = f ( aˆ ) es un máxmo local (respecto & & & N 1 ) de f, s b N ( a) : fˆ f ( ). 1 b Una vez descrto el problema y los algortmos usados para resolverlo, en la sguente seccón caracterzamos los operadores formalmente y de esta manera, además, concretamos aquéllos en los que estamos nteresados en nuestro estudo Técncas Báscas e Implementacón En esta seccón se presentan las técncas báscas que usaremos en los modelos estudados (Seccón 1.3.1). Asmsmo, dscutmos la necesdad de mplementar estas técncas y, en general, el software evolutvo, atendendo a paradgmas de programacón más modernos como es el de la programacón orentada a objetos (Seccón 1.3.2) Codfcacón, Operadores y Crteros de Evaluacón De entre todos los algortmos evolutvos presentamos un estudo esencalmente en el campo de los algortmos genétcos. Para caracterzar un algortmo genétco secuencal frente a otro de los algortmos de su famla presentamos la nstancacón de operadores, codfcacones y técncas que concretan la descrpcón de un AE secuencal (Algortmo 1.3) para dar lugar al tpo de algortmos con los que trabajamos. 26

41 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Para facltar la descrpcón presentaremos prmero los genotpos que consderamos y después el operador de seleccón y reemplazo en su versones más populares utlzando panmxa. El operador de mutacón que utlzaremos es unaro y los operadores de cruce estudados son bnaros. Utlzaremos codfcacones en genotpo bnaro y real explorando así las capacdades de la caracterzacón ortodoxa de algortmo genétco. Nuestro nterés resde en versones canóncas de las técncas secuencales y paralelas, aunque la extensón del estudo que presentamos a programacón genétca [ACT96] de codfcacones alternatvas, como por ejemplo de longtud varable [AC97], son tambén puntos de nterés que motvan la necesdad de trabajar en paralelo y que dscutremos en el sguente capítulo El Genotpo G En contraste con las estrategas evolutvas y la programacón evolutva, los algortmos genétcos como los que utlzaremos trabajan sobre cadenas de longtud fja l, es decr, G=IB l. En el caso de que la funcón objetvo sea pseudológca esta representacón es drectamente utlzable como fenotpo. Sn embargo, en problemas de optmzacón con parámetros contnuos: n f : [ u, v ] IR, (1.24) = 1 n & Γ será: 1 donde u <v. De esta forma el genotpo que codfca un vector ( a1,..., an ) = x [ u, v ] l x 1 v u Γ (1.25) bnaro estándar: ( ) = + 1 j a 1,..., al u ( ) 2 x a l l x x j 2 1 j= 0 l 1 l j v u Γ (1.26) x x 1 j bnaro Gray: ( ) = + a 1,..., al u 2 x a l k x 2 1 j= 0 k = 1 1 flotante (o real): ( a ) = a Γ (1.27) En el caso bnaro (estándar o Gray, donde ndca la suma módulo 2) la cadena se subdvde de forma lógca en n trozos de gual longtud l=n l x de forma que el -ésmo segmento a 1,..., a lx IB lx. De esta forma la representacón de los parámetros puede cambar el problema más o menos dependendo de la codfcacón usada. En defntva, una codfcacón bnara presenta una precsón en su representacón que depende del número de bts y de la ampltud del rango de la varable parámetro: v u x =. (1.28) l 2 x Así, defnendo Γ = Γ 1 Γ 2... Γ n tenemos la menconada funcón de decodfcacón & & x = Γ 1 ( a). El caso flotante es el de más fácl decodfcacón, ya que el genotpo contene drectamente las varables-parámetro. El caso bnaro Gray tene la propedad añadda sobre el bnaro estándar de que cada par de valores adyacentes tene dstanca de Hammng 1: l 0,...,2 x & & 1 = 1 ρ a, a. (1.29) { } ( ) 1 1, H 1 2 = = 1 27

42 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Esta relacón es una mplcacón, no una equvalenca, ya que ncluso con codfcacón Gray el cambo de un solo bt puede causar cambos arbtraramente grandes en el valor decmal. En esta memora utlzaremos varos de los códgos menconados para demostrar así la valdez de los modelos propuestos sobre otros desarrollos prevos en térmnos de codfcacón. La codfcacón que se debe utlzar depende del tpo de problema. Aunque la representacón bnara estándar o Gray proporcona buenos resultados [CS88] [Salo96], exsten numerosos trabajos que estudan códgos no bnaros [WS90] [JM91] [AC97] [Loza96], después que se demostrara su capacdad teórca no nferor a la bnara para soluconar problemas [Anto89]. Volveremos sobre este punto en el Capítulo El Operador de Seleccón s La seleccón juega un mportante papel tanto en los algortmos evolutvos secuencales como en los paralelos, ya que guía la búsqueda y provoca la convergenca de la poblacón de ndvduos. Por tanto, representa el tan mportante compromso entre exploracón y explotacón. Vamos a ofrecer en esta seccón un resumen de los operadores de seleccón más comunes. En la Tabla 1.9 µ es el número de cadenas en la poblacón y ( a () t ) es una cadena del paso de evolucón (generacón) t. Para ello descrbmos para cada operador la probabldad de selecconar a un ndvduo cualquera de entre los presentes en la poblacón. En la Tabla 1.9 resummos los mecansmos y comentamos cada uno de ellos. De entre los operadores de seleccón proporconal a la adecuacón, la mplementacón como ruleta (RW [Gold89a]) es la más popular. Sn embargo, tambén es de mayor complejdad algorítmca y con tendenca a cometer errores estocástcos respecto de la mplementacón conocda como muestreo estocástco unversal (SUS [Bake87]). En esta memora compararemos ambos confrmando en sus extensones paralelas que dchas característcas se mantenen. De hecho, la seleccón proporconal a la adecuacón puede usarse para selecconar un conjunto arbtraro de parejas y por tanto puede utlzarse en modelos secuencales generaconales o de estado estaconaro, así como en modelos paralelos dstrbudos o celulares. TABLA 1.9. ESQUEMAS DE SELECCIÓN Operador de Seleccón Probabldad de Seleccón Comentaros µ p ( ) = ( ) ( ) adecuacón s a ( t) Φ a ( t) Φ a j ( t) Proporconal a la 1 p ( a ( t)) = η η Rankng Lneal ( ) s máx máx mín µ µ 1 Rankng Lneal µ χ ( ) de Whtley = 2 Índce (, b) b b 4 b 2 ( b 1) 1 Rankng unforme (λ µ) p ( a ( t) ) s j= 1 η 1 ( χ ) 1 λ 1 λ = 0 λ < µ [Holl75] Implementado como ruleta (RW) o como muestreo unversal estocástco (SUS) [Bake87] 1 [Bake87] ηmín = 2 η máx y η máx 2. Indvduos ordenados (adecuacón) desde 1 a µ [Wht89] Devuelve el índce del ndvduo. b [1,2] es la presón y χ [0,1] es una VAD-U [Schw81] Típco en estrategas de evolucón. Los ndvduos están ordenados desde 1 hasta µ En la actualdad cualquera de los modelos lstados en esta tabla se utlzan en estudos teórcos y aplcacones práctcas. Véase una comparatva teórca detallada en [GD91]. 28

43 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS La seleccón proporconal usa el valor de adecuacón para selecconar parejas o ben el ndvduo que se desea reemplazar. Algunos mecansmos utlzan una ordenacón crecente atendendo a la adecuacón de los ndvduos para después selecconar atendendo a su poscón en dcha ordenacón. Esto reduce el error estocástco debdo a valores de adecuacón smlares (aunque ntroduce la sobrecarga de la ordenacón). Exsten muchos otros mecansmos de seleccón nteresantes como el torneo [GD91], y sobre todo varantes de estos modelos báscos que modfcan de alguna forma la probabldad (véase la Tabla 1.10). En cualquer caso, la suma de probabldades sempre es 1. Algunos modelos son bastante flexbles, presentando parámetros que permten modfcar su presón selectva (preferenca por las mejores solucones). TABLA POSIBLES VERSIONES DE LOS MODELOS DE SELECCIÓN Según la respuesta a... Versón 1 (SÍ) Versón 2 (NO) Camban las Dnámco Estátco probabldades a través de / { 1,..., µ }, t 0 ps ( a ( t) ) = c { 1,..., µ }, t 0 ps ( a ( t) ) = c las generacones? Se permten Extntvo Preservatvo probabldades nulas? t 0, 1,..., µ p a ( t) = { 1,..., µ }, t 0 p ( a ( t) ) > 0 Los peores ndvduos se reproducen? Se mezclan los k mejores padres con su descendenca para selec.? Se genera una poblacón de µ ndvduos? { } ( ) 0 Extntvo por la zquerda t 0, l { 1,..., µ 1} l p a ( t) = s s ( ) 0 k-eltsta k 1,..., µ, t 0, 1,..., k f a ( t) f a ( t 1) { } { } ( ) ( ) Generaconal <Conjunto fjo de padres hasta generar µ ndvduos, (µ,λ)> Extntvo por la derecha t 0, l { 2,..., µ } l p a ( t) = s s ( ) 0 Puro <Nngún ndvduo satsface la condcón de k-eltsmo> Estado-Estaconaro <Caso especal de (µ-1)-eltsmo tambén conocdo como (µ+1)> De entre estas versones estudamos en este trabajo el modelo 1-Eltsta y las versones generaconal y de estado estaconaro. Por otro lado, ya hemos dscutdo la exstenca del otro tpo de seleccón conocdo como ambental o polítca de reemplazo, encargada de generar el nuevo conjunto de estructuras sobre las que el algortmo contnuará trabajando. A contnuacón presentamos las varantes más populares de este tpo de técncas de reemplazo. En general, una varante plausble a pror sería utlzar la funcón complementara de cualquera de los métodos de seleccón de pareja descrtos. Sn embargo, exsten muchas otras (Tabla 1.11). Puesto que se trata de un mecansmo de seleccón, tambén admte varantes smlares a las de la Tabla En el presente trabajo vamos a utlzar o estudar todos los tpos de reemplazo excepto el prmero, es decr, aleatoro, sempre, s_mejor y generaconal, aunque esto no sgnfque que todos ellos proporconen buenos resultados [CAT98a]. 29

44 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS TABLA DIFERENTES POLÍTICAS DE REEMPLAZO Reemplazo Probabldad de Reemplazo Comentaros µ Proporconal Inversa pr( a ( t) ) = 1 Φ( a ( t) ) Φ( a j( t) ) j = 1 Inversa de la seleccón proporconal Aleatora Unforme 1 Cualquer ndvduo tene la msma probabldad de ser pr ( a ( t)) = c = µ reemplazado Peor Sempre 1 = µ Reemplazar sempre al peor con el nuevo ndvduo en pr ( a ( t) ) = una poblacón ordenada de mayor a menor adecuacón 0 µ (la notaremos como always) Peor S mejor ( ) ( Reemplazar al peor con el nuevo sempre que su 1 = µ Φ a ( t) Φ a ( t) ) pr ( a ( t) ) = adecuacón sea mejor. La poblacón está ordenada de 0 µ mayor a menor adecuacón (f_better) Generaconal pr( a( t)) = 1 La nueva generacón reemplaza a la antgua totalmente El Operador de Cruce El operador de cruce es muy mportante en el campo de los algortmos genétcos. Exsten numerosas varantes de él, todas ellas clasfcables en tres categorías de alto nvel: Operadores de cruce puros: aplcables en cualquer algortmo genétco. Operadores de cruce híbrdos: que mezclan un operador puro con una técnca no genétca. Operadores de cruce dependentes del problema: operadores que realzan operacones basadas en el conocmento del problema y por tanto son sólo aplcables a dcho problema. Exsten numerosos tpos de cruce. El más estándar es bnaro y genera dos hjos. Sn embargo no es raro encontrar aplcacones que usan un cruce que genera un únco hjo. Tambén exsten operadores de cruce típcos de problemas de reordenacón y otros campos sobre todo de optmzacón combnatora en los que dcho operador transmte de padres a hjos la admsbldad como solucón al problema. El operador más tradconal [Gold89a] genera aleatoramente el msmo punto de cruce (Sngle Pont Crossover o SPX) en ambos padres e ntercamba los 4 segmentos resultantes dando lugar a dos hjos nuevos. Exsten numerosas extensones a dos puntos (DPX) y N puntos [SD91]. Esta famla de operadores de cruce es efcente y de aplcacón bastante genérca. Hemos desarrollado en trabajos anterores [AT96] [AC97] una varante nteresante de DPX que llamaremos DPX1 en la que se genera un únco hjo de entre los dos posbles. El hjo generado es el que contene la mayor proporcón del mejor de los padres atendendo a sus adecuacones. El otro hjo nunca llega squera a generarse n mucho menos evaluarse. Esta característca hace de DPX1 muy atractvo en algortmos genétcos donde es crítco mnmzar el número de evaluacones [Reev93b] y por tanto resulta más efcente generar un únco hjo evtando así una evaluacón que podría consumr elevados recursos computaconales durante la búsqueda (muchas aplcacones sólo utlzan el mejor de los hjos, desperdcando el esfuerzo dedcado a generar el otro). Las sguentes defncones descrben formalmente los operadores que utlzaremos en este trabajo. Todas ellas presentan la versón (bajo nvel) de un cruce bnaro. 30

45 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Defncón (Operador SPX ). Dado un genotpo G, una varable aleatora dscreta unforme τ y un valor aleatoro α se defne el operador de un sólo punto de cruce sobre dos vectores a y b & como: SPX G G G G τ [ 0,1] α { 1,..., l 1} { pc } τ pc entonces ( a = a a, b = b,..., b ) = ( a,...,, a, b,..., b ), ( b,...,, b, a,..., a ) : s s no SPX SPX ( ) ( ) { p } l 1 l c a = ( a a ) ( ) { } l, b = b1,..., bl pc ( ) 1,..., 1 α α + 1 l 1 α α + 1 ( ) ( a,..., a )( b,..., b ) ( ) 1,..., = 1 l 1 l, (1.30) donde Θ SPX ={p c }es el conjunto de parámetros, consstente úncamente en la probabldad p c de realzar dcho cruce. l Defncón (Operador DPX1 ). Dado un genotpo G, una varable aleatora dscreta unforme τ y dos valores aleatoros α, σ se defne el operador de dos puntos de cruce y un sólo hjo sobre dos vectores a y b & como: : G G τ 0,1 α, σ { 1,..., l 1}, σ > α ( a ) ( b) ( σ α) < l 2 s 1 G { p c } DPX [ ] τ pc entonces s no (,..., ) = ( a1,...,, aα, bα + 1,..., bσ, aσ 1,..., al ) (,..., ) ( a1,..., al ) a = ( a ) ( ) { } 1 al, b = b1,..., bl pc a = ( a a ) ( ) { } 1 l, b = b1,..., bl DPX 1 + DPX1 = pc Φ Φ, (1.31) donde Θ DPX1 ={p c }es el conjunto de parámetros, consstente úncamente en la probabldad p c de realzar dcho cruce. Defncón (Operador UX Sesgado). Dado un genotpo G, una varable aleatora dscreta unforme τ y un conjunto de l varables aleatoras dscretas α se defne el operador de cruce unforme sesgado sobre dos vectores a y b & como: : G G G G τ [ 0,1 ] α [ 0,1] UX { pc, pb } Φ () a Φ ( b) normalmente p 0.5 b s τ pc entonces ( ) ( ) a α pb b α pb a b a b a b { l} UX, =,, { } =, = 1,..., pc, pb b α > pb a α > pb s no ( ) UX a = a1,..., al, b = b1,..., bl = (( a1,..., al )( b1,..., bl )), (1.32) ( ) ( ) {, } pc pb donde Θ UX ={p c, p b } es el conjunto de parámetros, consstente en la probabldad p c de realzar dcho cruce y la tendenca (bas) p b haca utlzar cada parámetro del mejor padre. El operador estándar unforme [Sysw89] es una partcularzacón de nuestro operador unforme sesgado en el que p b =0.5, de forma que se genera una plantlla vrtual equprobable sobre las cadenas padre. Nuestro operador es más genérco y flexble. Este operador permte smular multtud de puntos de cruce y está amplamente demostrada su utlzacón con éxto en problemas bastante dstntos entre sí, muchas veces con resultados mejores que SPX o DPX [Sysw89] [AC97]. 31

46 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Defncón (Operador AX Sesgado). Dado un genotpo G y una varable aleatora dscreta unforme τ se defne el operador de cruce artmétco sesgado sobre dos vectores a y b & como: : G G G G [ ] & & τ 0,1 AX { p c () a ( b), pb } Φ Φ normalmente p 0.5 b s τ pc entonces ( a & b & ) ( a & b & ) a p a ( p ) b b p b ( p ) a { l} AX, =,, { p p } = b + 1 b, = b + 1 b 1,..., c, b s no & & ( a = a1,..., a, b = b1,..., b ) = ( a1,..., a )( b1,..., b ), (1.33) AX ( ) ( ) {, } l l p c p b donde Θ UX ={p c, p b } es el conjunto de parámetros, consstente en la probabldad p c de realzar dcho cruce y el porcentaje p b de cada parámetro del mejor padre. l l El cruce artmétco tradconal es un tpo especal de nuestro operador artmétco sesgado. El sesgo p b haca el mejor padre de los dos últmos operadores permte ntroducr un componente de explotacón en el comportamento de exploracón típco de cualquer cruce. Ambos operadores trabajan con ndependenca de la longtud de la cadena de parámetros, lo que supone una ventaja adconal en certos problemas. Véanse ejemplos de cómo trabaja cada operador en la Fgura 1.9. SPX Padre1 Padre2 Descendente SPX + = DPX Padre1 Padre2 Descendente DPX + = UX Padre1 Padre2 Descendente UPX + = AX Padre1 Padre2 Descendente APX + = Fgura 1.9. Hjo resultante de aplcar dstntos tpos de cruce. En general exsten operadores típcos de certos tpos de problemas que muestran una mayor efcaca que el resto. Esto es así para UX o AX en el dseño de redes de neuronas [AC97], cruce ordenado (OX), de crcuto (CX) o parcalmente especfcado (PMX) para TSP [Mch92], o tambén cruces mejorados medante la ncorporacón de conectvas de lógca dfusa sobre todo para optmzacón de parámetros contnuos [Loza96]. 32

47 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS El Operador de Mutacón m El operador de mutacón que utlzaremos en nuestros algortmos genétcos se descrbe por la nstancacón a dos operadores concretos del operador genérco menconado para un AE. En el caso de genotpo bnaro se utlza el tradconal operador de complemento de bts [Gold89a], mentras que en el caso de genotpo real utlzaremos una defncón propa que se encuentra mplementada de forma parecda en la lteratura asocada a este tpo de codfcacón [Dav91a]. La mutacón ha sdo tradconalmente entendda como un operador de segunda fla en los algortmos genétcos. Sn embargo, numerosos estudos en este campo [Spea92] [TS93], así como en otros domnos donde la mutacón es determnante, (ES y PE) han puesto de manfesto la gran mportanca de este operador en problemas de complejdad real, ya que es el únco que ntroduce nueva nformacón en una poblacón secuencal, permtendo así escapar de óptmos locales y amplando la exploracón del algortmo. Las sguentes dos defncones establecen formalmente su funconamento. Defncón (Operador m b -Bnara- y m r -Real-). Dado un genotpo G=IB y una varable aleatora dscreta unforme α j muestreada de nuevo para cada alelo bnaro, se defne el operador de mutacón bnara sobre un vector s como: { }:G G j m m { }( s,..., s ) = ( s,..., s ) j { l} s 1 1 1,..., = j [ 0,1] p m m p m l l j 1 s s j α > p α p m α, (1.34) donde Θ mb ={p m }es el conjunto de parámetros, consstente en la probabldad p m de mutar. La mutacón real que utlzaremos consste en restar o sumar un valor aleatoro al parámetro que se deba mutar, ajustando al rango de defncón de la varable el resultado de dcha operacón. El sumando es un porcentaje aleatoro elegdo nuevamente para cada mutacón del ntervalo de defncón de la varable que determna la perturbacón ntroducda. Por tanto, el conjunto de parámetros es Θ mr ={p m } y cada parámetro que deba ser mutado cambará según: j v j ( s ± p s ) s' =. (1.35) j m r Otros modelos son posbles, como la mutacón Normal (Gaussana) [BFM97]. Tanto el cruce como la mutacón pueden sufrr un cambo dnámco durante la evolucón en su conjunto de parámetros, típcamente en la probabldad de aplcacón. Esta característca ha proporconado buenos resultados en algunos campos de aplcacón [Foga89] aunque aún es un proceso relatvamente caro debdo a que dchos cambos surgen como consecuenca de una montorzacón de la dversdad de la poblacón (menor dstanca de Hammng, mayor mutacón [Dav89] [HMP96]), o de la aportacón que hacen a la adecuacón de los descendentes generados [Jusl95]. A veces es ncluso más benefco y menos caro predefnr un plan de cambo de dcha probabldad antes de que empece la evolucón. Por ejemplo, modfcando la probabldad de forma lneal o exponencalmente crecente/decrecente entre la generacón ncal y la últma, sempre que el crtero de termnacón mponga una generacón tope. j u j 33

48 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Crteros Utlzados para el Análss Una vez establecdo el tpo de operadores que nos nteresan (en cada estudo se ofrecerán en concreto cuáles de ellos ntervenen y cuál será la parametrzacón usada) pasamos a defnr los crteros que usaremos para estudar los modelos secuencales y paralelos. En general, éstos se basan en determnar el número de evaluacones que dos algortmos necestan para resolver el msmo problema y el tempo empleado. Este tpo de medda es especalmente mportante en algortmos paralelos donde no es posble hacer una comparacón útl (n squera justa) s el crtero de termnacón es preestablecer el msmo número de evaluacones para cualquer algortmo comparado. Por tanto utlzaremos, ben drectamente el número de evaluacones de la funcón objetvo, o ben un concepto que podemos elaborar para ello denomnado esfuerzo de evaluacón. Defncón (Esfuerzo de Evaluacón). Dado un AE (µ+λ) con tempo de ejecucón τ AE defnmos el esfuerzo de evaluacón necesaro para resolver el problema de optmzacón global con funcón objetvo f como: ( ) = λ AE ( AE f τ. (1.36) Parece claro que al comparar dos algortmos (secuencales o paralelos) podemos obtener una dea clara de la efcenca numérca del proceso de búsqueda atendendo al esfuerzo computaconal necesaro para alcanzar una solucón de gual adecuacón en cada algortmo. Este tpo de medda defendda en recentes estudos [HBBK97] [CG97] es especalmente mportante en trabajos con algortmos evolutvos paralelos, en los que no se puede utlzar como medda de efcenca nngún otro crtero, ya que dos ejecucones del msmo algortmo son sempre potencalmente dstntas, y además el comportamento en la búsqueda es tambén dferente. Esta dea podemos formalzarla y concretar un crtero de comparacón atendendo al esfuerzo computaconal que necestan dos algortmos evolutvos para resolver el msmo problema. Defncón (Efcenca Numérca). Dados dos algortmos evolutvos AE 1 y AE 2 utlzados para resolver un problema de optmzacón global sobre una funcón objetvo f, decmos que el prmero es más efcente que el segundo (numércamente) s ( f ) ( f ) ( AE < ( 1 AE2. (1.37) El nterés de este concepto es clave en este trabajo ya que proponemos entre nuestros objetvos consegur algortmos evolutvos (genétcos en concreto) paralelos de elevada efcenca numérca. Un concepto gualmente nteresante es el de efcenca numérca margnal (Defncón 1.24). Sn embargo, necestamos antes un crtero para establecer una relacón entre dos conjuntos de valores (Defncón 1.23). Defncón (Concepto de Cubrmento). Dados dos conjuntos de valores reales A={a 1,...,a n } y B={b 1,...,b n ), decmos que B cubre a A y lo notaremos A B s a b {1,...,n}. (1.38) 34

49 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Defncón (Efcenca Numérca Margnal). Dados dos algortmos evolutvos AE 1 y AE 2 utlzados para resolver un conjunto de problemas de optmzacón global F={f 1,..., f k } que presentan esfuerzos computaconales ( AE ( f ) y ( ( ) 1 AE f 2 decmos que el prmero es margnalmente más efcente que el segundo (numércamente) s -un conjunto cubre al otro- ( f ) ( f ) { 1,..., k} ( AE 1 ( AE 2. (1.39) Demostrar que un algortmo evolutvo es sempre más efcente que otro dado, ncluso fjando el tpo de problema, es en general una tarea dfícl debdo a para el msmo tpo de problemas exsten nstancas consderablemente dstntas entre sí que provocan dstntos comportamentos. De hecho, exste una famla de teoremas conocdos como NFL (No Free Lunch) [WM97] que demuestran la mposbldad de que un algortmo sea mejor que otro sobre un problema arbtraro cualquera, ya que en térmno medo todos presentan guales resultados. Aunque estas consderacones hagan mposble defnr de forma genérca la superordad de uno u otro algortmo en general y con ndependenca del problema, sí que es posble utlzar nstancas de problemas complejos y útles a la vez en donde medr la efcenca numérca margnal. En nuestro caso, utlzaremos problemas epstátcos, con extensos espacos de búsqueda y un gran número de óptmos que además en algunos casos requerrán un mportante refnamento de los valores codfcados (Apéndce A). Estamos nteresados en estudar modelos paralelos de mayor efcenca que otros modelos tradconales, tanto secuencales como paralelos, sobre un conjunto de problemas lo sufcentemente representatvo, complejo y a la vez útl [Sten93] [GW93]. El objetvo es obtener una aportacón nteresante desde el punto de vsta de la nvestgacón teórca tanto como para permtr nuevas aplcacones hasta ahora vedadas a estos algortmos (Fgura 1.9). Conjunto de problemas posbles P 1 P 2 P 3 P 9 P 11 P 23 P 20 P 19 P 13 P 12 P 18 P 25 P 27 P 6 P 5 P 16 P 4 P 10 P 22 P 26 P 24 P 21 P 15 P 8 P 17 P 7 P 14 Subconjunto nteresante, complejo y reconocdo como útl Fgura 1.9. Conjunto de problemas y subconjunto de evaluacón en computacón evolutva. Otra medda de comparacón que utlzaremos típca en el estudo de algortmos paralelos es la gananca en velocdad (speedup) medda como la relacón entre el tempo medo real en resolver un problema sobre un procesador y el tempo en resolverlo con n proc procesadores. La defncón y uso del concepto de speedup en el campo de los algortmos estocástcos paralelos como es el caso de un AGP requere algunas consderacones especales sobre el crtero de termnacón. 35

50 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Como se demuestra en [HBBK97] y [CG97], un AGP debe ejecutarse hasta encontrar una solucón de caldad equvalente a la del resto de modelos comparados, sean secuencales o paralelos, ya que detener el algortmo cuando ha ejecutado un número de pasos predefndo no es un crtero justo n sgnfcatvo. Defncón (Gananca en Velocdad -Speedup-). Dados dos algortmos evolutvos AE 1 ejecutado sobre un únco procesador y AE nproc que utlza n proc procesadores, defnmos el concepto de gananca 6(n proc ) como T1 6 ( nnproc ) = (1.40) Tn proc y tambén los conceptos de: gananca 6(n proc )>1 gananca lneal 6(n proc )= n proc (1.41) gananca superlneal 6(n proc )> n proc Es evdente que la gananca en velocdad úncamente tene sentdo cuando hablamos de dos algortmos evolutvos de déntco comportamento. Además, debemos hacer otra consderacón ya que es posble consegur ganancas superlneales al utlzar un AGP. Esta dferenca respecto a los algortmos determnstas [Akl92] se debe a que, como se demuestra en [Shon93]: para cualquer tempo T, la probabldad del algortmo estocástco de encontrar una solucón tras buscar durante dcho tempo es no nula Las ganancas superlneales son relatvamente usuales en este campo [Beld95] [Shon93] [AT99b], e ncluso se ha propuesto un modelo de gananca teórco como el descrto por la ecuacón: nproc 1 ( n ) = n s 6 (1.42) donde s el factor de aceleracón y s>1 producría ganancas superlneales. nproc proc Necesdad del Paradgma de Orentacón a Objetos Del contendo de las seccones anterores (dversdad de modelos, mplementacones, técncas báscas, sstemas de comuncacón, etc.) podemos extraer las sguentes conclusones: Los modelos secuencales, y especalmente los paralelos, de algortmos genétcos representan en general sstemas software complejos que necestan de un dseño unfcado y estructurado. La frecuente extraccón de prototpos concede ventaja a los modelos de AGPs que sean muy flexbles y fáclmente extensbles-aplcables a un problema dado. El trabajo, tanto en subpoblacones dstrbudas como en vecndaros, los cambos de topología o vecndaro, el estudo del mpacto de estos modos de evolucón, etc. hacen necesaro un sstema fáclmente parametrzable y que pueda combnar técncas entre sí. 36

51 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS La frecuente montorzacón de valores y el estudo del estado de certos elementos del algortmo precsan de una subdvsón del sstema resultante en módulos. Las dstntas tareas, operadores y técncas que combnadas proporconan el sstema evolutvo requeren trabajar en cualquer orden entre sí y con técncas nuevas o no evolutvas. Esta relacón de combnacón/competcón precsa que los subsstemas componentes presenten una nterfaz clara y flexble al resto de elementos del sstema. Debdo a estas razones no es de extrañar que, a pesar de que se han utlzado una gran varedad de lenguajes para mplementar sstemas evolutvos como LISP, PASCAL, C, y muchos otros menos conocdos [TA91], e ncluso dependentes de la máquna, las tendencas actuales conduzcan a usar lenguajes orentados a objetos donde todas las característcas menconadas están presentes para permtr desarrollar sstemas complejos como los ncludos en GAGS, GAME, GAlb, TOLKIEN, EVOLVER y varos más. En especal C++ [Stro91] es un lenguaje muy extenddo que ncorpora estas y otras característcas de forma natural. Otros lenguajes más recentes como JAVA [Pew96] permten tambén un dseño muy elegante, pero en la actualdad son lentos en la ejecucón de algortmos con numerosos nveles de clases relaconadas entre sí, como demostraremos con un caso de estudo en el Capítulo 3 (en la seccón dedcada a mplementacón). De entre el software exstente, quzás el ntento más sero y conocdo sea el entorno de manpulacón genétca GAME y recentemente RPL2. El prmero contene una máquna vrtual que permte manpular nformacón en forma de poblacones de ndvduos de muy varado contendo y trabajar con operadores o técncas de evolucón dstntas entre sí y fáclmente defnbles por el usuaro. Presentaremos en la seccón de mplementacón (Capítulo 3) los dagramas de clases para GAME y otros sstemas software dseñados usando OMT [Rumb91]. La prncpal ventaja de GAME es a la vez su prncpal nconvenente. Se trata de un entorno tan flexble y tan genérco que la aplcacón a un problema concreto es tedosa e ncluso nefcente. GAME no es muy utlzado debdo además a que contene numerosos errores de codfcacón nternos. Sn embargo, representa un esfuerzo conjunto europeo útl en el dseño unfcado de AEs, potencando los aspectos de montorzacón y paralelzacón. RPL2 sí que parece estar más dotado, aunque es un sstema comercal y sus aplcacones son aún reducdas. En general, la programacón orentada a objetos dspone de característcas muy nteresantes como la herenca, el polmorfsmo, la abstraccón y otros elementos que sobre el papel son todos ellos deseables. Sn embargo, una mplementacón real supone un compromso entre un buen dseño y una ejecucón efcente. El concepto de herenca por ejemplo a nveles tan nferores como los alelos, genes e ndvduos puede repercutr fáclmente en duplcar o trplcar el espaco de memora necesaro. Igualmente, la abstraccón y contnua creacón/copa/destruccón de nstancas temporales de las clases dseñadas pueden hacer muy lento el sstema fnal. Los sguentes ejemplos representan algunos ntentos de consegur este compromso entre dseño y efcenca. El sstema dgann [AC97] [Garc96] es un entorno dstrbudo de mgracón para dseño de redes de neuronas. El dseño e mplementacón de dgame [Manj96] gualmente proporcona un sstema flexble paralelo dstrbudo en la práctca pero que arrastra algunas de las desventajas de su contrapartda secuencal. En esta extensón sí que se pueden obtener ventajas en cuanto a varedad de topologías y mezcla de AGPs. 37

52 CAPÍTULO 1. ALGORITMOS EVOLUTIVOS: INTRODUCCIÓN, PROBLEMÁTICA Y TÉCNICAS BÁSICAS Por últmo, el entorno jdcga [Muño98] permte ejecutar en JAVA versones dstrbudas de algortmos evolutvos en certa medda smlares a los que estudamos en este trabajo. Sn embargo, su ejecucón es muy lenta en comparacón con mplementacones hechas en C++ y por tanto sólo su dseño resulta nteresante por el momento. Volveremos a ellos con más detalle en la seccón de mplementacón del Capítulo 3. Otras alternatvas basadas por ejemplo en el uso de objetos dstrbudos [OHE96] son tambén nteresantes de evaluar para el trabajo futuro. Exste una alternatva/extensón posble al uso en forma de dseño orentado a objetos conocda como Marcos de Programacón (Programmng Frames). En ellos la nterfaz con el usuaro y los nveles de abstraccón se cudan especalmente con el objetvo de facltar el uso del software paralelo (un AG paralelo en nuestro caso) a personas no especalstas en paralelsmo. Hay una certa relacón y un conjunto de smltudes entre el dseño orentado a objetos y dchas arqutecturas de modelado que analzaremos al fnal del Capítulo 3. Con esta ntroduccón a la mportanca de la POO en estos sstemas software acabamos el Capítulo 1. El sguente capítulo formalza el concepto de sstema adaptatvo granulado y derva a partr de él los algortmos genétcos secuencales y paralelos, demostrando que todos ellos pertenecen al msmo tpo de plantlla de búsqueda. Tambén en el Capítulo 2 ntroducremos algunos resultados que demuestran que en el estudo de AGPs debe cudarse el mecansmo básco de seleccón de parejas y ambental s queremos obtener mayor efcenca. Para termnar, ncluremos en el sguente capítulo un conjunto de trabajos que demuestren la necesdad y utldad de los trabajos precursores de los algortmos analzados para soluconar con éxto a la evolucón de estructuras de datos complejas, ncluso más allá de los smples vectores de valores bnaros o reales. 38

53 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS 2 Caracterzacón Unfcada de los Algortmos Genétcos Secuencales y Paralelos El amplo éxto de los algortmos evolutvos en múltples dscplnas ha dado lugar a numerosos trabajos sobre sus aplcacones, desarrollos teórcos y estudos empírcos. Sn embargo, no se suele dsponer de trabajos donde se parta de una descrpcón formal fundamentada seguda de una posteror dervacón de algortmos útles en la práctca. En este trabajo pretendemos llenar este hueco y empezamos en este capítulo por mostrar una formalzacón genérca de sstema adaptatvo y una partcularzacón de dcho sstema para dar lugar a las subclases de los algortmos genétcos secuencales y paralelos. En un análss prelmnar estudamos su robustez, presentando brevemente su aplcacón sobre problemas complejos. Concretamente, pretendemos caracterzar tanto la clase de los algortmos evolutvos secuencales como paralelos basándonos en el tpo de manpulacones que realzan sobre la poblacón. Posterormente se dervan de esta clase genérca tres subclases que dan lugar a los conocdos como algortmos genétcos de poblacón únca [Gold89a], celular [SM91] y dstrbuda [Tane89]. Tradconalmente se dstngue entre AGPs de grano grueso y de grano fno según que la relacón entre computacón y comuncacón sea alta o no, respectvamente. En el presente trabajo no se proporcona esta vsón tradconal del paralelsmo, más ben los AGPs dstrbudos (grano grueso) se consderan como una superclase que engloba a la clase secuencal y a la celular tanto como a cualquer otro esquema de evolucón básca, defnendo de esta forma un sstema de búsqueda dstrbuda con mgracón de estructuras entre los algortmos. La vsón complementara es tambén posble, ya que, como vmos en la Fgura 1.7, exste un "contnuo" entre los modelos descentralzados. El contendo de este capítulo comenza en la Seccón 2.1 con la formalzacón de un sstema adaptatvo. La Seccón 2.2 demuestra cómo un algortmo genétco secuencal o paralelo es una subclase de esta clase más genérca de plantlla de búsqueda. La Seccón 2.3 está centrada en demostrar la robustez de los algortmos genétcos secuencales y poner de manfesto de forma práctca las dferencas de comportamento entre clases de mecansmos de evolucón secuencal, así como justfcar la necesdad de modelos paralelos para resolver problemas complejos. Las Seccones 2.4 y 2.5 están drgdas a plantear formalmente el trabajo de los modelos celulares y dstrbudos, respectvamente. En la Seccón 2.6 ofrecemos un pseudocódgo básco como prmer acercamento a la propuesta de famla de algortmos evolutvos paralelos que concretaremos en el Capítulo 3. La Seccón 2.7 contene los fundamentos y la presón selectva del comportamento canónco de todos los modelos dervados; fnalmente, la Seccón 2.8 revsa las conclusones de los resultados mostrados en este capítulo. 39

54 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS 2.1. Formalzacón Unfcada Para estudar el comportamento de los algortmos evolutvos es necesaro en prmer lugar caracterzarlos. En esta seccón presentamos un concepto lo sufcentemente general como para contener como subclases a un algortmo evolutvo cualquera y en partcular a un AG secuencal o paralelo. Partendo de la defncón de sstema adaptatvo (SA) hecha en [DRH95], proponemos los sguentes conceptos que nos resultarán útles: Defncón 2.1. (Sstema Adaptatvo). Defnmos un sstema adaptatvo como una tupla S = ( A, ϑ, τ, B, ϑ Β, τ Β, Ε) (2.1) donde: A = {A 1, A 2,...} es el conjunto de estructuras con las que trabaja S. ϑ = {ω 1, ω 2,...} es un conjunto de operadores para modfcar estructuras de A. τ : Ε ϑ es un plan adaptatvo para determnar qué operador aplcar dada la entrada Ε en un nstante determnado. B = {B 1, B 2,...} es el conjunto de artefactos manejados por S. ϑ Β = {ω Β1, ω Β2,...} es un conjunto de operadores para modfcar artefactos en B. τ Β : Ε ϑ Β es un plan adaptatvo para determnar qué operador aplcar dada la entrada Ε en un nstante determnado. Ε es el conjunto de posbles entradas al sstema (problema que resolver). Nótese que exste una gran smltud entre los tres prmeros y los tres sguentes elementos de S. Báscamente, ambas ternas corresponden a los domnos del genotpo G y el fenotpo P, respectvamente (.e., los prmeros son representacones nternas de los segundos). El sguente concepto que es necesaro defnr hace referenca a la granulardad del algortmo. Un sstema adaptatvo granulado está nternamente estructurado en gránulos comuncantes. Dchos gránulos (modos de funconamento) son las undades estructurales que, combnadas de manera apropada, dan lugar a un algortmo. Defncón 2.2. (Sstema Adaptatvo Granulado). Se defne un sstema adaptatvo granulado como una tupla Ξ = (, Π, ξ) (2.2) donde: = { 1, 2,..., m } es un conjunto de gránulos, cada uno consstente en un sstema adaptatvo (A, ϑ, τ, B, ϑ Β, τ Β, Ε ). Π es la polítca de actvacón de gránulos. ξ : P(B) es una funcón que controla la comuncacón entre gránulos (qué artefactos son compartdos entre ellos). Por tanto, un sstema adaptatvo granulado comprende varos gránulos, sendo cada uno a su vez un sstema adaptatvo que usa sus propas estructuras y lleva a cabo su propo plan adaptatvo. Las conexones entre gránulos se especfcan medante ξ, mentras que el flujo de control queda determnado por Π. Este flujo puede ser secuencal, j o concurrente j. 40

55 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Está demostrado [Bäck96] [CAT98a] [Cott98] que la plantlla de un sstema adaptatvo granulado es lo sufcentemente potente y general como para realzar un cómputo arbtraro. Dcha demostracón se basa en el hecho de que cualquer computacón puede ser representada como una máquna de Turng no determnsta [PS82] (asumendo modelos computaconales dscretos) y mostrando que un sstema adaptatvo granulado puede smularla. En este capítulo pretendemos dervar los algortmos genétcos a partr de las defncones genércas sobre sstemas adaptatvos. En partcular, dervaremos los algortmos genétcos de poblacón únca, tanto de estado estaconaro como generaconales, los algortmos celulares y los algortmos dstrbudos. Para consegur estos objetvos debemos r nstancando progresvamente los elementos de un sstema adaptatvo Dervacón Unfcada de Modelos Des/Centralzados Un algortmo genétco de poblacón únca centralzado es un sstema adaptatvo granulado que consta de un solo gránulo (véase la defncón 2.2) de forma que, s la tupla genérca la notamos como Ξ cent =( cent, Π cnet, ξ cent ), cada componente se defne como: cent = { 1 } Π cent y ξ cent son ndferentes, ya que sólo hay un gránulo. Esta nstancacón de valores para la tupla genérca basta para defnr cualquer AG centralzado sugrendo su mplementacón secuencal. Para dstngur las varantes de estado estaconaro y generaconal necestamos especfcar el contendo del gránulo. Defncón 2.3. (Algortmo Genétco Centralzado). Defnmos un algortmo genétco centralzado como un sstema adaptatvo granulado con un únco gránulo = (A, ϑ, τ, B, ϑ Β, τ Β, Ε) (2.3) A = {A 1, A 2,...} es el conjunto de poblacones posbles. De forma que cualquer poblacón τ AE t generada pertenecente a la secuenca de poblacones P( ) Ψ ( P(0)) tambén pertenece a A, es decr,, j P( ) = Aj. ϑ = {ω cent }. Exste un únco operador denomnado cclo reproductor central. Este operador se defne por la concatenacón de cuatro operadores nternos: ω s s Θ ω s c Θ ω c m m Θ ω m r r Θ r ω cent ( A,Ε ) = ω r (A {ω m ( a & j ) a & j ω c (ω s (A,Ε ))}) τ : Ε ϑ tal que τ(ε )=ω cent (A,Ε ). & & B = {B 1, B 2,...}, tal que, B = ( b,..., bµ ), donde b & P 1 j (conjunto de fenotpos). La & 1 & b j = Γ a j. Podemos extender la notacón 1 1 & 1 & Γ A = ( Γ a 1,..., Γ aµ ). ϑ Β ={ω Βcent } donde ω Βcent (B,Ε ) = Γ -1 (ω cent(γ -1 B,Ε )). τ Β : Ε ϑ Β se defne como τ Β (Ε)=ω Βcent (B,Ε). Ε =IR µ, contene los valores de adecuacón de las estructuras en la poblacón. funcón de representacón Γ : P G es tal que ( ) para trabajar a alto nvel sobre toda la poblacón: ( ) ( ) ( ) t= 0 41

56 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS El funconamento de un AG consste pues en la repetda aplcacón del operador de cclo reproductor sobre una poblacón de estructuras codfcadas (A ). Son los detalles de los operadores nternos seleccón (ω s ) y reemplazo (ω r ) los que dferencan a los AGs generaconales (λ=µ) de los AGs de estado estaconaro (λ=1 ó 2) -véase el Capítulo 1-. Observe el uso de conceptos más genércos como conjunto de poblacones posbles y entorno, ambos nsprados en la flosofía ncal de Holland. Por otro lado, un algortmo genétco descentralzado (o de poblacón estructurada) es un sstema adaptatvo granulado de µ gránulos que se defne como sgue: Defncón 2.4 (Algortmo Genétco Descentralzado). Un algortmo genétco descentralzado es una tupla Ξ descent = ( descent, Π descent, ξ descent ) (2.4) en la que: descent = { 1,..., µ,} Π descent µ, es decr, la polítca de actvacón es concurrente (mplementada con paralelsmo físco normalmente), usualmente sncronzada entre los gránulos. ξ descent(, j ) = χ j ( B ) j υ( ) j υ( ) Esta últma expresón caracterza la comuncacón entre dos gránulos. En ella, B representa el conjunto de estructuras en el gránulo. La funcón χ j seleccona de entre éstas a las estructuras dstngudas que se comparten con el gránulo j. Usualmente χ j = χ, es decr, el mecansmo de comuncacón es homogéneo. La funcón υ() : IN P(IN ) se denomna funcón de vecndad y determna qué gránulos comparten estructuras. Los modelos secuencales y de paralelzacón global quedan caracterzados por la defncón de sstema adaptatvo granulado centralzado. Los dos modelos de algortmos genétcos paralelos tradconales, celular y dstrbudo, quedan caracterzados por la anteror defncón de AG descentralzado. La dferenca entre ambos estrba en que, en los prmeros, cada gránulo contene un vecndaro propo υ()={ υ 1, υ 2,..., υ µ }, sendo µ = υ(), y la funcón χ j seleccona sempre al msmo elemento dstngudo de este vecndaro (χ j χ k (b ) k j; k,j υ()). En los segundos, cada gránulo contene una subpoblacón ndependente (sla) de tamaño arbtraro, consstendo usualmente la funcón χ j en la seleccón de la mejor estructura de cada sla o de una estructura aleatora de ésta. Adconalmente, los AGPs celulares se sncronzan al fnal de cada cclo reproductor, mentras que los AGPs dstrbudos lo hacen con menor frecuenca. La funcón de comuncacón ξ descent forma parte del mecansmo de comuncacón señalado en el Algortmo 1.4 del capítulo anteror (usada para selecconar los emgrantes). Esta defncón genérca nos permte dervar nuevos modelos paralelos en los que varos algortmos celulares evoluconan en paralelo con mgracón esporádca de ndvduos entre ellos (por ejemplo en anllo) -dcga- o ben a la nversa -cdga-. Además, por supuesto, podemos dervar las tradconales slas de AGs secuencales en panmxa, a los que llamaremos dpanga (Fgura 2.1). En defntva, se trata de una jerarquía de sstemas adaptatvos granulados. 42

57 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Indvduos panga #1 O Operadores-1 O Poblacón-1 ISLAS AG (panmxa) O Operadores O Poblacón I 1,1 I 1,2 I 1,3 I 2,1 I 2,2 I 2,3 cga #d Red de Comuncacón cga #2 I 3,1 I 3,2 I 3,3 Indvduos panga # O Operadores- O Poblacón- Indvduos (a) (b) (c) Fgura 2.1. Esquema general de los modelos de poblacón únca (a), celular (b) y una mplementacón en red de un AG paralelo dstrbudo heterogéneo (c) La Búsqueda de Modelos Efcentes. Prelmnares Es notable en la actualdad el nterés por encontrar algortmos genétcos secuencales cada vez más efcentes sn pérdda de capacdad de aplcacón a nuevos problemas. En realdad, los algortmos genétcos, como muchos otros mecansmos de búsqueda (dvde-y-vencerás, retroceso, enframento smulado,...), mejoran su comportamento al utlzar nformacón sobre el problema para guar dcha búsqueda. Como ejemplos generales de este proceso de hbrdacón podemos ctar la hbrdacón de un AG con técncas de escalada como operadores genétcos, los trabajos que ntentan afnar las funcones que acotan el coste en algortmos dvde-y-vencerás, los trabajos relaconados con afnar el valor ncal y fnal de la temperatura y generacón de vecnos en el enframento smulado, la extensón del retroceso para dar lugar a los algortmos de Las Vegas,... Por tanto, los metaheurístcos hbrdados suelen comportarse mejor que su contrapartda pura para un problema concreto. Sn embargo, el preco es la mayor complejdad y cas total dependenca del problema. Es nuestro objetvo proporconar mejoras que afecten prncpalmente a la efcenca de la búsqueda de un algortmo genétco, y que, además, sean susceptbles de otras mejoras ulterores relatvas a hbrdacón o cualquer otro tpo de proceso. En esta seccón pretendemos demostrar cómo un algortmo genétco es capaz de competr con otras técncas en la resolucón del msmo problema, ncluso en su estado más estándar y smple (Seccón 2.3.1). A contnuacón, en la Seccón 2.3.2, presentamos la vsón complementara a esta, relatva a su capacdad de resolver problemas dstntos entre sí, comprobando en cada caso de estudo cómo el resultado mejora no úncamente s se lo hbrda con otra técnca, sno sobre todo cuando se trabaja con un modelo paralelo dstrbudo (véase Fgura 2.2). Algortmo 1 Algortmo 2... Algortmo n Problema 1 Problema 2... Problema n Problema AG Fgura 2.2. Guón gráfco de las dos sguentes seccones. 43

58 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Relacón con otras Técncas Para comprender el tpo de búsqueda que realza un algortmo genétco es mportante en prmer lugar presentar su comportamento respecto a otros algortmos tradconales. Aunque exsten algunas comparatvas sobre este tema vamos a mostrar resultados propos que nos permtan centrar la dscusón y aportar conclusones gráfcas y numércas. Naturalmente, para tomar una vsón de conjunto todos ellos serán usados en su concepcón más prmtva y, por tanto, de cualquera de ellos pueden encontrarse varantes más efcentes. En esta seccón usamos quzás el modelo más estándar y básco de algortmo genétco generaconal 1-eltsta (ncludo en el sstema GENESIS [Gref84]). Para demostrar algunas propedades báscas de los algortmos de búsqueda realzamos una comparatva de las técncas naturales y tradconales presentadas en la Tabla 2.1 (véanse las referencas en la tabla para más detalles sobre ellas). TABLA 2.1. METÁFORA NATURAL QUE INSPIRA A LAS TÉCNICAS ESTUDIADAS Técnca Heurístca Proceso natural en que se basa Red de Neuronas Neurofsología del cerebro [RM89] Algortmo Genétco Seleccón natural y cruce de especes [Holl75] Enframento Smulado Enframento (recocdo) de un sóldo [Ingb93] Técnca Tradconal Tpo de algortmo Retroceso (Backtrackng) Búsqueda sstemátca no guada [BB88] Algortmo de Las Vegas Búsqueda aleatora no guada [BB88] Para este objetvo hemos selecconado el ben conocdo problema de stuar N renas en un tablero de ajedrez sn que se ataquen entre sí [BB88]. Se trata de un problema de optmzacón combnatora muy conocdo, no especalmente complejo para pequeños valores de N (Fgura 2.3a) pero del que podemos extraer nstancas de cualquer tamaño, lo que lo hace dóneo para comprobar característcas relatvas entre dferentes métodos de búsqueda. El hecho de usar permutacones (característca de todos los algortmos comparados en esta seccón) reduce el espaco de búsqueda desde N N a ser N! (Fgura 2.3b) y asegura que los puntos generados son admsbles. La volacón de restrccones se maneja en todos los algortmos (s procede) como penalzacón de la funcón objetvo. Se pretende pues mnmzar una funcón objetvo que cuenta el número de ataques entre las renas. Para más detalles sobre los algortmos y resultados consulte [AD97] Solucones posbles 1,E+28 1,E+24 1,E+20 1,E+16 1,E+12 1,E+08 1,E+04 1,E+00 Crecmento del Espaco de Búsqueda (a) N Fgura 2.3. (a) Movmentos legales; (b) crecmento del espaco de búsqueda. N! N^N (b) 44

59 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Las Fguras 2.4 y 2.5 resumen la clase de resultados típcos cuando se mde el esfuerzo de evaluacón y el tempo real necesaro para resolver nstancas cada vez mayores de un problema (promedo de 100 ejecucones ndependentes). Podemos observar cómo el AG generaconal compte con una red de neuronas hecha a la medda [Take92] en cuanto a esfuerzo de evaluacón. Igualmente, en [AD97] presentamos a ambos (junto con enframento smulado) como los úncos que soluconan nstancas altas del problema (N=512, 1024,...). El esfuerzo de evaluacón es uno de los mejores crteros para caracterzar la caldad de la búsqueda de un algortmo, ya que determna el número de puntos vstados. En este aspecto otros algortmos de nspracón natural como el enframento smulado han proporconado peores resultados. # Evaluacones de las restrccones 1,E+11 1,E+10 1,E+09 1,E+08 1,E+07 1,E+06 1,E+05 1,E+04 1,E+03 1,E+02 1,E+01 1,E+00 Esfuerzo de Evaluacón Tamaño del p roblema Red de Neur. Alg. Genétco Retroceso Alg. Las Vegas Enfr. Smulado Fgura 2.4. Comparacón del número medo de evaluacones de las restrccones del problema. Vemos que para un crecmento exponencal del tamaño del problema el AG es comparable a un algortmo muy sofstcado hecho a la medda, y mejor que el resto de técncas naturales tradconales comparadas. En cuanto al tempo real, el AG generaconal es peor que ambas y de ahí nuestro nterés en reducr el tempo recurrendo a una ejecucón paralela (que además dsmnurá con frecuenca el esfuerzo de evaluacón). 1,E+06 Efcenca (Tempo Real) 1,E+05 Tempo (seg.) 1,E+04 1,E+03 1,E+02 1,E+01 1,E+00 1,E-01 Red de Neuronas Alg. Genétco Retroceso Alg. Las Vegas Enfr. Smulado 1,E Tamaño del problema Fgura 2.5. Tempo real (s) empleado en una estacón Sparc1 por las técncas estudadas. 45

60 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Como detalle nteresante debemos menconar que la mplementacón usada para el AG es lenta debdo a que GENESIS realza operacones nternas nnecesaras dada su generaldad [Gref90]. Es por ello que desde el capítulo anteror hacemos hncapé en obtener generaldad y flexbldad, pero no a coste de efcenca en la ejecucón. Igualmente, parece necesaro mejorar el modelo básco de evolucón generaconal para mejorar la velocdad de la búsqueda. Como consecuenca, es evdente en este conjunto de problemas que una búsqueda adaptatva e ntelgente en el espaco de solucones posbles da lugar a un número menor de evaluacones de las restrccones del problema de las N-Renas que una búsqueda aleatora no guada como la que realza el algortmo de LV o una exhaustva como la de la técnca de retroceso (backtrackng). En cuanto a las técncas de nspracón natural, el enframento smulado es muy efcaz y rápdo pero resulta menos efcente que la RN y el AG en cuanto al número de comprobacones de ataques entre renas. El enframento smulado resulta práctco para problemas en que la funcón de evaluacón sea lgera en tempo de computacón. Recordemos que, algorítmcamente, el únco competdor del AG aquí es la red de neuronas y se trata de una red pensada específcamente para este problema. Esta y otras característcas de los AGs, a pesar de sus requstos computaconales, son las que los hacen muy prometedores en problemas complejos Evolucón de Estructuras de Datos Complejas Para demostrar la robustez que acabamos de sugerr presentamos en esta seccón un resumen de trabajos, todos ellos propos, en los que mostramos cómo dstntas versones del algortmo genétco básco hacen evoluconar estructuras de datos complejas que codfcan solucones a cada uno de los cuatro problemas abordados. Nuestro objetvo fnal es reconocer los aspectos que mejorar para la obtencón de algortmos compettvos y efcentes. La seccón queda dvdda en subseccones contenendo, respectvamente, la descrpcón de los problemas, la metodología general de trabajo, las representacones utlzadas, las funcones de evaluacón desarrolladas y las conclusones sobre tan varado conjunto de problemas Casos de Estudo c Asgnacón Óptma de Procesos a Procesadores. [AAT94] [AAT95] Dada una consulta sobre una base de datos lógca deductva dstrbuda [CGT90] el objetvo es asgnar sobre un anllo de procesadores los numerosos procesos comuncantes que resuelven dcha consulta atendendo al modelo Datalog [Alda93]. La funcón objetvo que se pretende mnmzar contempla los costes de realzar la comuncacón de los numerosos flujos de datos entre los procesos y/o procesadores, así como el coste computaconal de las operacones que cada uno de estos procesos lleva a cabo. El genotpo es un vector de valores enteros. d Dseño de Controladores que usan Lógca Borrosa. [ACT96] [CAT96] [ACT99] A través del uso del paradgma de Programacón Genétca [Koza92] [Koza94], ncalmente desgajado de la famla de los algortmos genétcos, pueden dseñarse controladores borrosos para problemas de control típcos como el de la carretlla móvl con brazo. La estructura de datos que evolucona es un árbol sntáctco que representa un conjunto de reglas IF-THEN sobre varables de entrada/salda y conjuntos borrosos. 46

61 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS e Valdacón de Protocolos de Comuncacón. [AT96] Con esta aplcacón se pretende demostrar que realmente exste gran dversdad respecto a las estructuras de datos que pueden evoluconar. Nuestro objetvo es determnar la valdez de un protocolo de comuncacón aplcando un AG sobre cadenas de longtud varable que representan las trazas de ejecucón del protocolo segudas por un extremo clente y otro servdor en la petcón de un servco de comuncacón. f Entrenamento de Redes de Neuronas. [AAT93a] [AC97] Una vez fjada la estructura de la red de neuronas [RM89] (para lo cual se puede emplear tambén un algortmo genétco [WSB90] [AAT93b]) el problema consste en encontrar los pesos que hacen a la red aprender los patrones de entrada (aprendzaje supervsado). Analzamos varas versones de un AG: secuencal, hbrdado con enframento smulado (ES) y/o con propagacón haca atrás del error (PAE) y una versón dstrbuda en slas secuencales de estado estaconaro Metodología Puede parecer que aplcacones tan dspares como las presentadas requeren metodologías de trabajo dferentes. La realdad es que el enfoque empleado en todas ellas es el msmo, concentrándose las dferencas en los puntos fnales del desarrollo. Cuando se aborda la resolucón de un problema medante el empleo de técncas evolutvas es necesaro tener en cuenta el funconamento cualtatvo de la búsqueda que se realzará. Dcho funconamento está caracterzado por la teoría de los esquemas [Holl75] cuya prncpal dervacón es la hpótess de los bloques de construccón [Gold89a] (presentados en la seccón 2.7.1). Báscamente, debe consderarse que la búsqueda se realza medante la combnacón de pequeñas undades que representan porcones de una solucón. Por consguente, es necesaro determnar cuáles son dchas entdades y emplear una codfcacón del problema que permta la expresón de éstas. Adconalmente, los operadores evolutvos deben permtr la propagacón y yuxtaposcón de los bloques fundamentales, lo que deberá ser tendo en cuenta a la hora de elegr tanto la codfcacón como los propos operadores. Una vez defndos los aspectos anterores, es crucal la construccón de la funcón de evaluacón que medrá la caldad de cada solucón. Obvamente, dcha funcón deberá ncorporar aspectos propos del problema bajo resolucón (lo que hemos defndo como entorno Ε ). En resumen, la metodología de trabajo común que se sgue con estos algortmos supone llevar a cabo los sguentes pasos: Determnar la funcón que medrá la adecuacón de una cadena genétca. Debe mplementarse de manera efcente porque representa el grueso de la computacón. Determnar la mejor codfcacón para la cadena: valores bnaros, codfcacón Gray, números flotantes, cadena o árbol de símbolos, etc... (Seccón 2.7.1) Decdr los operadores que se van a utlzar. Por defecto, se consderan la seleccón de los mejores atendendo a su adecuacón, cruce y mutacón. Adconalmente, puede consderarse la ncorporacón de operadores que utlcen conocmento específco sobre el problema que se desea resolver, lo cual ayuda a refnar el resultado fnal y dsmnur el esfuerzo de evaluacón, aunque suele aumentar el tempo de ejecucón. 47

62 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Representacones En los problemas presentados anterormente el objetvo prncpal ha sdo determnar los puntos fuertes y débles de los modelos secuencales de AGs en domnos tan dspares. Para todos ellos se ha utlzado un modelo secuencal en estado estaconaro que evolucona estructuras de datos complejas (vea la Fgura 2.6). En el problema c se han utlzado vectores de valores bnaros de longtud fja codfcando en cada gen el procesador en el que stuar un proceso concreto de entre los que componen la búsqueda en la base de datos dstrbuda. El problema d supone la evolucón de árboles sntáctcos que representan reglas de decsón borrosas encamnadas a llevar a una stuacón de equlbro el brazo (ncalmente desequlbrado) por movmentos de un carro móvl. c Proceso 1 d IF RLIST EL P 0 P 1 P 2 P n Procesador 1 Procesador 2 Procesador 0 POS IS NL AND VEL IS NL FOR IS PL Tpo I Tpo II Tpo III Tpo IV e Cadena [10, 35, 204, 78, 27, 106] IF pos IS NL AND vel IS NL THEN for IS PL f CODIFICACIÓN DE ENTRADA (a-n)...(m-n)(a-o)...(m-o)(a-p)..(m-p)(n-q)(o-q)(p-q)...(n-z)(o-z)(p-z) Índce de Interpretacón Capa de entrada a b c... m Estado Actual MEF1 w Dspara 2 transcones actvas MEF2 j u Estado Actual Capa oculta Capa de salda n o q r s... z CODIFICACIÓN DE ENTRADA-SALIDA (a-n)...(m-n)(n-q)...(n-z)(a-o)..(m-o)(o-q)...(o-z)(a-p)...(m-p)(p-q)...(p-z) p Fgura 2.6. Estructuras de datos complejas (G) usadas para demostrar que una plantlla de búsqueda tan genérca como la de un AG canónco no es sólo efcaz y compettva con técncas a la medda, sno tambén robusta ante problemas reales (no de laboratoro). El problema e utlza como genotpo cadenas de longtud varable que representan trazas de ejecucón (protocol testng) que permtan localzar posbles errores en el protocolo de comuncacón. Por últmo, el problema f codfca en vectores reales los pesos de la red de neuronas de forma que el algortmo busca la mejor combnacón que mnmza el error de dcha red ante patrones de entrada para los que se conoce la salda deseada (aprendzaje supervsado). 48

63 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Funcones de Evaluacón La Fgura 2.7 muestra las funcones usadas en cada problema. En el caso del problema c maxmzamos la funcón complementara respecto a una constante (MEPV: máxmo coste esperado) en la que consderamos el coste de comuncacón de la asgnacón representada por la cadena y el coste del desequlbro ntroducdo por dcha asgnacón en la carga computaconal sobre los procesadores (pesando con sendas constantes su mportanca relatva). En el problema d mnmzamos el número de pasos (tempo smulado) hasta consegur el equlbro en el usando la base de reglas (SBR) representada por el árbol sntáctco codfcado en la cadena. En el problema e se maxmza una funcón que prema el descubrmento de bloqueos, estados no vstados y transcones no dsparadas en la comuncacón de las dos máqunas de estados fntos que ejecutan el protocolo de comuncacón. En últmo lugar, el problema f mnmza el error cometdo por una red de n neuronas de salda al serle presentado el conjunto de p patrones de entrenamento. c ADECUACIÓN = MEPV - COSTE COSTE = Cw * Comm + Uw * Unb e ADECUACIÓN = (BL_ADEC *N_Bloqueos_Detectados ) + (NV_ADEC*N_Estados_No_Vstados) + (ND_ADEC*N_Transcones_No_Dsparadas) d ADECUACIÓN=MAX_PASOS COSTE COSTE = Pasos_Hasta_Equlbro f ADECUACIÓN = MEPV - ERROR p n ERROR = desada j actual = 1 j= 1 j Fgura 2.7. Funcones de evaluacón Φ maxmzadas en cada problema Conclusones De la resolucón de estos problemas se deducen varas conclusones. En prmer lugar, todos los problemas presentan una funcón de evaluacón que es no lneal y bastante lenta en tempo de computacón. Esto ndca que es mprescndble un algortmo que mnmce el esfuerzo de evaluacón, ya que cada evaluacón de un ndvduo supone la smulacón de un sstema complejo: c medr el coste de la asgnacón hecha de procesos paralelos, d smular el sstema físco hasta encontrar el equlbro usando el SBR defndo por la cadena evaluada, e smular el protocolo para comprobar los posbles errores en que ncurre y f evaluar el error de la red de neuronas para cada uno de los patrones del conjunto de aprendzaje. Por estas razones confrmamos las ventajas de usar un AG frente a otras técncas en los problemas presentados. Por ejemplo, en el caso del problema f nuestro estudo [AC97] demuestra que podemos ofrecer la ordenacón de la Fgura 2.8 atendendo al error fnal, esfuerzo de evaluacón y tempo real crecentes. En partcular, mostramos en orden de prestacones los resultados obtendos por un algortmo genétco paralelo dstrbudo de slas estaconaras (dssga), uno secuencal estaconaro (ssga), enframento smulado (ES), enframento smulado sobre una poblacón generada usando seleccón proporconal (ges), propagacón haca atrás del error (PAE) y múltples hbrdacones, ncluyendo úncamente usar mutacón sn cruce (MU) (véase [AC97] para más detalles). 49

64 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Por tanto, comprobamos de nuevo las ventajas en cuanto a evtar óptmos locales de un AG frente a técncas de gradente descendente, ncluso dseñadas para el problema en cuestón. Nótese la comparacón entre algortmos híbrdos. dssga ssga+pae+mu ssga+pae ssga+es ssga+es+mu ges>es ssga PAE mejores resultados Fgura 2.8. Ordenacón de técncas en la resolucón del problema f. Por otro lado, todos los problemas demuestran el éxto y efcenca en domnos complejos, como los de los problemas c y e, donde aún queda mucho por hacer. Incluso en el dseño de controladores borrosos podemos aprecar la flexbldad de usar un AG en cuanto a la creacón dnámca de conjuntos de pertenenca dfusos. El problema d pone de manfesto las ventajas de una solucón usando estado estaconaro frente a la tradconal generaconal 1-eltsta. Aunque el modelo estaconaro y generaconal son en el fondo dervables de un sstema adaptatvo común y pueda defnrse ncluso un modelo generaconal equvalente al estaconaro, es un hecho que los modelos generaconales tradconalmente usados son más lentos en converger a la msma solucón que el modelo estaconaro. Este hecho en el problema d se presenta con una ventaja adconal en el refnamento de la solucón fnal y menor esfuerzo de evaluacón (véanse tambén los resultados en el Capítulo 4). En todas las aplcacones menconadas, sn embargo, queda tambén patente la necesdad de mejorar el tempo de ejecucón. Esta razón, junto a la necesdad de dsmnur el esfuerzo de evaluacón, nos conduce de forma natural al uso de algortmos paralelos. Igualmente, retoma los trabajos de [Wht89], [Sysw91], [Juls95], [Lev97] en el sentdo de comprobar que el modelo estaconaro es en muchas ocasones más efcente que el generaconal. Puesto que hemos presentado los modelos secuencales generaconal y estaconaro y una versón en slas estaconaras dstrbudas, el sguente paso natural consste en formalzar el comportamento celular. Con ello pretendemos consegur un estudo prelmnar completo de este modelo y unrnos a las líneas de crecente nterés por la ejecucón descentralzada, así como confrmar los excelentes resultados de los modelos celulares en problemas pensados para resultar dfícles a un algortmo genétco. En la seccón sguente estudamos el modelo celular y en la Seccón 2.5 abordamos el modelo dstrbudo. Esta presentacón se ha elegdo debdo a nuestra partcular vsón de los tres modelos (centralzados -secuencales-, celular y dstrbudo) que forman el eje central de la dscusón y desarrollo del presente trabajo. 50

65 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS 2.4. Algortmos Genétcos Celulares La mportanca de los algortmos genétcos con estructura espacal está crecendo por varas razones. En prmer lugar debdo a las propedades dervadas de su dsposcón bdmensonal de los ndvduos. Esta característca le confere al algortmo propedades nteresantes respecto al mantenmento de la dversdad, ajuste flexble de la presón selectva y mayor efcaca [DS95], [SD97]. Además, exste un campo de trabajo nteresante atendendo a su paralelzacón en máqunas SIMD en las que se asgna un ndvduo por procesador (ncluso exsten mplementacones MIMD de ellos [HBBK97]) y tambén a su smltud con los autómatas celulares [Toma93] [Wht93b]. Vea el esquema típco del modelo celular frente al secuencal tradconal en la Fgura 2.9. En esta seccón abordamos drectamente el modelo de ejecucón presente en un algortmo genétco celular en el que los ndvduos se stúan en una rejlla (malla) torodal de forma que cada uno de ellos nteraccona úncamente con sus vecnos. Sn embargo, no mplementaremos el modelo en máqunas SIMD, sno que usaremos el sstema de vecndaros sobre una poblacón ejecutando todo en una msma máquna, aprovechando así las propedades algorítmcas pero no las físcas. De entre todos los tpos posbles de topología elegmos la rejlla y de entre todos los esquemas de vecndad posbles elegmos NEWS (North-East-West-South). Esto no supone pérdda alguna de generaldad puesto que, como se demuestra en [SD96], es posble con este esquema smular la presón selectva de cualquer otro algortmo, ncludo el secuencal (Seccón 2.7.3). I 1,1 I 1,2 I 1,3 I 2,1 I 2,2 I 2,3 I I I I I I I I I I 3,1 I 3,2 I 3,3 (a) (b) Fgura 2.9. (a) Algortmo genétco celular en una rejlla torodal 2D y (b) una poblacón en panmxa típca de los modelos secuencales en los que no se defne vecndaro. Hemos menconado la presón selectva porque es el operador de seleccón, tanto de parejas como ambental, el que prncpalmente se ve modfcado en este modelo. Esto se debe a que en él abandonamos la defncón en panmxa de la seleccón para redefnr su trabajo a nvel puramente de vecndaro. El solapamento de vecndaros es el prncpal sstema de transmsón de genotpos en el algortmo (dfusón) [CJ91]. En la Seccón defnremos formalmente la rejlla y haremos algunas hpótess de trabajo que confrmaremos en el Capítulo 4. Por el momento, en la sguente Seccón (2.4.1) pretendemos mostrar una revsón de sus característcas más sobresalentes y una dervacón que lo defne a partr del modelo genérco de sstema adaptatvo. 51

66 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Dervacón y Revsón Para dervar un algortmo genétco celular del modelo granulado unfcado úncamente debemos aclarar el funconamento de las operacones de seleccón de vecnos y precsar que la sncronzacón de funconamento debe realzarse al fnal del cálculo de cada generacón. El hecho de que exsta sncronzacón tras cada generacón permte mantener a cada ndvduo de la topología en la msma generacón en cualquer nstante de la búsqueda. Los ndvduos generados resden en una poblacón auxlar hasta que se haya computado la generacón completa. Después se reemplaza la generacón antgua con la nueva como hace cualquer otro algortmo evolutvo. El grano del paso evolutvo es pues la generacón de µ ndvduos. Aunque la sncronzacón sea necesara sólo al fnal de cada generacón (lo que no es poco en térmnos de una ejecucón en computadores SIMD o MIMD, ya que restrnge el paralelsmo) sí que es necesaro determnar y obtener en cada paso las estructuras vecnas de una dada resdente en la poblacón. Esto supone que una mplementacón masvamente paralela real en que cada estructura resde en un procesador genera una carga de comuncacón muy mportante al pedr copas de las estructuras desgnadas como vecnas (o al menos de sus adecuacones). En el caso de una mplementacón MIMD el trasego constante de vecnos entre los trozos dstrbudos de la msma malla provoca una consderable merma de las prestacones. En nuestro caso, nos restrngmos a utlzar el modelo celular pero ejecutándolo en un únco procesador, de forma que consgamos sus ventajas algorítmcas aunque no una ejecucón en tempo real más rápda. Paradójcamente en muchos casos, ncluso con un solo procesador, sí que se consguen reduccones en el tempo debdo a que el esfuerzo de evaluacón para resolver un problema es con frecuenca menor que en los modelos secuencales [GW93]. La lteratura [SD96] dstngue entre vecndaros lneales o compactos. En los vecndaros lneales Lr, los vecnos de un punto dado ncluyen a las r-1 estructuras más cercanas elegdas sobre los ejes horzontal y vertcal (Fgura 2.10). En el caso compacto Cr, el vecndaro ncluye a los r-1 ndvduos más cercanos. El tpo de eleccón puede dar lugar a vecndaros compactos cuadrados o damante. Esta dstncón ncal puede extenderse a vecndaros que camban en el tempo o en los que los ndvduos elgen su pareja tras un paseo aleatoro hasta ella [SD97]. L5 L9 C9 C25 C13 Fgura Dos posbles tpos de vecndaros: lneales y compactos. Puede observarse en la Fgura 2.10 que atendendo al rado y a qué vecnos se ncluyan dstngumos entre dstntos vecndaros. Es de esperar que los vecndaros pequeños como LINEAL 5 sobrecarguen poco al sstema. En cuanto a los vecndaros grandes, es nteresante observar, como ocurre con el vecndaro COMPACTO 25 del ejemplo, que algunos pueden llegar a nclur a todos los elementos de la malla. En el caso extremo de vecndaros muy grandes y mallas pequeñas el efecto es smlar al de usar una únca poblacón (panmxa). 52

67 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Por estas razones parece claro que necestamos caracterzar numércamente los vecndaros y tambén la malla en sí para poder calbrar la relacón entre uno y otro en un algortmo celular. En partcular, el vecndaro LINEAL 5 es muy conocdo y usado. Tambén se le conoce con el nombre de NEWS y es el que vamos a utlzar debdo a su sencllez teórca y tambén a la rapdez de la seleccón en vecndaros tan pequeños. Como se deduce de su expresón formal (Defncón 2.4) la únca dferenca de un modelo celular respecto a otro generaconal (por ejemplo) es que las operacones se realzan sobre un vecndaro de pocas (5) estructuras, necestando así nformacón adconal para calcular cada nueva estructura. Para vecndaros genércos debemos: dentfcar las poscones vecnas de la topología, pedrles una copa de sus ndvduos, selecconar dos padres, cruzar, mutar y reemplazar la poscón consderada. Esta dea ntutva la mejoraremos en la Seccón 2.6 en pseudocódgo y en el Capítulo 3 de manera más formal. Por el momento los pasos expuestos en el párrafo anteror nos permten comprobar que para trabajar con vecndaros genércos necestamos mplementacones efcentes para la poblacón. Además, debemos reparar en que a las operacones típcamente lstadas sobre modelos celulares debemos añadr la de dentfcar cuáles son las poscones vecnas. Esta operacón no suele ser cara aunque algunos trabajos hacen de ella todo un arte [Balu93]. Podemos consderar un & & vecndaro NEWS sobre una lsta de ndvduos A = { a 0,..., a µ 1 } donde cada estructura a & j resde vrtualmente en la poscón (x,y) de una rejlla de tamaño w h sendo: X(j) := j mod w Y(j) := j dv w h := µ /w j : 0.. µ 1 (2.5) Inversamente, la estructura que resde en la poscón (x,y) de la malla se encuentra almacenada en la lsta de la poblacón en la poscón: pos(x,y) := y w + x (2.6) y, por otro lado, el vecndaro NEWS se defne sobre dcha topología como sgue: υ () j : = news() j : = { n, e, w, s} = pos( X ( j), ( Y ( j h ) e : pos( + + mod ( X ( j), w), Y ( j) ) n ), w : mod = (2.7) : = pos( mod ( X ( j), w), Y( j) ) s = pos( X ( j), + + ( Y ( j), h ) : mod Las funcones de ncremento y decremento acotado tenen una defncón smple: + + (, k) : = ( 1) mod k (, k) : = > 0? ( 1) : k mod + (2.8) Con esta defncón de vecndaro es posble caracterzar la presón selectva de cualquer malla torodal de dos dmensones como se demuestra en [SD96]. Respecto a los demás componentes del sstema adaptatvo celular no exsten dferencas respecto a otros algortmos. El algortmo dspone de tantos gránulos como estructuras (µ). La estructura que un gránulo comparte con cualquer otro de entre los cuatro que pertenecen a su & χ B = b. vecndaro es sempre la únca que resde en el gránulo: ( ) { } mod 53

68 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS La dfusón de estructuras se lleva a cabo por el solapamento de vecndaros, ya que cada una de las estructuras pertenece al vecndaro de sus cuatro puntos adyacentes de la malla. De esta forma, la aparcón de una solucón en un punto de la malla se dfunde a sus vecnos en el prmer paso sguente al de su descubrmento y estos, a su vez, la dfunden en pasos sucesvos, ya que la polítca de reemplazo suele requerr que la nueva estructura calculada por los operadores genétcos sea mejor que la consderada actualmente para reemplazar a ésta últma. Este eltsmo local (reemplazo por torneo bnaro) ha resultado muy útl en numerosos trabajos y presentaremos su funconamento relatvo respecto a otras polítcas en el capítulo de resultados. En la sguente seccón caracterzamos cuanttatvamente la rejlla y el vecndaro atendendo a su rado. Esto permtrá futuros estudos sobre tpos de malla y vecndaros Caracterzacón Formal de la Rejlla En esta seccón defnmos los parámetros que caracterzan la rejlla de un cga. Nuestro trabajo es una extensón del trabajo en [DS95] y [SD96]. Defnmos el concepto de rado (Ecuacón 2.9), váldo tanto para la topología de la rejlla como para el vecndaro sobre ella. La dea básca es la de consderar a los n* ndvduos mplcados como puntos dspersos respecto a un centro común. rad = 2 ( x x) + ( y y) 2 n* n* x = 1 = n * Una alternatva sería usar el rado de un círculo que crcunda a la rejlla (o vecndaro), pero esto asgnaría valores guales a rejllas (vecndaros) dstntos. Lo msmo ocurre s utlzásemos un coefcente de asmetría. Por ejemplo, los vecndaros L5 y C9 (Fgura 2.10) son dstntos con la defncón de rado de la Ecuacón 2.9 (deseable), pero tendrían guales valores de rado de círculo o de asmetría (ndeseable). El valor rad mde la dspersón de n* puntos en un círculo centrado en ( x, y ). Para un número constante dado de ndvduos (n=n*) el rado crece a medda que la rejlla se estrecha o a medda que el vecndaro se extende. Ya que el vecndaro se mantene constante en nuestros estudos, el rato global (Ecuacón 2.10) entre rado del vecndaro y de la topología decrece al estrechar la rejlla (Fgura 2.11). rad x = n * y = y 1 n * (2.9) vecndaro rato cga = (2.10) radtopología Como veremos, la relacón o rato entre ambos rados nfluye en la búsqueda. Nuestro estudo se centra en consderar que es la forma de la rejlla la que más fáclmente puede modfcarse para varar el comportamento del algortmo. Este punto de vsta dfere de otros estudos que están enfocados en consderar varable el vecndaro sobre una malla fja [Balu93] [SD97]. Nuestro acercamento es mucho más smple de mplementar y estudar en la práctca. 54

69 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS rad L 5 = = rad 2 >rad 1 (a) (b) (c) Fgura Vecndaro NEWS (conocdo tambén como L5) (a), su rado (b), y un ejemplo de dos mallas con rados dstntos para un msmo número de ndvduos (c). La sguente Fgura (2.12) demuestra cómo, a medda que la rejlla se estrecha, el rado de la topología crece y por tanto la relacón decrece proporconalmente. Esta defncón nos permte dstngur y estudar modelos dstntos de cga de forma cuanttatva. rad 1 rad 2 # Topología Rado Rato usando NEWS a 1024x1024 4, E+2 0, b 2048 x 512 6, E+2 0, c 4096 x 256 1, E+3 0, d 8192 x 128 2, E+3 0, e x 64 4, E+3 0, f x 32 9, E+3 0, g x 16 1, E+4 0, h x 8 7, E+4 0, x 4 1, E+5 0, j x 2 3, E+5 0, k x1 6, E+5 0, ,00E+06 1,00E+05 1,00E+04 1,00E+03 1,00E+02 1,00E+01 1,00E+00 1,00E-01 1,00E-02 1,00E-03 1,00E-04 1,00E-05 1,00E-06 Rado de la Topología Rato a b c d e f g h j k Forma de la malla (más estrecha->) Fgura Crecmento (reduccón) típco del rado de la topología (rato) con NEWS. La presón de la seleccón en rejllas dstntas con dferentes vecndaros pueden clasfcarse en clases de equvalenca atendendo a valores smlares de rat [SD96]. La cuantfcacón que acabamos de hacer es necesara para estudar las hpótess de trabajo que delnearemos en este capítulo (Seccón 2.7.3). Como adelanto, menconaremos que es de esperar que la reduccón de esta proporcón suponga la reduccón de la presón selectva. Esto a su vez tene un efecto doble. Por un lado ncrementa el número de pasos necesaros para converger a una solucón, y por otro mantene durante más tempo de ejecucón del algortmo la dversdad, mejorando la probabldad de encontrar una solucón óptma. El prmer efecto es negatvo y el segundo postvo; queda estudar en qué condcones el efecto postvo es el domnante Algortmos Genétcos Dstrbudos En esta seccón abordamos las prncpales polítcas de trabajo que defnen el comportamento de un algortmo genétco paralelo dstrbudo. La prncpal motvacón del uso de estos algortmos es obtener ganancas en velocdad de ejecucón a través del uso de slas déblmente acopladas. En las sguentes seccones concretamos múltples mecansmos para la evolucón de las slas (Seccón 2.5.1), la topología de nterconexón de las slas (Seccón 2.5.2), la polítca de mgracón (Seccón 2.5.3), los detalles sobre sncronzacón en la comuncacón (Seccón 2.5.4) y, fnalmente, una vsón global sobre heterogenedad en la búsqueda y en la ejecucón (Seccón 2.5.5). 55

70 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Evolucón Básca de las Islas En la mayoría de los trabajos con algortmos genétcos dstrbudos se utlzan slas cuya evolucón básca es secuencal y en panmxa. Esto supone que cada sla ejecuta un número dado de generacones antes de llegar a la fase de comuncacón de ndvduos con su(s) vecno(s). Genércamente, este modelo de evolucón básco ha sdo un AG secuencal generaconal smlar al usado en los trabajos de [Tane89], [Cant94], [ER96] o [CG97]. Los prmeros pasos haca algortmos genétcos dstrbudos con slas de estado estaconaro podemos encontrarlos en los estudos con GENITOR II [WS90]. Sn embargo, la ampla dsponbldad de algortmos generaconales ha condconado la ejecucón dstrbuda a slas generaconales. Nuestros resultados en [CAT96] en el dseño de controladores de lógca borrosa así como en [AC97], [CAT98a] y otros trabajos relaconados ndcan las ventajas que pueden obtenerse de una evolucón en estado estaconaro, tanto en domnos típcos de ntelgenca artfcal como en optmzacón funconal. Tras consderar el modelo de ejecucón de la sla con poblacón únca, el sguente paso lógco es consderar la evolucón de slas celulares. En prmer lugar, esto se debe a que es dfícl decdr entre las dos alternatvas que plantean el uso de algortmos celulares frente a dstrbudos, ya que cada una tene ventajas nnegables y algunos nconvenentes. En segundo lugar, ya exsten algunos ndcos de que dcha combnacón (conocda tambén como algortmos genétcos paralelos híbrdos [Cant97a]) proporcona muy buenos resultados (véase [Grua94], [RS94], [Pedr96]). Esta combnacón, sn embargo, será caracterzada y estudada como tal por prmera vez aquí, ya que el resto de acercamentos están orentados a soluconar problemas muy concretos y no aportan n estudos como clase de AGPs, n ndcacones comparatvas sobre su comportamento sobre varos problemas. Cualquera de los modelos dstrbudos menconados puede obtenerse especfcando úncamente el contendo del gránulo básco, ben nstancándolo a un trabajo en panmxa con certo paso de evolucón (Defncón 1.2), o ben trabajando sobre un vecndaro. Debe notarse que en el caso de slas de evolucón celular cada gránulo del AG dstrbudo contene un conjunto de µ gránulos nterconectados entre sí stuados en el msmo nodo. De esta forma, vemos cómo no es necesaro ejecutar el algortmo celular en una máquna SIMD, ya que sus ventajas algorítmcas provenen de utlzar una poblacón estructurada bdmensonalmente Topología de Interconexón En relacón a la topología de nterconexón entre las slas podemos dstngur dos característcas mportantes en un algortmo evolutvo paralelo dstrbudo en general: Comportamento temporal, que determna la exstenca de un vecndaro estátco o dnámco, según el conjunto de vecnos defndo por la funcón ξ cambe o no en el tempo. En realdad, es el comportamento de la funcón componente υ quen determna esta característca al decdr drectamente el vecndaro. Topología del vecndaro: anllo un/b-dmensonal, árbol, estrella, malla, totalmente conectado,... según la dsposcón de las slas determnada por la defncón de ξ (ξ ). 56

71 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS En general, ncluso una conexón aleatora dnámca es posble [MTS93]. Sn embargo, aunque no exsten demasados estudos destnados a decdr cuál es la mejor topología para un AGP dstrbudo, sí que parece exstr un consenso respecto a que es útl usar un anllo o un hpercubo. Estudos detallados como los de [Cant94] sobre este tema usando DGENESIS arrojan resultados smlares para estas dos topologías sobre un conjunto elevado de problemas. Esta cuestón técnca es aún objeto de nvestgacón. Por todo ello fjaremos nuestro campo de trabajo en una topología en anllo undrecconal estátca: () = ( mod d ) + 1 { 1,2,..., d} υ (2.11) Para encontrar la razón de usar un anllo (además de su smplcdad y fácl mplementacón MIMD) podemos empezar por caracterzar el tempo de comuncacón. Dadas las constantes C comm e γ (dependentes del sstema y topología del algortmo) podemos dervar el tempo de comuncacón como proporconal al número de slas d. Suponendo una ley de crecmento exponencal en relacón a la topología [CG97] tenemos: T γ COMM = Ccomm d (2.12) La ventaja de una topología en anllo es que cada mgracón entre cada par de vecnos puede realzarse en paralelo y en un tempo constante (como ocurre en una red ATM por su velocdad y característcas de acceso al medo). Por tanto γ=0, y T COMM son constantes. Este resultado nos permte dervar teórcamente la afrmacón de que la gananca en velocdad (speedup 6) a medda que utlcemos más procesadores será monótonamente crecente [CG97], aunque es de esperar que vaya sendo cada vez menos acusada (asíntota). Este resultado teórco explca nuestros estudos presentados en [CAT98a]. En general, cuando el acoplamento entre slas es muy alto y la topología muy conectada el comportamento depende claramente del tpo de red de comuncacón usada. Esto da ventajas de nuevo al anllo porque no presenta una conexón excesva, y es así más ndependente del hardware que otras topologías Polítcas de Mgracón La polítca de mgracón permte determnar el tpo de nterconexón que se está producendo entre las slas del algortmo dstrbudo. Una caracterzacón de este concepto debería englobar la mayoría de polítcas exstentes y permtr proponer nuevas deas. Con este objetvo en mente defnmos la polítca de mgracón como una tupla de cuatro valores: Defncón 2.5 (Polítca de Mgracón). Una polítca de mgracón en un algortmo genétco paralelo dstrbudo queda defnda por una tupla: 0 = (m, ζ, ω S, ω R ) (2.13) donde: m : es el número de ndvduos que mgran, m {0, 1,...} (mgraton rate). ζ : es la frecuenca de mgracón (expresada en número de evaluacones), ζ {0, 1,...}. 57

72 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS ω S : es la polítca de seleccón de los ndvduos que mgran; tradconalmente mgra una copa del ndvduo(s) determnado(s) por la funcón χ, aunque tambén es posble extraer de la poblacón el ndvduo que va a mgrar (composcón de seleccón y reemplazo). ω R : es la polítca de reemplazo, usada para nsertar cada nmgrante que llega a una poblacón. Con esta defncón de polítca de mgracón podemos caracterzar la transferenca de estructuras entre slas. Esto es necesaro porque no basta con señalar qué slas serán vecnas. Hemos defndo la frecuenca de mgracón en térmnos de cuántas evaluacones se realzan entre cada dos mgracones consecutvas. Alternatvamente se podría nterpretar como el número de generacones entre dos mgracones; sn embargo, en nuestro caso trabajamos con algortmos cuya generacón es de dstnta granulardad, y por tanto caracterzar a través de generacones puede resultar cuando menos ambguo. De hecho, puede resultar especalmente cómodo utlzar valores como los que presentamos en [CAT98a] en donde el número de evaluacones entre mgracones se caracterza como un múltplo (quzás potenca de 2) del tamaño de la poblacón total: 1 µ, 2 µ, 4 µ, 8 µ,..., ndcando con 0 que las slas evoluconan de forma aslada (parttoned evoluton). Esto permte que un msmo valor de frecuenca de mgracón represente dstntos algortmos en dstntas aplcacones. Así, evtamos dar recetas generales para problemas arbtraros. De esta forma, el operador de mgracón ω M se defne por la accón conjunta de un modelo para compartr estructuras y una polítca de mgracón como sgue: ω (, j ), j descent M M j ) = ω R $ ω S Θ (, (2.14) además, el operador de seleccón determna en cada conjunto de estructuras aquéllas que pertenecen al gránulo orgen y que serán nsertadas en el gránulo destno j : & & ω, = b b ξ,. (2.15) S { } ( ) ( ) j El número de ndvduos mgrados se defne como el número de estructuras compartdas en cualquera de los gránulos (asumendo que todas mgren el msmo número): (, ) j j m = ξ, (2.16) y la probabldad de aplcacón de dcho operador es 1 p M =. (2.17) ζ Podemos dar una defncón alternatva del operador de mgracón en el que el crtero de mgracón no vene regulado por los valores de una varable aleatora dscreta. Exsten trabajos [MTS93] en los que el crtero de mgracón es más elaborado, como por ejemplo que los valores medos o la desvacón típca de la adecuacón de la sla satsfaga certos requstos. De hecho, la mayoría de mplementacones suponen que formalmente exste una probabldad de mgracón como la descrta en la Ecuacón 2.17 pero realzan la mgracón de forma absolutamente determnsta cada ζ evaluacones. Esto es así porque de esta forma puede consegurse una traza fable de los valores que se mden. 58

73 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Incluso algunos trabajos como [Beld95] justfcan la sncronzacón entre slas cada paso de evolucón, a pesar de que no haya mgracón, con el objetvo de obtener estadístcas exactas. Sn embargo, esto es úncamente aconsejable en casos puntuales cuando el objetvo es estudar una ejecucón aslada y no el comportamento del algortmo, ya que éste cambaría sustancalmente como consecuenca de la constante sncronzacón. En resumen, el conjunto de parámetros de la mgracón queda drectamente determnado por los valores de la polítca de mgracón utlzada: Θ M ={0} (2.18) y naturalmente depende del mecansmo que defne cómo compartr estructuras y la polítca de actvacón paralela. El cclo reproductor de un AGP dstrbudo consste en la composcón del operador de cclo reproductor de la sla más el de mgracón: ω d = ω M ω sla (2.19) Es posble defnr un parámetro adconal mportante en relacón a cómo se mplementa la mgracón. Nos refermos al trabajo asíncrono de las slas en lugar de una evolucón síncrona como la supuesta hasta ahora. La sguente seccón profundza en este aspecto Sncronzacón La mayoría de los algortmos evolutvos dstrbudos exstentes son síncronos. Esto sgnfca que la fase de comuncacón, entendda como fase de envío y recepcón de estructuras, está localzada en la msma porcón del algortmo evolutvo dstrbudo. En este sentdo, tanto la mplementacón como la descrpcón y el estudo formal se smplfcan al asegurarse que todas las slas se encuentran en el msmo estado de evolucón en un momento dado. Por el contraro, el funconamento asíncrono suele resultar más efcente en la práctca [Gorg89] [MTS93] [ZK93] [HBBK97]. Su desventaja es una mplementacón más complcada y tambén los problemas que surgen de separar la fase de envío de la de recepcón de ndvduos. Ya que una sla puede recbr en cualquer nstante de su evolucón un ndvduo cuando trabaja en modo asíncrono, las slas emsoras y receptoras pueden encontrarse en dstntas generacones y sus ndvduos en dferentes estados de evolucón. Báscamente, la dferenca radca en la nterpretacón del operador de mgracón (véase la Fgura 2.13). En la mgracón síncrona se realza el envío de emgrantes sn espera alguna (línea dscontnua) e nmedatamente después el algortmo se bloquea (línea contnua) hasta obtener los nmgrantes de las slas vecnas. Sn embargo, en el caso asíncrono se realza el envío de emgrantes atendendo a la msma probabldad p M pero no se bloquea el algortmo en espera de estructuras de entrada. Por el contraro, cada paso de la evolucón decde s exsten ndvduos esperando y s es así los nserta de acuerdo a la polítca de reemplazo usada. Esto mplca que el ntercambo de estructuras puede comportarse en la poblacón destno (1) como un superndvduo, o (2) como un generador de descendenca letal. Un superndvduo es aquel cuya adecuacón es consderablemente superor al de la meda de la poblacón. Asmsmo defnmos un ndvduo letal como aquel ndvduo de menor adecuacón que sus progentores. 59

74 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Ambos tpos de ndvduos son, en teoría, perjudcales porque tenden a redrecconar la búsqueda en la sla receptora (efecto de conqusta en el caso del superndvduo) o a malgastar recursos de computacón generando puntos (letales o no-efecto ) de especes ntermedas lejanas a las del emsor y el receptor [LPG94] [Mare94]. Isla -ésma INICIO... O S(x p M )... FIN //mgracón Envar emgrantes Recbr emgrantes SÍNCRONO Isla -ésma INICIO... O S(x p M ) //mgracón Envar emgrantes O Recbr emgrantes... FIN ASÍNCRONO Fgura Dferencas entre evolucón síncrona y asíncrona. En la práctca, estos efectos son apenas acusados s la búsqueda a nvel de ejecucón e mplementacón (véase de nuevo la Fgura 1.1) es homogénea, ya que las slas progresan aplcando las msmas operacones sobre estructuras smlares al msmo tempo (en promedo) en cada procesador. De hecho, esta solucón asíncrona presenta sus ventajas respecto a ejecucón más rápda sn las desventajas menconadas en el párrafo anteror. Asmsmo, permte hacer las msmas suposcones que en el caso síncrono en térmno medo. En el caso heterogéneo, los resultados a pror son mpredecbles, pues dependen del problema y algortmo usados. En realdad, esta cuestón está aberta como rama de nvestgacón Homogenedad La caracterzacón del algortmo como homogéneo o heterogéneo a nvel de búsqueda (ejecucón) vene determnada por el cclo reproductor que se utlce en cada gránulo. De esta forma, s el cclo reproductor es el msmo en todos los gránulos, el algortmo dstrbudo se dce homogéneo a nvel de búsqueda. Esto mplca que, el tpo, número y parámetros de los operadores es el msmo. Igualmente, el genotpo usado tambén debe ser el msmo. En otro caso estaremos tratando sobre un algortmo dstrbudo heterogéneo (como ocurre en GAMAS [PGY94] por ejemplo). Aunque ambos tpos de heterogenedad son raros, el uso de cclos reproductores dstntos está tomando auge debdo a que permte aprovechar las ventajas relatvas de cada uno de los cclos usados, vrtualmente a coste 0 (exclusvamente la complejdad de la mplementacón, ejecucón y muchas veces su estudo formal). En este aspecto, resultados como GDGA [HL97] o CoPDEB [AP96] son esperanzadores en problemas dfícles de optmzacón funconal o dseño de redes de neuronas. Véase la Fgura 2.14 para comprobar varas formas de ntroducr heterogenedad en la búsqueda, ben dsponendo explíctamente planos de exploracón y explotacón como en GDGA, o ben usando dstntos operadores y probabldades como en CoPDEB. 60

75 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS PLANO DE EXPLORACIÓN E 1 E e 1 e GA 1 Pc Pm GA 2 Pc Pm CoPDEB E 4 e 4 e 3 PLANO DE explotación E 3 GDGA Pc GA 4 Buen Pc, Pm GA 3 Fgura GDGA (zquerda) y CoPDEB (derecha), dos AGs dstrbudos heterogéneos. La heterogenedad hardware es práctcamente nula en este campo. Aunque algunos modelos están mplementados de forma genérca para ejecutarse sobre plataformas dstntas tras ser recomplados (GALOPPS, GENESIS, DGENESIS,...) no exsten resultados hasta el momento en que se ejecuten a la vez sobre plataformas hardware dstntas. En el sentdo anteror, quzás las mplementacones de modelos dstrbudos en JAVA sean nteresantes por permtr de forma ntrínseca esta característca. De todas formas no está nada claro que resulte ventajoso usar dstntos tpos de hardware para la ejecucón de un AEP, más que aprovechar nstalacones exstentes. Una vez concluda la descrpcón unfcada de algortmos secuencales y paralelos pasamos en la sguente seccón a presentar una aclaracón del funconamento canónco de los modelos secuencales, celulares y su paralelzacón dstrbuda. En este trabajo usamos algortmos homogéneos tanto a nvel de búsqueda como a nvel de ejecucón Dscusón y Aclaracones usando el Pseudocódgo En esta seccón presentamos un pseudocódgo de los algortmos centralzados (generaconal y de estado estaconaro), así como una versón básca de un modelo celular y una versón dstrbuda síncrona que puede realzarse de cualquera de ellos (véase la Fgura 2.15). Es nuestra ntencón proporconar una dea ntutva para concretar el uso de las defncones formales anterores e ntroducr los modelos báscos de los algortmos que vamos a dseñar y analzar en detalle en los sguentes capítulos. Con esta defncón en pseudocódgo es más fácl comprender la problemátca de una descrpcón e mplementacón unfcadas, así como dervar su comportamento y puntos de estudo clave. Mostramos versones smples suponendo que usamos seleccón, cruce, mutacón y reemplazo. A partr de ellas es fácl obtener algortmos más elaborados que ncorporen operadores novedosos o dependentes del problema, así como varar el tpo, número y parámetros de los operadores. 61

76 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS [genga] proc Cclo_Reproductor(ag): para så1 hasta MAX_PASOS hacer lsta_påselecconar(ag.pob); // Selecconar TAM_POB cadenas para Å1 hasta TAM_POB/2 hacer Cruzar(ag.Pc, lsta_p[],lsta_p[2*],nd_aux.crom); Mutar(ag.Pm,nd_aux.crom); nd_aux.adecuacónåag.evaluar(decodfcar(nd_aux.crom)); Insertar_Nuevo_Ind(pob_aux,nd_aux,); fn_para; ag.pobå[eltsta no_eltsta]åpob_aux; Recolectar_Estadístcas(ag); fn_para; fn_proc Cclo_Reproductor; [ssga] [cga] [dga] proc Cclo_Reproductor(ag): para så1 hasta MAX_PASOS hacer padre1åselecconar(ag.pob); padre2åselecconar(ag.pob); Cruzar(ag.Pc,padre1,padre2,nd_aux.crom); Mutar(ag.Pm,nd_aux.crom); nd_aux.adecuacónåag.evaluar(decodfcar(nd_aux.crom)); Insertar_Nuevo_Ind(ag,nd_aux,[s_mejor sempre]); Recolectar_Estadístcas(ag); fn_para; fn_proc Cclo_Reproductor; proc Cclo_Reproductor(ag): para så1 hasta MAX_PASOS hacer para xå1 hasta ANCHURA hacer para yå1 to ALTURA hacer lsta_våcalcular_vecnos(ag,poscón(x,y)); padre1åselecconar(lsta_v); padre2åselecconar(lsta_v); Cruzar(ag.Pc, lsta_v[padre1],lsta_v[padre2],nd_aux.crom); Mutar(ag.Pm,nd_aux.crom); nd_aux.adecuacónåag.evaluar(decodfcar(nd_aux.crom)); Insertar_Nuevo_Ind(poscón(x,y),nd_aux,[s_mejor sempre],ag,pob_aux); fn_para; fn_para; ag.popåpob_aux; Recolectar_Estadístcas(ag); fn_para; fn_proc Cclo_Reproductor; Arrancar_Sstema(ag); Generar_Subpoblacones(ag); Evaluar_Subpoblacones(ag); Recolectar_Estadístcas_Globales(ag); para så1 hasta MAX_PASOS hacer para Å1 hasta NÚMERO_DE_ISLAS hacer Cclo_Reproductor(ag[]); fn_para; s Debe_Mgrar(ag,s) entonces Mgrar_En_Anllo(ag,[mejor aleatoro]); Recolectar_Estadístcas_Globales(ag); fn_s; fn_para; // Quén emgra? SolucónÅMejor_Ind_Encontrado_Durante_La_Evolucón; // En todos los casos! Fgura Pseudocódgo de los dos modelos de poblacón únca, en dfusón y dstrbudo. El modelo generaconal (genga) secuencal genera un conjunto de estructuras para reproduccón usando el operador de seleccón. Tras cruzarlas y mutarlas reemplaza la poblacón antgua por la nueva. Debe notarse que ofrecemos la posbldad de usar (o no) eltsmo para que la mejor cadena sobrevva (o no) entre dos generacones consecutvas de forma determnsta. El modelo de estado estaconaro (ssga) genera en cada paso una cadena nueva aplcando seleccón, cruce y mutacón y la nserta en la poblacón junto con sus padres desplazando a la peor cadena exstente, ben sempre, o ben sólo s es mejor que la peor cadena exstente. 62

77 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS El modelo celular (cga) ofrece un cclo reproductor smlar, pero la seleccón se realza sobre los vecnos úncamente. Se genera una poblacón temporal cuyas cadenas reemplazarán una a una a las de la poblacón antgua sempre o úncamente s son mejores. Nótese que en la versón dstrbuda suponemos ya que estamos usando un anllo de slas (ya justfcamos por qué en la Seccón 2.5.2). El modelo dstrbudo tene una fase de nco más elaborada que los modelos no dstrbudos al tener que generar las slas (y sus poblacones ncales), controlar la mgracón y tomar nformacón del sstema de forma más sofstcada. Observe que el modelo dstrbudo en partcular deja aberta la posbldad de que todas las slas sean o no de comportamento secuencal y/o celular. Por tanto, no se restrnge la heterogenedad en la búsqueda (n en la ejecucón). Pretendemos destacar en el pseudocódgo todos los componentes reales de estos algortmos, ncluyendo el cálculo de estadístcas, permtendo así el segumento del comportamento de cualquera de los algortmos. En todos los algortmos la solucón es aquel ndvduo con la mayor adecuacón encontrado durante todo el proceso de evolucón. Aunque el crtero de termnacón mostrado es completar un certo número de pasos otro posble crtero es encontrar una solucón (s se conoce de antemano). Evdentemente hemos hecho algunas eleccones concretas respecto a las defncones formales genércas de las seccones anterores. En partcular se muestra un cruce que devuelve un únco hjo para mantener la efcenca en domnos complejos, una rejlla en el modelo de dfusón y una versón síncrona del modelo dstrbudo. El resto de posbldades teórcas están aún presentes en ellos Fundamentos En esta seccón pretendemos recoger y estudar algunos de los más mportantes desarrollos teórcos exstentes que justfcan y caracterzan formalmente el comportamento de los modelos secuencales (Seccón 2.7.1) y paralelos (Seccón 2.7.2) de algortmos genétcos. Igualmente propondremos a partr de ellos algunas suposcones de trabajo y presentaremos nuestros resultados sobre la presón selectva sobre la poblacón (Seccón 2.7.3) Fundamentos de los Algortmos Genétcos Secuencales El prmer ntento teórco de analzar el funconamento de los algortmos genétcos lo hzo Holland y puede encontrarse en [Holl75] y [Gold89a]. Báscamente explca el trabajo de la búsqueda genétca a través del estudo de esquemas presentes de manera mplícta en una poblacón de tamaño fnto constante de cadenas bnaras sometdas al operador de cruce de un punto y mutacón (Capítulo 1). Todo ello, por supuesto, suponendo una poblacón únca en panmxa y una seleccón proporconal a la adecuacón con reemplazo generaconal (µ,λ). Supongamos, sn pérdda de generaldad, que construmos las cadenas sobre un alfabeto bnaro V=IB ={0,1}; una poblacón de cadenas en la generacón t, P(t), representa un conjunto de puntos o nstancas de lo que daremos en llamar esquemas en un espaco l-dmensonal, donde l es el tamaño de las cadenas-ndvduo. 63

78 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Un esquema H es una cadena sobre un alfabeto con 3 elementos V + ={0,1,*}. Las poscones que no contenen astersco en el esquema se denomnan defndas; un astersco en una poscón de un esquema hace de ella una poscón ndefnda. Decmos que un ndvduo es una nstanca de un esquema s ocurre que: (a) donde quera que el esquema esté defndo el ndvduo lo está y además el valor de ambos concde y (b) dada una poscón con astersco en el esquema, el valor que el ndvduo pueda tener en dcha poscón es ndferente para decdr s el ndvduo es, o no, una nstanca del esquema. Así, por ejemplo, la cadena S=[ ] de longtud l=7 es una nstanca del esquema H=[*11*0**] ya que sus valores concden allí donde H está defndo. Para una cadena de longtud l exsten hasta 3 l esquemas posbles; en general, para alfabetos de v elementos, exsten (v+1) l esquemas. Una cadena dada es una nstanca de hasta 2 l esquemas y por tanto una poblacón de µ ndvduos representa a un máxmo de µ 2 l esquemas. Un algortmo genétco trabaja sobre un elevado número de esquemas dstntos, algunos más defndos (contenen menos *) que otros. Así, usaremos las funcones orden de un esquema, o(h), como el número de poscones defndas del esquema H, y longtud de defncón, δ(h), como la dferenca entre la últma y la prmera poscón defndas del esquema H. Por ejemplo, para H1=011*1** y H2=0******, tenemos que sus órdenes respectvos son o(h1)=4 y o(h2)=1, y que sus longtudes de defncón son δ(h1)=5-1=4 y δ(h2)=1-1=0. Los esquemas son plantllas (poco especfcadas) y los ndvduos de una poblacón son nstancas de dchos esquemas, es decr, cadenas completamente defndas de ellos. Un AG, aunque maneja nstancas, está trabajando realmente con los esquemas, combnando los mejores trozos de cadena (poscones defndas de un esquema) en la búsqueda de mejores solucones. Supongamos que exsten µ cadenas, S j, con j:{0,1,...µ-1}, en una poblacón P(t) que está en su generacón t. Supongamos que exsten m nstancas-cadena de un esquema partcular H; así m=m(h,t). En resumen, s tenemos en cuenta los efectos combnados de la seleccón, cruce, mutacón y además desprecamos los térmnos producto resultantes que sean muy pequeños, tenemos el llamado teorema de los esquemas o teorema fundamental: Φ ( H ) δ ( H ) m ( H, t + 1) m( H, t) 1 pc o( H ) pm (2.20) Φ l 1 que podemos entender como que los esquemas cortos, de bajo orden de defncón y cuya adecuacón está por encma de la meda (llamados Bloques de Construccón -Buldng Blocks o BBs-) son los que recben un número ncrementado exponencalmente de nstancas; además, el algortmo hace este trabajo de forma ndrecta y paralela para muchos esquemas. Holland [Holl75] estmó que cuando un AG trabaja sobre µ cadenas durante una generacón, realmente está trabajando con O(µ 3 ) esquemas. A este resultado se le conoce como paralelsmo mplícto y no tene repercusones en el tempo o memora computaconal necestados para su ejecucón; es un efecto lateral del modo de funconamento de un AG. Exste una nterpretacón geométrca (Fgura 2.16) de los esquemas en los que se les hace corresponder hperplanos en un espaco l-dmensonal, donde l es la longtud de los ndvduos. Los ndvduos representan puntos de dcho espaco. Un AG cruza planos entre sí creando otros nuevos en la búsqueda del mejor punto. 64

79 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS De esta forma vemos cómo los fundamentos teórcos tradconales de los algortmos genétcos están basados en la nocón de la reproduccón selectva y la recombnacón de cadenas bnaras. Estos van cambando la tasa de nstancacón de los hperplanos que confguran el espaco de búsqueda para así reflejar la adecuacón meda de las cadenas que resden en cualquer hperplano partcular. Por tanto, durante la recombnacón, las cadenas están ntercambando nformacón de sus hperplanos. Esta es la razón de por qué los algortmos genétcos no necestan buscar a lo largo de los contornos de la funcón que está sendo optmzada (es por tanto ndependente de la funcón objetvo) y por qué no tenden a quedar atrapados en mínmos locales (realzan búsqueda paralela desde múltples puntos dferentes) * *10 * * 011 1*1 1*0 0*1 0* * 101 *00 * * Fgura Vsualzacón de los esquemas como hperplanos en un espaco trdmensonal (l=3). Los puntos, líneas y planos son esquemas de orden 3, 2 y 1, respectvamente Nueva Interpretacón del Concepto de Esquema En esta seccón pretendemos presentar la nueva forma de entender qué es un esquema. Este nuevo concepto proporcona las bases para explcar el hecho de que múltples aplcacones que no trabajan sobre cadenas bnaras tengan tango éxto. Una de las prncpales aportacones a este terreno la hzo Antonsse [Anto89] centrando sus resultados en la nterpretacón respecto al símbolo comodín * (astersco). Aunque el prncpo del alfabeto mínmo ([Holl75], posterormente más detallado en [Gold89a]) fue ncalmente potencado y tomado cas como precondcón para el uso de AGs, actualmente exsten numerosas teorías dervadas y aplcacones reales que demuestran la superordad en múltples domnos de otro tpo de alfabetos de ardad alta. Las razones para el uso de cadenas bnaras han sdo tradconalmente la smplcdad de análss de vectores de bts, la eleganca de los operadores genétcos y los requstos de velocdad computaconal. Sn embargo, la razón más mportante para su uso ha sdo la hpotétca ventaja en relacón al paralelsmo mplícto y a la maxmzacón del número de esquemas manpulados. Esto parece contradecr la dea de que a mayor expresvdad del alfabeto mayor es la potenca del algortmo. En la nterpretacón orgnal que acabamos de presentar en la seccón anteror, se extende el alfabeto usado con un símbolo más llamado comodín o símbolo de no mporta. Incalmente, este símbolo estaba destnado a expresar una cadena (esquema) sobre un alfabeto extenddo que fuese la representante de un conjunto de cadenas sobre el alfabeto orgnal. 65

80 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Por ejemplo, s tenemos cadenas bnaras de longtud 20 y cadenas con símbolos decmales con longtud 6, a gualdad de potenca expresva para ambos alfabetos [bnaro(l=20)=2 20 1, y decmal(l=6)=10 6 ] según la nterpretacón tradconal el alfabeto bnaro produce (2+1) 20 =3, esquemas posbles de los que cada ndvduo representa como máxmo a 2 20, mentras que en el caso decmal exsten úncamente (10+1) 6 =1, esquemas posbles de los que un ndvduo contene sólo 2 6. S al trabajar sobre cada cadena lo hacemos en paralelo sobre los esquemas que ndrectamente contene, entonces parece deducrse que sería óptmo el alfabeto bnaro porque permte trabajar sobre el máxmo número de esquemas posble. Pero s volvemos a la defncón orgnal de esquemas que hzo Holland veremos que * se utlzó para ndcar no mporta. Así, cualquer cadena sobre el alfabeto extenddo representa clases de cadenas sobre el alfabeto bnaro. Sn embargo, el objetvo ncal de usar un símbolo comodín (*) era cuantfcar cadenas con dferentes valores en su poscón. En bnaro * sgnfca 0 o 1, y 000* cuantfca a 0000 y Luego * se ha nterpretado tradconalmente como no mporta. Pero podemos ver que el caso bnaro es ambguo porque es exactamente lo msmo no mporta qué símbolo aparezca que cuantfcar el número de cadenas con valores dstntos para una poscón dada. Aquí está el error tradconal que vetó teórcamente durante un tempo el uso de otros alfabetos a pesar de que daban buenos resultados. En alfabetos de ardad mayor que 2 la nterpretacón de no mporta y de cuantfcacón no son equvalentes. Por ejemplo, para cadenas de longtud 4 sobre un alfabeto de 3 símbolos {0, 1, 2}, la nterpretacón tradconal de no mporta especfca que 000* representa a tres cadenas {0000, 0001, 0002}. Sn embargo el no mporta según la nterpretacón de cuantfcar es realmente 0 o 1, 0 o 2, 1 o 2, o ben 0 o 1 o 2. Esto lleva a conclur que 000* representa a los conjuntos de cadenas {0000, 0001}, {0001, 0002}, {0000, 0002} y {0000, 0001, 0002}. De esta manera, en la nueva nterpretacón vemos que necestamos nombrar el símbolo comodín porque para alfabetos de ardad mayor que 2 ya no es únco. Por tanto, el comodín tradconal * es realmente * 01 en la nueva nterpretacón para cadenas bnaras. Para un alfabeto de 3 símbolos {0, 1, 2} exsten realmente 4 símbolos comodín con los que debemos aumentar el alfabeto orgnal para generar esquemas: * 01, * 02, * 12, * 012. En resumen, podemos tabular los resultados de ambas nterpretacones para hacer patente las dferencas respecto al número total de esquemas y al número de esquemas por ndvduo en cada caso (Tabla 2.2). El hecho de que exsta justfcacón teórca para el uso de alfabetos de cualquer ardad no mplca que sean útles o los mejores para cualquer problema. En partcular, hay domnos en los que no todas las combnacones de parámetros bnaros están permtdas, en cuyo caso los alfabetos de alta ardad están aconsejados. Para fnalzar, es mportante resaltar los recentes resultados de [FG97] que demuestran formalmente que no pueden suponerse ventajas ntrínsecas a nnguna eleccón del alfabeto sobre el que se construyen las cadenas. Incluso tampoco puede atrburse a pror nnguna ventaja a nngún operador de varacón unaro o bnaro sobre otro, ya que es posble construr algortmos funconalmente equvalentes en los casos menconados de dstnta representacón u operadores. 66

81 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS TABLA 2.2. COMPARATIVA ENTRE LAS INTERPRETACIONES TRADICIONAL Y NUEVA DEL CONCEPTO DE ESQUEMA Y SUS IMPLICACIONES PRÁCTICAS Interpretacón Número de Símbolos del Alfab. Amplado Número de Esquemas Totales Número de Esquemas Presentes en un Indvduo Tradconal v+1 (v+1) l 2 l Nueva 2 v -1 (2 v -1) l (2 v-1 ) l EJEMPLO 1: v=2 (ardad) / l=8 v=3 (ardad) / l=5 TOTALES (2+1) 8 =6561 >> (3+1) 5 =1024 POR INDIVIDUO 2 8 =256 >> 2 5 =32 TOTALES (2 2-1) 8 =6561 << (2 3-1) 5 =16807 POR INDIVIDUO (2 1 ) 8 =256 << (2 2 ) 5 =1024 EJEMPLO 2: v=2 (ardad) / l=20 v=10 (ardad) / l=6 TOTALES (2+1) 20 =3.48N10 9 >> (10+1) 6 =1.77N10 6 POR INDIVIDUO 2 20 =1.05N10 6 >> 2 6 =64 TOTALES (2 2-1) 20 =3.48N10 9 << (2 10-1) 6 =1.46N10 18 POR INDIVIDUO (2 1 ) 20 =2 20 << (2 9 ) 6 = Codfcacón Real Una de las alternatvas más mportantes a la codfcacón bnara es la codfcacón real. Este tpo de codfcacón parece partcularmente útl y natural para la búsqueda en espacos con parámetros contnuos. Cada varable del problema se representa como un gen real en la cadena genétca y se supone que los operadores deben preservar el rango de valores de cada varable. Los trabajos con AGs de codfcacón real (FPGAs) se ncaron a fnales de los 80 con trabajos en qumometría y sobre todo en problemas de optmzacón numérca sobre domnos contnuos [LK89] [Dav91a] [JM91] [Eshe93]. Aunque ncalmente la teoría básca no sustentaba su aparente éxto las aplcacones prolferaron hasta que se dseñaron herramentas teórcas como las mostradas anterormente, que permtían corroborar el buen comportamento de los FPGAs [Gold91] [Wrg91]. Como consecuenca del uso de genes reales han aparecdo algunos conceptos nuevos sobre todo en relacón con la expresón del genotpo para dar lugar al fenotpo. Notablemente destacan los modelos no somórfcos en los que dferentes genotpos pueden dar lugar al msmo fenotpo (no hay correspondenca uno a uno entre ambos). En [VBS93] se descrbe una codfcacón según la cual cada varable del problema tene asocado una precsón dstnta. En [Gold89a] ya se descrbía un concepto smlar, así como la posbldad de que cada varable pertenezca a un subrango del domno real dstnto. La codfcacón real es uno de los plares báscos de las estrategas de evolucón desarrolladas en los años sesenta en Alemana [Rech73] [BHS91] [Schw95]. Posterormente han surgdo una enorme cantdad de trabajos sobre algortmos y operadores para genotpos reales [YHK97] entre los que destacan nuevos operadores de cruce borrosos como los descrtos en [HLV95]. 67

82 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS El uso de genes reales está actualmente tomando auge sobre todo en el terreno de la optmzacón funconal, aunque arrancó tambén con fuerza con los prmeros estudos sobre dseño de redes de neuronas usando algortmos genétcos. Tradconalmente se les ha prestado poca atencón a los genotpos reales en algortmos genétcos, muy al contraro de lo que ha ocurrdo con las estrategas evolutvas desde su nacmento, en las que se potenca su uso. Cuando se desea optmzar una funcón de p parámetros contnuos podemos utlzar una codfcacón bnara pura de q bts por parámetro, una codfcacón Gray de q bts (con la ventaja de poder alcanzar cualquer punto del espaco con cambos de un sólo bt cada vez sn los acantlados típcos de la codfcacón bnara pura) o ben una codfcacón de p parámetros en coma flotante, aprovechando las facldades de los lenguajes de programacón actuales. En [Salo96] podemos encontrar la demostracón de los límtes superores a la complejdad computaconal de cada tpo de genotpo (bnaro, Gray y flotante) suponendo alta probabldad de cruce y baja de mutacón (p m =1/l para genes bnaros o Gray y p m =1/p para genes reales). Podemos resumr estos resultados como sgue. Cuando la optmzacón de cada uno de los p parámetros es ndependente la complejdad algorítmca es O(lxlnl) o ben O (pxlnp) que realmente son la msma porque sólo se dferencan en un valor constante ya que l=qxp. En caso de que la complejdad de optmzacón de un parámetro x dependa de p entonces la complejdad resultante es el producto de O(pxlnp) por la complejdad de optmzar dcho parámetro. Por ejemplo s la complejdad de optmzar x fuese O(p 2 ) entonces la complejdad del algortmo para optmzar p parámetros sería O(p 3 xlnp). La mutacón en genotpos reales consste en sumar pequeños números y normalzar al rango de cada varable (suponemos que se aplca con probabldad p m =1/p). La ventaja de este tpo de genotpo y mutacón es que la complejdad de optmzar un parámetro ndvdual de la cadena está acotada sempre por una constante. De esta forma, la complejdad en caso de epstass [NDV97] entre dos parámetros de la cadena es O(p 2 xlnp) y además el operador de mutacón tene mayor probabldad de causar cambos en paralelo que en el caso bnaro (y exste mayor lbertad de eleccón del operador). Entre las ventajas de usar codfcacón real podemos ctar la posbldad de manejar búsquedas en grandes domnos (ncluso desconocdos) para las varables problema, alta precsón, gradualdad, mayor posbldad de ajuste local, facldad de expresón del genotpo en fenotpo, velocdad de ejecucón, etc... En numerosos trabajos se aboga por usar un alfabeto lo más expresvo posble [Anto89] e ncluso en defnr tantos operadores como sea posble en el domno del fenotpo [Radc92] Otros Resultados Interesantes Relaconados Incalmente los resultados sobre el teorema de los esquemas conducían sempre a desarrollos basados en la destruccón más que en la construccón de solucones que realzan los operadores genétcos. Esta tendenca cambó con trabajos como [BG87] [Wht93a] en que se presenta el cálculo de una expresón exacta de la proporcón esperada de una cadena partcular en la próxma generacón basándose en las ganancas y pérddas de los esquemas. Estos y otros trabajos se están desarrollando para consegur una versón ejecutable que permta smular el comportamento del algortmo mejorando los valores predchos. 68

83 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS El teorema de los esquemas, a pesar de las mejoras que se están estudando no caracterza totalmente el funconamento del algortmo porque sólo srve para predecr qué pasa en la sguente generacón. Además, el trabajo con esquemas es relatvamente ndependente de la funcón que se optmza. Sn embargo, parece claro que ncorporar en los estudos nformacón sobre las característcas de dcha funcón podría resultar ventajoso [Radc92]. De acuerdo con esta dea exsten estudos muy nteresantes basados en el uso de probabldades y análss de Fourer, procesos de Markov y velocdad de convergenca de los que el lector puede obtener un resumen en detalle especalmente brllante en [BGKK97]. A pesar de los esfuerzos recentes en este campo, estos conceptos más detallados que el teorema de los esquemas consguen a duras penas ser útles en la práctca, ya que pueden estudarse en funcones tan smples como contar unos, en las que se puede dervar una funcón cerrada a la respuesta a la seleccón [MS93] o modelos smlares después de un mportante desarrollo matemátco. Exsten numerosos estudos sobre conceptos concretos como el tamaño óptmo de la poblacón [Gold89b] [Reev93b], probabldades de los operadores tradconales [Bäck96], tempo de convergenca [LR93], etc Extensón de los Fundamentos para los Modelos Paralelos Los resultados que el teorema de los esquemas y el resto de modelos teórcos representan se referen a algortmos genétcos o evolutvos secuencales. Los modelos celular y dstrbudo han recbdo poca atencón teórca. En partcular, los resultados de [PL89] permten extender las característcas de crecmento exponencal y efcaca de un modelo secuencal a un modelo dstrbudo en slas déblmente acopladas como los que nos nteresan. Para ello se consdera de hecho las probabldades de seleccón, mutacón y cruce y se derva el teorema de los esquemas modfcado ntroducendo la probabldad de seleccón de emgrantes, frecuenca de envío y probabldad de aceptacón en la poblacón receptora, atendendo a crteros realmente genércos. Debemos menconar que para llegar a esta extensón la únca suposcón es que las slas mantenen en el momento de la mgracón valores medos de adecuacón smlares y que la mgracón es esporádca. En un modelo dstrbudo síncrono homogéneo en que las poblacones se generen sguendo una dstrbucón de probabldad unforme es normal que esta suposcón se cumpla. De hecho, se ha comprobado en la práctca para el grupo de funcones de DeJong. Igualmente, es de suponer su valdez para un modelo dstrbudo asíncrono homogéneo s la ejecucón es sobre estacones del msmo tpo, ya que no exste cuello de botella en las comuncacones y además las slas progresan práctcamente a la par. Sn embargo, en general, s la búsqueda o el sstema de ejecucón son heterogéneos, los supuestos teórcos no se cumplen a pror. Esta es una línea de nvestgacón nteresante tanto teórca como expermentalmente, ya que exsten pocos algortmos ejecutables de este tpo. Analzaremos el caso homogéneo, en donde los resultados teórcos se mantenen para el modelo dstrbudo. Adconalmente, puede consultarse en [AT99a] un resumen sobre cómo es posble asegurar formalmente una elevada efcenca con índces de paralelsmo razonables como los que pueden encontrarse en una red de estacones de trabajo y equpos de fácl dsponbldad. 69

84 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Por otro lado, cas todos los resultados exstentes son para algortmos genétcos paralelos dstrbudos. Los modelos celulares han recbdo mucho nterés expermental en los últmos años pero pocos resultados teórcos. A pesar de exstr muchas comparatvas mportantes [Sten93] [GW93], quzás los logros teórcos de DeJong y Sarma [DS95] [SD96] [SD97] sean los más seros y los que abordan el problema fundamental de la seleccón local, ya que éste es el elemento que dstngue a estos modelos respecto al resto. Nuestra caracterzacón de la rejlla de un modelo celular es una extensón de estos trabajos Modelos Teórcos de Presón Selectva La caracterzacón de los modelos de presón selectva es muy mportante para entender cuanttatvamente el funconamento del operador de seleccón, tan defntvo en cualquer algortmo evolutvo descentralzado o no. Un prmer trabajo en este sentdo [Sysw91] permtó demostrar que un modelo estaconaro con reemplazo aleatoro es equvalente a un modelo generaconal, así como sugerr las ventajas de otros tpos de reemplazo en el modelo estaconaro. En este sentdo, pretendemos aquí caracterzar ambos suponendo un reemplazo del peor exstente. Este funconamento ntroduce en el modelo estaconaro un eltsmo mplícto a coste cero y es razonable esperar mejores resultados. Además, vamos a extender este estudo comparatvo para nclur los modelos celular y dstrbudo. Atendendo a una seleccón proporconal, presentamos en la Tabla 2.3 la presón selectva de cada modelo. Mostramos el número esperado de nstancas n t+1 (f) que una cadena cualquera de adecuacón f tendrá en el próxmo paso del algortmo. A contnuacón pasamos a explcar su dervacón. En un modelo generaconal, cada cadena recbe tantas nstancas como ndca la relacón de su adecuacón respecto de la adecuacón meda de la poblacón. Respecto al modelo estaconaro, el reemplazo aleatoro muestra una presón equvalente al generaconal después de haber generado de forma estaconara n=µ ndvduos. En ssga, s reemplazamos la peor cadena en cada paso entonces el número de nstancas sólo dsmnuye para dcha cadena, mentras que aumenta proporconalmente para el resto de cadenas. Para el algortmo celular, reproducmos los resultados de [SD96]; n * (f) es la proporcón esperada en la poblacón fnal (convergenca) de la cadena cuya adecuacón es f. El parámetro a depende de la técnca de seleccón y de la relacón entre los rados de la malla y del vecndaro. Podemos deducr la expresón genérca para calcular el porcentaje de la mejor clase como: 1 Pb, t = P b,0 e at (2.21) Fnalmente, el modelo dstrbudo genera nstancas de ndvduos atendendo a la suma de nstancas de las slas componentes. La mgracón es el únco operador que perturba esta operacón ncrementando de manera unforme el número de nstancas de cada cadena debdo a que presentamos el modelo suponendo que se elge un únco emgrante de forma aleatora. La únca reduccón ocurre sobre la peor cadena y úncamente cuando se recbe la cadena emgrante de la sla vecna. 70

85 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS TABLA 2.3. MODELOS DE PRESIÓN SELECTIVA PARA CADA ALGORITMO y GENERACIONAL: n f n f y ESTADO ESTACIONARIO(aleatoro): y ESTADO ESTACIONARIO(peor): y CELULAR: t+ = t 1 ( ) ( ) f 1 n t + 1( f ) = nt ( f ) + nt ( f ) n n f = 1 f f f mn n t + 1( f ) = nt ( f ) + nt ( f ) 1 n f f = 1 d y DISTRIBUIDO: nt+ 1 f nt+ 1 f nt + 1 f nt f nt f n t+ 1 ( f ) = * n ( f ) * n ( f ) 1+ 1 e n ( f ) f f = = + 1 = n ( ) ( ) ( ) ( ) ( ) 1 1 f 0 mn f f at Para aclarar y profundzar en estos modelos hemos desarrollado smulacones por computador de ellos y ofrecemos la salda en los dagramas de la Tabla 2.4. Usamos una poblacón de 100 ndvduos dvdda en 10 grupos de 10 valores cada grupo presentando adecuacones de 1, 2, (a=0.225 para el caso celular). Todos ellos utlzan seleccón proporconal a la adecuacón. Confrmamos así la smltud entre la presón del modelo generaconal y del estaconaro con reemplazo aleatoro (prmera y segunda flas de la Tabla 2.4) para gual número de evaluacones (llamémosle PS1). El modelo estaconaro con reemplazo sempre de la peor cadena presenta una convergenca más rápda (PS2) en teoría, que además confrmaremos empírcamente en el Capítulo 4. El modelo celular presenta una presón ajustable (PS3) dependente del valor de a. En resumen, podemos dstngur tres tpos de presón selectva: PS1 Ö Típca de una solucón de compromso entre exploracón y explotacón. PS2 Ö Típca de una rápda explotacón de las solucones de la poblacón. PS3 Ö Presón selectva ajustable. La evolucón del modelo paralelo afecta a PS1 acelerando su convergenca, mejora la dversdad de PS2, y acelera lgeramente el tpo de seleccón PS3. Hay que tener en cuenta que estos resultados no consderan las operacones de cruce n mutacón, quenes pueden modfcar cualquera de los modelos presentados, aunque las curvas báscas se mantenen en la práctca (Capítulo 4). La presón selectva puede vararse atendendo al operador de seleccón. En general, es un hecho demostrado que la presón en un modelo secuencal es menor s se usa seleccón proporconal y mayor para rankng o torneo bnaro (equvalentes en este aspecto). Estos resultados se aplcan tambén al modelo celular, s ben cuanttatvamente el comportamento es dstnto respecto a las versones secuencales en panmxa [DS95]. 71

86 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS TABLA 2.4. SIMULACIÓN POR COMPUTADOR DE CADA MODELO DE PRESIÓN SELECTIVA % Poblacón PS1 1,00E+02 8,00E+01 6,00E+01 4,00E+01 2,00E+01 0,00E+00 0 Modelos no Dstrbudos 200 Estado Estaconaro (reemplazo aleatoro) Evaluacones % Poblacón PS1 1,00E+02 9,00E+01 8,00E+01 7,00E+01 6,00E+01 5,00E+01 4,00E+01 3,00E+01 2,00E+01 1,00E+01 0,00E+00 0 Modelos Dstrbudos 200 Estado Estaconaro Dstrbudo Evaluacones Generaconal Generaconal Dstrbudo % Poblacón 1,00E+02 8,00E+01 6,00E+01 4,00E+01 2,00E+01 0,00E % Poblacón 1,00E+02 9,00E+01 8,00E+01 7,00E+01 6,00E+01 5,00E+01 4,00E+01 3,00E+01 2,00E+01 1,00E+01 0,00E PS Evaluacones PS Evaluacones % Poblacón PS2 1,20E+02 1,00E+02 8,00E+01 6,00E+01 4,00E+01 2,00E+01 0,00E+00 1,00E+02 Estado Estaconaro (reemplazo del peor) Celular Evaluacones % Poblacón PS2 1,00E+02 9,00E+01 8,00E+01 7,00E+01 6,00E+01 5,00E+01 4,00E+01 3,00E+01 2,00E+01 1,00E+01 0,00E+00 1,00E+02 Estado Estaconaro Dstrbudo Evaluacones Celular Dstrbudo % Poblacón 8,00E+01 6,00E+01 4,00E+01 2,00E+01 0,00E % Poblacón 8,00E+01 6,00E+01 4,00E+01 2,00E+01 0,00E PS Evaluacones PS Evaluacones Una de nuestras hpótess de trabajo es que, puesto que el modelo celular camba su presón selectva atendendo a la relacón entre los rados de vecndaro y topología, es más smple varar la forma de la malla que la defncón del vecndaro cuando el objetvo es cambar la presón Implcacones de los Resultados Presentados Las prncpales mplcacones de los resultados mostrados en este capítulo, enuncadas en el orden que se han presentado, son las sguentes: Exste una base algorítmca común en los modelos centralzados y descentralzados que hemos desarrollado en teoría y hemos usado para descrbr modelos exstentes y proponer un nuevo modelo de evolucón de slas secuencales o celulares. Esto supone la creacón de un nexo de unón entre dchos algortmos para poder trasvasar desarrollos de uno a otro. Los algortmos genétcos mnmzan el número de puntos vstados más rápdo que otras técncas como el enframento smulado aunque más lentamente que algortmos a la medda sobre los problemas estudados. Esto sugere que son ventajosos en múltples tpos de problemas de nterés actual. 72

87 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS Los domnos de aplcacón reales requeren de estructuras complejas. Los algortmos genétcos pueden resolver problemas en estos campos de forma satsfactora. Como consecuenca de los resultados analzados y de la lteratura exstente conclumos que la efcenca es un punto crucal que se debe mejorar. En esta línea hemos ofrecdo resultados prelmnares sobre las ventajas de usar un algortmo paralelo con slas de estado estaconaro. El teorema de los esquemas y las correccones para convertrlo en una gualdad son muy nteresantes para comprobar s un modelo nuevo se adecua o no a las bases teórcas de trabajo. Sn embargo, no tene en cuenta la funcón objetvo, y en ese aspecto es crtcable y mejorable a través de otros tpos de análss que permtan obtener solucones cerradas, o al menos que permtan smular el comportamento de un algortmo genétco. Las desventajas hstórcas predchas por el teorema de los esquemas para usar alfabetos de ardad mayor que 2 son erróneas. La nueva nterpretacón permte fundamentar el éxto de codfcacones reales o enteras en muchas aplcacones. Asmsmo, se presenta en algunos domnos como más nteresante la codfcacón Gray que la estándar pura, con la explcacón de que la prmera permte evtar las largas dstancas de Hammng entre algunas codfcacones que representan valores numércos adyacentes ( acantlados ). Los modelos dstrbudos síncronos presentan las característcas teórcas de los modelos secuencales con la ventaja añadda de dsmnur potencalmente el tempo real de ejecucón y muchas veces el esfuerzo de evaluacón. Igual ocurre con los modelos asíncronos sobre sstemas homogéneos, permtendo además acelerar la comuncacón entre slas (hpótess que debemos constrastar). La topología en anllo es buena por provocar un tempo de comuncacón constante y permtr así mejorar la gananca en velocdad al aumentar el número de slas (lgeramente acopladas). La relacón entre el rado de la rejlla y del vecndaro en un algortmo genétco celular permte ntroducr en dcho modelo cualquer presón selectva que se desee. Es más smple modfcar la forma de la malla que el vecndaro. Esto, junto con los resultados exstentes sobre su efcenca, hacen pensar que dstrbur algortmos celulares es muy ventajoso (hpótess de trabajo). La presón selectva es mayor en una evolucón por estado estaconaro con reemplazo de la peor solucón que en el caso generaconal. La evolucón por dfusón presenta en teoría una presón ntermeda que puede llevarse a uno u otro extremo varando la forma de la rejlla (hpótess en nuestro acercamento) o ben el tpo de vecndaro (típco en otros trabajos). 73

88 CAPÍTULO 2.CARACTERIZACIÓN UNIFICADA DE LOS ALGORITMOS GENÉTICOS SECUENCIALES Y PARALELOS 74

89 CAPÍTULO 3. EL MODELO PROPUESTO 3 El Modelo Propuesto En este capítulo formalzaremos la propuesta de un modelo paralelo dstrbudo de algortmo genétco cuyos fundamentos, necesdad, característcas globales y pseudocódgo básco han sdo ya desarrollados en los dos capítulos anterores. Se espera consegur con este modelo un sstema de búsqueda flexble y efcente que sea, además, lo sufcentemente genérco como para poder dervar de él dstntas famlas de algortmos paralelos. En la Seccón 3.1 realzamos un conjunto de consderacones ncales que nos permtan comprender el alcance de la propuesta y exponer los benefcos y problemas que cabe esperar. Se propone un vasto abanco de famlas de algortmos cuyas dferencas se basan en los aspectos paralelos alternatvos más mportantes que se pueden obtener de su formalzacón. La Seccón 3.2 concreta las característcas del modelo propuesto, mentras que la Seccón 3.3 detalla el modelo en sí y la relacón con los conceptos formales y computaconales de los dos capítulos precedentes. La Seccón 3.4 contene un estudo de la presón selectva de los dferentes modelos dervables del modelo propuesto. El objetvo es comprobar el comportamento teórco descrto en la Seccón sobre nstancas des/centralzadas de algortmos dervables del modelo de sstema adaptatvo granulado. En la Seccón 3.5 dscutmos las ventajas e nconvenentes de utlzar un algortmo genétco paralelo dstrbudo en el que cada sla evolucona atendendo a un algortmo genétco celular. La razón de este análss es profundzar y conocerlo mejor como método de búsqueda dferencado del resto de algortmos de su clase. La Seccón 3.6 presenta las prncpales decsones y técncas de dseño e mplementacón de un sstema paralelo que deba sustentar los varados requstos de funconamento para una famla tan dversa de algortmos. En partcular, se dscute el dseño en forma de clases de objetos, el sstema dstrbudo de comuncacón y algunas consderacones mportantes sobre las decsones de mplementacón. Posterormente, la Seccón 3.7 descrbe la relacón exstente entre nuestro modelo genérco y los marcos de programacón. El dseño de un sstema orentado a objetos para estos algortmos posee certas característcas deseables en sí msmas que además pueden extenderse al menconado paradgma de dseño de software paralelo. Los marcos de programacón permten hacer llegar sstemas como el nuestro a una audenca no especalzada en paralelsmo, aumentando así su nterés y su uso. Tanto el dseño orentado a objetos como nuestra propuesta de extensón a un marco de programacón son dos aspectos del dseño que afectan a la mplementacón, requrendo que el software evolutvo usado sea especalmente flexble y modular. Para termnar este capítulo, la Seccón 3.8 resume el contendo de este capítulo. 75

90 CAPÍTULO 3. EL MODELO PROPUESTO 3.1. Crítca a los Modelos Paralelos Tradconales Parece claro en este punto del desarrollo que, atendendo a las aplcacones y desarrollos teórcos exstentes, el trabajo sobre sstemas evolutvos paralelos es de nnegable nterés y proporcona múltples ventajas. Sn embargo, no podemos extraer conclusones claras sobre algunos aspectos mportantes basándonos en trabajos exstentes. Esto se debe a que dchos trabajos estudan sempre muy parcalmente modelos paralelos absolutamente propos y nada estándares, y además lo hacen sobre problemas de laboratoro o ncluso sobre un únco problema. Una de las razones que explca la stuacón actual ha sdo la falta de unfcacón en el estudo, lo que pretendemos subsanar en este trabajo. Exsten algunos modelos paralelos que guardan certa smltud con el que proponemos. Estos modelos se han propuesto para estudar aspectos concretos como los sguentes: Mgracón y búsqueda local; el modelo se organza como un algortmo genétco dstrbudo jerárquco llamado HSDGA [VSB92], usado para optmzacón funconal. Aprovechamento de 4 máqunas conectadas entre sí, cada una con varos procesadores undos por una malla físca [Grua94]; usado para el dseño de redes de neuronas. Smulacón de sstemas naturales [Pedr96]. Lenguaje de descrpcón de algortmos evolutvos RPL2 [RS94]. A pesar de surgr de forma no estructurada n estándar, estos modelos han proporconado, cada uno en su campo de aplcacón, resultados bastante nteresantes. Exsten otros modelos donde las deas expuestas han llevado a generalzacones o mezclas en cuanto a paralelsmo. Sn embargo, nnguno de los menconados hasta el momento representa un modelo en sí n ha sdo estudado como tal. En general, se trata de mplementacones que nngún otro autor puede analzar de forma justa n replcar (por el tpo de máqunas u operacones que utlza). En nuestro caso pretendemos caracterzar una plantlla de búsqueda paralela a la que llamaremos xxga, ndcando con xx que podemos generar a partr de la vsón unfcada tanto modelos de poblacón únca como ssga o genga ( xx = ss, xx = gen ), como celulares ( xx = c ), dstrbudos celulares ( xx = dc ) o muchas otras famlas de algortmos atendendo a cómo defnamos los parámetros que determnan la evolucón básca, la polítca de mgracón y las técncas de búsqueda presentes. La Fgura 3.1 descrbe gráfcamente el orgen de las deas subyacentes para la eleccón de esta nomenclatura. ssga dcga xx GA cga Fgura 3.1. xxga es un modelo genérco del que pueden extraerse varas famlas concretas. 76

91 CAPÍTULO 3. EL MODELO PROPUESTO El modelo propuesto es dstrbudo a alto nvel. Su mplementacón en computadores MIMD es drecta, pudéndose stuar una o más slas por procesador. Cumplmos así con el objetvo de hacerlos útles en la práctca gracas a la ampla dsponbldad de este tpo de máqunas en cualquer organzacón El Modelo xxga Nuestra vsón unfcada de los modelos secuencales y paralelos nos permte pensar en cualquer modelo de gránulos conectados (Capítulo 2), donde cada gránulo es un algortmo de complejdad arbtrara. Esta concepcón permte de forma natural defnr xxga como numerosas famlas de algortmos, en nuestro estudo algortmos genétcos, cada uno con sus respectvas propedades y especalmente ndcados para problemas con dstntos requstos. Las extensones con hbrdacón [Cott98] son especalmente claras con nuestra formalzacón en térmnos de cooperacón/competcón o de modelos coerctvos donde un algortmo decde cuándo y cómo usar a otro. La Fgura 3.2 muestra gráfcamente cómo pensar en una famla concreta de los algortmos descrtos por xxga atendendo a los procesos de evolucón de slas-gránulo con mgracón. Esta vsón recoge las deas modernas sobre el dseño de algortmos evolutvos y las tendencas sobre análss y uso de famlas parametrzables que puedan adaptarse fáclmente para su uso en dstntos problemas [BHS97]. P(t) 1 f 1 2 f 2... µ f µ ϑ ω s : RW, SUS, Rankng... ω c : SPX, DPX, UX... ω m : Bn, Real, Smbólca... ω r : Peor, S_Mejor... ω M : Topología, Mgrac.... Ε Θ: p c ζ p m υ() Φ : Funcón matem. Red de neuronas Sstema smulado salda entrada Fgura 3.2. xxga puede verse como un modelo de poblacón únca, celular, o de otro tpo, lsto para trabajar de forma dstrbuda usando mgracón. Debemos tener en cuenta que el modelo xxga es ntrínsecamente heterogéneo a nvel de búsqueda, ya que nada fuerza a usar gránulos guales. Incluso los gránulos podrían ejecutar dstntos algortmos, quzás no evolutvos. La sguente tabla resume la forma en que podemos referrnos a las dstntas famlas de algortmos homogéneos que pueden dervarse de xxga. 77

92 CAPÍTULO 3. EL MODELO PROPUESTO TABLA 3.1. SIMBOLOGÍA USADA PARA CONCRETAR UNA FAMILIA DE ALGORITMOS NOMENCLATURA xxga(d,s,m,g,e,re) d {1,..., } s {1,..., } m {r,best} g {1,..., } e {ss,rw,sus,cel} re {alw,fb,e,ne} SIGNIFICADO número de subpoblacones ejecutándose en paralelo tamaño de la poblacón en cada sla emgra un únco ndvduo: uno aleatoro o el mejor frecuenca de mgracón (#evaluacones de evolucón aslada) modo de evolucón: estaconaro, generaconal (RW/SUS) o celular polítca de reemplazo: sempre, s mejor, eltsta o no eltsta, respect. EJEMPLOS: xxga(_,100,_,_,_,ss,fb) Ö Un AG con 100 ndvduos con slas estaconaras y reemplazo sólo s mejor xxga(4,2x32,r,64,cel,fb) Ö Cuatro cgas cada uno de malla 2x32 ndvduos emgrando una cadena aleatora cada 64 evaluacones reemplazando cada punto sólo s el hjo generado es mejor que él ACRÓNIMOS: ss estado estaconaro con reemplazo s mejor ssa estado estaconaro, reemplazo sempre rwe ruleta con eltsmo rwn ruleta sn eltsmo suse muestreo estocástco unversal eltsta susn muestreo estocástco unversal sn eltsmo c cga con reemplazo s mejor ca cga con reemplazo sempre dss, dssa, drwe, drwn, dsuse, dsusn, dc, dca versones dstrbudas de los anterores algortmos La extensón drecta a modelos asíncronos la denotaremos usando corchetes. Por ejemplo xxga[4,2x32,r,64,cel,fb] es la versón asíncrona del modelo síncrono dstrbudo defndo por xxga(4,2x32,r,64,cel,fb). La notacón para modelos heterogéneos no se ncluye, ya que no se presentan resultados drectos con ellos, s ben el dseño y las mplementacones realzadas permten usarlos y proponemos esta línea como trabajo futuro. Puede observarse que en la notacón no se especfcan operadores de varacón. Esto se debe a que los modelos estudados (comparados) en cada apartado usan los msmos. De otra forma no podría realzarse un estudo justo entre modelos paralelos Caracterzacón A contnuacón presentamos la descrpcón de un modelo dstrbudo de slas de poblacón únca o celulares. En general, este modelo puede funconar como un algortmo no dstrbudo tradconal (una únca sla sn comuncacón) o como un algortmo (paralelo) dstrbudo. El algortmo está dstrbudo y por tanto consta de d gránulos comuncantes en una topología de anllo undrecconal. Todos los gránulos paralelos dstrbudos se conducen nternamente de acuerdo a un plan reproductor propo. En todo caso cada sla comenza generando y evaluando una poblacón ncal de estructuras. El algortmo básco en cada sla tera hasta cumplr el crtero de termnacón dstrbudo. En la mayoría de los casos este crtero consste en alcanzar un número predetermnado de evaluacones totales (suma de las realzadas en todas las slas) o ben en alcanzar una estructura solucón. Esta últma condcón de parada sólo es posble s se conoce de antemano cuál es la solucón al problema estudado. 78

93 CAPÍTULO 3. EL MODELO PROPUESTO En el algortmo notamos con µ el tamaño de cada subpoblacón y con n el tamaño de la lsta de ndvduos de donde selecconar una pareja. Los parámetros propos de cada subalgortmo se denotan con un superíndce ( ). Defnmos en el algortmo k vecndaros en cada sla NP ( k t ). En el caso celular se trata de k=µ vecndaros de 5 cadenas (n=4+1) cada uno, mentras que en el caso generaconal, por comoddad en la notacón, usamos tambén k=µ vecndaros todos ellos guales entre sí e guales a la poblacón de la sla P (t ). En el caso de un algortmo genétco de estado estaconaro exste un únco vecndaro que trabaja sobre toda la poblacón de la sla, k=1. Podríamos hacer funconalmente equvalentes a los tres algortmos s en el caso estaconaro damos µ pasos consecutvos sn atender la comuncacón n otro tpo de operacones, pero así perderíamos el grano básco de esta varante (µ +1) que lo hace tan nteresante. La operacón de seleccón elge a dos padres dstntos entre sí para lmtar en lo posble las redundancas con un coste cas nulo (esto no mplca que los hjos generados sean absolutamente nuevos, pero mejora la dversdad). Tras cruzar, mutar y evaluar el hjo generado (podría usarse una ventana ω para ello) se lo ntroduce por reemplazo, ben en la poblacón actual (estado estaconaro) o ben en una poblacón temporal hasta haber completado el trabajo sobre todos los vecndaros. P ' (t ) es quen contene la nueva poblacón en ambos casos. El reemplazo elmna la cadena consderada sempre, a menos que el parámetro fb (f_better) esté actvo, ndcando que debe reemplazarse sólo s la nueva es mejor que la exstente. S no es así, se mantene la anteror. Para termnar, la fase de comuncacón envía/recbe un únco ndvduo (m=1) y reemplaza en cada subpoblacón su peor cadena con la cadena que llega desde su vecno en el anllo (determnado por la funcón υ). Este proceso se realza de forma determnsta cada ζ pasos o con probabldad p M =1/ζ en cada subalgortmo. A contnuacón pasamos a detallar el sgnfcado de los nuevos símbolos usados. best { 01}, n = 4 fb {false,true} (estratega de reemplazo) El símbolo best ndca s se está mgrando la mejor solucón de la sla (1) o ben una estructura aleatora (0). El tamaño del vecndaro es constante y de valor n=4. S fb=true entonces reemplazamos úncamente s la nueva cadena es mejor que la elegda para reemplazar, en otro caso (false) sempre debe aplcarse el reemplazo. gen { false,true} cel, gen: algortmo generaconal? cel: algortmo celular? El símbolo gen ndca s se está ejecutando un AG generaconal (true) o no (false). El valor cel ndca s se trata de un AG celular (true) o no (false). 1 x = false : = µ x = true Defne el número de gránulos vecnos. S tratamos con un modelo secuencal entonces exste un únco vecndaro (panmxa). En otro caso (celular) exsten µ gránulos. π :{ false,true} Ζ π () x 79

94 CAPÍTULO 3. EL MODELO PROPUESTO 80 ALGORITMO xxga, {0,..., d-1} t : ; = 0 ncalzar : () { } a a P µ µ G = ) (0 (0),..., : 0 1 & & ; evaluar : () ( ) ( ) { } (0),..., (0) : 0 1 a a P µ Φ Φ & & donde ( ) ( ) ( ) ( ) ; (0), (0) : (0) 1 k k P a f a & & = Γ ϕ Φ mentras no ( ) ( ) ( ) d t P t P 1 0,..., ι hacer: ( ) ( ) { } gen cel k t NP k = π 1,..., :, : // ncalmente ( ) ( ) k k t NP t NP = :, ( ) = : NP k t // y { } ); ( ) ( : ) ( k news cel t P cel t NP k = selecconar : { }( ) [ ] { }( ) [ ] ) ( : ) ( ) ( : ) ( k p b k p a t NP s t a t NP s t a s s = = & & sendo ) ( ) ( b a t a t a & &, donde ( ) ( ) ( ) = = n j j k k s t a t a t a p 1 ) ( ) ( : ) ( & & & Φ Φ ; recombnar : ( ); ) ( ), ( : ) ( } { b a p k t a t a t a c & & & = mutar : ; ) ( : ) ( } { = k p k t a m t a m & & evaluar : ; ) (, ) ( ) ( 1 = ω Γ ϕ Φ k k t P t a f t a & & pobl. auxlar : = ) ( ) ( : ) ( k k k t a t NP t NP & ; reemplazar : ( ) { } { } = = ) ( ), ( : ) ( : 1,..., : k k p k t a t NP r t NP gen cel k r & π, donde ( ) ( ) ( ) ( ) ( ) > = = worst k cel cel t a t a fb t a t a fb worst k fb cel cel fb gen t a p k k k k k r ) ( ) ( 0 ) ( ) ( 1 1 : ) ( Φ Φ Φ Φ s s no, s s comuncacón(aplcar { } ( ) ( ) [ ] 1, 0..1, 1 0 mod, = ζ = = 0 ζ m p asínc t t sínc M M σ σ ω ): selecconar emgrante : { } = ) ( : ) ( p S m t P t a S ω &, donde ( ) ) ( ) ( 1 gen cel k k t NP t P = = π y ) ( ) ( ˆ,, ) (,..., ) ( 1 ) (1 ) ( ˆ 1 k k S t P t a k t a t a best best t a p + = µ Φ Φ β µ ; mgrar : { } = + ) ( ), ( : 1) ( z m p R t a t P t P R & ω, donde () d z mod 1) ( : + = = υ y = = en otro caso s 0 1 ) ( ˆ worst k t a p k R ; t t : ; = +1 fn mentras.

95 CAPÍTULO 3. EL MODELO PROPUESTO P ( t ) : = cel P ( t ) cel { ξ (, ) a, b { 1,..., µ } a b P defne el conjunto de ndvduos sobre el que se trabaja, dependendo del tpo de evolucón básca (celular o no). & & P ( t ), worst { 1,..., µ } k { 1,..., µ }, Φ( a ( t )) Φ( a ( t )) El valor worst dstngue la poscón en la poblacón actual donde resde la estructura de peor adecuacón. Idem para worst' y P ' (t ). µ β : IR IN { 0,1} & & & & 1 s j ( ( ) ( ) ) { 1,..., µ } Φ( ak ( t )) Φ( a j ( t )) Φ a ( t ),..., Φ a ( t ), k : = β 1 µ 0 en otro caso La funcón β traslada un conjunto de valores de adecuacón y una poscón al valor 1 s dcha poscón contene la estructura con la mejor adecuacón. Respecto al algortmo presentado usaremos, además de la versón síncrona, versones asíncronas de todas las famlas paralelas dstrbudas que extragamos. Además, en el caso generaconal usaremos 1-eltsmo (tambén algortmos sn eltsmo) para hacer sobrevvr de forma determnsta a la mejor cadena en la sguente poblacón (de forma que el reemplazo actúe sólo sobre µ 1 peores cadenas). k worst 3.4. La Famla dcga Por tratarse de un modelo evolutvo novedoso, dedcamos en partcular esta seccón a hacer algunas consderacones sobre la dstrbucón de slas celulares. Nuestra vsón de un modelo celular no está lgada a su ejecucón en una máquna SIMD que mantenga un ndvduo por elemento de proceso. Este tpo de máqunas es bastante nfrecuente en la mayoría de organzacones. De hecho, su baja dsponbldad ha sdo una de las razones para que el trabajo con algortmos celulares haya estado sempre en mnoría a pesar de sus ventajas. Aunque hasta ahora la alternatva ha sdo apenas usar cgas, esta stuacón parece un desperdco de posbldades debdo a que estos modelos poseen característcas nteresantes que no dependen de su ejecucón en un sstema paralelo físco. Trabajos como [GW93] y otros entenden que un cga es un algortmo de optmzacón más, con la ventaja añadda de dsponer de una poblacón estructurada espacalmente. En cuanto al mecansmo de seleccón del modelo celular, algunos trabajos claramente defnen ventajas al usar presones selectvas elevadas en el vecndaro consegudas usando torneo estocástco, rankng o ncluso ruleta con reemplazo eltsta [DS95] [Mühl91]. Sn embargo, cuando un modelo está dstrbudo, las slas suelen usar rejllas de tamaño moderado y una excesva presón de la seleccón acabaría rápdamente con la dversdad, tenendo entonces que recurrr a utlzar mayor mutacón o mgracón (o poblacones más grandes). 81

96 CAPÍTULO 3. EL MODELO PROPUESTO El modelo dcga permte afnar los parámetros como mgracón y presón en cada sla de forma que podamos aprovechar las ventajas de los modelos dstrbudos y celulares. Es un hecho que ambos tenen sus puntos a favor y en contra [Sten93] y que tambén ambos presentan ventajas sobre los modelos tradconales. Los requstos de ejecucón paralela físca úncamente permten consegur mayor velocdad de ejecucón sn alterar el algortmo básco. Esto mplca que cualquer aplcacón puede usar un modelo dstrbudo y/o celular sn poseer una red de comuncacones o un sstema multprocesador. Aunque, por otro lado, en el caso de dsponer de un sstema paralelo físco, las ventajas se acrecentan notablemente. Por últmo, debemos menconar algunos modelos, tambén híbrdos en otros sentdos, que proporconan gualmente ventajas del msmo tpo que dcga usando otros mecansmos. En partcular, son muy nteresantes las propuestas de Cantú y Goldberg [CG97] de un modelo dstrbudo con nodos que realzan nternamente una paralelzacón global para mejorar la efcenca. Igualmente nteresante resulta la nueva versón de ASPARAGOS conocda como ASPARAGOS96 [Gorg97] que ha abandonado su topología en escalera para usar un anllo de subpoblacones cuyos ndvduos están dspuestos en un vecndaro en forma tambén de anllo (dcga se dferenca en usar una malla nterna) debdo a que el anllo permte un dámetro mayor y favorece una mejor dferencacón de los ndvduos. De esta manera las mgracones se producen a dos nveles Implementacón Una vez formalzado xxga como famla de algortmos evolutvos, en esta seccón abordamos las prncpales decsones de mplementacón que más pueden llegar a nflur y caracterzar un modelo, paralelo dstrbudo o no, de algortmo evolutvo y en partcular genétco. Respecto a la mplementacón, en general el dseño de las clases cuando se utlza programacón orentada a objetos es un aspecto fundamental, pues defne la generaldad, flexbldad y utldad fnal del sstema de búsqueda. Por ello, dedcamos la Seccón a dscutr dstntas solucones alternatvas para el sstema de clases. En cuanto a la mplementacón de modelos paralelos, parece evdente que el sstema de comuncacón es de vtal mportanca. Su efcenca y flexbldad deben ser muy elevadas para poder ser usado con garantías de que no restrnge por él msmo la aplcacón del algortmo resultante. Igualmente mportantes son tanto las estructuras de datos ntercambadas (para confguracón o durante la ejecucón) como el conjunto de reglas que regulan dcha comuncacón (protocolo). Por esto dedcamos la Seccón a exponer nuestras decsones de mplementacón respecto a dcho protocolo. Debe notarse que presentamos resultados de múltples mplementacones y por tanto sempre planteamos alternatvas según el uso del algortmo y no solucones defntvas n recetas unversales. Por últmo, en la Seccón descrbmos brevemente algunos resultados valdados expermentalmente que atraen nuestra atencón sobre la mportanca de algunos puntos de la mplementacón de software evolutvo. En partcular, dscutmos la estructura que debería tener la poblacón, algunos efectos negatvos dervados de un uso puramente teórco del paradgma de la orentacón a objetos, y una propuesta flexble para mplementar el cclo reproductor. 82

97 CAPÍTULO 3. EL MODELO PROPUESTO Dseño de Clases Hasta ahora se ha prestado poca atencón a la caldad del software usado en el campo de la computacón evolutva. Exsten numerosas mplementacones nada estructuradas, muy poco flexbles, y en general úncamente útles para sus creadores. Muchos autores presentan resultados sn sugerr squera el tpo de mplementacón usada. En nuestro caso, y aunque no se trate de un objetvo prmaro, nos nteresa dscutr las ventajas nnegables de usar clases de objetos. Esto nos lleva a la prmera pregunta evdente: qué clases deben exstr y cómo podemos relaconarlas? Para empezar, es mportante arrancar con una fase de dseño. Aunque esta fase no sea exhaustva, comparar y realzar dstntos dseños nos enseñará cómo generar software de caldad, algo que consderamos mprescndble dscutr en cualquer trabajo de este tpo en Informátca, aunque nuestro objetvo no sea la mplementacón. Práctcamente el únco modelo evolutvo dseñado con estos objetvos en mente es GAME. Presentamos el modelo de clases expresado en OMT en la Fgura 3.3. Base_Topology Lnear Grd Rng Tree Sphere Cube struct POOL struct POOL_DESCRIPTOR Dstrbuted SMP element Bgene BasePopulatonManager BnaryEncodeDecode ENCODE_DECODE_CLASS COMM Handler PGA gstrng PopulatonManager BaseFtness gene FITNESS_CLASS Montor_Low VrtualMachne Montor_Hgh (a) (b) Fgura 3.3. Dseño de clases en GAME (a) y una extensón paralela básca -dgame- (b). El dseño de clases de GAME es el esperado en un algortmo evolutvo, e ncorpora clases para los elementos báscos como genes (gene, Bgene) y cadenas de símbolos en general (element, gstrng, POOL). La traslacón entre genotpo bnaro y fenotpo es drecta (BnaryEncodeDecode) a partr de estas clases, y exsten mecansmos genércos para traslacones más sofstcadas (ENCODE_DECODE_CLASS). La poblacón se maneja como un conjunto de cadenas a través de un descrptor de poblacón (POOL_DESCRIPTOR). Las operacones sobre uno o más ndvduos pueden realzarse utlzando un descrptor de este tpo. El manejo básco de la poblacón se realza en las clases PopulatonManager y BasePopulatonManager. Se dstnguen gualmente clases para la adecuacón (FITNESS_CLASS, BaseFtness) para permtr que los usuaros realcen escalado, sharng u otro tpo de manpulacón. La máquna vrtual (VrtualMachne) permte defnr operacones de creacón de la poblacón y aplcacón de operadores, típcas en cualquer AE. 83

98 CAPÍTULO 3. EL MODELO PROPUESTO Este esquema de clases es en teoría completo y genérco, pero en la práctca es tedoso de utlzar y en general lento. De hecho, los módulos de montorzacón y paralelzacón que se anuncaban desde la aparcón de GAME (alrededor de 1993) apenas han sdo usados. Para conocer y extender esta mplementacón hemos realzado una paralelzacón como se observa en la Fgura 3.3b [Manj96] dseñando dos nveles montorzados de ejecucón (Montor_Low y Montor_Hgh) que permten combnar de cualquer forma un algortmo evolutvo paralelo dstrbudo (Dstrbuted) y celular (SMP) con gránulos de cualquer otro tpo. Las relacones de agregacón múltples pueden mejorarse usando relacones de herenca de la clase base Base_Topology, como ocurre en los modelos que actualmente estamos desarrollando. A pesar de las ventajas del uso de una comuncacón efcente (COMM), varedad de topologías posbles (Grd, Rng, Tree,...) y otras característcas, la constante aparcón de errores en la mplementacón de GAME y el volumen de los programas resultantes han hecho que, por el momento, se abandone esta línea de trabajo a pesar de la experenca ganada. En la Fgura 3.4 mostramos el dseño de clases de dos mplementacones evaluadas en otros trabajos GPTEXT [Rub96] e ncga [Domí97], donde podemos observar que exste un núcleo común. Es útl defnr clases para los genes, tanto bnaros (Gray_Bn_Indv) como reales (Double_Indv). Drectamente podemos crear una clase ndvduo con su adecuacón (Fgura 3.4b) o ben crear una clase cromosoma para poder después generalzar y crear un ndvduo n- plode (3.4a en la que Indvdual=Chromosome+Ftness) en vez de haplode [Gold89a]. Los operadores pueden exstr como clases dervadas de una clase genérca de operador (como en la Fgura 3.4a ocurre con SUS, SPX,... y la clase Operator) o ncludas en el propo algortmo (como ocurre en 3.4b), aunque esto resulte menos adecuado desde el punto de vsta de la extensbldad. De la msma forma, es más flexble que el problema tambén exsta como clase abstracta que permta dervar problemas concretos especfcando el mecansmo de evaluacón deseado (Fgura 3.4a). En general, es tambén convenente que las estadístcas exstan como clase aparte (o estructura) para facltar la montorzacón (PopStats o Statstcs en las Fguras 3.4a-b, respectvamente). El segumento de la ejecucón es mportante y delcado en un sstema paralelo evolutvo. Igualmente necesaro es utlzar una clase aparte para realzar la comuncacón entre gránulos (Communcatons). Por ejemplo, la Fgura 3.4b presenta el dseño para un tpo de AGPs que denomnamos ncrementales (ncga) en sus cuatro versones posbles [AT95]. En ellos, la aparcón y desaparcón de slas evolutvas es dnámca atendendo a los porcentajes de mejora de la adecuacón meda que presentan durante la búsqueda. Esto mplca que el dseño en clases debe reflejar el modelo de forma además flexble, extensble, y sobre todo efcente. En todos los dseños presentados es especalmente smple nclur tanto un nuevo operador como un nuevo problema. Igualmente, es posble modfcar en tempo de ejecucón el conjunto de operadores y sus parámetros de trabajo gracas al concepto que hemos desarrollado de Operator_Pool dervado de la defncón formal de cclo reproductor. Además, es mportante señalar que la efcenca en el uso de memora lleva a cudar muy especalmente las clases báscas del genotpo. La comuncacón por la red de datos en el caso de los modelos dstrbudos (dgame e ncga) se hace en los casos presentados de forma empaquetada para mnmzar el tempo de tránsto entre gránulos. 84

99 CAPÍTULO 3. EL MODELO PROPUESTO Bnary_Gen Indvduals Random Double_Gen Bn_Indv Double_Indv GA Gray_Bn_Indv Populaton Operator_Pool Populaton Statstcs Operator_Node Problem PopStats Indvdual Chromosome Ftness Operator Communcatons GA Sphere MMDP... Gene Roulette SUS SPX DPX Mutaton Montor_E/P GeneType... R. If_Better R. Always Montor_E/A Montor_D/P Bt Real Montor_D/A (a) (b) Fgura 3.4. Dseño de clases en GP-TEXT (a) e ncga (b). Todos estos conceptos, junto con la generalzacón de algunos de ellos han dado lugar a una de nuestras mplementacones más completas de xxga en C++ (véase la Fgura 3.5). Aunque exsten numerosas mplementacones que aportan resultados a esta tess escrtas en C [AC97], Modula-2 (como tpos abstractos de datos) y JAVA [Muño98], sólo se han usado parcalmente debdo, respectvamente, a su poca modulardad, lmtacón del paralelsmo, o lenttud. Puede observarse en la Fgura 3.5 que hemos ncludo clases para genes bnaros y reales, ndvduos compuestos por un vector de genes y una adecuacón (Indvdual) y una poblacón de ndvduos (Populaton). Sobre la poblacón es posble estudar numerosos parámetros y defnr muy dstntos tpos de vecndaro b/tr-dmensonales (clase Neghborhood). Se ncluye tambén una clase abstracta Problem para dervar problemas concretos como funcones numércas (F1, F2,...) o ncluso redes de neuronas (FFN, Pattern y BPN) pensadas para trabajar con perceptrones multcapa. Los operadores dervados y potencalmente dervables de este dseño pueden ser o no (híbrdos) evolutvos (Hybrd_Operator y Operator_Pool). El algortmo genétco (clase GA) usa la poblacón y el grupo de operadores para realzar el cclo reproductor y resolver un problema concreto. En general, muchas clases necestan de forma auxlar un generador de números aleatoros, por lo que se proporcona como clase aparte Random con algunos métodos adconales para la toma de decsones báscas no determnstas en el códgo. El sstema de montorzacón en línea requere de toma de tempos y consumo de recursos como memora o CPU, localzado todo ello en la clase Proc_Stats. La clase de comuncacón Comm permte llevar a cabo el protocolo de comuncacón entre el montor del sstema y las slas de evolucón arbtrara (actualmente estaconara, generaconal y celular). Asmsmo, permte ntercambar de forma fable y rápda tanto ndvduos como estadístcas entre los dstntos procesos paralelos del sstema. 85

100 CAPÍTULO 3. EL MODELO PROPUESTO Es en esta clase donde se encerran las característcas paralelas relatvas a la sncronzacón, apertura de puntos de acceso al servco de comuncacón (PAS), tabla de procesos del sstema y otros detalles que permten un sstema flexble y rápdo (usamos la nterfaz socket [Come91]). Socket Comm Proc_Stats Populaton F1 F2 F3 Montor Island Neghborghood Problem Indvdual GA Random FFN Gen Operator_Pool Pattern BPN Bt Real Hybrd_Operator Fgura 3.5. Dseño de clases para xxga. Por últmo, las clases del montor (Montor) e sla (Island) permten dervar nstancas que dan lugar a programas ejecutables para resolver un problema concreto. Ambas utlzan profusamente un sstema de confguracón flexble basado en fcheros de texto con seccones para facltar la ejecucón y toma de resultados de pruebas ndependentes. La clase para el montor no partcpa en la búsqueda de la solucón n provoca nngún tpo de retencón en ella. Es la encargada de generar las slas, segur paso a paso la búsqueda, e nformar al usuaro durante, y al fnal de la ejecucón. En la sguente seccón se presentan las característcas más mportantes del sstema de comuncacón que utlzan tanto el montor como las slas para mplementar xxga El Sstema de Comuncacón En esta seccón descrbmos el sstema de comuncacón utlzado para mplementar el sstema paralelo. Esta descrpcón se basa en la explcacón del número y tpo de las undades de datos del protocolo (UDPs, PDUs en nglés) o mensajes ntercambados por las dos entdades comuncantes. Son estas UDPs quenes permten llevar a cabo la nterconexón correcta entre las slas y entre slas y montor (véase la Fgura 3.6). Cualquer undad de datos posee una cabecera dentfcando el tpo de mensaje, un campo de longtud del cuerpo y el cuerpo en sí msmo (vacío o) contenendo los datos, parámetros o valores de control necesaros. Consúltese el Apéndce B para mayor detalle sobre cada tpo de UDP. Orden Longtud Mensaje CUERPO DEL MENSAJE 4 [char] 1 [unsgned long] 0 longtud MAX_MESSAGE_LENGTH Fgura 3.6. Formato General de una UDP. 86

101 CAPÍTULO 3. EL MODELO PROPUESTO Para la ejecucón paralela dstrbuda hemos defndo la clase de comuncacón (Comm) de forma que sus nstancas permtan mantener el estado del sstema (stateful clent/server model). La Tabla 3.2 descrbe los tpos de UDPs ntercambadas (en orden alfabétco) por los extremos comuncantes, así como su sgnfcado. Explcamos en la propa tabla su funconamento, así como su clasfcacón dentro de uno de los cuatro grupos (según su uso): a: arranque, t: termnacón, m: montorzacón y f: funconamento del algortmo. TABLA 3.2. RESUMEN DE UDPS USADAS POR EL PROTOCOLO (I=ISLA, M=MONITOR) PDU De... A... Grupo Explcacón CONF M I a Contene datos de confguracón para drgr la búsqueda ENDP M I t El montor pde a la sla ncar el protocolo de desconexón ENDP I M t La sla nforma de su termnacón ndcando la razón e nca descon. GAST M I m El montor solcta ser nformado de la stuacón de la búsqueda GAST I M m La sla actualza sus estadístcas y las envía dentro de este mensaje GETI M I m El montor pde a una sla que le envíe una copa del ndvduo -ésmo GEVA M I m El montor solcta el número de generacones y evaluacones hechas GEVA I M m La sla nforma al montor del número de generacones y evaluacones INDI I M f La sla envía en esta UDP una copa de uno de sus ndvduos INDI I I f Una sla envía una copa de un ndvduo a su vecna en el anllo INIG I M a La sla nforma al montor de sus datos para la comuncacón KILL M I t El montor quere que la sla termne defntvamente su ejecucón LOAD M I m El montor solcta a la sla que lea su poblacón desde un fchero PSTA M I m El montor solcta ser nformado del uso de recursos (tempos,...) PSTA I M m La sla nforma al montor del uso de recursos SAVE M I m El montor solcta a la sla que guarde su poblacón en un fchero SCHS M I m El montor solcta nformacón sobre el esquema bajo estudo SCHS I M m La sla nforma al montor de cómo van las estadístcas sobre esquema SOLU M I m El montor solcta el mejor ndvduo encontrado hasta el momento STRT M I a El montor solcta que la sla comence la búsqueda evolutva Igualmente mportante para la defncón del sstema de comuncacón es la especfcacón de las fases de apertura de conexón, uso de dcha conexón y cerre de la msma. La Fgura 3.7 descrbe el protocolo de conexón y desconexón. Como puede observarse, durante la conexón el montor arranca los procesos sla y estos envían sus datos de confguracón ncales relatvos a los puntos de conexón en los que ntercambar nformacón con el montor y sus vecnos. El montor lee un fchero de confguracón del sstema global (más detalles al fnal de esta seccón) y después envía a las slas la confguracón necesara para realzar la búsqueda dstrbuda. Cada sla puede utlzar su propo fchero de confguracón local dstnto del resto (heterogenedad en la búsqueda). En él se descrben los operadores y parámetros (por ejemplo probabldades o forma de la rejlla en un cga) que se usarán durante la búsqueda. 87

102 CAPÍTULO 3. EL MODELO PROPUESTO Cada sla, tras ser creada en el sstema (SYS), abre un punto de acceso a la red para conexón con su sla vecna (PAS-DATOS) e nforma de ello al montor tras conectar con él. El montor recolecta los puntos de conexón para datos de cada sla y rellena su tabla de procesos con estos y otros datos referentes a la conexón y confguracón de la búsqueda. El montor nforma segudamente a cada sla de sus datos de trabajo y confguracón de la sla vecna (CONF). Las slas esperan entonces en una barrera de sncronzacón hasta que el montor les ndca (STRT) que comencen a ejecutar cada una su modelo de evolucón propo. Durante la búsqueda, el montor queda en espera de mensajes de segumento o mensajes de termnacón de las slas. S alguna de las slas termna por encontrar una solucón antes del número máxmo fjado de evaluacones (ENDP), el montor detene a las restantes ncando el protocolo de desconexón. S nnguna sla encuentra una solucón, o ben s la adecuacón de la solucón es desconocda, entonces ejecutarán completamente el número de cclos especfcados e rán termnando. Abre PAS-CTRL Crea una sla M I SYS La sla no exste... Elabora estads. globales M I PSTA GAST Estadístcas de proceso Estadístcas de la búsqueda INIG Abre PAS-DATOS Conecta con el Montor... Envía PAS-DATOS Elabora estads. búsqu. Elabora estads. esq. SCHS INDI Estadístcas sobre los esquemas estudados Enva estructura solucón al montor Recolecta datos ncales Repte crear y recolectar... Envía confguracón a todas las slas Arranca la búsqueda en todas las slas CONF STRT La sla está bloqueada... Lee confguracón Se une al anllo,... Obtene solucón Calcula efcenca numérca Termna la ejecucón de todas las slas Informa al usuaro GEVA KILL FIN FIN Enva #evaluacones y #generacones Estado transparente... Termna ejecucón Comenza evolucón Protocolo de Conexón Protocolo de Desconexón Fgura 3.7. Protocolos de conexón y desconexón del sstema mplementado. El protocolo de desconexón supone que el montor recogerá las estadístcas fnales respecto a tempo de ejecucón, tempo de búsqueda, consumo de memora y otros datos de uso de recursos del sstema dstrbudo (PSTA). Posterormente, el montor recogerá de cada sla las estadístcas relatvas a la búsqueda (adecuacones fnales, medas, desvacones,... todo ello ncludo en GAST), las estadístcas sobre el estudo de esquemas (s procede, usando SCHS), el ndvduo solucón (INDI) y el número de evaluacones y generacones (GEVA). El montor promeda y analza todos los valores y, fnalmente, ndca a las slas que deben termnar su ejecucón (KILL). El control de errores de comuncacón es bastante estrcto, de forma que s la ejecucón termna correctamente es muy mprobable que se haya producdo un error no detectado (los mensajes nesperados, ncorrectos, operacones artmétcas ncorrectas, petcón de memora, etc. están controlados en el códgo). 88

103 CAPÍTULO 3. EL MODELO PROPUESTO Durante su ejecucón, las slas realzan puntos de chequeo (checkponts) para decdr s envar datos al montor, volcar en fchero, etc... según el tpo de ejecucón. Debe notarse que en general cualquer envío de datos es asíncrono y por tanto no retene n provoca cuellos de botella en la ejecucón. S una sla termna antes que el resto, entonces deja de trabajar y úncamente pasa cualquer mensaje a la sla vecna sn nterpretarlo (en espera de un mensaje KILL). De otro modo podrían aparecer nterbloqueos, sobre todo en la recepcón de emgrantes en su sla vecna. UDPs de DATOS entrada PAS-CONEX. AG-d MONITOR-d VECINO-d aceptar conectar conectar entrada PAS-DATOS E/S PAS-CTRL Isla AG-d entrada/salda PAS-CTRL UDPs de CONTROL E/S PAS-CTRL salda PAS-DATOS UDPs de DATOS E/S PAS-CTRL aceptar conectado conectado... conectado MONITOR-d AG-d=1 AG-d=2... AG-d=d Montor Fgura 3.8. Escenaro después de la conexón. Puede observarse en la fgura de la zquerda que tanto el montor como las slas dsponen de una tabla de procesos para gestonar las comuncacones (clase Comm). Sólo la tabla del montor está completa. Cada sla úncamente utlza las entradas relatvas a sí msma (para esperar emgrantes), la de su vecna (para envar emgrantes) y la del montor (para mensajes de control). El concepto de punto de acceso al servco (PAS) típco de redes de comuncacón se utlza aquí para defnr un punto a través del cual envar/recbr datos por la red. Nuestra aplcacón utlza la nterfaz de programacón BSD socket. Usamos el protocolo TCP (nvel de transporte -4- del modelo OSI) para una transmsón segura. El uso de la nterfaz socket se debe a nuestro nterés en mantener tan rápda como podamos la mplementacón. Otras alternatvas como PVM [GBDJM94], MPI [DEC94], Java-RMI [OH97], etc.. son tambén posbles, pero en general están basadas sobre conceptos smlares al de socket y cargan al sstema con servdores propos, realzan operacones de empaquetado, etquetado, notfcacones nternas,... que prefermos evtar en aras de una mayor efcenca fnal. Evdentemente, el uso drecto de sockets requere un mayor esfuerzo de programacón, pero las clases Socket y Comm encapsulan todas las operacones de apertura y cerre de PASs, así como el envío y recepcón de cualquer tpo de mensajes, y todo ello de forma síncrona o asíncrona. El resto de clases úncamente utlzan los servcos de éstas sn mportar cómo están programados. Adconalmente, es mportante señalar que, debdo a la defncón orgnal de TCP, son necesaros algunos cambos en su funconamento básco para que no se haga esperar nnecesaramente a los mensajes. 89

104 CAPÍTULO 3. EL MODELO PROPUESTO Igualmente, merecen mencón los problemas potencales dervados de la aparcón de efectos laterales nsoslayables debdos a que tanto el generador de números aleatoros de C++ como la tabla de descrptores de sockets son comunes a una aplcacón, ndependentemente del dseño en clases realzado. Esto mpde muchas veces que los constructores y destructores puedan segur un comportamento ortodoxo. De nuevo, se trata de un compromso entre ejecucón efcente y correcta frente a uso ortodoxo de la programacón orentada a objetos. Para termnar esta seccón, smplemente presentaremos un ejemplo del fchero de confguracón del sstema y otro de la confguracón de una sla (Fgura 3.9). Para más nformacón sobre el formato y posbldades de confguracón consulte el Apéndce B. // System confg fle [NUMBER_OF_ISLANDS] 8 [WORKSTATION_INFO] 8 // Number of machnes catm0 1 1 // Machne #GAs #GA-ds catm1 1 2 catm2 1 3 catm3 1 4 catm4 1 5 catm5 1 6 catm6 1 7 catm7 1 8 [ISLAND_CONFIG_FILES] 0 sland.params // Island confguraton [PROBLEM_CONFIG_FILE] pardad4.net [SYNCHRONIZATION] sync_mode [MIGRATION_GAP] 2048 // Isolated evaluatons [NUMBER_OF_MIGRANTS] 1 [CYCLES] // Max. number of evals. [SEEDS] // 8 GAs, 8 seeds [MIG_POLICY_FOR_SELECTION] mg_random [MIG_POLICY_FOR_REPLACEMENT] mg_f_better [TARGET_FITNESS] 160 // Island confg fle [PROBLEM_CONFIG_FILE] pardad4.net [NUMBER_OF_OPERATORS] 5 [OPERATORS] rw // Select frst parent random // Select second parent ux // Unform crossover mutaton 0.04 // Mutaton rep_least_ft // Replacement polcy [OUTPUT_DISPLAY] nothng // Don t show stats. [NUMERIC_RANGES] // For decodng strngs [NEIGHB_TOPOLOGY] grd // Pop topology [NEIGHB_SHAPE] // 2D dsposton [SIGMA_SCALING] 0.01 // Ftness scalng // End of fle // End of fle Fgura 3.9. Ejemplo del fchero de confguracón del sstema (zqda.) y de una sla (dcha.). Puede observarse que ambos sguen el msmo esquema de trabajo. Cada fchero muestra seccones encabezadas por una etqueta dentfcatva del valor que les sgue. Los fcheros contenen texto ASCII y pueden crearse o modfcarse con cualquer edtor de texto normal. El sstema de lectura controla que los valores leídos tengan sentdo por sí msmos (probabldades no negatvas y no mayores de 1.0, por ejemplo) y su relacón con el resto de parámetros (msmo número de semllas aleatoras que de slas, por ejemplo). Podemos confgurar de forma flexble el número de máqunas, el esquema de mgracón, los operadores,... Es bastante fácl y drecto con este sstema de fcheros de confguracón cambar el algortmo usado, sus parámetros, el número de máqunas, el problema bajo estudo, y muchos otros aspectos que determnan la caldad del sstema software y la extraccón de conclusones. La adcón de una nterfaz gráfca es drecta, lmtándose a generar como salda este tpo de fcheros. 90

105 CAPÍTULO 3. EL MODELO PROPUESTO Consderacones Globales sobre la Implementacón En esta seccón pretendemos demostrar que el dseño e mplementacón de los modelos secuencales y tambén paralelos sobre un ordenador tenen certo mpacto en la caldad de la búsqueda. Báscamente nos centraremos en tres aspectos fundamentales: Dseño y relacón entre las clases de objetos. Implementacón de la poblacón. Almacén de operadores. Respecto al dseño de clases, está fuera de duda la utldad y flexbldad de usar este tpo de paradgma para obtener un algortmo seguro, reutlzable y del que se pueda extraer fáclmente nformacón sobre la búsqueda. El problema que queremos señalar es el compromso entre todas estas ventajas y la efcenca. La Fgura 3.10 muestra los resultados (20 ejecucones sobre un procesador UltraSparc 1) de usar una mplementacón orentada a objetos en JAVA de xxga (parámetros en Tabla 3.3). TABLA 3.3. PARÁMETROS MMDP8 Y SPH3 PARA MEDIR LA EFICIENCIA USANDO JAVA Problema MMDP8 Problema SPH3 Parámetros Modelos Parámetros Modelos l 8x6=48 bts xxga(1,128,_,_,ss,fb) l 3x32=96 bts xxga(1,128,_,_,ss,fb) µ 128 xxga(1,128,_,_,sus,fb) µ 128 xxga(1,128,_,_,sus,fb) Pc 1 xxga(1,2x64,_,_,cel,fb) Pc 1 xxga(1,2x64,_,_,cel,fb) Pm 0.05 Pm 0.01 max. evals max. evals Los tres algortmos, como puede observarse muestran un tempo nnecesaramente alto e ndeseable en todos los modelos para ambos problemas. Esto se debe a que la herenca, usada de forma lbre, produce constantes llamadas a métodos nternos de generacón (clonacón) y destruccón de nstancas locales en cadena. MMDP8: Tempo ejecucón SPHERE-3: Tempo ejecucón Tempo (seg) cga ssga genga Modelos Tempo (seg) cga ssga genga Modelos Fgura Tempo en soluconar el problema MMDP y la esfera (8 y 3 genes, respect.). En la fgura anteror aparece otro problema potencal, esta vez respecto a la forma de mplementar la poblacón. Obsérvese cómo el modelo estaconaro (ssga) requere unos tempos muy por encma del modelo celular o generaconal. Esto no es nada usual, y se debe al trabajo con una estructura estátca y al requsto de mantener la poblacón ordenada en cada paso para que la seleccón, estadístcas, etc. funconen correctamente (por ejemplo para usar rankng). 91

106 CAPÍTULO 3. EL MODELO PROPUESTO Esto nos da pe a dscutr el segundo punto menconado en la presentacón de esta seccón. Para dseñar una poblacón efcente deberíamos prmero defnr las operacones más frecuentemente realzadas. Parece claro que en general las operacones sobre la poblacón son el acceso drecto y/o secuencal y tambén las adcones y borrados contnuos. Las alternatvas de mplementacón son utlzar un vector estátco de ndvduos o una lsta dnámca. Una tercera opcón es el uso de cursores, pero el resultado es equvalente a usar la lsta y es el usuaro el que debe manejar a mano las referencas. La ventaja a pror de un vector estátco es el acceso drecto a sus elementos. El acceso secuencal es gual de efcente en ambos casos. S la poblacón debe estar ordenada, un vector presenta ventajas al realzarse, por ejemplo, una ordenacón bnara más rápdamente que sobre una lsta (por permtr accesos drectos). El punto claro donde resde la dferenca es en la nsercón y el borrado de ndvduos. En el caso de usar un vector estátco los constantes desplazamentos a que se somete a la poblacón hacen ntur que en este aspecto la lsta dnámca será más efcente. Presentados los puntos fuertes y débles de cada uno, queda preguntarse cuáles son las operacones más frecuentes. La respuesta es la nsercón y el borrado. La Fgura 3.11 demuestra que usar una lsta de ndvduos es la decsón más efcente para un algortmo genétco. Incluso s la poblacón debe estar ordenada podemos nsertar al prncpo de forma ordenada por adecuacón y realzar tambén las posterores nsercones ordenadamente, lo que evta la sobrecarga de utlzar constantemente algún tpo de algortmo de ordenacón. 25 Tempos de ejecucón Tempo medo (seg.) Tamaño de la poblacón Estátca Dnámca (# ndvduos) Fgura Relacón entre trabajar con una poblacón estátca o dnámca en C para el problema de la mochla (apéndce A). Presentamos la meda de 10 ejecucones ndependentes. Por tanto, debemos estar prevendos frente a mplementacones estándares de algortmos genétcos en las que se utlcen estructuras de datos estátcas para la poblacón, ya que los resultados aparecerán tras un tempo de ejecucón nnecesaramente alto. Un tema relaconado con la orentacón a objetos y con la poblacón es la mplementacón de la memora prvada necesara para las clases del genotpo. En general, la clase base de los genes debe contener drectamente el valor del gen, ya que s contene un apuntador (como es típco en muchas mplementacones de clases genércas en programacón orentada a objetos), éste puede ocupar más memora que el propo valor apuntado. 92

107 CAPÍTULO 3. EL MODELO PROPUESTO Puede comprobarse gráfcamente este efecto en la Fgura S se crea una clase base de genes bnaros usando para almacenar cada alelo un carácter (char) ahorraremos mucho más espaco que s se crea la clase base de los alelos bnaros como un apuntador a un carácter (propo de una mplementacón ortodoxa en C++ que crea y destruye nstancas, por ejemplo). char char char char char... char nt nt... nt Cromosoma Memora prvada de la clase alelo Cromosoma Memora prvada de la clase alelo Fgura Clase para una cadena en la que la clase componente para los alelos utlza como memora prvada un carácter (zqda.) o ben un apuntador a carácter (dcha.). Por últmo, nos queda dscutr la mplementacón del conjunto de operadores. Parece evdente que su mplementacón como funcones asladas sn relacón es poco estructurada. Con ello se tende a generar errores y a tomar decsones locales en cada operador que no conducen a su estandarzacón; además, la mplementacón no se asemejaría a cómo aparecen los operadores en el algortmo evolutvo. Es por esto que resulta más convenente mplementar el grupo de operadores bajo un dseño en clases de objetos común, de forma que el concepto formal de cclo reproductor teórco exsta en la práctca (Fgura 3.13). Apply_Rep_Cycle Change_Param Operator_Pool Error control Add_Op Remove_Op Fgura Nocón de cclo reproductor como clase de objetos (Operator_Pool). De esta forma podremos tener nstancas de cclos reproductores a las que es posble añadr, modfcar o extraer operadores en tempo de ejecucón, dando lugar a una mplementacón realmente efcente, flexble, compacta y segura (control de errores). Añadendo una clase para operadores híbrdos como hacemos en el sstema de la Fgura 3.5 (Hybrd_Operator) permtmos la posteror nclusón en el algortmo de técncas de búsqueda no genétca que permtan mejorar el funconamento del sstema. De esta forma podemos ncorporar operadores como el enframento smulado, búsqueda tabú, o cualquer tpo de búsqueda local en el sstema sn alterar su estructura. 93

108 CAPÍTULO 3. EL MODELO PROPUESTO 3.6. Relacón de xxga con los Marcos de Programacón En este trabajo se ha realzado un esfuerzo de generalzacón y unfcacón de modelos AGP tanto desde el punto de vsta algorítmco como desde el punto de vsta de la ngenería del software. En este segundo aspecto las posbldades de extensón y abstraccón adconales, entre otras, son aún mayores de las presentadas hasta el momento. Para demostrarlo pondremos en contacto las técncas e mplementacones realzadas con un concepto de muy alto nvel orentado a promover el uso de sstemas paralelos entre todo tpo de usuaros, expertos o no. Nos estamos refrendo a los marcos de programacón (programmng frames). En todas las dscplnas centífcas es mportante el acercamento de las tecnologías desarrolladas tanto a usuaros fnales como a otros nvestgadores que no conocen (o no queren conocer) los detalles propos de las aportacones realzadas, y que sn embargo queren usarlas. Los marcos de programacón [RP97] son esqueletos de trabajo, en nuestro caso para utlzar algortmos sobre máqunas de memora dstrbuda, a los que el usuaro debe aportar úncamente nformacón sobre el problema que desea resolver. Un marco contene en general tres tpos de nformacón: algortmos báscos, estructuras de datos y los marcos de programacón en sí msmos. Los marcos poseen muchas característcas en común con la programacón orentada a objetos (POO) que hemos utlzado para dseñar nuestras mplementacones. La característca más sobresalente que extende las ventajas de la POO es la automatzacón del proceso de generacón de nuevos algortmos ya dspuestos para ejecutar y analzar en una máquna de memora dstrbuda, y el uso de una nterfaz gráfca para el usuaro. Para aclarar más el funconamento de los marcos pasamos a dscutr sus prncpales característcas: Reusabldad: Posbldad de reutlzar la defncón del problema (que el usuaro aportará) en otras plataformas de ejecucón dstntas. Portabldad: Posbldad de ejecutar con un esfuerzo mínmo de adaptacón todo el marco en nuevos sstemas con mecansmos de comuncacón dstntos (MPI, PVM, sockets,...). Técncas de últma generacón: Posbldad de mantener actualzado el conjunto de técncas usadas para las estructuras de datos y para los algortmos. Efcenca: Mantenmento de un alto nvel de efcenca en la ejecucón del resultado fnal (algortmo) debdo al refnamento de sus componentes y al uso de mecansmos de comuncacón propos de la máquna que lo ejecuta. Fácl aprendzaje: Facldad en el uso del marco resultante para que el usuaro pueda dsponer tanto de un algortmo útl como de una mplementacón efcente de dcho algortmo. Interfaz gráfca: Generacón automatzada de una nterfaz adecuada para manpular los parámetros del problema y vsualzar los resultados durante y después de la ejecucón. El usuaro úncamente rellena los huecos dejados por un experto en el domno del algortmo (en nuestro caso algortmos genétcos paralelos dstrbudos) y el marco genera un programa ejecutable que atende a dchos parámetros y permte su estudo y segumento. Un segundo experto es necesaro para especfcar nternamente y de forma oculta al usuaro el mejor mecansmo de paralelzacón del algortmo resultante. 94

109 CAPÍTULO 3. EL MODELO PROPUESTO Podría consderarse que el experto en el algortmo dseña la nterfaz con los elementos defnbles por el usuaro, mentras que el experto en paralelzacón defne los aspectos de efcenca según el sstema paralelo consderado. Ambos expertos deben acordar el mecansmo total de fusón de sus respectvos domnos en el marco fnal. El usuaro recbe un sstema software con tres característcas muy deseables: fácl de usar, genérco y efcente. Tanto el sstema en clases del modelo xxga como su flosofía de generaldad encajan en la dea de los marcos. Sn embargo, el camno que se debe recorrer en un marco hasta obtener un algortmo ejecutable es más largo que el uso de un conjunto de clases de objetos como los de la Seccón Para generar un algortmo ejecutable se necestan tres nveles de especfcacón: Nvel abstracto. Nvel de nstanca. Nvel de mplementacón. Cada nvel se compone de un conjunto de fcheros propos que son complados para dar lugar a fcheros útles para el nvel nferor. La especfcacón del nvel abstracto lo proporcona un experto en el algortmo. Para ello determna y documenta (ncluso en formato HTML) los parámetros y técncas relevantes para el problema. En el nvel de nstanca se lgan los valores concretos selecconados por el usuaro a los parámetros del marco, es decr, se genera una nstanca concreta del marco para las necesdades del usuaro. Fnalmente, los conocmentos de los expertos en el problema/algortmo y en la máquna/comuncacón destno se concretan en un conjunto de fcheros contenendo reglas y facldades para enlazar todos los fcheros necesaros. Es en este nvel donde se utlza una mplementacón concreta de algortmo como la nuestra. Sguendo este esquema genérco se han construdo múltples marcos, por ejemplo, un marco dedcado a métodos de elementos fntos [RP97] o para algortmos genétcos paralelos [Pet97]. Nuestro nterés se centra en este últmo caso. El marco menconado utlza la bbloteca PGAPack [Lev96] para el nvel de mplementacón. Esta bbloteca tene múltples facldades para ejecucón paralela usando MPI, codfcacones, operadores genétcos, ncorporacón de heurístcos e nterfaz de uso. Además de la especfcacón abstracta se puede dar una nstancacón, tanto genérca usando FIT (Frame Instantator Tool), como propa, usando una GUI específca para PGAPack llamada xpga. PGAPack permte un paralelsmo global en forma maestro/esclavo en el que la evaluacón de la funcón de adecuacón se realza en paralelo en los procesadores dsponbles. Nuestro modelo dstrbudo es algo más genérco en térmnos de los operadores, ya que PGAPack consdera cada operador como una entdad separada. Además, el esquema de paralelzacón de nuestro modelo es consderablemente más rco y complejo (poblacones paralelas estructuradas o en panmxa, polítca de mgracón, etc.). Para demostrar la capacdad de extensón de nuestro modelo y su relacón con los marcos proponemos en las sguentes seccones una descrpcón textual de los nveles abstracto y de nstanca. Para el nvel de mplementacón podría usarse la mplementacón exstente del modelo dstrbudo usando sockets. La extensón a otros mecansmos de comuncacón se reduce a modfcacones (no menores pero sí smples y localzadas) en las clases Comm y Socket. Las extensones algorítmcas están claramente guadas por el dseño exstente. 95

110 CAPÍTULO 3. EL MODELO PROPUESTO Nvel Abstracto Para realzar un nvel abstracto para un marco con xxga debemos defnr las operacones y propedades de alto nvel del algortmo. La notacón que se suele usar es smlar a la de C y es muy portable porque no contene elementos dependentes del sstema. La documentacón HTML no se ncluye en la tess debdo a que estamos realzando una propuesta y no un marco real. A pesar del elevado número de parámetros lbres podemos hacer una estructuracón en famlas: Problema: Contenen nformacón sobre la codfcacón usada y el mecansmo de evaluacón utlzado. Consderamos sempre un problema de maxmzacón. Incalzacón: Mecansmo de generacón de la poblacón ncal. Por defecto la creacón es aleatora, pero el usuaro podría utlzar un mecansmo propo. Operadores: Ya que hemos ntroducdo en xxga el concepto de operator pool (conjunto de operadores) el nvel abstracto podría permtr determnar el número de operadores y el tpo. En general esto supone en un algortmo genétco al menos dentfcar la seleccón, cruce y mutacón elegdos. Exsten varas técncas predefndas para cualquera de estos operadores, pero además el usuaro puede proporconar técncas nuevas. Sería posble además especfcar el orden de ejecucón de estos operadores, e ncluso podría extenderse a un orden de ejecucón y parámetros de ejecucón dnámcos (proporconando un crtero de modfcacón apropado). Evolucón de cada sla: En este grupo englobamos las técncas báscas para la evolucón de cada sla. En prncpo el marco que estamos descrbendo se ofrece para slas déntcas, aunque es perfectamente posble usar parámetros dstntos en cada una de ellas con nuestra mplementacón. Entre ellos destaca el esquema de evolucón estaconaro/generaconal/celular y parámetros como el tpo de vecndaro y/o topología del modelo celular. Polítca de mgracón: En este conjunto de parámetros encontramos algunos como la frecuenca de mgracón, el número de ndvduos que mgran, el tpo de seleccón del emgrante, el tpo de reemplazo en la poblacón receptora y el tpo de sncronzacón entre slas. Debemos aclarar que esta últma es una propedad del modelo aunque nternamente exsta un concepto equvalente que dependa del tpo de mplementacón. De hecho, ncluso podemos smular en monoprocesador un algortmo síncrono/asíncrono. Hacemos esta aclaracón para dejar patente que esto no entra en conflcto con el objetvo de ndependenca de la máquna del nvel abstracto en el que nos movemos. Adecuacón: Este grupo ncluye operacones sobre el valor de adecuacón de los ndvduos tales como el escalado lneal, sgma o de otro tpo, encamnadas a evtar la convergenca prematura. 96

111 CAPÍTULO 3. EL MODELO PROPUESTO Renco: El sstema puede cargar con cualquer frecuenca deseable una nueva poblacón desde fchero generada atendendo a cualquer crtero que se consdere oportuno. Crtero de termnacón: Báscamente se puede elegr entre ejecutar por un número predetermnado de evaluacones el algortmo paralelo o ben hasta encontrar una solucón. Otros crteros son posbles, pero aún no está contemplada una modfcacón smple en la mplementacón exstente. Opcones de nforme: Múltples tpos de estadístcas son posbles en este grupo: on-lne, off-lne, estudos sobre esquemas, tempos de ejecucón, dferenca entre medas sucesvas, entropía de la poblacón, dstanca de Hammng de los ndvduos, etc. Msceláneas: Actvacón del control de errores en tempo de ejecucón, vsualzacón de cadenas drgda por el usuaro, versón de la bbloteca,... Una posble especfcacón del nvel abstracto del marco puede ser la sguente: /* */ * Abstract frame xxga (reduced verson) * * Enrque Alba, 1998 * Departamento de Lenguajes y Cencas de la Computacón * Unversdad de Málaga ABSTRACT FRAME xxga; DECLARATION /* Enumeraton types */ TYPE Boolean = enum {False, True}; TYPE DataTypeEnum = enum {Bnary, Gray, Real}; TYPE EvolTypeEnum = enum {steady_state, generatonal}; TYPE SyncTypeEnum = enum {sync, async}; TYPE TopologyTypeEnum = enum {grd, undrng, bdrng, tree, all}; TYPE NeghborhoodTypeEnum = enum {NEWS, C9, C25}; TYPE ReplacementTypeEnum = enum {ReplAlways, ReplIfBetter, ReplRandom, ReplWorstOfN}; TYPE CrossoverTypeEnum = enum {SPX, SPX1, DPX, DPX1, UX, AX, CrossoverUser}; TYPE MutatonTypeEnum = enum {MutatonConstant, MutatonRange, MutatonUser}; TYPE FtnessMappngTypeEnum = enum {FtnessRaw, FtnessLnearSc, FtnessSgmaSc}; TYPE SelectonTypeEnum = enum {SelectonProportonal, SelectonSUS, SelectonRankng, SelectonTournament, SelectonRandom, SelectonBest}; TYPE IntalzatonTypeEnum = enum {IntBnRandom, IntRealRandom, IntFromFle}; /* Out types (prvate) */ OUT TYPE xxgacontext; OUT TYPE FILE; /* Ponter equvalent types */ TYPE xxgacontextptr = xxgacontext*; TYPE FILEPtr = FILE*; TYPE charptr = char*; /* Problem parameters */ CONSTANT DataTypeEnum DataType; CONSTANT nt GeneNumber; CONSTANT nt GeneLength; FUNCTION double Evaluate (xxgacontextptr ctx, nt p, nt pop); OPTIONAL STATEMENT UserCode (); /* Populaton and replacement */ OPTIONAL CONSTANT nt IslandPopSze = "100"; OPTIONAL CONSTANT nt NumberOfIslands = "8"; OPTIONAL CONSTANT ReplacementTypeEnum ReplacementType = "ReplIfBetter"; 97

112 CAPÍTULO 3. EL MODELO PROPUESTO /* Intalzaton */ OPTIONAL CONSTANT IntalzatonTypeEnum IntalzatonType; OPTIONAL CONSTANT double BnIntProbBt1 = "0.5"; OPTIONAL CONSTANT double MnIntRangeLow = "0.0"; OPTIONAL CONSTANT double MaxIntRangeHgh = "1.0"; OPTIONAL PROCEDURE Intalze (xxgacontextptr ctx, nt p, nt pop); /* Selecton */ OPTIONAL CONSTANT SelectonTypeEnum SelFrstParent = "SelectonTournament"; OPTIONAL CONSTANT SelectonTypeEnum SelSecondParent = "SelectonTournament"; OPTIONAL CONSTANT nt TournamentSze = "2"; OPTIONAL CONSTANT RankngBas = "1.5"; /* Crossover */ OPTIONAL CONSTANT CrossoverTypeEnum CrossoverType = "DPX1"; OPTIONAL CONSTANT double CrossoverProb = "0.85"; OPTIONAL CONSTANT double UnformCrossoverProb = "0.8"; OPTIONAL PROCEDURE Crossover (xxgacontextptr ctx, nt c1, nt c2, nt c_pop, nt p1, nt p2, nt p_pop); /* Mutaton */ OPTIONAL CONSTANT double MutatonProb = "0.01"; OPTIONAL CONSTANT MutatonTypeEnum MutatonType = "MutatonConstant"; OPTIONAL CONSTANT Boolean BoundMutaton = "True"; OPTIONAL FUNCTION nt Mutaton (xgacontextptr ctx, nt p, nt pop, double mr); /* User operator */ OPTIONAL FUNCTION nt Operator (xxgacontextptr ctx, nt c1, nt c2, nt c_pop, nt p1, nt p2, nt p_pop); /* Island parameters */ OPTIONAL CONSTANT EvolTypeEnum BascIslandEvoluton = "steady_state"; OPTIONAL CONSTANT TopologyTypeEnum Topology = "grd"; OPTIONAL CONSTANT nt GrdHeght = "10"; OPTIONAL CONSTANT nt GrdWdth = "10"; OPTIONAL CONSTANT NeghborhoodTypeEnum Neghborhood = "NEWS"; /* Mgraton polcy */ OPTIONAL CONSTANT nt MgratonFrequency = "32"; OPTIONAL CONSTANT nt MgratonRate = "1"; OPTIONAL CONSTANT SelectonTypeEnum MgrantSelecton = "SelectonRandom"; OPTIONAL CONSTANT ReplacementTypeEnum MgrantReplacement = "ReplIfBetter"; OPTIONAL CONSTANT SyncTypeEnum SyncMode = "async"; /* Ftness */ OPTIONAL CONSTANT FtnessMappngTypeEnum FtnessMappngType = "FtnessRaw"; OPTIONAL CONSTANT double DeltaFactor = "0.0001"; OPTIONAL CONSTANT double SgmaFactor = "2.0"; /* Restart */ OPTIONAL CONSTANT Boolean ApplyRestartOperator = "False"; OPTIONAL CONSTANT nt RestartFrequency = " "; /* Stoppng crtera */ OPTIONAL CONSTANT Boolean UserDefnedStopRule = "False"; OPTIONAL CONSTANT Boolean StopMaxEvals = "True"; OPTIONAL CONSTANT nt MaxEvalsValue = "1000"; OPTIONAL FUNCTION nt StopCondton (xxgacontextptr ctx); /* Report optons */ OPTIONAL CONSTANT Boolean OnlneAnalyss = "False"; OPTIONAL CONSTANT Boolean OfflneAnalyss = "False"; OPTIONAL CONSTANT Boolean WorstEvaluaton = "False"; OPTIONAL CONSTANT Boolean AverageEvaluaton = "False"; OPTIONAL CONSTANT Boolean SgmaAnalyss = "False"; OPTIONAL CONSTANT Boolean HammngDstance = "False"; OPTIONAL CONSTANT Boolean MeanEntropy = "False"; OPTIONAL CONSTANT Boolean SchemaActualInst = "False"; OPTIONAL CONSTANT Boolean SchemaPredctedInst = "False"; OPTIONAL CONSTANT Boolean SchemaAvgFtness = "False"; OPTIONAL CONSTANT Boolean StrngItself = "False"; OPTIONAL CONSTANT Boolean SavePopToFle = "False"; OPTIONAL CONSTANT Boolean LoadPopFromFle = "False"; OPTIONAL CONSTANT nt FrequencyValue = "5120"; OPTIONAL PROCEDURE SetSchemaToStudy(xxGAContextPtr ctx, CharPtr schema); OPTIONAL PROCEDURE EndOfGeneraton (xxgacontextptr ctx); /* Mscellaneous */ OPTIONAL CONSTANT nt RandomSeed; OPTIONAL CONSTANT Boolean NumberOfEvaluatons = "True"; OPTIONAL CONSTANT Boolean ElapsedRunTme = "True"; OPTIONAL CONSTANT Boolean PrntxxGAVersonNumber = "False"; OPTIONAL CONSTANT Boolean PrntxxGAFrameVersonNumber = "False"; OPTIONAL PROCEDURE PrntStrng (xxgacontextptr ctx, FILEPtr f, nt p, nt pop); DOCUMENTATION DOC(xxGA) = URL " END xxga. 98

113 CAPÍTULO 3. EL MODELO PROPUESTO Puede observarse en el nvel asbtracto anteror que la mayoría de las característcas menconadas para xxga están presentes lstas para que el usuaro las nstance en el marco. En prmer lugar, el usuaro debe proporconar la funcón de evaluacón Evaluate así como el tamaño del problema: número de genes (GeneNumber) y longtud de cada gen (GeneLength). Tambén debe especfcar el tpo base de las estructuras (DataType). Por defecto la poblacón se genera aleatoramente (usando un rango de valores para las varables codfcadas) y se aplca un bucle reproductor típco consstente en seleccón, cruce, mutacón y reemplazo. Puede observarse que dstngumos entre la seleccón de cada uno de los dos padres para generar una nueva estructura: SelFrstParent y SelSecondParent. Varos de los tpos de seleccón más populares están dsponbles: proporconal a la adecuacón, torneo, selecconar al mejor ndvduo, uno aleatoro, etc. (SelectonTypeEnum). Es nteresante poder decdr por separado el mecansmo de seleccón de cada padre porque puede ser útl utlzar dos mecansmos dstntos (véase el Capítulo 4). En el caso de un modelo estaconaro o generaconal tradconal la seleccón actuará sobre toda la poblacón de la sla, mentras que en el caso celular (reconocble porque se especfca topología -TopologyTypeEnum- y vecndaro -NeghborhoodTypeEnum-) la seleccón sólo actúa sobre el vecndaro de cada cadena. Los operadores de cruce y mutacón son los descrtos en la tess: cruce de uno o dos puntos, unforme o artmétco (CrossoverTypeEnum), así como mutacón bnara o real en certo rango (MutatonTypeEnum). El usuaro puede además especfcar métodos específcos para el problema para ambos operadores (procedmento Crossover y funcón Mutaton). Además, se puede especfcar un nuevo operador defnendo la funcón Operator. El mecansmo de reemplazo consderado es uno de entre los dsponbles en ReplacementTypeEnum: reemplazo sempre del peor (o del nodo consderado s es un modelo celular), reemplazo sólo s es mejor que el desgnado para ser reemplazado, etc. Además de poder especfcar el tpo de evolucón de cada sla podemos proporconar una polítca de mgracón para cada problema: frecuenca de mgracón (MgratonFrequency), número de ndvduos que mgran (MgratonRate), qué ndvduo será consderado como emgrante (MgrantSelecton), cuál será reemplazado con un emgrante entrante (MgrantReplacement) o s deseamos un modelo síncrono o asíncrono (SyncTypeEnum). Exste un conjunto de operacones nteresantes que podemos realzar destnadas a mejorar la búsqueda y el análss de los resultados. Podemos manpular la adecuacón hacendo escalado para separar entre sí los valores y facltar la seleccón (FtnessMappngTypeEnum). Tambén podemos cargar o guardar poblacones en dsco en cualquer momento de la ejecucón. El crtero de fnalzacón puede modfcarse, y es posble tambén obtener trazas de la adecuacón meda, mejor, entropía meda, dstanca de Hammng, etc. ndcando además la frecuenca con que esto se desea (FrequencyValue). Por otro lado, es tambén posble estudar la adecuacón meda de un esquema en partcular (SetSchemaToStudy), así como el número de nstancas reales y predchas por el teorema de los esquemas (véanse nformes ). Es posble tambén ser nformado del tempo de ejecucón (ElapsedRunTme) y del número de evaluacones realzadas para alcanzar la solucón (NumberOfEvaluatons), ambos mportantes en un algortmo genétco paralelo. 99

114 CAPÍTULO 3. EL MODELO PROPUESTO Nvel de Instanca En el nvel de nstanca de un marco se pde al usuaro que proporcone valores para los parámetros abstractos, convrtendo así al AGP genérco en uno específco para el problema. Los valores asgnados se proporconan en una sntaxs smlar a la de ANSI C sn construccones paralelas. Esta es la razón de que el usuaro no neceste conocer detalles de programacón paralela. Exsten tres formas de generar una nstanca: Usando un lenguaje textual en el que (báscamente) se asgnan valores a parámetros. Usando una nterfaz gráfca propa del marco, dseñada adhoc (como xpga para PGAPack). Usando FIT para generar gráfcamente la nstanca a partr de la especfcacón abstracta. El sstema es más genérco y menos sofstcado, pero gualmente útl. A contnuacón ofrecemos una nstanca básca para resolver el problema de la esfera de n=3 varables usando un dcga de 8 slas. En ella podemos observar que defnmos valores ncluso para algunas operacones que dsponen ya de valores por defecto. En el apartado de códgo de usuaro se proporconan declaracones globales de varables y funcones auxlares. FRAME SPHERE IS xxga (SOCKET) END SPHERE. CONSTANT DataType = Bnary; CONSTANT GeneNumber = 3; CONSTANT GeneLength = 32; CONSTANT IntalzatonType = IntBnRandom; CONSTANT IslandPopSze = 64; CONSTANT BascIslandEvoluton = generatonal; CONSTANT Topology = grd; CONSTANT Neghborhood = NEWS; CONSTANT GrdHeght = 4; CONSTANT GrdWdth = 16; CONSTANT SelFrstParent = SelectonTournament; CONSTANT SelSecondParent = SelectonRandom; CONSTANT TournamentSze = 2; CONSTANT CrossoverType = DPX1; CONSTANT CrossoverProb = 1.0; CONSTANT MutatonType = MutatonConstant; CONSTANT MutatonProb = ; CONSTANT ReplacementType = ReplIfBetter; CONSTANT NumberOfIslands = 8; CONSTANT MgratonFrequency = 1; CONSTANT SyncMode = async; FUNCTION Evaluate = double Evaluate (xxgacontextptr ctx, nt p, nt pop) { nt ; double ftness=0.0, x; }; for ( =0; <n; ++ ) { x = xxgadecodegene(ctx,p,pop,); ftness += x*x; } return ftness; STATEMENT UserCode = { nt n = 3; /* Sze of the problem */ }; 100

115 CAPÍTULO 3. EL MODELO PROPUESTO Nvel de Implementacón El nvel de mplementacón contendría los fcheros fuente de la mplementacón de xxga y las reglas sobre cómo modfcarlos para generar un fchero ejecutable que contemple los parámetros elegdos por el usuaro usando la nterfaz gráfca. Un proceso de pre-complacón daría lugar según el sstema de [RP97] a un drectoro aparte con fcheros fuente y un fchero makefle lstos para ser complados en la máquna que se desee como destno (suponendo en este caso que es posble usar la nterfaz socket sobre ella). De hecho, dada las capacdades de confguracón usando fcheros de texto de xxga la recomplacón real sería poco frecuente. El proceso global consste en generar los tres nveles para dseñar un marco, hacerlo dsponble en un repostoro de Internet con su documentacón asocada y dejarlo lsto para usar. El usuaro después podría generar los fcheros fuente para la ejecucón a través de una nterfaz gráfca amgable sn necesdad de conocmentos detallados sobre el tema n los procesos nternos de pre-complacón a los que se somete cada nvel del marco Resumen de la Propuesta En resumen, las prncpales consderacones hechas en este capítulo son las sguentes: Es necesaro un enfoque de dseño y de estudo unfcado en el campo de los algortmos evolutvos paralelos. Los benefcos de este trabajo permtrán elegr el modelo más convenente para un problema, así como trasvasar conocmentos entre modelos paralelos. Los algortmos evolutvos paralelos dstrbudos no son una alternatva a los celulares. Es posble dstrbur algortmos con poblacón estructurada o únca. Se espera potencar las ventajas teórcas en ambos casos, así como un menor tempo de ejecucón debdo al uso de un sstema hardware dstrbudo. La propuesta de un modelo dstrbudo de slas de poblacón únca y/o celulares añade a las ventajas de menor tempo de ejecucón la flexbldad de elegr la presón selectva deseada, además de las posbldades de ejecucón heterogénea y asíncrona. Un dseño en forma de clases de objetos es una manera muy natural y práctca de mplementar software evolutvo paralelo. El paradgma de la programacón orentada a objetos es benefcoso en sí para el sstema de manpulacón genétca, así como para la ejecucón paralela y el segumento de la ejecucón. Sn embargo, deben cudarse los detalles referentes a la herenca, sobre todo en las estructuras de datos báscas. Asmsmo, las decsones sobre la forma de mplementar la poblacón de estructuras y el almacén de operadores nfluyen en la flexbldad y velocdad de cómputo resultante. El dseño de un sstema de comuncacón efcente y de fcheros de confguracón son puntos de especal nterés en un sstema paralelo de esta envergadura en aras de una comuncacón segura y con vstas a facltar la extraccón y uso de una famla concreta de algortmos. La gran generaldad y versatldad del sstema puede extenderse a un sstema de marcos de programacón, permtendo así un acercamento de los algortmos genétcos paralelos dstrbudos a usuaros fnales o nvestgadores de otras áreas. 101

116 CAPÍTULO 3. EL MODELO PROPUESTO 102

117 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS 4 Evaluacón de los Resultados Atendendo a los planteamentos genércos del Capítulo 1, debdo a las necesdades y consderacones del Capítulo 2, y utlzando los modelos algorítmcos concretos propuestos en el Capítulo 3, realzamos en este capítulo un estudo de dchos algortmos y analzamos los resultados obtendos. De esta forma, haremos hncapé en una comparatva que permta poner de manfesto las prncpales ventajas e nconvenentes de cada técnca y modelo. En concreto, este capítulo se encuentra dvddo en 5 seccones. La prmera seccón (4.1) contene un estudo del comportamento canónco teórco de los numerosos modelos y varantes desde tres puntos de vsta: (a) el mantenmento de la dversdad, (b) la presón selectva y (c) el tratamento de esquemas. Todos estos puntos de vsta aclaran de forma comparatva el tpo de búsqueda que realza cada modelo, permtendo decdr en el futuro cuál es más apropado según el tpo de problemátca al que se enfrente. La Seccón 4.2 dscute por separado la mportanca práctca de algunos de los parámetros más nfluyentes en los modelos de poblacón descentralzada. Nuestro objetvo es profundzar en su conocmento tanto como aportar datos que puedan ayudar a futuros estudos. En concreto, la Seccón presenta la nfluenca real de la polítca de mgracón en un modelo dstrbudo. La Seccón estuda la consderable mportanca del tpo de reemplazo en un algortmo celular. Fnalmente, la Seccón dscute en detalle la nfluenca del tpo de malla usada en un algortmo genétco celular en térmnos de su efcenca y porcentaje de éxto. Una vez realzado el estudo teórco sobre comportamentos báscos, y establecda la mportanca de parámetros propos del uso de poblacones estructuradas, dscutmos en la Seccón 4.3 el esfuerzo de evaluacón de los modelos xxga sobre nstancas de problemas conocdos, con la ntencón de tomar un punto de vsta práctco dscutendo algunos estudos prelmnares y comparando con otros algortmos. El número de evaluacones (puntos vstados) es una nteresante métrca para dscernr el tpo de algortmos con el que nos enfrentamos y resaltar sus característcas más sobresalentes con vstas a su uso o extensones futuras. La Seccón 4.4 aborda en detalle la efcenca de los algortmos paralelos dstrbudos en térmnos del esfuerzo de evaluacón, ganancas de velocdad e nfluenca del sncronsmo. En la Subseccón se estudan exhaustvamente dchas característcas sobre el problema SPH16-32, mentras que en la Subseccón se confrman y afnan algunas conclusones sobre los modelos algorítmcos analzados. Para este fn se utlzan problemas consderablemente más dfícles como el entrenamento de RNs y el problema de la suma del subconjunto. En últmo lugar, realzamos un breve estudo sobre la forma en que los múltples modelos ressten el crecmento en la dfcultad del problema que resuelven usando recursos computaconales constantes. La Seccón 4.5 muestra un aspecto en la evaluacón de algortmos que puede orentar sobre la potenca de búsqueda de las dstntas varantes de estos heurístcos. 103

118 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS 4.1. Comportamento Teórco Básco En esta seccón pretendemos comprobar el comportamento teórco de los modelos más nteresantes de varantes dervadas de xxga. Para ello comenzaremos con un análss comparatvo del mantenmento de la dversdad, tanto en modelos de poblacón únca como de poblacón estructurada (y tanto secuencales como paralelos). En la segunda subseccón dscutremos sobre dos problemas la exstenca empírca de los dstntos tpos de presón selectva dervados teórcamente en el Capítulo 2. Fnalmente, la tercera subseccón revsa el tratamento de esquemas en las varantes algorítmcas menconadas para comprobar de qué forma se ajusta cada algortmo al comportamento predcho por el teorema de los esquemas Mantenmento de la Dversdad A contnuacón ncamos el estudo comparatvo analzando uno de los aspectos más mportantes de estos algortmos: la forma en que cada uno mantene la dversdad de su genotpo a lo largo de la evolucón. Esta característca es mportante debdo a que está relaconada con el funconamento de los operadores, la ampltud de la búsqueda, la aparcón de mínmos locales e ncluso con la capacdad de soluconar problemas cuya funcón objetvo camba dnámcamente - capacdad de adaptacón- a lo largo de la evolucón (problemas no-estaconaros) [KH97]. Exste un amplo abanco de posbldades para medr la dversdad de una poblacón y cómo ésta varía a lo largo de una ejecucón. Una solucón es medr la dstanca de Hammng meda de los ndvduos o ncluso usando fórmulas a la medda [ER96]. Sn embargo, en este trabajo hemos optado por un concepto tradconal de teoría de la nformacón como es la entropía (Ecuacón 4.1). De esta forma, atendendo a la formulacón general de cantdad de nformacón, medmos la entropía meda (en bts) de la poblacón P(t) en la generacón t como: l 1 [ P t) ] = ( P0 log 2 P0 + P1 log 2 P1 ) H (, (4.1) l = 1 donde P 0 es la proporcón de ceros en la poscón -ésma y P 1 la proporcón de unos. Es de esperar que la poblacón ncal de cualquer modelo presente altos valores de entropía debdo a que su composcón sgue una dstrbucón aleatora unforme. A lo largo de la evolucón la seleccón tende a dsmnur la entropía mentras que el cruce normalmente no afecta a este valor. La mutacón sí que tene un efecto aprecable al tender a ntroducr mayor entropía de la exstente para mantener una búsqueda útl. Puede observarse en la Fgura 4.1a (meda de 20 ejecucones) que los modelos generaconales y celulares mantenen la dversdad de forma mucho más acusada que el modelo estaconaro (512 ndvduos). Este resultado es de esperar debdo a la componente de explotacón de este modelo. En el caso dstrbudo (8 slas de 64 ndvduos) las curvas camban sustancalmente al dsponer de slas de poblacones más pequeñas donde se perde dversdad a mayor velocdad. Báscamente, los tres modelos aceleran su pérdda de dversdad. En caso de una mgracón cada generacón (Fgura 4.1b) la pérdda es más rápda que en el caso de una mgracón nfrecuente (Fgura 4.1c) donde se generan dstntas especes de solucón que promoconan la dversdad cuando mgran a otra poblacón (montañas en los modelos estaconaro y generaconal). 104

119 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 #evaluacones( ) cga(4x128) cga(22x23) genga ssga entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 dcga(4x16) dcga(8x8) dssga dgenga #evaluacones( ) entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 #evaluacones( ) dcga(4x16) dcga(8x8) (a) (b) (c) Fgura 4.1. Entropía meda de la poblacón (en bts) en la resolucón del problema SPH16-32 para los modelos no dstrbudos (a) y dstrbudos: mgracón cada 64 evaluacones (b) y cada 2048 evaluacones (c). Usamos 512 ndvduos, en el caso dstrbudo 8 slas con 64 ndvduos cada una, cruce de dos puntos con p c =1.0 y mutacón bnara con p m =1/l. Nótese cómo dcga se ve menos afectado debdo a sus elevados índces de dversdad mantenda gracas al aslamento por la dstanca. De hecho, son las mgracones las que mpden en la Fgura 4.1c un descenso tan acusado como el de la Fgura 4.1b. Sn embargo, la dversdad no es por sí sola un ndco de la caldad de la búsqueda, ya que lo deal es perder dversdad muy rápdo sempre que sea en benefco de una solucón al problema. La excepcón a esta regla la encontramos cuando se desean encontrar múltples solucones al msmo tempo en la poblacón fnal, o ben cuando se busca la adaptacón a entornos cambantes. En la Fgura 4.1 la convergenca a una solucón ocurre para los modelos estaconaro y celular, y en menor medda para el generaconal, que no llega a afnar totalmente una solucón a este problema en el rango de evaluacones mostrado. De hecho, el modelo estaconaro encuentra la solucón muy rápdo debdo a la sencllez relatva del problema (SPH16-32). En la Fgura 4.2 podemos observar cómo esta stuacón camba ante un problema dfícl como el de la suma del subconjunto, para modelos no dstrbudos (Fgura 4.2 zqda.) y dstrbudos (Fgura 4.2 dcha.). Nótese en el gráfco de la zquerda cómo el rango del eje Y es [0,9..1], debdo a que la entropía meda es muy alta para todos los algortmos, ya que el espaco de búsqueda es consderablemente extenso (y tambén la varanza de la adecuacón). entropía meda de la poblacón (bts) 1 0,9 + #evaluacones( ) cga(4x128) cga(22x23) ssga genga entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 + #evaluacones( ) dgenga dssga dcga(4x16) dcga(8x8) Fgura 4.2. Entropía meda de la poblacón (en bts) en la resolucón del problema SSS128 para los modelos no dstrbudos (zqda.) y dstrbudos (dcha.). Usamos 512 ndvduos, en el caso dstrbudo 8 slas con 64 ndvduos cada una, cruce de dos puntos con p c =1.0 y mutacón bnara con p m =1/l -mgracón de una cadena aleatora cada 2048 evaluacones-. dgenga dssga 105

120 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS Este escenaro explca por qué los algortmos estaconaros, ncluso cuando están dstrbudos, con frecuenca no presentan de forma acusada los problemas que teórcamente pueden dervarse sobre pérdda de dversdad, proporconando además resultados compettvos [AAT93b] [Wht89] [ACT99]. En este problema, las versones dstrbudas de los modelos celulares (Fgura 4.2 dcha.) contnúan mantenendo una dversdad muy elevada (>0,9) durante toda la búsqueda, hacendo patente su componente de exploracón. N squera las poblacones de 64 ndvduos en el caso estaconaro muestran tendencas preocupantes de pérdda de dversdad. Esta stuacón es deal para estos modelos que de por sí agudzan la explotacón del materal de la poblacón. La dversdad de la poblacón es de esperar que dependa de su tamaño. Para estudar esta característca presentamos en Fgura 4.3 el conjunto de resultados para resolver SSS128 como en el caso anteror pero usando una poblacón global de 256/n proc en vez de 512/ n proc. entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 + #evaluacones( ) cga(4x64) cga(16x16) genga ssga entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 + #evaluacones( ) dcga(4x8) dcga(6x6) Fgura 4.3. Entropía meda de la poblacón (en bts) en la resolucón del problema SSS128 para los modelos no dstrbudos (zquerda) y dstrbudos (derecha). Usamos 256 ndvduos, en el caso dstrbudo 8 slas con 32 ndvduos cada una (mgracón cada 2048 evaluacones). Puede observarse cómo el modelo generaconal y celular no dstrbudos (Fgura 4.3 zqda.) mantenen una dversdad tambén superor al modelo estaconaro. Éste, sn embargo, no presenta la típca curva de decrecmento exponencal de la dversdad, sno que demuestra un descenso paulatno bastante deseable. El msmo efecto se mantene en el caso dstrbudo con 8 procesadores (Fgura 4.3 dcha.). Obsérvese de nuevo en ambos casos la elevada dversdad de los modelos celulares. En este y en el resto de casos anterores el tpo de rejlla parece nfluencar mínmamente la dversdad meda de la poblacón, tanto s están dstrbudos como s no lo están. En el caso de SPH16-32 se debe a la alta velocdad con que se encuentra y propaga la solucón, y en el caso de SSS128 se debe al elevado número de posbles valores de adecuacón que fáclmente aparecen. Otro parámetro que afecta al mantenmento de la dversdad es el ntervalo de mgracón. Ya comprobamos cómo un aslamento pronuncado permte mantener gran cantdad de nformacón en el algortmo (Fgura 4.1c). En el problema SS128 el efecto es smlar, aunque no tan acusado, debdo al elevado número de valores de adecuacón dstntos posbles. Compruebe cómo al reducr de 2048 (Fgura 4.4a) a 64 (Fgura 4.4b) el número de evaluacones entre mgracones la dversdad tende a dsmnur en el modelo celular debdo al mayor acoplamento. El ntervalo de mgracón parece nflur más en el comportamento celular dstrbudo que la reduccón del tamaño de la poblacón, lo cual nos recuerda la mportanca de este parámetro de la mgracón. Es por esto que estudaremos aparte en la Seccón 4.2 dcha nfluenca. dgenga dssga 106

121 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS Los modelos dgenga y dssga tenden a subr lgeramente respecto al uso de un ntervalo de mgracón mayor debdo a que el algortmo no puede encontrar en la mayoría de los casos una solucón con un ntervalo tan pequeño (generando contnuamente buenos y dstntos ndvduos que mantenen la dversdad pero que no son solucón) entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 #evaluacones( ) dcga(4x16) dcga(8x8) dgenga dssga entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 dcga(4x16) dcga(8x8) #evaluacones( ) dgenga dssga entropía meda de la poblacón (bts) 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 #evaluacones( ) dcga(4x16) dcga(8x8) (a) (b) (c) Fgura 4.4. Entropía meda de la poblacón (en bts) en la resolucón del problema SSS128 para los modelos dstrbudos con (a) ntervalo de mgracón de 2048 evaluacones (b) de 64 evaluacones y (c) dstrbudos asíncronos con mgracón cada 2048 evaluacones. Usamos sempre 512 ndvduos en total, 8 slas, e guales probabldades que para la Fgura 4.2. dgenga dssga Ya que hemos comprobado la nfluenca del tamaño de la poblacón y del ntervalo de mgracón nos resta confrmar la hpótess de que ejecutar el modelo de forma asíncrona no altera sgnfcatvamente el espectro de entropía. Efectvamente, la Fgura 4.4c confrma esta hpótess. Podemos comprobar su smltud cas total con el modelo síncrono equvalente de la Fgura 4.4a. En resumen, hemos poddo observar que, en la práctca, los modelos estudados mantenen una dversdad excelente en el caso generaconal y celular y sorprendentemente buena en el caso estaconaro s tenemos en cuenta que, en teoría, debería converger mucho más rápdo. Estos resultados permten comprender mejor el comportamento en la solucón de los problemas abordados y hacen de los modelos presentados algortmos deales para combnarlos con operadores de búsqueda local, aumentando así las expectatvas de éxto [Cott98]. El ntervalo de mgracón usado y el tamaño de la poblacón afectan a la dversdad sensblemente, y el valor más adecuado para cada uno de ellos depende del problema. En general, los algortmos dstrbudos usan poblacones globales mayores que los secuencales y tambén ntervalos de mgracón altos, lo que favorece la dversdad mucho, preparando al algortmo para trabajar con problemas complejos. Hemos comprobado asmsmo cómo el tpo de sncronzacón no afecta sensblemente al nvel de entropía, aunque es de esperar que sí lo haga en cuanto a tempo de ejecucón (Seccón 4.4). Para termnar este estudo sobre la dversdad queremos presentar algunos detalles del funconamento del modelo celular en relacón a este aspecto. En las gráfcas anterores hemos presentado la entropía para una malla cuadrada y para otra delgada por separado porque exsten evdencas anterores a nuestro trabajo de que dcho parámetro afecta al tpo de búsqueda del algortmo. En partcular, la Seccón profundzará en este tema. Por el momento, queremos comprobar cómo se dfunden las estructuras en una poblacón estructurada en malla. Prmero dscutremos algunos detalles generales y después demostraremos empírcamente la forma en que dcha mayor dversdad está presente en las mallas delgadas. 107

122 CAPÍTULO 4. EVALUACIÓN DE LOS RESULTADOS El tempo necesaro para que una solucón se extenda por toda la malla de µ ndvduos es O( µ ) para una malla cuadrada y O(µ) para una malla rectangular de altura 4, 3, 2, 1 y valores altos de µ. En la práctca aparecen dferencas notables debdo a que en su vaje por la malla una cadena debe competr con nuevas cadenas cada vez mejores, producéndose una dfusón más suave en el caso de una malla delgada. Esta es la razón de su lenta convergenca y mayor exploracón. De hecho, sería necesaro demostrar que mantener la dversdad mplca mejorar la probabldad de encontrar una solucón, aunque, en general, esto se asume en la práctca. En la Fgura 4.5 mostramos la dstrbucón de la adecuacón a través de varas generacones para dstntos tpos de mallas que resuelven MMDP15 (seleccón proporconal, DPX1 con probabldad 1.0, mutacón con probabldad 0.1 y reemplazo por torneo bnaro). Un color más oscuro sgnfca un valor de adecuacón mayor. Puede observarse cómo aparecen regones (nchos) del msmo color. Es en los límtes entre estas regones donde se produce la exploracón [SM91]. Exste una relacón entre las regones en la malla y las regones del espaco de búsqueda explorado. Por tanto, a mayor número de regones mejor exploracón. (16x16) #50 #100 #150 (32x8) #50 #100 #150 (64x4) #50 #100 #150 (256x1) #50 #100 #150 Fgura 4.5. Evolucón (#paso) de la adecuacón en un algortmo genétco celular de malla progresvamente más delgada, sobre el problema MMDP15. Una vez estudado el mantenmento de la dversdad en los modelos que nos nteresan pasamos en la sguente seccón a comprobar empírcamente que la presón selectva es dstnta en cada uno de ellos, y que a pesar de las modfcacones de los operadores de varacón, esta presón teórca puede comprobarse en problemas reales. 108

Apéndice A: Metodología para la evaluación del modelo de pronóstico meteorológico

Apéndice A: Metodología para la evaluación del modelo de pronóstico meteorológico Apéndce A: Metodología para la evaluacón del modelo de pronóstco meteorológco Apéndce A: Metodología para la evaluacón del modelo de pronóstco meteorológco Tabla de contendos Ap.A Apéndce A: Metodología

Más detalles

Problemas donde intervienen dos o más variables numéricas

Problemas donde intervienen dos o más variables numéricas Análss de Regresón y Correlacón Lneal Problemas donde ntervenen dos o más varables numércas Estudaremos el tpo de relacones que exsten entre ellas, y de que forma se asocan Ejemplos: La presón de una masa

Más detalles

FE DE ERRATAS Y AÑADIDOS AL LIBRO FUNDAMENTOS DE LAS TÉCNICAS MULTIVARIANTES (Ximénez & San Martín, 2004)

FE DE ERRATAS Y AÑADIDOS AL LIBRO FUNDAMENTOS DE LAS TÉCNICAS MULTIVARIANTES (Ximénez & San Martín, 2004) FE DE ERRATAS Y AÑADIDOS AL LIBRO FUNDAMENTOS DE LAS TÉCNICAS MULTIVARIANTES (Xménez & San Martín, 004) Capítulo. Nocones báscas de álgebra de matrces Fe de erratas.. Cálculo de la transpuesta de una matrz

Más detalles

H 0 : La distribución poblacional es uniforme H 1 : La distribución poblacional no es uniforme

H 0 : La distribución poblacional es uniforme H 1 : La distribución poblacional no es uniforme Una hpótess estadístca es una afrmacón con respecto a una característca que se desconoce de una poblacón de nterés. En la seccón anteror tratamos los casos dscretos, es decr, en forma exclusva el valor

Más detalles

3 LEYES DE DESPLAZAMIENTO

3 LEYES DE DESPLAZAMIENTO eyes de desplazamento EYES DE DESPAZAMIENTO En el capítulo dos se expone el método de obtencón de las leyes de desplazamento dseñadas por curvas de Bézer para mecansmos leva palpador según el planteamento

Más detalles

Pronósticos. Humberto R. Álvarez A., Ph. D.

Pronósticos. Humberto R. Álvarez A., Ph. D. Pronóstcos Humberto R. Álvarez A., Ph. D. Predccón, Pronóstco y Prospectva Predccón: estmacón de un acontecmento futuro que se basa en consderacones subjetvas, en la habldad, experenca y buen juco de las

Más detalles

Reconocimiento de Locutor basado en Procesamiento de Voz. ProDiVoz Reconocimiento de Locutor 1

Reconocimiento de Locutor basado en Procesamiento de Voz. ProDiVoz Reconocimiento de Locutor 1 Reconocmento de Locutor basado en Procesamento de Voz ProDVoz Reconocmento de Locutor Introduccón Reconocmento de locutor: Proceso de extraccón automátca de nformacón relatva a la dentdad de la persona

Más detalles

Matemáticas Discretas

Matemáticas Discretas Coordnacón de Cencas Computaconales - INAOE Matemátcas Dscretas Cursos Propedéutcos 2010 Cencas Computaconales INAOE Dr. Lus Vllaseñor Pneda vllasen@naoep.mx http://ccc.naoep.mx/~vllasen Algo de nformacón

Más detalles

Introducción a la Física. Medidas y Errores

Introducción a la Física. Medidas y Errores Departamento de Físca Unversdad de Jaén Introduccón a la Físca Meddas y Errores J.A.Moleón 1 1- Introduccón La Físca y otras cencas persguen la descrpcón cualtatva y cuanttatva de los fenómenos que ocurren

Más detalles

MUESTREO EN POBLACIONES FINITAS

MUESTREO EN POBLACIONES FINITAS MUESTREO EN POBLACIONES FINITAS Antono Morllas A.Morllas: Muestreo 1 MUESTREO EN POBLACIONES FINITAS 1. Conceptos estadístcos báscos. Etapas en el muestreo 3. Tpos de error 4. Métodos de muestreo 5. Tamaño

Más detalles

EJEMPLO DE APLICACIÓN

EJEMPLO DE APLICACIÓN Aprendzaje Automátco y Data Mnng Bloque VI EJEMPLO DE APLICACIÓN 1 Índce Problema a resolver. Propuesta de uso de aprendzaje. Algortmo desarrollado. Seleccón del clasfcador. Resultados expermentales. Entorno

Más detalles

Econometría de corte transversal. Pablo Lavado Centro de Investigación de la Universidad del Pacífico

Econometría de corte transversal. Pablo Lavado Centro de Investigación de la Universidad del Pacífico Econometría de corte transversal Pablo Lavado Centro de Investgacón de la Unversdad del Pacífco Contendo Defncones báscas El contendo mínmo del curso Bblografía recomendada Aprendendo econometría Defncones

Más detalles

Figura 1

Figura 1 5 Regresón Lneal Smple 5. Introduccón 90 En muchos problemas centífcos nteresa hallar la relacón entre una varable (Y), llamada varable de respuesta, ó varable de salda, ó varable dependente y un conjunto

Más detalles

EXPERIMENTACIÓN COMERCIAL(I)

EXPERIMENTACIÓN COMERCIAL(I) EXPERIMENTACIÓN COMERCIAL(I) En un expermento comercal el nvestgador modfca algún factor (denomnado varable explcatva o ndependente) para observar el efecto de esta modfcacón sobre otro factor (denomnado

Más detalles

CAPÍTULO IV: MODELOS MATEMÁTICOS Y MODELOS EN RED

CAPÍTULO IV: MODELOS MATEMÁTICOS Y MODELOS EN RED Modelo en red para la smulacón de procesos de agua en suelos agrícolas. CAPÍTULO IV: MODELOS MATEMÁTICOS Y MODELOS EN RED IV.1 Modelo matemátco 2-D Exsten dos posbldades, no ndependentes, de acuerdo con

Más detalles

GERENCIA DE OPERACIONES Y PRODUCCIÓN DISEÑO DE NUEVOS PRODUCTOS Y SERVICIOS ESTRATEGIAS DE OPERACIONES

GERENCIA DE OPERACIONES Y PRODUCCIÓN DISEÑO DE NUEVOS PRODUCTOS Y SERVICIOS ESTRATEGIAS DE OPERACIONES GERENCIA DE OPERACIONES Y PRODUCCIÓN DISEÑO DE NUEVOS PRODUCTOS Y SERVICIOS ESTRATEGIAS DE OPERACIONES PRONÓSTICOS PREDICCIÓN, PRONÓSTICO Y PROSPECTIVA Predccón: estmacón de un acontecmento futuro que

Más detalles

Objetivo del tema. Esquema del tema. Economía Industrial. Tema 2. La demanda de la industria

Objetivo del tema. Esquema del tema. Economía Industrial. Tema 2. La demanda de la industria Economía Industral Tema. La demanda de la ndustra Objetvo del tema Entender el modelo económco de comportamento del consumdor, fnalmente resumdo en la funcón de demanda. Comprender el carácter abstracto

Más detalles

DESEMPEÑO DEL CONTROL DE FRECUENCIA PROCEDIMIENTO DO

DESEMPEÑO DEL CONTROL DE FRECUENCIA PROCEDIMIENTO DO Clascacón: Emtdo para Observacones de los Coordnados Versón: 1.0 DESEMPEÑO DEL CONTROL DE FRECUENCIA PROCEDIMIENTO DO Autor Dreccón de Operacón Fecha Creacón 06-04-2010 Últma Impresón 06-04-2010 Correlatvo

Más detalles

IDENTIFICACIÓN Y MODELADO DE PLANTAS DE ENERGÍA SOLAR

IDENTIFICACIÓN Y MODELADO DE PLANTAS DE ENERGÍA SOLAR IDENTIFICACIÓN Y MODELADO DE PLANTAS DE ENERGÍA SOLAR En esta práctca se llevará a cabo un estudo de modelado y smulacón tomando como base el ntercambador de calor que se ha analzado en el módulo de teoría.

Más detalles

5. PROGRAMAS BASADOS EN RELACIONES DE RECURRENCIA.

5. PROGRAMAS BASADOS EN RELACIONES DE RECURRENCIA. Programacón en Pascal 5. PROGRAMAS BASADOS EN RELACIONES DE RECURRENCIA. Exsten numerosas stuacones que pueden representarse medante relacones de recurrenca; entre ellas menconamos las secuencas y las

Más detalles

CURSO INTERNACIONAL: CONSTRUCCIÓN DE ESCENARIOS ECONÓMICOS Y ECONOMETRÍA AVANZADA. Instructor: Horacio Catalán Alonso

CURSO INTERNACIONAL: CONSTRUCCIÓN DE ESCENARIOS ECONÓMICOS Y ECONOMETRÍA AVANZADA. Instructor: Horacio Catalán Alonso CURSO ITERACIOAL: COSTRUCCIÓ DE ESCEARIOS ECOÓMICOS ECOOMETRÍA AVAZADA Instructor: Horaco Catalán Alonso Modelo de Regresón Lneal Smple El modelo de regresón lneal representa un marco metodológco, que

Más detalles

Mª Dolores del Campo Maldonado. Tel: :

Mª Dolores del Campo Maldonado. Tel: : Mª Dolores del Campo Maldonado Tel: : 918 074 714 e-mal: ddelcampo@cem.mtyc.es Documentacón de referenca nternaconalmente aceptada ISO/IEC GUIDE 98-3:008 Uncertanty of measurement Part 3: Gude to the n

Más detalles

Medidas de Variabilidad

Medidas de Variabilidad Meddas de Varabldad Una medda de varabldad es un ndcador del grado de dspersón de un conjunto de observacones de una varable, en torno a la meda o centro físco de la msma. S la dspersón es poca, entonces

Más detalles

Dpto. Física y Mecánica

Dpto. Física y Mecánica Dpto. Físca y Mecánca Mecánca analítca Introduccón Notacón Desplazamento y fuerza vrtual Fuerza de lgadura Trabao vrtual Energía cnétca. Ecuacones de Lagrange Prncpode los trabaos vrtuales Prncpo de D

Más detalles

EL ANÁLISIS DE LA VARIANZA (ANOVA) 2. Estimación de componentes de varianza

EL ANÁLISIS DE LA VARIANZA (ANOVA) 2. Estimación de componentes de varianza EL ANÁLSS DE LA VARANZA (ANOVA). Estmacón de componentes de varanza Alca Maroto, Rcard Boqué Grupo de Qumometría y Cualmetría Unverstat Rovra Vrgl C/ Marcel.lí Domngo, s/n (Campus Sescelades) 43007-Tarragona

Más detalles

Reconciliación de datos experimentales. MI5022 Análisis y simulación de procesos mineralúgicos

Reconciliación de datos experimentales. MI5022 Análisis y simulación de procesos mineralúgicos Reconclacón de datos expermentales MI5022 Análss y smulacón de procesos mneralúgcos Balances Balances en una celda de flotacón En torno a una celda de flotacón (o un crcuto) se pueden escrbr los sguentes

Más detalles

Dicha tabla adopta la forma del diagrama de árbol del dibujo. En éste, a cada uno de los sucesos A y A c se les ha asociado los sucesos B y B c.

Dicha tabla adopta la forma del diagrama de árbol del dibujo. En éste, a cada uno de los sucesos A y A c se les ha asociado los sucesos B y B c. Estadístca robablístca 6. Tablas de contngenca y dagramas de árbol. En los problemas de probabldad y en especal en los de probabldad condconada, resulta nteresante y práctco organzar la nformacón en una

Más detalles

PROYECTO DE TEORIA DE MECANISMOS. Análisis cinemático y dinámico de un mecanismo plano articulado con un grado de libertad.

PROYECTO DE TEORIA DE MECANISMOS. Análisis cinemático y dinámico de un mecanismo plano articulado con un grado de libertad. Nombre: Mecansmo: PROYECTO DE TEORIA DE MECANISMOS. Análss cnemátco y dnámco de un mecansmo plano artculado con un grado de lbertad. 10. Análss dnámco del mecansmo medante el método de las tensones en

Más detalles

La representación Denavit-Hartenberg

La representación Denavit-Hartenberg La representacón Denavt-Hartenberg José Cortés Parejo. Marzo 8 Se trata de un procedmeto sstemátco para descrbr la estructura cnemátca de una cadena artculada consttuda por artculacones con. un solo grado

Más detalles

Interacción de Métodos Teóricos, Numéricos y Experimentales en el Rediseño y Análisis de un Elemento Estructural Hecho de Materiales Compuestos.

Interacción de Métodos Teóricos, Numéricos y Experimentales en el Rediseño y Análisis de un Elemento Estructural Hecho de Materiales Compuestos. Interaccón de Métodoeórcos, Numércos y Expermentales en el Redseño y Análss de un Elemento Estructural Hecho de Materales ompuestos. Juan arlos Valdés alazar McME Gerente de Ingenería y Desarrollo PADA

Más detalles

Nos interesa asignar probabilidades a valores numéricos obtenidos a partir de fenómenos aleatorios, es decir a variables aleatorias.

Nos interesa asignar probabilidades a valores numéricos obtenidos a partir de fenómenos aleatorios, es decir a variables aleatorias. Estadístca (Q) Dana M. Kelmansky 5 Varables Aleatoras Nos nteresa asgnar probabldades a valores numércos obtendos a partr de fenómenos aleatoros, es decr a varables aleatoras. Por ejemplo, calcular la

Más detalles

Tema 4: Variables aleatorias

Tema 4: Variables aleatorias Estadístca 46 Tema 4: Varables aleatoras El concepto de varable aleatora surge de la necesdad de hacer más manejables matemátcamente los resultados de los expermentos aleatoros, que en muchos casos son

Más detalles

Economía de la Empresa: Financiación

Economía de la Empresa: Financiación Economía de la Empresa: Fnancacón Francsco Pérez Hernández Departamento de Fnancacón e Investgacón de la Unversdad Autónoma de Madrd Objetvo del curso: Dentro del contexto de Economía de la Empresa, se

Más detalles

ANEXO 24 JUSTIFICACIÓN ECONÓMICA

ANEXO 24 JUSTIFICACIÓN ECONÓMICA ANEXO 24 JUSTIFICACIÓN ECONÓMICA 1 JUSTIFICACION ECONOMICA 1.0 MARCO DE REFERENCIA El plan de Expansón de del Sstema de Transmsón (PEST), tene el objetvo de planfcar la expansón y reposcón del sstema de

Más detalles

ESTADÍSTICA. Definiciones

ESTADÍSTICA. Definiciones ESTADÍSTICA Defncones - La Estadístca es la cenca que se ocupa de recoger, contar, organzar, representar y estudar datos referdos a una muestra para después generalzar y sacar conclusones acerca de una

Más detalles

Población: Es el conjunto de todos los elementos cuyo conocimiento nos interesa y serán objeto de nuestro estudio.

Población: Es el conjunto de todos los elementos cuyo conocimiento nos interesa y serán objeto de nuestro estudio. Tema 9 - Estadístca - Matemátcas B 4º E.S.O. 1 TEMA 9 - ESTADÍSTICA 9.1 DOS RAMAS DE LA ESTADÍSTICA 9.1.1 - INTRODUCCIÓN Objetvo: La estadístca tene por objeto el desarrollo de técncas para el conocmento

Más detalles

10. VIBRACIONES EN SISTEMAS CON N GRADOS DE LIBERTAD

10. VIBRACIONES EN SISTEMAS CON N GRADOS DE LIBERTAD 10. VIBRACIONES EN SISEMAS CON N GRADOS DE LIBERAD 10.1. Matrces de rgdez, nerca y amortguamento Se puede demostrar que las ecuacones lneales del movmento de un sstema dscreto de N grados de lbertad sometdo

Más detalles

Cinemática del Brazo articulado PUMA

Cinemática del Brazo articulado PUMA Cnemátca del Brazo artculado PUMA José Cortés Parejo. Enero 8. Estructura del brazo robótco El robot PUMA de la sere es un brazo artculado con artculacones rotatoras que le proporconan grados de lbertad

Más detalles

Optimización de la ecualización del histograma en el procesamiento de imágenes digitales

Optimización de la ecualización del histograma en el procesamiento de imágenes digitales Optmzacón de la ecualzacón del hstograma en el procesamento de mágenes dgtales Roberto Depaol Lus A. Fernández Danel Daz rd-ng@unlm.edu.ar lfernand@unlm.edu.ar ddaz@unlm.edu.ar Departamento de Ingenería

Más detalles

3.- Programación por metas.

3.- Programación por metas. Programacón Matemátca para Economstas 1 3.- Programacón por metas. Una vez menconados algunos de los nconvenentes de las técncas generadoras, la ncorporacón de nformacón se va a traducr en una accón del

Más detalles

CI63G Planificación de Sistemas de Transporte Público Urbano. Clase 8 Semestre Otoño 2008

CI63G Planificación de Sistemas de Transporte Público Urbano. Clase 8 Semestre Otoño 2008 CI63G Planfcacón de Sstemas de Transporte Públco Urbano Clase 8 Semestre Otoño 2008 Undades Temátcas 1. La oferta de transporte públco urbano (2 semanas) 2. La demanda por TPU (1,5 sem.) 3. Dseño y optmzacón

Más detalles

Vida Util, características de la Fiabilidad e Inviabilidad y distribuciones teóricas en el terreno de la fiabilidad

Vida Util, características de la Fiabilidad e Inviabilidad y distribuciones teóricas en el terreno de la fiabilidad Vda Utl, característcas de la Fabldad e Invabldad y dstrbucones teórcas en el terreno de la fabldad Realzado por: Mgter. Leandro D. Torres Vda Utl Este índce se refere a una vda útl meda nomnal y se puede

Más detalles

PROPORCIONAR RESERVA ROTANTE PARA EFECTUAR LA REGULACIÓN PRIMARIA DE FRECUENCIA ( RPF)

PROPORCIONAR RESERVA ROTANTE PARA EFECTUAR LA REGULACIÓN PRIMARIA DE FRECUENCIA ( RPF) ANEXO I EVALUACIÓN DE LA ENERGIA REGULANTE COMENSABLE (RRmj) OR ROORCIONAR RESERVA ROTANTE ARA EFECTUAR LA REGULACIÓN RIMARIA DE FRECUENCIA ( RF) REMISAS DE LA METODOLOGÍA Las pruebas dnámcas para la Regulacón

Más detalles

Unidad Nº III Unidad Aritmética-Lógica

Unidad Nº III Unidad Aritmética-Lógica Insttuto Unverstaro Poltécnco Santago Marño Undad Nº III Undad Artmétca-Lógca Undad Artmétca-Lógca Es la parte del computador que realza realmente las operacones artmétcas y lógcas con los datos. El resto

Más detalles

SEGUNDA PARTE RENTAS FINANCIERAS

SEGUNDA PARTE RENTAS FINANCIERAS SEGUNDA PARTE RENTAS FINANCIERAS 5 INTRODUCCIÓN A LA TEORÍA DE RENTAS 5.1 CONCEPTO: Renta fnancera: conjunto de captales fnanceros cuyos vencmentos regulares están dstrbudos sucesvamente a lo largo de

Más detalles

Circuitos eléctricos en corriente continúa. Subcircuitos equivalentes Equivalentes en Serie Equivalentes en Paralelo Equivalentes de Thevenin y Norton

Circuitos eléctricos en corriente continúa. Subcircuitos equivalentes Equivalentes en Serie Equivalentes en Paralelo Equivalentes de Thevenin y Norton ema II Crcutos eléctrcos en corrente contnúa Indce Introduccón a los crcutos resstvos Ley de Ohm Leyes de Krchhoff Ley de correntes (LCK) Ley de voltajes (LVK) Defncones adconales Subcrcutos equvalentes

Más detalles

ECUACIONES DIFERENCIALES Problemas de Valor Inicial

ECUACIONES DIFERENCIALES Problemas de Valor Inicial DIVISIÓN DE IENIAS FÍSIAS Y MATEMÁTIAS DTO. TERMODINÁMIA Y FENÓMENOS DE TRANSFERENIA MÉTODOS AROXIMADOS EN ING. QUÍMIA TF-33 EUAIONES DIFERENIALES roblemas de Valor Incal Esta guía fue elaborada por: rof.

Más detalles

Introducción a Vacío

Introducción a Vacío Introduccón a Vacío Sstema de vacío Partes generales de un sstema de vacío: Fgura 1: Sstema de vacío con bomba mecánca y dfusora Fgura 2: Prncpo de funconamento de la bomba mecánca La Fg. 2 muestra el

Más detalles

Tallerine: Energías Renovables. Fundamento teórico

Tallerine: Energías Renovables. Fundamento teórico Tallerne: Energías Renovables Fundamento teórco Tallerne Energías Renovables 2 Índce 1. Introduccón 3 2. Conceptos Báscos 3 2.1. Intensdad de corrente................................. 3 2.2. Voltaje..........................................

Más detalles

UNA FORMA GRÁFICA DE ENSEÑANZA: APLICACIÓN AL DUOPOLIO DE. Dpto. de Métodos Cuantitativos e Informáticos. Universidad Politécnica de Cartagena.

UNA FORMA GRÁFICA DE ENSEÑANZA: APLICACIÓN AL DUOPOLIO DE. Dpto. de Métodos Cuantitativos e Informáticos. Universidad Politécnica de Cartagena. UNA FORMA GRÁFICA DE ENSEÑANZA: APLICACIÓN AL DUOPOLIO DE COURNOT. Autores: García Córdoba, José Antono; josea.garca@upct.es Ruz Marín, Manuel; manuel.ruz@upct.es Sánchez García, Juan Francsco; jf.sanchez@upct.es

Más detalles

Universidad Diego Portales Facultad de Economía y Empresa

Universidad Diego Portales Facultad de Economía y Empresa Unversdad Dego Portales Profesor: Carlos R. Ptta Hasta este momento nos hemos enfocado en juegos en los cuales cualquer nformacón que es conocda por un jugador es conocda por todos los demás (es decr,

Más detalles

Tema 1: Estadística Descriptiva Unidimensional

Tema 1: Estadística Descriptiva Unidimensional Fenómeno determnsta: al repetrlo en déntcas condcones se obtene el msmo resultado. Fenómeno aleatoro: no es posble predecr el resultado. La estadístca se ocupa de aquellos fenómenos no determnstas donde

Más detalles

Cada uno da lo que recibe, Y luego recibe lo que da, Nada es más simple, No hay otra norma: Nada se pierde, Todo se transforma.

Cada uno da lo que recibe, Y luego recibe lo que da, Nada es más simple, No hay otra norma: Nada se pierde, Todo se transforma. Cada uno da lo que recbe, Y luego recbe lo que da, Nada es más smple, No hay otra norma: Nada se perde, Todo se transforma. Todo se transforma (Jorge Drexler, cantautor uruguayo) Estadístca Básca - Manuel

Más detalles

Modelos unifactoriales de efectos aleatorizados

Modelos unifactoriales de efectos aleatorizados Capítulo 4 Modelos unfactorales de efectos aleatorzados En el modelo de efectos aleatoros, los nveles del factor son una muestra aleatora de una poblacón de nveles. Este modelo surge ante la necesdad de

Más detalles

7º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA 7º CONGRESSO IBEROAMERICANO DE ENGENHARIA MECANICA México D.F., 12 al 14 de Octubre de 2005

7º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA 7º CONGRESSO IBEROAMERICANO DE ENGENHARIA MECANICA México D.F., 12 al 14 de Octubre de 2005 7º CONGRESO IBEROAMERICANO DE INGENIERIA MECANICA 7º CONGRESSO IBEROAMERICANO DE ENGENHARIA MECANICA Méxco D.F., 1 al 14 de Octubre de 005 ANÁLISIS DINÁMICO DE UN EQUIPO DE ENSAYO DE AMORTIGUADORES Zabalza

Más detalles

Clase 19: Estado Estacionario y Flujo de Potencia. EL Conversión de la Energía y Sistemas Eléctricos Eduardo Zamora D.

Clase 19: Estado Estacionario y Flujo de Potencia. EL Conversión de la Energía y Sistemas Eléctricos Eduardo Zamora D. Clase 9: Estado Estaconaro y Flujo de Potenca EL400 - Conversón de la Energía y Sstemas Eléctrcos Eduardo Zamora D. Temas - Líneas de Transmsón - El Sstema Eléctrco - Matrz de Admtanca - Flujo de Potenca

Más detalles

Cátedra Investigación Operativa

Cátedra Investigación Operativa Cátedra Investgacón Operatva Prof. Ttular Prof. Adunto JTP JTP Dr. Ing. Jorge E. Núñez Mc Leod Ing. Horaco Day Ing. Roberto Martín (lcenca) Ing. Romna Calvo Olvares Clases: Aula: Vernes 9:-: hs. Teórco-práctcos

Más detalles

Para dos variables x1 y x2, se tiene el espacio B 2 el que puede considerarse definido por: {0, 1}X{0, 1} = {(00), (01), (10), (11)}

Para dos variables x1 y x2, se tiene el espacio B 2 el que puede considerarse definido por: {0, 1}X{0, 1} = {(00), (01), (10), (11)} Capítulo 4 1 N-cubos 4.1. Representacón de una funcón booleana en el espaco B n. Los n-cubos representan a las funcones booleanas, en espacos n-dmensonales dscretos, como un subconjunto de los vértces

Más detalles

CÁLCULO DE INCERTIDUMBRE EN MEDIDAS FÍSICAS: MEDIDA DE UNA MASA

CÁLCULO DE INCERTIDUMBRE EN MEDIDAS FÍSICAS: MEDIDA DE UNA MASA CÁLCULO DE INCERTIDUMBRE EN MEDIDAS FÍSICAS: MEDIDA DE UNA MASA Alca Maroto, Rcard Boqué, Jord Ru, F. Xaver Rus Departamento de Químca Analítca y Químca Orgánca Unverstat Rovra Vrgl. Pl. Imperal Tàrraco,

Más detalles

El Razonamiento Basado en Casos en el ámbito de la. Enseñanza/Aprendizaje.

El Razonamiento Basado en Casos en el ámbito de la. Enseñanza/Aprendizaje. El Razonamento Basado en Casos en el ámbto de la Enseñanza/Aprendzaje. MSc. Natala Martínez Sánchez, Dra. Ghesa Ferrera Lorenzo, Dra. María M. García Lorenzo, Dra. Zenada García Valdva. Departamento de

Más detalles

Problema: Existe relación entre el estado nutricional y el rendimiento académico de estudiantes de enseñanza básica?

Problema: Existe relación entre el estado nutricional y el rendimiento académico de estudiantes de enseñanza básica? Relacones entre varables cualtatvas Problema: xste relacón entre el estado nutrconal y el rendmento académco de estudantes de enseñanza básca? stado Nutrconal Malo Regular Bueno TOTAL Bajo 13 95 3 55 Rendmento

Más detalles

Métodos específicos de generación de diversas distribuciones discretas

Métodos específicos de generación de diversas distribuciones discretas Tema 3 Métodos específcos de generacón de dversas dstrbucones dscretas 3.1. Dstrbucón de Bernoull Sea X B(p). La funcón de probabldad puntual de X es: P (X = 1) = p P (X = 0) = 1 p Utlzando el método de

Más detalles

Redalyc. Gallego, Ramón A.; Escobar Z., Antonio H.; Rodas Rendón, Darío E.

Redalyc. Gallego, Ramón A.; Escobar Z., Antonio H.; Rodas Rendón, Darío E. Redalyc Sstema de Informacón Centífca Red de Revstas Centífcas de Amérca Latna, el Carbe, España y Portugal Gallego, Ramón A.; Escobar Z., Antono H.; Rodas Rendón, Darío E. ALGORITMO GENÉTICO ESPECIALIZADO

Más detalles

Sistema Evolutivo Generador De Bases De Conocimiento

Sistema Evolutivo Generador De Bases De Conocimiento Sstema Evolutvo Generador De Bases De Conocmento Área de conocmento: Sstemas Basados en Conocmento Guadalupe Gaxola Castro 1, Olaf Yadr Cazarez Saraba 2, Jesús Manuel Olvares Ceja 3 1 Unversdad Autónoma

Más detalles

TÍTULO I Aspectos Generales TÍTULO II Alcance TÍTULO III Metodología de Cálculo de FECF... 3

TÍTULO I Aspectos Generales TÍTULO II Alcance TÍTULO III Metodología de Cálculo de FECF... 3 PROCEDIMIENTO DO DESEMPEÑO DEL CONTROL DE FRECUENCIA EN EL SIC DIRECCIÓN DE OPERACIÓN ÍNDICE TÍTULO I Aspectos Generales... 3 TÍTULO II Alcance... 3 TÍTULO III Metodología de Cálculo de FECF... 3 TÍTULO

Más detalles

Comparación entre distintos Criterios de decisión (VAN, TIR y PRI) Por: Pablo Lledó

Comparación entre distintos Criterios de decisión (VAN, TIR y PRI) Por: Pablo Lledó Comparacón entre dstntos Crteros de decsón (, TIR y PRI) Por: Pablo Lledó Master of Scence en Evaluacón de Proyectos (Unversty of York) Project Management Professonal (PMP certfed by the PMI) Profesor

Más detalles

Capitalización y descuento simple

Capitalización y descuento simple Undad 2 Captalzacón y descuento smple 2.1. Captalzacón smple o nterés smple 2.1.1. Magntudes dervadas 2.2. Intereses antcpados 2.3. Cálculo de los ntereses smples. Métodos abrevados 2.3.1. Método de los

Más detalles

Variables Aleatorias

Variables Aleatorias Varables Aleatoras VARIABLES ALEATORIAS. Varable aleatora. Tpos.... Dstrbucón de probabldad asocada a una varable aleatora dscreta... 4. Funcón de dstrbucón. Propedades... 5 4. Funcón de densdad... 7 5.

Más detalles

Introducción a la Optimización Multiobjetivo

Introducción a la Optimización Multiobjetivo Introduccón a la Optmzacón Multobjetvo Optmzacón Multobjetvo (MOP) Práctcamente en cualquer área y en una varedad de contetos se presentan problemas con múltples objetvos que se contraponen entre sí A

Más detalles

ESTADÍSTICA DESCRIPTIVA

ESTADÍSTICA DESCRIPTIVA Estadístca descrptva. ESTADÍSTICA DESCRIPTIVA POBLACIÓN Y MUESTRA. VARIABLES ESTADÍSTICAS DISTRIBUCIÓN DE FRECUENCIAS DE UNA MUESTRA AGRUPACIÓN DE DATOS REPRESENTACIONES GRÁFICAS DE LAS MUESTRAS PRINCIPALES

Más detalles

A. Una pregunta muy particular que se puede hacer a una distribución de datos es de qué magnitud es es la heterogeneidad que se observa.

A. Una pregunta muy particular que se puede hacer a una distribución de datos es de qué magnitud es es la heterogeneidad que se observa. MEDIDA DE DIPERIÓ A. Una pregunta muy partcular que se puede hacer a una dstrbucón de datos es de qué magntud es es la heterogenedad que se observa. FICHA º 18 Las meddas de dspersón generalmente acompañan

Más detalles

SISTEMAS DE ECUACIONES DIFERENCIALES

SISTEMAS DE ECUACIONES DIFERENCIALES DIVISIÓN DE CIENCIAS FÍSICAS Y MATEMÁTICAS DTO. TERMODINÁMICA Y FENÓMENOS DE TRANSFERENCIA MÉTODOS AROXIMADOS EN ING. QUÍMICA TF-33 SISTEMAS DE ECUACIONES DIFERENCIALES Esta guía fue elaborada por: rof.

Más detalles

sergion@fing.edu.uy Centro de Cálculo, Instituto de Computación Facultad de Ingeniería. Universidad de la República, Uruguay.

sergion@fing.edu.uy Centro de Cálculo, Instituto de Computación Facultad de Ingeniería. Universidad de la República, Uruguay. Una Versón Paralela del Algortmo Evolutvo para Optmzacón Multobjetvo NSGA-II y su Aplcacón al Dseño de Redes de Comuncacones Confables Sergo Nesmachnow sergon@fng.edu.uy Centro de Cálculo, Insttuto de

Más detalles

Propuesta de diseño de la subasta de Temporada Abierta Diciembre 2016

Propuesta de diseño de la subasta de Temporada Abierta Diciembre 2016 Introduccón Propuesta de dseño de la subasta de Temporada Aberta Dcembre 2016 1. En la prmera subasta de temporada aberta se ofrecerá el transporte y almacenamento de gasolnas y désel en las zonas 1 Rosarto

Más detalles

5 Centrales Hidráulicas

5 Centrales Hidráulicas Curso SmSEE IIE 2012 Cap. 5 pág 1/6 5 Centrales Hdráulcas 5.1 Centrales Hdráulcas con Embalse En el caso de centrales con embalses, tendremos que agregar restrccones adconales para mponer los límtes de

Más detalles

Histogramas: Es un diagrama de barras pero los datos son siempre cuantitativos agrupados en clases o intervalos.

Histogramas: Es un diagrama de barras pero los datos son siempre cuantitativos agrupados en clases o intervalos. ESTADÍSTICA I. Recuerda: Poblacón: Es el conjunto de todos los elementos que cumplen una determnada propedad, que llamamos carácter estadístco. Los elementos de la poblacón se llaman ndvduos. Muestra:

Más detalles

Ejemplo: Consumo - Ingreso. Ingreso. Consumo. Población 60 familias

Ejemplo: Consumo - Ingreso. Ingreso. Consumo. Población 60 familias Ejemplo: Consumo - Ingreso Ingreso Consumo Poblacón 60 famlas ( YX ) P = x [ YX ] E = x Línea de regresón poblaconal 80 60 Meda Condconal 40 20 00 [ X = 200] EY o o o o [ X = 200] EY 80 o o o 60 o 40 8

Más detalles

Análisis Matemático en la Economía: Optimización y Programación. Augusto Rufasto

Análisis Matemático en la Economía: Optimización y Programación. Augusto Rufasto Análss Matemátco en la Economía: Optmzacón y Programacón arufast@yahoo.com-rufasto@lycos.com www.geoctes.com/arufast-http://rufasto.trpod.com La optmzacón y la programacón están en el corazón del problema

Más detalles

Vectores VECTORES 1.- Magnitudes Escalares y Magnitudes Vectoriales. Las Magnitudes Escalares: Las Magnitudes Vectoriales:

Vectores VECTORES 1.- Magnitudes Escalares y Magnitudes Vectoriales. Las Magnitudes Escalares: Las Magnitudes Vectoriales: VECTOES 1.- Magntudes Escalares y Magntudes Vectorales. Las Magntudes Escalares: son aquellas que quedan defndas úncamente por su valor numérco (escalar) y su undad correspondente, Eemplo de magntudes

Más detalles

Tema 8 - Estadística - Matemáticas CCSSI 1º Bachillerato 1

Tema 8 - Estadística - Matemáticas CCSSI 1º Bachillerato 1 Tema 8 - Estadístca - Matemátcas CCSSI 1º Bachllerato 1 TEMA 8 - ESTADÍSTICA 8.1 NOCIONES GENERALES DE ESTADÍSTICA 8.1.1 INTRODUCCIÓN Objetvo: La estadístca tene por objeto el desarrollo de técncas para

Más detalles

INTRODUCCIÓN. Técnicas estadísticas

INTRODUCCIÓN. Técnicas estadísticas Tema : Estadístca Descrptva Undmensonal ITRODUCCIÓ Fenómeno determnsta: al repetrlo en déntcas condcones se obtene el msmo resultado. (Ejemplo: lómetros recorrdos en un ntervalo de tempo a una velocdad

Más detalles

Relaciones entre variables

Relaciones entre variables Relacones entre varables Las técncas de regresón permten hacer predccones sobre los valores de certa varable Y (dependente), a partr de los de otra (ndependente), entre las que se ntuye que exste una relacón.

Más detalles

Equilibrio fásico. (b) El sistema heterogéneo se considera aislado.

Equilibrio fásico. (b) El sistema heterogéneo se considera aislado. Termodnámca del equlbro Equlbro fásco Profesor: lí Lara En el área de Ingenería Químca exsten muchos procesos ndustrales en los cuales está nvolucrado el equlbro entre fases. Una de estas operacones es

Más detalles

Tema 1.3_A La media y la desviación estándar

Tema 1.3_A La media y la desviación estándar Curso 0-03 Grado en Físca Herramentas Computaconales Tema.3_A La meda y la desvacón estándar Dónde estudar el tema.3_a: Capítulo 4. J.R. Taylor, Error Analyss. Unv. cence Books, ausalto, Calforna 997.

Más detalles

7.5. FUNCIONES EN LINEA, MACROS CON ARGUMENTOS

7.5. FUNCIONES EN LINEA, MACROS CON ARGUMENTOS 226 Programacón en C. Metodología, algortmos y estructura de datos - La Tabla 7. muestra un resumen del comportamento de los dferentes tpos de parámetros. Tabla 7.. Paso de parámetros en C. Parámetro especfcado

Más detalles

Ingeniería Económica y Análisis Financiero Finanzas y Negocios Internacionales Parcial 3 Diciembre 10 de Nombre Código.

Ingeniería Económica y Análisis Financiero Finanzas y Negocios Internacionales Parcial 3 Diciembre 10 de Nombre Código. Ingenería Económca y Análss Fnancero Fnanzas y Negocos Internaconales Parcal 3 Dcembre 0 de 20 Nombre Códgo Profesor: Escrba el nombre de sus compañeros Al frente Izquerda Atrás Derecha Se puede consultar

Más detalles

Guía para el Trabajo Práctico N 5. Métodos Estadísticos en Hidrología

Guía para el Trabajo Práctico N 5. Métodos Estadísticos en Hidrología Guía para el Trabajo Práctco 5 Métodos Estadístcos en Hdrología er. PASO) Realzar el ajuste de la funcón de dstrbucón normal a una muestra de datos totales anuales de una varable (caudal, precptacón, etc.)

Más detalles

ESTADISTÍCA. 1. Población, muestra e individuo. 2. Variables estadísticas. 3. El proceso que se sigue en estadística

ESTADISTÍCA. 1. Población, muestra e individuo. 2. Variables estadísticas. 3. El proceso que se sigue en estadística ESTADISTÍCA. Poblacón, muestra e ndvduo Las característcas de una dstrbucón se pueden estudar drectamente sobre la poblacón o se pueden nferr a partr de l estudo de una muestra. Poblacón estadístca es

Más detalles

Robótica Tema 4. Modelo Cinemático Directo

Robótica Tema 4. Modelo Cinemático Directo UNIVERSIDAD POLITÉCNICA DE MADRID E.U.I.T. Industral ASIGNATURA: Robótca TEMA: Modelo Cnemátco Ttulacón: Grado en Ingenería Electrónca y Automátca Área: Ingenería de Sstemas y Automátca Departamento de

Más detalles

Capítulo 11. Movimiento de Rodamiento y Momentum Angular

Capítulo 11. Movimiento de Rodamiento y Momentum Angular Capítulo 11 Movmento de Rodamento y Momentum Angular 1 Contendos: Movmento de rodamento de un cuerpo rígdo. Momentum Angular de una partícula. Momentum Angular de un sstema de partículas. Momentum Angular

Más detalles

CARTAS DE CONTROL. Han sido difundidas exitosamente en varios países dentro de una amplia variedad de situaciones para el control del proceso.

CARTAS DE CONTROL. Han sido difundidas exitosamente en varios países dentro de una amplia variedad de situaciones para el control del proceso. CARTAS DE CONTROL Las cartas de control son la herramenta más poderosa para analzar la varacón en la mayoría de los procesos. Han sdo dfunddas extosamente en varos países dentro de una ampla varedad de

Más detalles

Cálculo de horarios en empresas de transporte público basados en la carga de pasajeros

Cálculo de horarios en empresas de transporte público basados en la carga de pasajeros VIII Congreso de Ingenería de Organzacón Leganés, 9 y 10 de septembre de 2004 Cálculo de horaros en empresas de transporte públco basados en la carga de pasaeros Jesús Racero Moreno, Marcos Calle Suárez,

Más detalles

2. EL TENSOR DE TENSIONES. Supongamos un cuerpo sometido a fuerzas externas en equilibrio y un punto P en su interior.

2. EL TENSOR DE TENSIONES. Supongamos un cuerpo sometido a fuerzas externas en equilibrio y un punto P en su interior. . EL TENSOR DE TENSIONES Como se explcó prevamente, el estado tensonal en un punto nteror de un cuerpo queda defndo por 9 componentes, correspondentes a componentes por cada una de las tensones nternas

Más detalles

315 M/R Versión 1 Integral 1/ /1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA

315 M/R Versión 1 Integral 1/ /1 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA 35 M/R Versón Integral / 28/ UNIVERSIDAD NACIONAL AIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Investgacón de Operacones I CÓDIGO: 35 MOMENTO: Prueba Integral FECHA DE

Más detalles

LINEAS DEL REMOLCADOR

LINEAS DEL REMOLCADOR Análss del comportamento propulsvo de un remolcador de empue M.Colpach, CEAN, FIUBA B.Lechatpos, INSA, Rouen RESUMEN Se presenta el estudo del fluo alrededor de un remolcador de empue clásco, de líneas

Más detalles

CAPÍTULO 1: VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES

CAPÍTULO 1: VARIABLES ALEATORIAS Y SUS DISTRIBUCIONES CAÍTULO : VARIABLES ALEATORIAS SUS DISTRIBUCIONES En este capítulo el alumno debe abordar el conocmento de un mportante concepto el de VARIABLE ALEATORIA tpos de varables aleatoras cómo se dstrbue la funcón

Más detalles

Población 1. Población 1. Población 2. Población 2. Población 1. Población 1. Población 2. Población 2. Frecuencia. Frecuencia

Población 1. Población 1. Población 2. Población 2. Población 1. Población 1. Población 2. Población 2. Frecuencia. Frecuencia MAT-3 Estadístca I Tema : Meddas de Dspersón Facltador: Félx Rondón, MS Insttuto Especalzado de Estudos Superores Loyola Introduccón Las meddas de tendenca central son ndcadores estadístcos que resumen

Más detalles

CyRCE: Un modelo de Riesgo de Crédito para Mercados Emergentes.

CyRCE: Un modelo de Riesgo de Crédito para Mercados Emergentes. CyRCE: Un modelo de Resgo de Crédto para Mercados Emergentes. Javer Márquez Dez-Canedo. DICIEMBRE 2004 Índce I. Introduccó cón II. CyRCE 1. El Modelo General 2. Segmentacón del Portafolo 3. Índce de Concentracón

Más detalles

Hidrología superficial

Hidrología superficial Laboratoro de Hdráulca Ing. Davd Hernández Huéramo Manual de práctcas Hdrología superfcal 7o semestre Autores: Héctor Rvas Hernández Juan Pablo Molna Agular Rukmn Espnosa Díaz alatel Castllo Contreras

Más detalles