Universidad Politécnica de Madrid Facultad de Informática Proyecto fin de carrera Implementación de un algoritmo evolutivo basado en MOS Autor: Manuel Zaforas Tutores: José María Peña Sánchez Antonio LaTorre de la Fuente Madrid, Julio 2008 ImplementacióndeunalgoritmoevolutivobasadoenMOS ManuelZaforas Madrid,Julio2008 Tutores: JoséMaríaPeñaSánchez (jmpena@fi.upm.es) AntonioLaTorredelaFuente (atorre@fi.upm.es) LacomposicióndeestedocumentoseharealizadoconLATEX. Cita: "La selección natural, es una fuerza siempredispuestaalaacciónytaninconmen- surablemente superior a los débiles esfuerzos delhombrecomolasobrasdelaNaturalezalo sonalasdelArte." CharlesDarwin. Elorigendelasespecies,capítuloIII. Dedicatoria:Dedicadoalaocadelestanque. Agradecimientos Este proyecto es el colofón a una etapa de mi vida marcada por muchas personas y experiencias positivas,quemehanllevadoadondeahoraestoyyaformarmecomoingenieroycomopersona. En primer lugar quiero agradecer a mis padres, ya que en gran medida todo lo que soy y lo bueno quetengoselodeboaellos,quemehanapoyadosiempreincondicionalmenteentodoloquehehecho. AmihermanaCarlotaportodalapacienciaquetieneconmigoyporhabersidosiempremiamiga. Gracias sobre todo a Nuria, porque desde que te conocí eres el faro que ilumina mi vida y que me hacefelizalmargendetodolodemás. Graciasatodosloscompañerosconlosquehecompartidoestudios,prácticasysufrimientosdurante la carrera, especialmente a Javi, Trevi, Jaime, Alvarito, Rafa, Marí Paz, Jose, Marco, Mariajo, Laura, Jess,Raquel,Luis,Miguel,Soto,Juanitoytodoslosquemedejoperoquehemosluchadojuntoseneste campodebatallallamadoFI,ydevezencuandohemoshechounaparadapararelajarnosyvisitaralos patos tomando una paella. Gracias también a toda la gente de Delegación, Coleópteros, Alfa y Omega, HistriónytodoslosfollonesenlosqueheestadometidoenlaFI. GraciasatodalagentedelLaboratoriodeSistemasOperativosdelDATSIportodoloqueheapren- dido con ellos y por lo bien que nos lo hemos pasado en esas largas sobremesas de pueblos y caminos. Gracias a Fernando Pérez por darme la oportunidad de entrar en el laboratorio y por todo lo que he aprendido de él. Gracias a los doctorandos: Chuso, Juan, Santi y Alberto por todo lo que saben y la fa- cilidadconquelotransmiten,estandosiempredispuestosaecharunamano.GraciastambiénaAlberto, Germán, Luis y el resto de becarios que compartimos el peso del yugo de nuestras becas rodeados de neverasypiruletas. –I– 0.Agradecimientos GraciasespecialmentealosAR:Rojo,Santi,Nacho,Zuazo,Diego,Ato,P.Lorenzo,P.JoséManuel, Chunia y Javi Lorenzo, por esas largas, divertidas e improductivas reuniones en el Rufos o en torno a unas palomitas quemadas. Gracias también a todos los que siempre están ahí para escaparse al ático cuando es necesario o para desahogarnos dando patadas a un balón, especialmente a Edu, Ian, Líder, Pablo, Alex, Sonso (que eres como uno más), Merino, Manza, Chuso, Héctor, Paco, Braci, Luquitas y todoslosdemás.GraciassobretodoalP.Carlosporhabersidounsegundopadreparamí. Gracias a toda la gente del equipo de basket, especialmente a Alfre por todas las cosas que hemos vividojuntos. Y por último gracias a Chema y Toni, por toda la paciencia que han tenido conmigo y por todo lo queheaprendidodeellos,porquesinellosesteproyectonoseríaunarealidad. Gracias también a tantos que me dejo en el tintero y en general a todos porque sin duda no habría llegadohastaaquísinvosotros. –II– Índice Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . I Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III Índicedefiguras . . . . . . . . . . . . . . . . . . . . . . . . . . IX Índicedetablas . . . . . . . . . . . . . . . . . . . . . . . . . . XIII Acrónimosyabreviaturas . . . . . . . . . . . . . . . . . . . . . . XVII PARTE I INTRODUCCIÓN Y OBJETIVOS 1. Introducciónyobjetivos . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Estructuradelamemoria . . . . . . . . . . . . . . . . . . . . 6 PARTE II ESTADO DE LA CUESTIÓN 2. Computacióndealtasprestacionesconarquitecturasparalelas . . . . . . . . . 9 2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Arquitecturasparalelas:Taxonomía . . . . . . . . . . . . . . . . . 10 –III– Índice 2.2.1. Multiprocesadores . . . . . . . . . . . . . . . . . . . . 12 2.2.2. Multicomputadores . . . . . . . . . . . . . . . . . . . . 13 2.2.2.1. Clúster . . . . . . . . . . . . . . . . . . . . 14 2.2.2.2. Magerit . . . . . . . . . . . . . . . . . . . . 14 2.3. Topologíasyredesdeinterconexión . . . . . . . . . . . . . . . . . 15 2.3.1. Tecnologíasdeinterconexión . . . . . . . . . . . . . . . . . 16 2.4. Rendimientoencomputaciónparalela . . . . . . . . . . . . . . . . 17 2.4.1. Factordeaceleración:Speedup . . . . . . . . . . . . . . . . 17 2.4.2. LeydeAmdahl . . . . . . . . . . . . . . . . . . . . . 18 2.4.3. LeydeGustafson . . . . . . . . . . . . . . . . . . . . 19 2.5. Procesodeparalelización:Principiosdediseño . . . . . . . . . . . . . 20 2.5.1. Descomposición . . . . . . . . . . . . . . . . . . . . . 21 2.5.2. Asignación . . . . . . . . . . . . . . . . . . . . . . 23 2.5.3. Orquestación . . . . . . . . . . . . . . . . . . . . . . 23 2.5.3.1. Comunicaciónunicastvs.broadcast . . . . . . . . . . . 23 2.5.3.2. Comunicaciónestructuradavs.noestructurada . . . . . . . . 24 2.5.3.3. Comunicaciónestáticavs.dinámica . . . . . . . . . . . 25 2.5.3.4. Comunicaciónsíncronavs.asíncrona . . . . . . . . . . . 25 2.5.4. Despliegue . . . . . . . . . . . . . . . . . . . . . . 25 2.6. Herramientasdeprogramaciónparalela . . . . . . . . . . . . . . . . 26 2.6.1. HPF . . . . . . . . . . . . . . . . . . . . . . . . 26 2.6.2. MPI . . . . . . . . . . . . . . . . . . . . . . . . 27 2.6.2.1. FuncionamientodeMPI . . . . . . . . . . . . . . . 28 2.6.3. OMP . . . . . . . . . . . . . . . . . . . . . . . . 28 3. Algoritmosevolutivos . . . . . . . . . . . . . . . . . . . . . . . 31 3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2. Algoritmosgenéticos . . . . . . . . . . . . . . . . . . . . . . 33 3.2.1. Esquemadeselección . . . . . . . . . . . . . . . . . . . 36 –IV– Índice 3.2.1.1. Métododelaruleta . . . . . . . . . . . . . . . . 36 3.2.1.2. Métododelaruletaextendidoconrangos . . . . . . . . . 37 3.2.1.3. Métododeselecciónportorneo . . . . . . . . . . . . 38 3.2.2. Operadordecruce . . . . . . . . . . . . . . . . . . . . 39 3.2.2.1. Crucedeunpunto . . . . . . . . . . . . . . . . . 39 3.2.2.2. Cruceendospuntos . . . . . . . . . . . . . . . . 39 3.2.2.3. Cruceuniforme . . . . . . . . . . . . . . . . . . 40 3.2.2.4. Crucearitmético . . . . . . . . . . . . . . . . . 40 3.2.2.5. Crucecíclico . . . . . . . . . . . . . . . . . . 40 3.2.2.6. Cruceordenado . . . . . . . . . . . . . . . . . . 41 3.2.3. Operadordemutación . . . . . . . . . . . . . . . . . . . 41 3.2.3.1. Mutaciónporinversión . . . . . . . . . . . . . . . 41 3.2.3.2. Mutaciónporintercambiorepetido . . . . . . . . . . . 42 3.2.3.3. Mutaciónuniforme . . . . . . . . . . . . . . . . 42 3.3. AlgoritmosEDA . . . . . . . . . . . . . . . . . . . . . . . 42 3.3.1. Heurísticasparaelaprendizaje . . . . . . . . . . . . . . . . 44 3.3.1.1. Modelosindependencias . . . . . . . . . . . . . . 45 3.3.1.2. Modeloscondependenciasbivariantes . . . . . . . . . . 45 3.3.1.3. Modelosconmúltiplesdependencias . . . . . . . . . . . 45 3.4. Algoritmosevolutivosparalelos . . . . . . . . . . . . . . . . . . 46 3.4.1. Modelosconpoblaciónglobal . . . . . . . . . . . . . . . . 46 3.4.1.1. Variantesíncronaconmaestro-esclavos . . . . . . . . . . 46 3.4.1.2. Variantesemisíncronaconmaestro-esclavos . . . . . . . . 47 3.4.1.3. Varianteasíncronaconcurrente . . . . . . . . . . . . . 47 3.4.2. Modelosdeislas . . . . . . . . . . . . . . . . . . . . . 47 3.4.2.1. Topologíasdeinterconexión . . . . . . . . . . . . . . 48 3.4.2.2. Sincronizaciónentreislas . . . . . . . . . . . . . . 49 – V– Índice PARTE III DISEÑO Y DESARROLLO DE LA SOLUCIÓN 4. MultipleoffspringsamplinggeneticalgorithmenGAEDALib . . . . . . . . . 53 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 53 4.2. DiseñoyarquitecturadeMOS . . . . . . . . . . . . . . . . . . . 54 4.2.1. AproximaciónMOScentral . . . . . . . . . . . . . . . . . 54 4.2.2. AproximaciónMOSautonomic . . . . . . . . . . . . . . . . 57 4.2.3. RelacióndeMOSyGAEDALib . . . . . . . . . . . . . . . 58 4.3. ClaseGAMOSGA . . . . . . . . . . . . . . . . . . . . . . 59 4.4. TécnicasMOS . . . . . . . . . . . . . . . . . . . . . . . . 61 4.4.1. ClaseGAMOSTechnique . . . . . . . . . . . . . . . . . . 63 4.4.2. TécnicasMOSGA . . . . . . . . . . . . . . . . . . . . 65 4.4.3. TécnicasMOSEDA . . . . . . . . . . . . . . . . . . . 65 4.4.4. Conjuntodetécnicas . . . . . . . . . . . . . . . . . . . 65 4.5. GenomasMOS . . . . . . . . . . . . . . . . . . . . . . . . 66 4.5.1. ClaseGAMOSGenome . . . . . . . . . . . . . . . . . . 68 4.6. ConversorMOS . . . . . . . . . . . . . . . . . . . . . . . 69 4.7. SerializadorMOS . . . . . . . . . . . . . . . . . . . . . . . 70 PARTE IV ANÁLISIS DE RESULTADOS 5. Análisisderesultados . . . . . . . . . . . . . . . . . . . . . . . 75 5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2. Resultadosconfuncionesmatemáticas . . . . . . . . . . . . . . . . 78 5.2.1. ProblemaMaxBit . . . . . . . . . . . . . . . . . . . . 78 5.2.1.1. ResultadosconMultipleOffspringSampling(MOS) . . . . . . 79 5.2.2. ProblemaRoyalRoad . . . . . . . . . . . . . . . . . . . 83 5.2.2.1. ResultadosconMOS . . . . . . . . . . . . . . . . 83 5.2.3. FunciónGriewank . . . . . . . . . . . . . . . . . . . . 86 –VI–
Description: