Professional Documents
Culture Documents
Dr. Carlos A. Coello Coello CINVESTAV-IPN Departamento de Ingenier a El ectrica Secci on de Computaci on Av. Instituto Polit ecnico Nacional No. 2508 Col. San Pedro Zacatenco M exico, D.F. 07300 ccoello@cs.cinvestav.mx Abril, 2006
c 2000,2001,2002,2003,2004,2005,2006
Todos los derechos reservados
Dedicatorias
A mi hijo Carlos Felipe, quien me motiva a querer llegar cada vez mas lejos en mi profesion.
A mis padres Carlos y Victoria, por haberme ensenado tantas cosas importantes que no se aprenden en la escuela.
Contenido
1 Conceptos B asicos 1.1 An alisis de algoritmos . . . . . . 1.2 T ecnicas Cl asicas de Optimizaci on 1.3 T ecnicas heur sticas . . . . . . . . 1.4 Conceptos Importantes . . . . . . 1.5 Problemas propuestos . . . . . . . 23 23 27 33 35 38 41 41 43 44 45 46 47 48 50 50 51 52 52 53 54 55 56 57 57 58 60
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Un vistazo hist orico a la computaci on evolutiva 2.1 El origen de las ideas . . . . . . . . . . . . 2.2 Lamarckismo . . . . . . . . . . . . . . . . 2.3 La teor a del germoplasma . . . . . . . . . 2.4 Russell y Darwin . . . . . . . . . . . . . . 2.5 La teor a de la combinaci on . . . . . . . . . 2.6 Las leyes de la herencia de Mendel . . . . . 2.7 La teor a de la pang enesis . . . . . . . . . . 2.8 La teor a de la mutaci on . . . . . . . . . . 2.9 La teor a cromos omica de la herencia . . . 2.10 Neo-Darwinismo . . . . . . . . . . . . . . 2.11 Inspiraci on biol ogica . . . . . . . . . . . . 2.12 Alexander Fraser . . . . . . . . . . . . . . 2.13 EVOP . . . . . . . . . . . . . . . . . . . . 2.14 La evoluci on de programas de Friedberg . . 2.15 Friedman y la rob otica evolutiva . . . . . . 2.16 Vida articial . . . . . . . . . . . . . . . . 2.17 La optimizaci on evolutiva de Bremermann . 2.18 La programaci on evolutiva . . . . . . . . . 2.19 Las estrategias evolutivas . . . . . . . . . . 2.20 Los algoritmos gen eticos . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Ecosistemas articiales Programaci on gen etica Din amica evolutiva . . Problemas propuestos .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
61 62 63 64 67 67 68 68 69 69 70 70 70 71 72 73 73 74 74 75 76 78 78 79 80 83 83 89 89 94 95 95 98 99 102
3 Principales Paradigmas 3.1 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Programaci on evolutiva . . . . . . . . . . . . . . . . . . . 3.1.1.1 Algoritmo . . . . . . . . . . . . . . . . . . . . 3.1.1.2 Ejemplo . . . . . . . . . . . . . . . . . . . . . 3.1.2 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Estrategias Evolutivas . . . . . . . . . . . . . . . . . . . 3.1.3.1 Algoritmo . . . . . . . . . . . . . . . . . . . . 3.1.3.2 Ejemplo . . . . . . . . . . . . . . . . . . . . . 3.1.3.3 Convergencia . . . . . . . . . . . . . . . . . . 3.1.3.4 Auto-Adaptaci on . . . . . . . . . . . . . . . . 3.1.3.5 Estrategias Evolutivas vs Programaci on Evolutiva 3.1.3.6 Aplicaciones . . . . . . . . . . . . . . . . . . . 3.1.4 Algoritmos Gen eticos . . . . . . . . . . . . . . . . . . . 3.1.4.1 Algoritmo . . . . . . . . . . . . . . . . . . . . 3.1.4.2 Algoritmos gen eticos vs otras t ecnicas evolutivas 3.1.4.3 Aplicaciones . . . . . . . . . . . . . . . . . . . 3.2 Diferencias de las t ecnicas evolutivas con respecto a las tradicionales 3.3 Ventajas de las T ecnicas Evolutivas . . . . . . . . . . . . . . . . 3.4 Cr ticas a las T ecnicas Evolutivas . . . . . . . . . . . . . . . . . . 3.5 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 4 Terminolog a Biol ogica y de Computaci on Evolutiva 4.1 Introducci on . . . . . . . . . . . . . . . . . . . . 4.2 Tipos de Aprendizaje . . . . . . . . . . . . . . . 4.3 Conceptos de Computaci on Evolutiva . . . . . . 4.4 Problemas propuestos . . . . . . . . . . . . . . . 5 La Importancia de la Representaci on 5.1 Introducci on . . . . . . . . . . . . . . . 5.2 C odigos de Gray . . . . . . . . . . . . 5.3 Codicando N umeros Reales . . . . . . 5.4 Representaciones de Longitud Variable . 6
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Representaci on de a rbol . . . . . . . . . . . . . . . . . . . . . . Algoritmo Gen etico Estructurado . . . . . . . . . . . . . . . . . Otras propuestas . . . . . . . . . . . . . . . . . . . . . . . . . . Tendencias futuras . . . . . . . . . . . . . . . . . . . . . . . . Recomendaciones para el Dise no de una Buena Representaci on . Problemas propuestos . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
105 110 112 112 113 114 115 115 116 117 117 119 119 121 121 122 122 123 123 124 125 126 126 128 129 130 130 131 131 132 132 133 135 135 136
T ecnicas de Selecci on 6.1 Selecci on Proporcional . . . . . . . . . . . . . . . . . . . . . 6.1.1 La Ruleta . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.1 An alisis de la Ruleta . . . . . . . . . . . . . 6.1.2 Sobrante Estoc astico . . . . . . . . . . . . . . . . . . 6.1.2.1 An alisis del Sobrante Estoc astico . . . . . . 6.1.3 Universal Estoc astica . . . . . . . . . . . . . . . . . . 6.1.3.1 An alisis de la selecci on universal estoc astica 6.1.4 Muestreo Determin stico . . . . . . . . . . . . . . . . 6.1.4.1 An alisis del muestreo determin stico . . . . 6.1.5 Escalamiento Sigma . . . . . . . . . . . . . . . . . . 6.1.5.1 An alisis del escalamiento sigma . . . . . . . 6.1.6 Selecci on por Jerarqu as . . . . . . . . . . . . . . . . 6.1.6.1 An alisis de las jerarqu as lineales . . . . . . 6.1.7 Selecci on de Boltzmann . . . . . . . . . . . . . . . . 6.1.7.1 An alisis de la selecci on de Boltzmann . . . 6.2 Selecci on Mediante Torneo . . . . . . . . . . . . . . . . . . . 6.2.1 An alisis de la selecci on mediante torneo . . . . . . . . 6.3 Selecci on de Estado Uniforme . . . . . . . . . . . . . . . . . 6.3.1 An alisis de la Selecci on de Estado Uniforme . . . . . 6.4 Brecha Generacional . . . . . . . . . . . . . . . . . . . . . . 6.5 Otras T ecnicas de Selecci on . . . . . . . . . . . . . . . . . . 6.5.1 Selecci on Disruptiva . . . . . . . . . . . . . . . . . . 6.5.1.1 An alisis de la selecci on disruptiva . . . . . . 6.5.2 Jerarqu as No Lineales . . . . . . . . . . . . . . . . . 6.5.2.1 An alisis de las jerarqu as no lineales . . . . 6.5.3 Selecci on Competitiva . . . . . . . . . . . . . . . . . 6.6 Clasicaciones de T ecnicas de Selecci on . . . . . . . . . . . . 6.7 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 T ecnicas de Cruza 7.1 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Cruza de un punto . . . . . . . . . . . . . . . . . . . . . 7.1.1.1 Orden de un esquema . . . . . . . . . . . . . . 7.1.1.2 Longitud de denici on . . . . . . . . . . . . . . 7.1.1.3 An alisis de la cruza de un punto . . . . . . . . . 7.1.2 Cruza de dos puntos . . . . . . . . . . . . . . . . . . . . 7.1.3 Cruza uniforme . . . . . . . . . . . . . . . . . . . . . . . 7.1.4 Cruza Acentuada . . . . . . . . . . . . . . . . . . . . . . 7.1.4.1 Observaciones sobre la cruza acentuada . . . . 7.2 Sesgos de la Cruza . . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Sesgo distribucional . . . . . . . . . . . . . . . . . . . . 7.2.2 Sesgo posicional . . . . . . . . . . . . . . . . . . . . . . 7.3 Variantes de la Cruza . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Comportamiento Deseable de la Cruza . . . . . . . . . . . . . . . 7.5 Cruza para representaciones alternativas . . . . . . . . . . . . . . 7.5.1 Cruza para Programaci on Gen etica . . . . . . . . . . . . 7.5.1.1 Observaciones sobre la cruza para programaci on gen etica . . . . . . . . . . . . . . . . . . . . . 7.5.2 Cruza para Permutaciones . . . . . . . . . . . . . . . . . 7.5.2.1 Order Crossover (OX) . . . . . . . . . . . . . . 7.5.2.2 Partially Mapped Crossover (PMX) . . . . . . . 7.5.2.3 Position-based Crossover . . . . . . . . . . . . 7.5.2.4 Order-based Crossover . . . . . . . . . . . . . 7.5.2.5 Cycle Crossover (CX) . . . . . . . . . . . . . . 7.5.3 Otras propuestas . . . . . . . . . . . . . . . . . . . . . . 7.6 Cruza para Representaci on Real . . . . . . . . . . . . . . . . . . 7.6.1 Cruza Simple . . . . . . . . . . . . . . . . . . . . . . . . 7.6.2 Cruza de dos puntos . . . . . . . . . . . . . . . . . . . . 7.6.3 Cruza uniforme . . . . . . . . . . . . . . . . . . . . . . . 7.6.4 Cruza intermedia . . . . . . . . . . . . . . . . . . . . . . 7.6.5 Cruza aritm etica simple . . . . . . . . . . . . . . . . . . 7.6.6 Cruza aritm etica total . . . . . . . . . . . . . . . . . . . . 7.6.7 Simulated Binary Crossover (SBX) . . . . . . . . . . . . 7.7 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 8
141 141 141 142 142 143 143 145 145 146 147 147 148 148 149 149 149 150 151 152 153 153 154 155 157 157 158 158 158 159 159 160 161 162
Mutaci on 8.1 Mutaci on para Permutaciones . . . . . . . . . . . . . . 8.1.1 Mutaci on por Inserci on . . . . . . . . . . . . . 8.1.2 Mutaci on por Desplazamiento . . . . . . . . . 8.1.3 Mutaci on por Intercambio Rec proco . . . . . 8.1.4 Mutaci on Heur stica . . . . . . . . . . . . . . 8.2 Mutaci on para Programaci on Gen etica . . . . . . . . . 8.3 Mutaci on para Representaci on Real . . . . . . . . . . 8.3.1 Mutaci on No Uniforme . . . . . . . . . . . . . 8.3.2 Mutaci on de L mite . . . . . . . . . . . . . . . 8.3.3 Mutaci on Uniforme . . . . . . . . . . . . . . . 8.3.4 Parameter-Based Mutation . . . . . . . . . . . 8.4 Cruza vs. Mutaci on . . . . . . . . . . . . . . . . . . . 8.4.1 Cu al es el poder exploratorio de la mutaci on? 8.5 Problemas Propuestos . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
165 165 165 166 166 166 167 168 168 169 170 171 172 172 173 175 175 175 178 180 181 184 185 185 185 186 186 187 187 189 191 191 193 193 193 194
Ajuste de Par ametros 9.1 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Los experimentos de De Jong . . . . . . . . . . . . . . . 9.3 Tama no o ptimo de poblaci on . . . . . . . . . . . . . . . 9.4 Los experimentos de Schaffer . . . . . . . . . . . . . . . 9.5 Auto-adaptaci on . . . . . . . . . . . . . . . . . . . . . . 9.5.1 La propuesta de Davis . . . . . . . . . . . . . . 9.5.2 Cr ticas a la auto-adaptaci on . . . . . . . . . . . 9.6 Mecanismos de Adaptaci on . . . . . . . . . . . . . . . . 9.6.1 Mutaciones Variables . . . . . . . . . . . . . . . 9.6.2 Mutaci on dependiente de la aptitud . . . . . . . 9.6.3 AGs adaptativos . . . . . . . . . . . . . . . . . 9.6.4 T ecnicas Adaptativas Basadas en L ogica Difusa . 9.6.5 Representaciones Adaptativas . . . . . . . . . . 9.7 Problemas Propuestos . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
10 Manejo de Restricciones 10.1 Funciones de Penalizaci on . . . 10.1.1 Pena de Muerte . . . . . 10.1.1.1 An alisis . . . 10.1.2 Penalizaciones est aticas 10.1.2.1 An alisis . . . 9
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
10.1.3 Penalizaciones Din amicas . . . . . . . . . . . . . . . . . 194 10.1.3.1 An alisis . . . . . . . . . . . . . . . . . . . . . 194 10.1.4 Uso de recocido simulado . . . . . . . . . . . . . . . . . 194 10.1.4.1 An alisis . . . . . . . . . . . . . . . . . . . . . 195 10.1.5 Penalizaciones Adaptativas . . . . . . . . . . . . . . . . . 195 10.1.5.1 An alisis . . . . . . . . . . . . . . . . . . . . . 195 10.1.6 Algoritmo gen etico segregado . . . . . . . . . . . . . . . 196 10.1.6.1 An alisis . . . . . . . . . . . . . . . . . . . . . 196 10.1.7 Penalizaci on con base en la factibilidad . . . . . . . . . . 196 10.1.7.1 An alisis . . . . . . . . . . . . . . . . . . . . . 197 10.2 T ecnicas que usan conceptos de Optimizaci on Multiobjetivo . . . 197 10.2.1 COMOGA . . . . . . . . . . . . . . . . . . . . . . . . . 198 10.2.2 Direct Genetic Search . . . . . . . . . . . . . . . . . . . 199 10.2.3 Reducci on de objetivos, no dominancia y b usqueda lineal. 199 10.2.4 Selecci on por torneo con reglas especiales. . . . . . . . . 200 10.2.5 VEGA para manejo de restricciones . . . . . . . . . . . . 200 10.2.6 Jerarqu as en distintos espacios y restricciones de apareamiento201 10.2.7 MOGA y no dominancia . . . . . . . . . . . . . . . . . . 201 10.2.8 NPGA para manejo de restricciones . . . . . . . . . . . . 202 10.2.9 Constrained Robust Optimization . . . . . . . . . . . . . 203 10.2.10 EMO para optimizaci on con restricciones, satisfacci on de restricciones y programaci on por metas . . . . . . . . . . 204 10.2.11 Asignaci on de aptitud en 2 fases . . . . . . . . . . . . . . 204 10.2.12 Otras propuestas . . . . . . . . . . . . . . . . . . . . . . 205 10.3 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 205 11 Software 207 11.1 Software de Dominio P ublico . . . . . . . . . . . . . . . . . . . . 208 11.2 Software Comercial . . . . . . . . . . . . . . . . . . . . . . . . . 213 11.3 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 215 12 Fundamentos Te oricos 12.1 Paralelismo Impl cito . . . . . . . . . . . 12.2 Derivaci on del Teorema de los Esquemas 12.2.1 Efecto de la Selecci on . . . . . . 12.2.2 Efecto de la Cruza . . . . . . . . 12.2.3 Efecto de la Mutaci on . . . . . . 12.3 Cr ticas al Teorema de los Esquemas . . . 10 217 219 220 221 221 222 223
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
12.4 No Free Lunch Theorem . . . . . . . . . . . . . . . 12.5 Decepci on . . . . . . . . . . . . . . . . . . . . . . . 12.6 Areas abiertas de investigaci on . . . . . . . . . . . . 12.7 Cu ando debe utilizarse un AG? . . . . . . . . . . . 12.8 Qu e es lo que hace dif cil un problema para un AG? 12.9 Las Funciones de la Carretera Real . . . . . . . . . . 12.10Cu ando debe usarse un AG? . . . . . . . . . . . . . 12.11Dise no de Funciones Deceptivas . . . . . . . . . . . 12.12Estudios de Convergencia . . . . . . . . . . . . . . . 12.12.1 Algoritmo Gen etico Sin Elitismo . . . . . . 12.12.2 Algoritmo Gen etico Elitista . . . . . . . . . 12.13Problemas Propuestos . . . . . . . . . . . . . . . . . 13 Operadores Avanzados 13.1 Diploides y Dominancia . . . 13.2 Inversi on . . . . . . . . . . . 13.3 Micro-Operadores . . . . . . . 13.3.1 Segregaci on . . . . . . 13.3.2 Traslocaci on . . . . . 13.3.3 Duplicaci on y Borrado 13.4 Problemas Propuestos . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
224 224 225 226 226 229 231 231 234 235 237 239 241 241 243 245 245 245 245 246 247 247 247 248 248 249 249 251 252 255 255 257 258 259 263
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
14 Aplicaciones Exitosas de la Computaci on Evolutiva 14.1 Dise no de P eptidos . . . . . . . . . . . . . . . . 14.2 Optimizaci on de Estrategias de Producci on . . . 14.3 Predicci on . . . . . . . . . . . . . . . . . . . . . 14.4 Dise no de un Sistema de Suspensi on . . . . . . . 14.5 Programaci on de Horarios . . . . . . . . . . . . 14.6 Dise no de una Red de Agua Potable . . . . . . . 14.7 Optimizaci on de Losas de Concreto Prefabricadas 14.8 Problemas Propuestos . . . . . . . . . . . . . . . 15 AGs Paralelos 15.1 Nociones de Paralelismo . . 15.2 AGs Paralelos . . . . . . . . 15.2.1 Paralelizaci on global 15.2.2 AGs de grano grueso 15.2.3 AG de grano no . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . 11
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
15.2.4 Esquemas h bridos . . . . . . . . . . . 15.2.5 Tipos de Arquitecturas . . . . . . . . . 15.2.5.1 SIMD . . . . . . . . . . . . 15.2.5.2 Migraci on . . . . . . . . . . 15.2.5.3 MIMD . . . . . . . . . . . . 15.2.6 M etricas . . . . . . . . . . . . . . . . . 15.2.7 Midiendo la diversidad . . . . . . . . . 15.2.8 Velocidad de propagaci on de esquemas 15.3 Problemas Propuestos . . . . . . . . . . . . . . 16 T ecnicas Evolutivas Alternativas 16.1 Evoluci on Diferencial . . . . . . . . . . 16.2 Modelos Probabil sticos . . . . . . . . . 16.3 Evoluci on Simulada . . . . . . . . . . . 16.4 El Futuro de la Computaci on Evolutiva .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
263 265 266 266 267 270 271 271 272 273 273 274 275 276
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
12
Lista de Tablas
3.1 8.1 Tabla comparativa de los tres paradigmas principales que conforman la computaci on evolutiva [9]. . . . . . . . . . . . . . . . . . 77 Tabla de verdad para el segundo problema propuesto. . . . . . . . 174
13
14
Lista de Figuras
1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 3.1 Dos ejemplos de conjuntos convexos. . . . . . . . . . . . . . . Dos ejemplos de conjuntos no convexos. . . . . . . . . . . . . . Representaci on gr aca de la zona factible (denotada con ) de un problema. Advierta que en este caso la zona factible es disjunta. Escaleras entrecruzadas del problema 2.b. . . . . . . . . . . . . Georges Louis Leclerc (Conde de Buffon). . . . . . . . . . . . . Jean Baptiste Pierre Antoine de Monet (Caballero de Lamarck). August Weismann. . . . . . . . . . . . . . . . . . . . . . . . . Alfred Russell Wallace. . . . . . . . . . . . . . . . . . . . . . . Charles Robert Darwin. . . . . . . . . . . . . . . . . . . . . . . Johann Gregor Mendel. . . . . . . . . . . . . . . . . . . . . . . Francis Galton. . . . . . . . . . . . . . . . . . . . . . . . . . . Hugo De Vries. . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas Hunt Morgan. . . . . . . . . . . . . . . . . . . . . . . Alan Mathison Turing. . . . . . . . . . . . . . . . . . . . . . . George E. P. Box. . . . . . . . . . . . . . . . . . . . . . . . . . Lawrence J. Fogel. . . . . . . . . . . . . . . . . . . . . . . . . Hans-Paul Schwefel. . . . . . . . . . . . . . . . . . . . . . . . John H. Holland. . . . . . . . . . . . . . . . . . . . . . . . . . Michael Conrad. . . . . . . . . . . . . . . . . . . . . . . . . . Howard H. Pattee. . . . . . . . . . . . . . . . . . . . . . . . . . John R. Koza. . . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas S. Ray. . . . . . . . . . . . . . . . . . . . . . . . . . . James Mark Baldwin. . . . . . . . . . . . . . . . . . . . . . . . . 35 . 36 . 37 . 39 . . . . . . . . . . . . . . . . . . . 42 42 44 45 46 47 49 49 51 52 53 57 59 60 61 61 63 64 65
Portada de la edici on reciente (1999) del libro Articial Intelligence through Simulated Evolution, con el cual se originara la programaci on evolutiva. . . . . . . . . . . . . . . . . . . . . . . . 68 15
3.2
3.3 3.4
3.5 3.6
3.7
Aut omata nito de 3 estados. Los s mbolos a la izquierda de / son de entrada, y los de la derecha son de salida. El estado inicial es C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas B ack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Portada de una edici on reciente (publicada por el MIT Press) del libro en el que Holland diera a conocer originalmente los algoritmos gen eticos (en 1975). . . . . . . . . . . . . . . . . . . . . . . Ejemplo de la codicaci on (mediante cadenas binarias) usada tradicionalmente con los algoritmos gen eticos. . . . . . . . . . . . . . Portada del libro de David E. Goldberg sobre algoritmos gen eticos. A este importante libro se debe, en gran medida, el e xito (cada vez mayor) de que han gozado los algoritmos gen eticos desde principios de los 1990s. . . . . . . . . . . . . . . . . . . . . . . . . . . Portada del libro de John Koza sobre programaci on gen etica. Este libro marc o el inicio de una nueva a rea dentro de la computaci on evolutiva, dedicada principalmente a la soluci on de problemas de regresi on simb olica. . . . . . . . . . . . . . . . . . . . . . . . . . Estructural helicoidal del ADN. . . . . . . . . . . . . . . . . . . Las cuatro bases de nucle otido . . . . . . . . . . . . . . . . . . . Cromosomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Genoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un feto humano. . . . . . . . . . . . . . . . . . . . . . . . . . . C elula diploide. . . . . . . . . . . . . . . . . . . . . . . . . . . . Una mutaci on (error de copiado). . . . . . . . . . . . . . . . . . . Un ejemplo de una cadena cromos omica. Esta cadena es el genotipo que codica las variables de decisi on de un problema. . . . . . . . Un ejemplo de un gene. . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo de un fenotipo. . . . . . . . . . . . . . . . . . . . . . Un ejemplo de un individuo. . . . . . . . . . . . . . . . . . . . . Un ejemplo de un alelo. . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo de migraci on. . . . . . . . . . . . . . . . . . . . . . . Ejemplo del operador de inversi on. . . . . . . . . . . . . . . . . .
69 72
74 75
76
79 83 84 84 85 86 86 87 90 90 90 91 91 92 93
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 5.1 5.2 5.3
Un ejemplo de una cadena binaria. . . . . . . . . . . . . . . . . . 96 Un ejemplo de notaci on del IEEE. . . . . . . . . . . . . . . . . . 99 Un ejemplo de un algoritmo gen etico con representaci on real. . . . 100 16
5.4
5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 7.1 7.2 7.3 7.4 7.5 7.6 8.1 8.2
Una representaci on entera de n umeros reales. La cadena completa es decodicada como un solo n umero real multiplicando y dividiendo cada d gito de acuerdo a su posici on. . . . . . . . . . . Otra representaci on entera de n umeros reales. En este caso, cada gene contiene un n umero real representado como un entero largo. . Dos ejemplos de cadenas v alidas en un algoritmo gen etico desordenado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo del operador de corte en un AG desordenado. La l nea gruesa indica el punto de corte. . . . . . . . . . . . . . . . . Un ejemplo del operador uni on en un AG desordenado. La l nea gruesa muestra la parte de la cadena que fue agregada. . . . . . . Un ejemplo de un cromosoma usado en programaci on gen etica. . Los nodos del a rbol se numeran antes de aplicar el operador de cruza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Los dos hijos generados despu es de efectuar la cruza. . . . . . . . Un ejemplo de mutaci on en la programaci on gen etica. . . . . . . . Un ejemplo de permutaci on en la programaci on gen etica. . . . . . Un ejemplo de encapsulamiento en programaci on gen etica. . . . . Un ejemplo de estructura de dos niveles de un AG estructurado. . Una representaci on cromos omica de la estructura de 2 niveles del AG estructurado. . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de una estructura de datos usada para implementar un AG estructurado. . . . . . . . . . . . . . . . . . . . . . . . . . . Cruza de un punto. . . . . . . . . . . . . . . . . . . . . . . . . . Cruza de dos puntos. . . . . . . . . . . . . . . . . . . . . . . . . Cruza uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . Cruza Acentuada. . . . . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo con dos padres seleccionados para cruzarse, en programaci on gen etica. . . . . . . . . . . . . . . . . . . . . . . . . . Los 2 hijos resultantes de la cruza entre los padres de la gura 7.5
101 102 103 104 105 106 107 107 108 109 109 110 111 111 142 144 144 146 150 151
Ejemplo de una mutaci on por desplazamiento. . . . . . . . . . . . 166 Ejemplo: Suponemos que el punto de mutaci on es el nodo 3. . . . 168
10.1 Ejemplo de un frente de Pareto. . . . . . . . . . . . . . . . . . . . 199 10.2 Diagrama del algoritmo de NPGA para manejo de restricciones. . 203 12.1 Representaci on gr aca de los esquemas de longitud tres. . . . . . 218 17
clase de . . . . . clase de . . . . .
problemas . . . . . . problemas . . . . . .
13.1 Ejemplo del uso de cromosomas diploides. . . . . . . . . . . . . . 242 14.1 Dragan Savic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 15.1 Michael J. Flynn. . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Esquema de paralelizaci on global de un algoritmo gen etico. . . . . 15.3 Esquema de funcionamiento de un algoritmo gen etico paralelo de grano grueso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4 Algunas topolog as posibles. . . . . . . . . . . . . . . . . . . . . 15.5 Ejemplo de un esquema h brido en el que se combina un AG de grano grueso (a alto nivel) con un AG de grano no (a bajo nivel). 15.6 Un esquema h brido en el cual se usa un AG de grano grueso de alto nivel donde cada nodo es a su vez un AG con paralelismo global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.7 Un esquema h brido en el que se usa un AG de grano grueso tanto a alto como a bajo nivel. A bajo nivel, la velocidad de migraci on es mayor y la topolog a de comunicaciones es mucho m as densa que a alto nivel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8 Un ejemplo de arquitectura SIMD. . . . . . . . . . . . . . . . . . 15.9 Un ejemplo de arquitectura MIMD. . . . . . . . . . . . . . . . . 15.10Una topolog a que suele usarse con las arquitecturas MIMD es la de a rbol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11Topolog a de anillo. . . . . . . . . . . . . . . . . . . . . . . . . . 15.12Topolog a de grafo y de estrella. . . . . . . . . . . . . . . . . . . 256 258 259 262 264
264
18
Introducci on
Estas notas de curso son producto de la experiencia de haber impartido clases de computaci on evolutiva a nivel posgrado durante los u ltimos cinco a nos. El material contenido en estas p aginas ha sido producto de muchas horas de trabajo y esfuerzo y pretenden dar una visi on general (si bien no completa) de lo que es la computaci on evolutiva y de sus alcances. El objetivo de este material, es servir como apoyo para la ense nanza de un curso introductorio a la computaci on evolutiva a nivel maestr a o doctorado, aunque se requiere obviamente de material complementario (principalmente referencias bibliogr acas). Por lo dem as, estas notas pretenden ser auto-contenidas, de manera que se haga innecesario consultar otras fuentes bibliogr acas (introductorias) adicionales. La organizaci on de estas notas es la siguiente: en el Cap tulo 1 se proporcionan algunos conceptos b asicos de an alisis de algoritmos y de optimizaci on con t ecnicas cl asicas. Partiendo de las limitaciones de las t ecnicas cl asicas, se plantea la motivaci on para el uso de heur sticas en problemas de b usqueda y optimizaci on de alta complejidad. En el Cap tulo 2 se hace un r apido recorrido hist orico de la computaci on evolutiva, yendo desde el Lamarckismo hasta las corrientes m as modernas, como la din amica evolutiva y la programaci on gen etica. El Cap tulo 3 da un panorama general de los tres grandes paradigmas en computaci on evolutiva (la programaci on evolutiva, las estrategias evolutivas y el algoritmo gen etico), describiendo el algoritmo b asico de cada uno de ellos as como algunas de sus aplicaciones. En ese cap tulo tambi en se mencionan algunas de las cr ticas de que ha sido objeto la computaci on evolutiva (sobre todo, de parte de los investigadores de IA simb olica). En el Cap tulo 4 se proporciona una breve terminolog a biol ogica, junto con explicaciones del uso que se da a dichos t erminos en computaci on evolutiva. El problema de la representaci on, que resulta vital en los algoritmos gen eticos, es tratado en el Cap tulo 5. 19
Las principales t ecnicas de selecci on utilizadas con los algoritmos gen eticos se estudian en el Cap tulo 6. El Cap tulo 7 se ocupa de las diferentes t enicas de cruza utilizadas en los algoritmos gen eticos. Adem as de estudiar las cruzas para representaci on binaria, se analizan tambi en las variantes existentes para representaci on real y de permutaciones. El operador de mutaci on es estudiado en detalle en el Cap tulo 8. Adem as de analizar su uso con representaci on real y de permutaciones, se le compara contra la cruza. El Cap tulo 9 se ocupa de revisar algunos de los estudios m as importantes en torno a la forma de ajustar los par ametros de un algoritmo gen etico (sobre todo, porcentajes de cruza y mutaci on y tama no de poblaci on). Tambi en se discute la auto-adaptaci on de par ametros y sus problemas principales, as como otros mecanismos de adaptaci on en l nea tales como la l ogica difusa y las representaciones adaptativas. Los algoritmos gen eticos funcionan como una t ecnica de b usqueda u optimizaci on sin restricciones. De tal forma, se hace necesario acoplarle alg un mecanismo para incorporar restricciones de todo tipo (lineales, no lineales, igualdad y desigualdad). En el Cap tulo 10 se estudian algunas de las propuestas principales en torno al manejo de restricciones mediante funciones de penalizaci on. En el Cap tulo 11 se revisan varios sistemas de software relacionados con computaci on evolutiva (tanto comerciales como de dominio p ublico). El Cap tulo 12 comprende el estudio de algunos de los conceptos te oricos m as importantes de la computaci on evolutiva, incluyendo el teorema de los esquemas, el paralelismo impl cito, la decepci on, el No Free Lunch Theorem y el an alisis de convergencia usando cadenas de Markov. En el Cap tulo 13 se habla sobre algunos operadores avanzados, tales como los diploides, la segregaci on, traslocaci on, duplicaci on y borrado. El Cap tulo 14 habla sobre algunas aplicaciones exitosas de la computaci on evolutiva en el mundo real. Con el creciente uso de las computadoras en problemas cada vez m as complejos, se ha popularizado la adopci on de esquemas de paralelismo y de c omputo distribuido en la computaci on evolutiva. Este tema es precisamente el que se discute en el Cap tulo 15. Finalmente, el Cap tulo 16 discute brevemente algunos de los paradigmas emergentes dentro de la computaci on evolutiva y se concluye hablando brevemente sobre el futuro de la computaci on evolutiva.
20
Reconocimientos
La elaboraci on de estas notas no habr a sido posible sin la ayuda de la Mat. Ma. A Margarita Reyes Sierra, quien captur o mucho de este texto en formato L TEX2 y convirti o mis bosquejos a mano en n tidas im agenes en Xg. Agradezco al Dr. Arturo Hern andez Aguirre sus incontables (y a veces interminables) discusiones en torno a diferentes temas, entre los que se incluye la computaci on evolutiva. Sus comentarios constructivos siempre me han resultado de enorme val a. Maniesto tambi en mi agradecimiento por la generosa ayuda del Laboratorio Nacional de Inform atica Avanzada (LANIA), del CINVESTAV-IPN y de REDIICONACyT, a quienes se debe en gran parte, haber podido preparar este material did actico. Doy las gracias muy especialmente a la Dra. Cristina Loyo Varela, Directora General del LANIA, quien siempre me brind o su apoyo incondicional en todos mis proyectos. Extiendo tambi en un cordial reconocimiento a todos los estudiantes que he tenido a lo largo de mi vida. Ha sido a trav es de ellos que me he nutrido de ricas experiencias docentes que han forjado mi actual estilo de ense nanza. Gracias a todos por los buenos y, por qu e no?, tambi en por los malos ratos que me hicieron pasar.
21
22
(2) for i = 1 to do
23
es:
Una de las notaciones m as usadas para expresar la complejidad de un algoritmo es la denominada O (big-O, en ingl es). Formalmente, la denimos de la siguiente manera:
si y s Denici on : olo si existen dos constantes positivas y tales que
para toda .
Supongamos que nos interesa determinar el tiempo de procesamiento (o c om puto) de un algoritmo. Dicho tiempo lo denotaremos como . La variable puede referirse al n umero de entradas o salidas, su suma o la magnitud de una de ellas. Puesto que depende de la computadora en que se ejecute el algoritmo, un an alisis a priori no ser a suciente para determinarlo. Sin embargo, pode mos usar un an alisis a priori para determinar una tal que . Cuando decimos que un algoritmo tiene un tiempo de c omputo , lo que queremos decir es que al ejecutar el algoritmo en una computadora usando los mismos tipos de datos, pero valores incrementales de , el tiempo resultante siem pre ser a menor que alg un tiempo constante . Dados dos algoritmos que realicen la misma tarea sobre entradas, debe resultar obvio que preferiremos al que requiera menos tiempo de ejecuci on. Algunos tiempos comunes de los algoritmos son los siguientes:
Algunos algoritmos conocidos y sus complejidades correspondientes en esta notaci on son los siguientes: 24
1. Buscar un elemento en una lista no ordenada: 2. Buscar un elemento en una lista ordenada: 3. Quicksort:
6. Ordenamiento por el m etodo de la burbuja (Bubble Sort): Los problemas cuya complejidad est a acotada por un polinomio (los primeros seis o rdenes de magnitud de la jerarqu a mostrada anteriormente) son los denominados problemas P. M as detalladamente, podemos decir que un problema pertenece a la clase si puede ser resuelto en tiempo polinomial en una computadora determinista. El t ermino determinista signica que sin importar lo que haga el algoritmo, s olo hay una cosa que puede hacer a continuaci on (es decir, el paso siguiente se determina por los pasos anteriores). Los ejemplos de algoritmos conocidos dados anteriormente, pertenecen todos a la clase P. Un problema pertenece a la clase NP si puede ser resuelto en tiempo polinomial pero usando una computadora no determinista. Cuando una computadora no determinista es confrontada con varias opciones, tiene el poder de adivinar la correcta (en caso de que e sta exista). Una computadora no determinista no hace nunca elecciones incorrectas que la hagan regresar a un estado previo. Consideremos el siguiente ejemplo de un algoritmo no determinista en el cual queremos buscar un elemento en un conjunto de elementos A[1: ], . Se quiere determinar un ndice tal que A[j]= , o si .
Este algoritmo imprime 0 s olo si . Su complejidad es . Obviamente, las computadoras no deterministas no existen en el mundo real. El no determinismo es una herramienta imaginaria que hace que los problemas dif ciles parezcan triviales. Su mayor val a radica en el hecho de que existe forma
25
de convertir un algoritmo no determinista a uno determinista, aunque a un costo computacional que suele ser muy elevado. Los siguientes puntos son de gran importancia al comparar la clase P contra la clase NP:
La clase P contiene problemas que pueden resolverse r apidamente. La clase NP contiene problemas cuya soluci on puede vericarse r apidamente. En 1971 se plante o la pregunta: Es P=NP? Desde entonces, sigue siendo una pregunta abierta para los te oricos. Se cree que P NP.
Existe otra clase de problemas, denominados NP Completos que resultan de gran inter es en computaci on. Un problema pertenece a esta clase si todos los algoritmos requeridos para resolverlo requieren tiempo exponencial en el peor caso. En otras, palabras, estos problemas son sumamente dif ciles de resolver. Un ejemplo t pico de un problema NP Completo es el del viajero. Este problema consiste en encontrar una permutaci on que represente el recorrido de una serie de ciudades de tal forma que todas sean visitadas (una sola vez) minimizando la distancia total viajada. El mejor algoritmo que se conoce para resolver este problema es . El tama no del espacio de b usqueda del problema del viajero crece conforme a la expresi on: . Algunos ejemplos de lo que esto signica, son los siguientes:
Para Para
, hay unas 181,000 soluciones posibles. , hay unas 10,000,000,000,000,000 soluciones posibles.
Para tener idea de estas magnitudes, basta decir que s olo hay 1,000,000,000, 000,000,000,000 litros de agua en el planeta. 26
Algoritmo del Descenso Empinado 1. Comenzar con un punto arbitrario 2. Calcular el gradiente . 3. Encontrar la direcci on de b usqueda
. Hacer .
, denida como:
27
. Ir al paso 2.
Para iniciar la primera iteraci on, necesitamos calcular el gradiente de la funci on:
Determinar :
, lo
Y sabemos que:
28
Para hallar , debemos derivar esta expresi on con respecto a e igualar el resultado con cero:
de donde obtenemos: .
Ahora , y:
Como
de donde obtenemos:
: Para hallar
de donde:
Por lo que:
29
Como
M etodo de Fletcher-Reeves (Gradiente Conjugado) Propuesto originalmente por Hestenes & Stiefel en 1952, como un m etodo para resolver sistemas de ecuaciones lineales derivadas de las condiciones estacionarias de una cuadr atica. Puede verse como una variante del m etodo del descenso empinado, en la cual se usa el gradiente de una funci on para determinar la direcci on m as prometedora de b usqueda. El algoritmo es el siguiente: 1. Iniciar con un punto arbitrario
3. Obtener
usando:
. Hacer
4. Obtener
, y hacer:
30
6. Evaluar optimalidad de . Si es el o ptimo, detener el proceso. De y regresar al paso 4. lo contrario Ejemplo: Min
Iteraci on 1
31
Iteraci on 2
Iteraci on 3
32
es la soluci on o ptima.
Existen tambi en t ecnicas que construyen parcialmente una soluci on a un problema. Por ejemplo, la programaci on din amica y el m etodo de ramicaci on y b usqueda (branch & bound). Cuando enfrentamos un cierto problema de optimizaci on, si la funci on a optimizarse se encuentra denida en forma algebraica, es importante intentar resolverla primero con t ecnicas cl asicas, antes de utilizar cualquier heur stica.
A un proceso que puede resolver un cierto problema, pero que no ofrece ninguna garant a de lograrlo, se le denomina una heur stica para ese problema. Las heur sticas fueron un a rea predominante en los or genes de la Inteligencia Articial. Actualmente, el t ermino suele usarse como un adjetivo, reri endose a cualquier t ecnica que mejore el desempe no en promedio de la soluci on de un problema, aunque no mejore necesariamente el desempe no en el peor caso [197]. Una denici on m as precisa y adecuada para los nes de este curso es la proporcionada por Reeves [186]: Una heur stica es una t ecnica que busca soluciones buenas (es decir, casi o ptimas) a un costo computacional razonable, aunque sin garantizar factibilidad u optimalidad de las mismas. En algunos casos, ni siquiera puede determinar qu e tan cerca del o ptimo se encuentra una soluci on factible en particular. Algunos ejemplos de t ecnicas heur sticas son los siguientes:
[102] es realmente una meta-heur La busqueda tabu stica, porque es un procedimiento que debe acoplarse a otra t ecnica, ya que no funciona por s sola. La b usqueda tab u usa una memoria para guiar la b usqueda, de tal forma que algunas soluciones examinadas recientemente son memorizadas y se vuelven tab u (prohibidas) al tomar decisiones acerca del siguiente punto de b usqueda. La b usqueda tab u es determinista, aunque se le pueden agregar elementos probabil sticos. El recocido simulado [142] est a basado en el enfriamiento de los cristales. El algoritmo requiere de una temperatura inicial, una nal y una funci on de variaci on de la temperatura. Dicha funci on de variaci on es crucial para el buen desempe no del algoritmo y su denici on es, por tanto, sumamente importante. Este es un algoritmo probabil stico de b usqueda local. La t ecnica escalando la colina se aplica a un punto a la vez (es decir, es una t ecnica local). A partir de un punto, se generan varios estados posibles y 34
F F
Figura 1.1: Dos ejemplos de conjuntos convexos. se selecciona el mejor de ellos. El algoritmo no tiene retroceso ni lleva ning un tipo de registro hist orico (aunque e stos y otros aditamentos son susceptibles de ser incorporados). El algoritmo puede quedar atrapado f acilmente en o ptimos locales. Asimismo, el algoritmo es determinista.
En otras palabras, conjunto, el segmento rectil neo que une estos puntos est a tambi en dentro del conjunto. De tal forma, los conjuntos mostrados en la gura 1.1 son convexos y los mostrados en la gura 1.2 no lo son. El objetivo principal de cualquier t ecnica de optimizaci on es encontrar el o ptimo (o los o ptimos) globales de cualquier problema. En matem aticas, existe un a rea que se ocupa de desarrollar los formalismos que nos permitan garantizar la convergencia de un m etodo hacia el o ptimo global de un problema. Apropiadamente, se denomina optimizaci on global [131]. Desgraciadamente, s olo en algunos casos limitados, puede garantizarse convergencia hacia el o ptimo global. Por ejemplo, para problemas con espacios de b usqueda convexos, las condiciones de Kuhn-Tucker son necesarias y sucientes 35
Figura 1.2: Dos ejemplos de conjuntos no convexos. para garantizar optimalidad global de un punto. En problemas de optimizaci on no lineal, las condiciones de Kuhn-Tucker no son sucientes para garantizar optimalidad global. De hecho, todas las t ecnicas usadas para optimizaci on no lineal pueden localizar cuando mucho o ptimos locales, pero no puede garantizarse convergencia al o ptimo global a menos que se usen t ecnicas exhaustivas o que se consideren tiempos innitos de convergencia. Existen muchos tipos de problemas de optimizaci on, pero los que nos interesan m as para los nes de este curso, son de los de optimizaci on num erica, que pueden denirse de la siguiente manera: Minimizar sujeta a:
donde: son las variables de decisi on del problema, son las restric ciones de desigualdad, y son las restricciones de igualdad. Asimismo,
36
S
F F
Figura 1.3: Representaci on gr aca de la zona factible (denotada con problema. Advierta que en este caso la zona factible es disjunta.
) de un
A las restricciones de igualdad y desigualdad expresadas algebraicamente, se les denomina restricciones expl citas. En algunos problemas, existen tambi en restricciones impl citas, relacionadas sobre todo con las caracter sticas del problema. Por ejemplo, si decimos:
estamos deniendo que el rango de una variable de decisi on debe estar contenido dentro de un cierto intervalo. De tal forma, estamos restringiendo el tipo de soluciones que se considerar an como v alidas. Todas las soluciones a un problema que satisfagan las restricciones existentes (de cualquier tipo), se consideran ubicadas dentro de la zona factible. De tal forma, podemos decir que el espacio de b usqueda de un problema se divide en la regin (o zona) factible y la no factible. La gura 1.3 ilustra la diferencia entre la zona factible y no factible de un problema Para concluir este primer cap tulo, mencionaremos que existe una clase especial de problemas que tambi en ser an de inter es para este curso, en los cuales 37
las variables de decisi on son discretas y las soluciones suelen presentarse en la forma de permutaciones. A estos problemas se les denomina de optimizaci on combinatoria (p. ej. el problema del viajero).
2. Busque en un libro de m etodos num ericos informaci on sobre alguna de las siguientes t ecnicas para resolver ecuaciones trascendentes de una sola variable (elija s olo uno): Bisecci on (o Bolzano), Newton-Raphson, Regla Falsa o Secante. Se recomienda consultar el siguiente libro: Richard L. Burden y J. Douglas Faires, An alisis Num erico, 6a. Edici on, International Thompson Editores, 1998. a) Usando como base el seudo-c odigo del m etodo, implem entelo en C/C++ (la funci on a resolverse puede proporcionarse directamente dentro del c odigo del programa). Incluya el c odigo fuente en su tarea. b) Dos escaleras se cruzan en un pasillo, tal y como se muestra en la gura 1.4. Cada escalera est a colocada de la base de una pared a alg un punto de la pared opuesta. Las escaleras se cruzan a una altura arriba del pavimento. Dado que las longitudes de las escaleras son m y m, y que m, encontrar , que es el ancho del pasillo, usando el programa escrito en el inciso anterior (una soluci on real es suciente). Imprima las
38
x2
x1
Figura 1.4: Escaleras entrecruzadas del problema 2.b. iteraciones efectuadas por su programa al resolver este problema. Bonicaci on. El problema del inciso b) tiene m as de una soluci on real. Encuentre al menos una soluci on real m as (distinta de la reportada en el inciso anterior). Adicionalmente, encuentre una soluci on real que sea v alida pero que no tenga sentido reportar dada la interpretaci on f sica del problema. Discuta brevemente acerca de esto.
3. Muestre las 2 primeras iteraciones del m etodo de ascenso empinado al min usando el punto inicial . imizar
4. Lea el cap tulo 1 del siguiente libro (las fotocopias se proporcionar an en clase) para resolver las preguntas de esta secci on: Zbigniew Michalewicz & David B. Fogel, How to Solve It: Modern Heuristics, Springer, Berlin, 2000.
39
1. Mencione al menos 2 razones por las cuales un problema del mundo real puede no ser resuelto f acilmente. NO USE ninguna de las razones enumeradas en la p agina 11 del cap tulo proporcionado. 2. Supongamos que la optimizaci on de una funci on requiere de 10 vari ables de decisi on , cada una de las cuales tiene el rango:
.
olo valores enteros, cu al es el tama no del espacio de a) Si puede tomar s b usqueda de este problema?
b) Si puede tomar valores reales y usaremos una precisi on de ocho lugares decimales, cu al es el tama no del espacio de b usqueda del problema?
3. Dena las restricciones r gidas (hard constraints) y las restricciones exibles (soft constraints) con sus propias palabras. Comp arelas entre s .
40
42
2.2 Lamarckismo
A partir de 1801, el zo ologo franc es Jean Baptiste Pierre Antoine de Monet (Caballero de Lamarck) comienza a publicar detalles de su propia teor a evolutiva. Conocedor del trabajo de Leclerc (quien era adem as su mentor), Lamarck enfatiz o la importancia de la naturaleza en los cambios de las especies. A diferencia de Leclerc, Lamarck s explic o un mecanismo responsable de los cambios en las especies, al cual ahora se le conoce como Lamarckismo. A pesar de que el t ermino Lamarckismo se usa hoy en d a en sentido peyorativo para referirse a la teor a de que las caracter sticas adquiridas por un individuo son 1 hereditarias , la verdad es que sus ideas fueron m as complejas. Lamarck cre a que los organismos no son alterados de forma pasiva por su ambiente, tal y como armaba Etienne Geoffroy Saint-Hilaire en su Philosophie Anatomique, sino que m as bien un cambio en el ambiente produce cambios en las necesidades de los organismos, lo que hace que, en consecuencia, e stos cambien su comportamiento. Estos cambios de comportamiento conducen al mayor uso (o al desuso) de ciertos o rganos o estructuras corporales de un individuo, los cuales har an que dichos o rganos o estructuras crezcan (ante un mayor uso) o se reduzcan (ante el menor uso) con el paso de las generaciones. Adem as, Lamarck cre a que estos cambios eran hereditarios, lo que implicaba que los organismos se van adaptando gradualmente a su ambiente. Es interesante hacer notar que aunque el mecanismo evolutivo propuesto por Lamarck diere notablemente del propuesto varios a nos despu es por Darwin, los resultados a los que ambas teor as conducen son los mismos: las especies sufren cambios adaptativos debido a la inuencia del ambiente a lo largo de periodos de tiempo considerables. De hecho, llama la atenci on que en su libro Philosophie Zoologique [150], Lamarck utiliza muchas de las mismas evidencias que despu es adoptara Darwin para enunciar su famosa teor a. Sin embargo, las ideas de Lamarck no fueron muy populares en su e poca, y s olo sirvieron para desacreditarlo con sus contempor aneos, incluyendo a su mentor Leclerc. Curiosamente, varias de las ideas de Lamarck fueron re-descubiertas (de forma independiente) por Erasmus Darwin (el abuelo de Charles Darwin) en su libro Zoonomia, que data de 1794. Tal vez a ello se deba que Charles Darwin haya sido uno de los pocos naturalistas en defender las ideas de Lamarck, a pesar de que e stas se opon an a su propia teor a evolutiva.
El ejemplo cl asico usado por Lamarck era el del crecimiento del cuello y las patas frontales de las jirafas, ante la necesidad de alcanzar las hojas m as altas de los a rboles.
1
43
Figura 2.3: August Weismann. Hasta el re-descubrimiento de las leyes de Gregor Mendel (enunciadas originalmente en 1865) a principios del siglo XX, nadie entend a de forma precisa los mecanismos de la herencia, y la teor a de Lamarck (con diversas variantes) goz o de gran popularidad entre varios cient cos destacados del siglo XIX como el alem an Ernst Haeckel y el norteamericano Edward Drinker Cope, consider andose como una alterantiva viable al mecanismo de selecci on natural que Charles Darwin propusiera en su libro El Origen de las Especies [59].
Figura 2.4: Alfred Russell Wallace. biar al germoplasma (hoy conocido como genotipo2), y cre a que tanto el germoplasma como el ambiente pod an inuenciar al somatoplasma (hoy conocido como fenotipo3). Con el advenimiento de la gen etica en los 1930s, las ideas de Lamarck fueron nuevamente desacreditadas y se consideran hoy en d a como obsoletas, aunque algunos investigadores las han incorporado con e xito en diversas aplicaciones de la computaci on evolutiva, como veremos en cap tulos posteriores.
45
Figura 2.5: Charles Robert Darwin. Charles Lyell5. Tras percatarse del trabajo de Wallace, Darwin decidi o interrumpir la elaboraci on de un libro sobre la selecci on natural que inici o en 1856, y mejor se enfoc o a escribir otro sobre la evoluci on. Su libro, titulado El origen de las especies, se public o en 1859 [59] con gran e xito (el tiraje inicial de 1,250 ejemplares se agot o en s olo 24 horas). Darwin se percat o de que una especie que no sufriera cambios se volver a incompatible con su ambiente, ya que e ste tiende a cambiar con el tiempo. Asimismo, las similitudes entre hijos y padres observada en la naturaleza, le sugirieron a Darwin que ciertas caracter sticas de las especies eran hereditarias, y que de generaci on a generaci on ocurr an cambios cuya principal motivaci on era hacer a los nuevos individuos m as aptos para sobrevivir.
46
Figura 2.6: Johann Gregor Mendel. La explicaci on que esta teor a daba a este fen omeno era que ciertas caracter sticas, al combinarse, se dilu an con el paso de las generaciones, lo cual contradec a la teor a de la selecci on natural de Darwin, pues seg un la teor a de la combinaci on, los cambios adaptativos no podr an ser preservados. El ingeniero brit anico Fleming Jenkins se contaba entre los m as fervientes defensores de la teor a de la combinaci on, y para defenderse de e l, Darwin hubo de elaborar su propia teor a de la herencia, denominada de la pang enesis.
Hoy sabemos que esta ley s olo es v alida para los genes localizados en cromosomas diferentes.
47
cierto gene7 es dominante o recesivo. De tal manera, la teor a de la combinaci on de la que hablamos anteriormente, quedaba desechada de acuerdo a los resultados producidos en los experimentos de Mendel. Aunque Mendel descubri o las leyes de la herencia, realmente no lleg o a entender el mecanismo detr as de ella, y los genes, as como el mecanismo de transmisi on de los mismos de generaci on en generaci on no fue descubierto sino hasta varios a nos despu es. Asimismo, su trabajo permaneci o largamente ignorado por la comunidad cient ca, debido a que los dio a conocer originalmente en dos conferencias dictadas ante la Sociedad de Ciencias de Br unn, el 8 de febrero y el 8 de marzo de 1865. El manuscrito original fue publicado en las memorias de dicha Sociedad en 1866, en alem an [157], y no se tradujeron al ingl es sino hasta 1901 [158].
49
50
2.10 Neo-Darwinismo
La teor a evolutiva propuesta originalmente por Charles Darwin en combinaci on con el seleccionismo de August Weismann y la gen etica de Gregor Mendel, se conoce hoy en d a como el paradigma Neo-Darwiniano. El Neo-Darwinismo establece que la historia de la vasta mayor a de la vida en nuestro planeta puede ser explicada a trav es de un pu nado de procesos estad sticos que act uan sobre y dentro de las poblaciones y especies [124]: la reproducci on, la mutaci on, la competencia y la selecci on. La reproducci on es una propiedad obvia de todas las formas de vida de nuestro planeta, pues de no contar con un mecanismo de este tipo, la vida misma no tendr a forma de producirse. En cualquier sistema que se reproduce a s mismo continuamente y que est a en constante equilibrio, la mutaci on est a garantizada [80]. El contar con una cantidad nita de espacio para albergar la vida en la Tierra garantiza la existencia de la competencia. La selecci on se vuelve la consecuencia natural del exceso de organismos que han llenado el espacio de recursos disponibles. La evoluci on es, por lo tanto, el resultado de estos procesos estoc asticos (es decir, probabil sticos) fundamentales que interact uan entre s en las poblaciones, generaci on tras generaci on.
51
52
Figura 2.11: George E. P. Box. segregaci on10, los porcentajes de cruza y varios otros mecanismos biol ogicos que hoy son de sumo inter es para la comunidad de computaci on evolutiva. Su trabajo de m as de 10 a nos en este tema se resume en un libro titulado Computer Models in Genetics [93]. De tal forma, puede decirse que el trabajo de Fraser anticip o la propuesta del algoritmo gen etico simple de Holland y la de la estrategia evolutiva de dos miembros de Schwefel [81]. Fraser adem as lleg o a utilizar el t ermino aprendizaje para referirse al proceso evolutivo efectuado en sus simulaciones, y anticip o el operador de inversi on, la denici on de una funci on de aptitud y el an alisis estad stico de la convergencia del proceso de selecci on [92]. M as interesante a un, resulta el hecho de que el trabajo de Fraser no fue el u nico efectuado en su e poca, sino que m as bien los modelos computacionales de la gen etica poblacional se volvieron bastante populares durante nes de los 1950s y principios de los 1960s, al grado de que dio pie a rese nas sobre el tema, como las de J. L. Crosby [57] y B. R. Levin [153]
2.13 EVOP
Aproximadamente en la misma e poca en que iniciara su trabajo Fraser, el experto en estad stica ingl es George E. P. Box propuso un enfoque evolutivo para la optimizaci on de la producci on industrial [26]. Su t ecnica, denominada EVOP (Evolutionary Operation) consist a en efectuar peque nos cambios a un conjunto de par ametros de producci on, monitoreando ciertos datos estad sticos de los procesos para guiar la b usqueda. Box [26] lleg o a establecer claramente la analog a
Cuando se forman los gametos y tenemos m as de un par de cromosomas en el genotipo, entonces, para nes de la recombinaci on sexual, es necesario elegir s olo uno de los cromosomas existentes. A este proceso se le denomina segregaci on.
10
53
entre estos cambios y las mutaciones que ocurren en la naturaleza, e hizo ver tambi en que el proceso de ajuste de par ametros que efectuaba con t ecnicas estad sticas era similar al proceso de selecci on natural. EVOP funcionaba mediante un proceso iterativo, pero requer a de intervenci on humana en cada etapa, si bien Box [26] reconoci o que la t ecnica pod a automatizarse. Como Fogel indica en su libro sobre historia de la computaci on evolutiva [81], aunque en forma limitada, EVOP sigue en uso hoy en d a en la industria qu mica11.
54
bajo de Friedberg era una falla total. Minsky atribuy o el fracaso del m etodo de Friedberg a lo que e l denomin o el fen omeno de mesa [166], seg un el cual el estancamiento de la poblaci on se deb a al hecho de que s olo una instrucci on del programa era modicada a la vez, y eso no permit a explorar una porci on signicativa del espacio de b usqueda. Aunque estas observaciones no son del todo precisas [81], el problema del estancamiento sigui o siendo el principal inconveniente del procedimiento de Friedberg, aunque Fogel [81] considera que su trabajo precedi o el uso de los sistemas clasicadores que popularizara varios a nos despu es John Holland [127]. Dunham et al. [70, 72, 71] continuaron el trabajo de Friedberg, y tuvieron e xito con algunos problemas de aprendizaje de mayor grado de dicultad que los intentados por e ste.
56
de estados nitos, los cuales eran expuestos a una serie de s mbolos de entrada (el ambiente), y se esperaba que, eventualmente, ser an capaces de predecir las secuencias futuras de s mbolos que recibir an. Fogel utiliz o una funci on de pago que indicaba qu e tan bueno era un cierto aut omata para predecir un s mbolo, y us o un operador modelado en la mutaci on para efectuar cambios en las transiciones y en los estados de los aut omatas que tender an a hacerlos m as aptos para predecir secuencias de s mbolos. Esta t ecnica no consideraba el uso de un operador de recombinaci on sexual porque, como veremos en un cap tulo posterior, pretend a modelar el proceso evolutivo al nivel de las especies y no al nivel de los individuos. La programaci on evolutiva se aplic o originalmente a problemas de predicci on, control autom atico, identicaci on de sistemas y teor a de juegos, entre otros [83, 86, 35]. Donald W. Dearholt y algunos otros investigadores, experimentaron con programaci on evolutiva en la Universidad de Nuevo M exico en los 1970s, de forma totalmente independiente a Fogel [85, 81, 193, 54]. Probablemente la programaci on evolutiva fue la primera t ecnica basada en la evoluci on en aplicarse a problemas de predicci on, adem as de ser la primera en usar codicaciones de longitud variable (el n umero de estados de los aut omatas pod a variar tras efectuarse una mutaci on), adem as de constituir uno de los primeros intentos por simular la co-evoluci on.
En los dos primeros casos (el tubo y la placa), Rechenberg procedi o a efectuar cambios aleatorios en ciertas posiciones de las juntas y en el tercer problema procedi o a intercambiar, agregar o quitar segmentos de boquilla. Sabiendo que en la naturaleza las mutaciones peque nas ocurren con mayor frecuencia que las grandes, Rechenberg decidi o efectuar estos cambios en base a una distribuci on binomial con una varianza prejada. El mecanismo b asico de estos primeros experimentos era crear una mutaci on, ajustar las juntas o los segmentos de boquilla de acuerdo a ella, llevar a cabo el an alisis correspondiente y determinar qu e tan buena era la soluci on. Si e sta era mejor que su predecesora, entonces pasaba a ser utilizada como base para el siguiente experimento. De tal forma, no se requer a informaci on alguna acerca de la cantidad de mejoras o deterioros que se efectuaban. Esta t ecnica tan simple dio lugar a resultados inesperadamente buenos para los tres problemas en cuesti on, y Peter Bienert [23] construy o un robot que pod a efectuar de forma autom aticamente el proceso de optimizaci on usando este m etodo. Simult aneamente, Hans-Paul Schwefel se dio a la tarea de implementar esta t ecnica en una computadora Z23 [202]. Aunque los primeros fundamentos te oricos de las estrategias evolutivas de dos miembros (su versi on m as simple) se esbozaron en la tesis doctoral de Ingo Rechenberg la cual se public o como libro en 1973 [184], no fue sino hasta que el libro que Schwefel escribiera a nes de los 1970s [203] se tradujo al ingl es [204] que la t ecnica atrajo la atenci on de los investigadores fuera del mundo germanoparlante. 59
61
tamiento que caracteriza a los procesos de sucesi on ecol ogica deben emerger potencialmente, (b) los procesos de la b usqueda evolutiva deben corresponder con su contraparte biol ogica, y (c) la simulaci on debe ser lo m as simple posible a n de permitir el estudio de caracter sticas fundamentales de los ecosistemas as como las condiciones m nimas necesarias para que ocurra la evoluci on natural. Sus esfuerzos en esta a rea se extendieron hasta los 1980s [48, 49, 53, 189, 52]. Michael Conrad [47] propuso tambi en en los 1970s un modelo de circuitos de aprendizaje evolutivo en el cual especul o sobre la posibilidad de que el cerebro use el mismo tipo de mecanismos que usa la evoluci on para aprender. Su t ecnica fue uno de los primeros intentos por utilizar algoritmos evolutivos para entrenar redes neuronales. Conrad tambi en sugiri o [50] el uso de la evoluci on para lidiar con problemas como el reconocimiento de patrones en que los enfoques algor tmicos de alto nivel (como los sistemas expertos) no han proporcionado resultados satisfactorios.
Figura 2.17: John R. Koza. implementaciones en muchos otros lenguajes de programaci on. Su t ecnica es casi independiente del dominio y ha sido utilizada en un sinn umero de aplicaciones de entre las que destacan la compresi on de im agenes, el dise no de circuitos, el reconocimiento de patrones y la planeaci on de movimientos de robots, entre otras [145]. M as recientemente, Koza [146] extendi o su t ecnica mediante la incorporaci on de funciones denidas autom aticamente, las cuales pueden ser reusadas a manera de subrutinas e incrementan notablemente el poder de la programaci on gen etica para generar programas autom aticamente.
Figura 2.18: Thomas S. Ray. en la parte superior de la cola de espera eran destruidas (es decir, mor an). Para introducir diversidad en las criaturas, Ray propuso dos formas de mutaci on: (1) a ciertos intervalos, algunos bits en memoria eran modicados aleatoriamente, y (2) durante el proceso de auto-replicaci on de una criatura, algunos de sus bits se cambiaban aleatoriamente. Otra fuente adicional de diversidad proven a del hecho de que los programas no eran determin sticos, sino que cada instrucci on ten a asociada una probabilidad de ser ejecutada. Uno de los fen omenos observados por Ray durante las simulaciones de Tierra fue el surgimiento de criaturas par asitas, las cuales no pod an reproducirse al carecer de un programa hu esped que las contuviera, y que la din amica evolutiva misma del sistema tend a a eliminar con el paso del tiempo. Tierra es uno de los pocos intentos por simular un ecosistema con el prop osito expreso de observar los comportamientos que emergen de la din amica evolutiva del mismo.
Figura 2.19: James Mark Baldwin. con el Lamarckismo. 2. El Neo-Darwinismo se compone b asicamente de los siguientes fen omenos y propuestas [212]:
Herencia Mutaci on Mezcla aleatoria de cromosomas paternos y maternos Recombinaci on Selecci on y evoluci on natural Aislamiento Desv o gen etico La barrera de Weismann es inviolable
Investigue los argumentos del Neo-Darwinismo respecto de cada uno de estos puntos y elabore un ensayo donde los discuta y critique. 3. Investigue en qu e consiste el equilibro acentuado [73, 124] (punctuated equilibrium en ingl es) y escriba un ensayo en el que indique si considera que se opone a los preceptos del Neo-Darwinismo o no. Fundamente bien sus argumentos. 65
4. Dena lo que se entiende en biolog a por desv o gen etico (genetic drift, en ingl es), indicando c omo puede contrarrestarse. Aseg urese de explicar el signicado de cualquier t ermino que utilice en su denici on. Se le recomienda consultar: Paton, Raymond C. Principles of Genetics, en Thomas B ack, David B. Fogel & Zbigniew Michalewicz (editores), Handbook of Evolutionary Computation, pp. A2.2:1A2.2:9, Institute of Physics Publishing and Oxford University Press, 1997.
66
Codicar las estructuras que se replicar an. Operaciones que afecten a los individuos. Una funci on de aptitud. Un mecanismo de selecci on.
Aunque hoy en d a es cada vez m as dif cil distinguir las diferencias entre los distintos tipos de algoritmos evolutivos existentes, por razones sobre todo hist oricas, suele hablarse de tres paradigmas principales:
Cada uno de estos paradigmas se origin o de manera independiente y con motivaciones muy distintas. Aunque este curso se concentrar a principalmente en el tercero (los algoritmos gen eticos), revisaremos r apidamente, y de manera muy general, los otros dos paradigmas en este cap tulo. 67
Figura 3.1: Portada de la edici on reciente (1999) del libro Articial Intelligence through Simulated Evolution, con el cual se originara la programaci on evolutiva.
Generar aleatoriamente una poblaci on inicial. Se aplica mutaci on. Se calcula la aptitud de cada hijo y se usa un proceso de selecci on mediante torneo (normalmente estoc astico) para determinar cu ales ser an las soluciones que se retendr an.
La programaci on evolutiva es una abstracci on de la evoluci on al nivel de las especies, por lo que no se requiere el uso de un operador de recombinaci on (diferentes especies no se pueden cruzar entre s ). Asimismo, usa selecci on probabil stica. 68
0/c B
1/b
1/c
Figura 3.2: Aut omata nito de 3 estados. Los s mbolos a la izquierda de / son de entrada, y los de la derecha son de salida. El estado inicial es C. 3.1.1.2 Ejemplo Veamos el ejemplo del funcionamiento de la programaci on evolutiva que se indica en la gura 3.2. La tabla de transiciones de este aut omata es la siguiente: Estado Actual C S mbolo de Entrada 0 Estado Siguiente B S mbolo de Salida b B C A 1 1 1 C A A a c b A 0 B b B 1 C a
En este aut omata pueden ahora aplicarse cinco diferentes tipos de mutaciones: cambiar un s mbolo de salida, cambiar una transici on, agregar un estado, borrar un estado y cambiar el estado inicial. El objetivo es hacer que el aut omata reconozca un cierto conjunto de entradas (o sea, una cierta expresi on regular) sin equivocarse ni una sola vez.
3.1.2 Aplicaciones
Algunas aplicaciones de la programaci on evolutiva son [80]:
Control autom atico Problema del viajero Planeaci on de rutas Dise no y entrenamiento de redes neuronales Reconocimiento de patrones
donde se reere a la generaci on (o iteraci on) en la que nos encontramos, y es un vector de n umeros Gaussianos independientes con una media de cero y desviaciones est andar .
3.1.3.2 Ejemplo Considere el siguiente ejemplo de una (1+1)-EE (estrategia evolutiva de dos miembros): Supongamos que queremos optimizar:
donde:
70
Ahora, supongamos que nuestra poblaci on consiste del siguiente individuo (generado de forma aleatoria):
Rechenberg [184] introdujo el concepto de poblaci on, al proponer una estrategia evolutiva llamada (( +1)-EE, en la cual hay padres y se genera un solo hijo, el cual puede reemplazar al peor padre de la poblaci on (selecci on extintiva). Schwefel [203, 204] introdujo el uso de m ultiples hijos en las denominadas ( + )-EEs y ( , )-EEs. La notaci on se reere al mecanismo de selecci on utilizado:
En el primer caso, los mejores individuos obtenidos de la uni on de padres e hijos sobreviven. En el segundo caso, s olo los mejores hijos de la siguiente generaci on sobreviven.
3.1.3.3 Convergencia Rechenberg [184] formul o una regla para ajustar la desviaci on est andar de forma determin stica durante el proceso evolutivo de tal manera que el procedimiento convergiera hacia el o ptimo. Esta regla se conoce como la regla del e xito 1/5, y en palabras dice: 71
Figura 3.3: Thomas B ack. La raz on entre mutaciones exitosas y el total de mutaciones debe ser 1/5. Si es mayor, entonces debe incrementarse la desviaci on est andar. Si es menor, entonces debe decrementarse. Formalmente:
donde es el n umero de dimensiones, es la generaci on, es la frecuencia relativa de mutaciones exitosas medida sobre intervalos de (por ejemplo) in dividuos, y (este valor fue derivado te oricamente por Schwefel [204]). se ajusta cada mutaciones. Thomas B ack [9] deriv o una regla de e xito 1/7 para las ( , )-EEs.
si si
si
3.1.3.4 Auto-Adaptaci on En las estrategias evolutivas se evoluciona no s olo a las variables del problema, sino tambi en a los par ametros mismos de la t ecnica (es decir, las desviaciones est andar). A esto se le llama auto-adaptaci on). Los padres se mutan usando las siguientes f ormulas:
72
donde y constantes de proporcionalidad que est an en funci on de . Los operadores de recombinaci on de las estrategias evolutivas pueden ser:
Sexuales: el operador act ua sobre 2 individuos elegidos aleatoriamente de la poblaci on de padres. Panm ticos: se elige un solo padre al azar, y se mantiene jo mientras se elige al azar un segundo padre (de entre toda la poblaci on) para cada componente de sus vectores.
Las estrategias evolutivas simulan el proceso evolutivo al nivel de los individuos, por lo que la recombinaci on es posible. Asimismo, usan normalmente selecci on determin stica. 3.1.3.5 Estrategias Evolutivas vs Programaci on Evolutiva La Programaci on Evolutiva usa normalmente selecci on estoc astica, mientras que las estrategias evolutivas usan selecci on determin stica. Ambas t ecnicas operan a nivel fenot pico (es decir, no requieren codicaci on de las variables del problema). La programaci on evolutiva es una abstracci on de la evoluci on al nivel de las especies, por lo que no se requiere el uso de un operador de recombinaci on (diferentes especies no se pueden cruzar entre s ). En contraste, las estrategias evolutivas son una abstracci on de la evoluci on al nivel de un individuo, por lo que la recombinaci on es posible. 3.1.3.6 Aplicaciones Algunas aplicaciones de las estrategias evolutivas son [204]:
Figura 3.4: Portada de una edici on reciente (publicada por el MIT Press) del libro en el que Holland diera a conocer originalmente los algoritmos gen eticos (en 1975).
Generar (aleatoriamente) una poblaci on inicial. Calcular aptitud de cada individuo. Seleccionar (probabil sticamente) en base a aptitud. Aplicar operadores gen eticos (cruza y mutaci on) para generar la siguiente poblaci on. Ciclar hasta que cierta condici on se satisfaga.
Cadena 1
Cadena 2
Cadena 3
Cadena 4
Figura 3.5: Ejemplo de la codicaci on (mediante cadenas binarias) usada tradicionalmente con los algoritmos gen eticos. A la cadena binaria se le llama cromosoma. A cada posici on de la cadena se le denomina gene y al valor dentro de esta posici on se le llama alelo. Para poder aplicar el algoritmo gen etico se requiere de los 5 componentes b asicos siguientes:
Una representaci on de las soluciones potenciales del problema. Una forma de crear una poblaci on inicial de posibles soluciones (normalmente un proceso aleatorio). Una funci on de evaluaci on que juegue el papel del ambiente, clasicando las soluciones en t erminos de su aptitud. Operadores gen eticos que alteren la composici on de los hijos que se producir an para las siguientes generaciones. Valores para los diferentes par ametros que utiliza el algoritmo gen etico (tama no de la poblaci on, probabilidad de cruza, probabilidad de mutaci on, n umero m aximo de generaciones, etc.)
3.1.4.2 Algoritmos gen eticos vs otras t ecnicas evolutivas El AG usa selecci on probabil stica al igual que la Programaci on Evolutiva, y en contraposici on a la selecci on determin stica de las Estrategias Evolutivas. El AG usa representaci on binaria para codicar las soluciones a un problema, por lo cual se evoluciona el genotipo y no el fenotipo como en la Programaci on Evolutiva o las Estrategias Evolutivas. El operador principal en el AG es la cruza, y la mutaci on es un operador secundario. En la Programaci on Evolutiva, no hay cruza y en las Estrategias Evolutivas es un operador secundario. Ha sido demostrado [195] que el AG requiere de elitismo (o sea, retener intacto al mejor individuo de cada generaci on) para poder converger al o ptimo. 75
Figura 3.6: Portada del libro de David E. Goldberg sobre algoritmos gen eticos. A este importante libro se debe, en gran medida, el e xito (cada vez mayor) de que han gozado los algoritmos gen eticos desde principios de los 1990s. Los AGs no son, normalmente, auto-adaptativos, aunque el uso de dicho mecanismo es posible, y ha sido explorado extensivamente en la literatura especializada (ver por ejemplo: [6, 63, 201]). Puede verse una comparaci on m as detallada de los tres paradigmas anteriores en la tabla 3.1. 3.1.4.3 Aplicaciones Algunas aplicaciones de los AGs son las siguientes [105]:
Optimizaci on (estructural, de topolog as, num erica, combinatoria, etc.) Aprendizaje de m aquina (sistemas clasicadores) Bases de datos (optimizaci on de consultas) Reconocimiento de patrones (por ejemplo, im agenes) Generaci on de gram aticas (regulares, libres de contexto, etc.) Planeaci on de movimientos de robots Predicci on
76
Tabla 3.1: Tabla comparativa de los tres paradigmas principales que conforman la computaci on evolutiva [9].
Estrategias Evolutivas
Representaci on Funci on de Aptitud Auto-Adaptaci on Real Valor de la funci on objetivo Desviaciones Est andar ya ngulos de rotaci on
Programaci on Evolutiva
Real Valor de la funci on objetivo ajustada Ninguna Varianzas (PE-est andar), Coecientes de correlaci on (meta-PE) Gausiana, operador u nico Ninguna
Mutaci on Recombinaci on
Selecci on
Restricciones
Gausiana, operador principal Discreta e intermedia, sexual y panm tica, importante para la auto-adaptaci on Determin stica, extintiva o basada en la preservaci on Restricciones arbitrarias de desigualdad Velocidad de Convergencia para casos especiales, (1+1)-ES, (1+ )-ES, Convergencia global
Teor a
para (
Inversi on de bits, operador secundario Cruza de 2-puntos, cruza uniforme, u nicamente sexual, operador principal Probabil stica, basada en la preservaci on L mites simples mediante el mecanismo de codicaci on Teor a de los Esquemas, Convergencia global para la versi on elitista
)-ES
para meta-PE
77
Las t ecnicas evolutivas usan una poblaci on de soluciones potenciales en vez de un solo individuo, lo cual las hace menos sensibles a quedar atrapadas en m nimos/m aximos locales. Las t ecnicas evolutivas no necesitan conocimiento espec co sobre el problema que intentan resolver. Las t ecnicas evolutivas usan operadores probabil sticos, mientras las t ecnicas tradicionales utilizan operadores determin sticos. Aunque las t ecnicas evolutivas son estoc asticas, el hecho de que usen operadores probabil sticos no signica que operen de manera an aloga a una simple b usqueda aleatoria.
Simplicidad Conceptual. Amplia aplicabilidad. Superiores a las t ecnicas tradicionales en muchos problemas del mundo real. Tienen el potencial para incorporar conocimiento sobre el dominio y para hibridizarse con otras t ecnicas de b usqueda/optimizaci on. Pueden explotar f acilmente las arquitecturas en paralelo. Son robustas a los cambios din amicos. Generalmente pueden auto-adaptar sus par ametros. Capaces de resolver problemas para los cuales no se conoce soluci on alguna. 78
Figura 3.7: Portada del libro de John Koza sobre programaci on gen etica. Este libro marc o el inicio de una nueva a rea dentro de la computaci on evolutiva, dedicada principalmente a la soluci on de problemas de regresi on simb olica.
Robert G. Reynolds, An Introduction to Cultural Algorithms, In A. V. Sebald, , and L. J. Fogel, editors, Proceedings of the Third Annual Conference on Evolutionary Programming, pages 131139. World Scientic, River Edge, New Jersey, 1994. Robert G. Reynolds, Zbigniew Michalewicz, and M. Cavaretta, Using cultural algorithms for constraint handling in GENOCOP, In J. R. McDonnell, R. G. Reynolds, and D. B. Fogel, editors, Proceedings of the Fourth Annual Conference on Evolutionary Programming, pages 298305. MIT Press, Cambridge, Massachusetts, 1995.
2. Investigue en qu e consiste la b usqueda dispersa (scatter search) y su relaci on con la computaci on evolutiva. Se le sugiere leer:
Fred Glover, Genetic Algorithms and Scatter Search: Unsuspected Potentials, Statistics and Computing, Vol. 4, pp. 131140, 1994. Fred Glover, Scatter Search and Star-Paths: Beyond the Genetic Metaphor, OR Spektrum, Vol. 17, pp. 125137, 1995.
3. Implemente una estrategia evolutiva de 2 miembros (la denominada ) cuyo algoritmo que se presenta a continuaci on: t contador de generaciones, n n umero de variables Gmax = n umero m aximo de generaciones t 0 Inicializar variables , Evaluar while (t
Gmax) do inicializar semilla de aleatorios mutar el vector usando:
Evaluar
80
if if
if
else
Algunos puntos importantes que deben observarse en este programa son los siguientes:
El valor de la constante oscila entre 0.817 y 1.0, aunque muchos . suelen establecerlo en o es la frecuencia de e xito de las mutaciones. Para calcularlo, se registrar a como exitosa aquella mutaci on en la que el hijo reemplace ua cada a su padre. La actualizaci on de normalmente se efect iteraciones.
Usaremos
La semilla de aleatorios se inicializar a con , que es una funci on en C que devuelve un entero en base al reloj interno de la computadora.
(distribuci on normal) con media cero y desviaci on est andar uno. Cuidar que los valores de las variables no se salgan del rango especicado.
Escribir un programa en C que implemente el algoritmo arriba indicado y utilizarlo para minimizar:
(3.1)
donde
(a) El c odigo fuente del programa, con comentarios sucientemente claros como para entender el funcionamiento del mismo. (b) Una gr aca de la funci on a optimizarse dentro de los rangos permisibles para las variables. La gr aca deber a estar en 3 dimensiones. (c) Una corrida de ejemplo (presumiblemente, una corrida representativa de su funcionamiento).
82
Figura 4.3: Cromosomas Un gene es una secci on de ADN que codica una cierta funci on bioqu mica denida, usualmente la producci on de una prote na. Es fundamentalmente una unidad de herencia. El ADN de un organismo puede contener desde una docena de genes (como un virus), hasta decenas de miles (como los humanos). Se denomina cromosoma a una de las cadenas de ADN que se encuentra en el n ucleo de las c elulas (ver gura 4.3). Los cromosomas son responsables de la transmisi on de informaci on gen etica. Cada gene es capaz de ocupar s olo una regi on en particular de un cromosoma (su lugar o locus). En cada determinado lugar pueden existir, en la poblaci on, formas alternativas del gene. A estas formas alternativas se les llama alelos. Se llama Genoma a la colecci on total de genes (y por tanto, cromosomas) que posee un organismo (ver gura 4.4). Se denomina Gametos a las c elulas que llevan informaci on gen etica de los padres con el prop osito de efectuar reproducci on sexual. En los animales, se vulos a los gametos femeninos. denomina esperma a los gametos masculinos y o Se denomina haploide a la c elula que contiene un solo cromosoma o conjunto de cromosomas, cada uno de los cuales consiste de una sola secuencia de genes. 84
Figura 4.4: Genoma Un ejemplo es un gameto. Se denomina diploide a una c elula que contiene 2 copias de cada cromosoma. Las copias son hom ologas, es decir, contienen los mismos genes en la misma secuencia. En muchas especies que se reproducen sexualmente, los genes en uno de los conjuntos de cromosomas de una c elula diploide se heredan del gameto del padre, mientras que los genes del otro conjunto son del gameto de la madre. Se denomina individuo a un solo miembro de una poblaci on. Se denomina poblaci on a un grupo de individuos que pueden interactuar juntos, por ejemplo, para reproducirse. Se denomina fenotipo a los rasgos (observables) espec cos de un individuo. Se denomina genotipo a la composici on gen etica de un organismo (la informaci on contenida en el genoma). Es decir, es lo que potencialmente puede llegar a ser un individuo. El genotipo da origen, tras el desarrollo fetal y posterior, al fenotipo del organismo (ver gura 4.5). En la naturaleza, la mayor a de las especies capaces de reproducirse sexualmente son diploides (ver gura 4.6). Durante la reproducci on sexual ocurre la recombinaci on (o cruza):
Caso Haploide: Se intercambian los genes entre los cromosomas (haploides) de los dos padres. Caso Diploide: En cada padre, se intercambian los genes entre cada par de cromosomas para formar un gameto, y posteriormente los gametos de los 2 85
86
Figura 4.7: Una mutaci on (error de copiado). padres se aparean para formar un solo conjunto de cromosomas diploides. Durante la mutaci on (ver gura 4.7), se cambian nucle otidos individuales de padre a hijo. La mayor a de estos cambios se producen por errores de copiado. La aptitud de un individuo se dene como la probabilidad de que e ste viva para reproducirse (viabilidad), o como una funci on del n umero de descendientes que e ste tiene (fertilidad). Se denomina ambiente a todo aquello que rodea a un organismo. Puede ser f sico (abi otico) o bi otico. En ambos casos, el organismo ocupa un nicho que ejerce una inuencia sobre su aptitud dentro del ambiente total. Un ambiente bi otico puede presentar funciones de aptitud dependientes de la frecuencia dentro de una poblaci on. En otras palabras, la aptitud del comportamiento de un organismo puede depender de cu antos m as est en comport andose igual. A trav es de varias generaciones, los ambientes bi oticos pueden fomentar la co-evoluci on, en la cual la aptitud se determina mediante la selecci on parcial de otras especies. La selecci on es el proceso mediante el cual algunos individuos en una poblaci on son seleccionados para reproducirse, t picamente con base en su aptitud. La selecci on dura se da cuando s olo los mejores individuos se mantienen para generar progenia futura. La selecci on blanda se da cuando se usan mecanismos probabil sticos para mantener como padres a individuos que tengan aptitudes relativamente bajas. Se llama pleitrop a al efecto en el cual un solo gene puede afectar simult aneamente a varios rasgos fenot picos. Un ejemplo es un problema con la c elula responsable 87
de formar la hemoglobina. Al fallar, se afecta la circulaci on sangu nea, las funciones del h gado y las acciones capilares. Cuando una sola caracter stica fenot pica de un individuo puede ser determinada mediante la interacci on simult anea de varios genes, se denomina al efecto: poligenia. El color del cabello y de la piel son generalmente rasgos polig enicos. Aunque no existe una denici on universalmente aceptada de especie, diremos que es una colecci on de criaturas vivientes que tienen caracter sticas similares, y que se pueden reproducir entre s . Los miembros de una especie ocupan el mismo nicho ecol ogico. Se denomina especiaci on al proceso mediante el cual aparece una especie. La causa m as com un de especiaci on es el aislamiento geogr aco. Si una subpoblaci on de una cierta especie se separa geogr acamente de la poblaci on principal durante un tiempo sucientemente largo, sus genes divergir an. Estas divergencias se deben a diferencias en la presi on de selecci on en diferentes lugares, o al fen omeno conocido como desv o gen etico. Se llama desv o gen etico a los cambios en las frecuencias de genes/alelos en una poblaci on con el paso de muchas generaciones, como resultado del azar en vez de la selecci on. El desv o gen etico ocurre m as r apidamente en poblaciones peque nas y su mayor peligro es que puede conducir a que algunos alelos se extingan, reduciendo en consecuencia la variabilidad de la poblaci on. En los ecosistemas naturales, hay muchas formas diferentes en las que los animales pueden sobrevivir (en los a rboles, de la cacer a, en la tierra, etc.) y cada estrategia de supervivencia es llamada un nicho ecol ogico. Dos especies que ocupan nichos diferentes (p.ej. una que se alimenta de plantas y otra que se alimenta de insectos) pueden coexistir entre ellas sin competir, de una manera estable. Sin embargo, si dos especies que ocupan el mismo nicho se llevan a la misma zona, habr a competencia, y a la larga, la especie m as d ebil se extinguir a (localmente). Por lo tanto, la diversidad de las especies depende de que ocupen una diversidad de nichos (o de que est en separadas geogr acamente). Se denomina reproducci on a la creaci on de un nuevo individuo a partir de:
Se denomina migraci on a la transferencia de (los genes de) un individuo de una subpoblaci on a otra. 88
Se dice que un gene es epist atico cuando su presencia suprime el efecto de un gene que se encuentra en otra posici on. Los genes epist aticos son llamados algunas veces genes de inhibici on por el efecto que producen sobre otros genes.
En la inteligencia logen etica, el aprendizaje se efect ua en este caso a nivel de las especies. La unidad de mutabilidad es un solo par base nucle otido, y el acervo de la inteligencia es el genoma de la especie. En la inteligencia ontogen etica, el aprendizaje se efect ua a nivel del individuo. La unidad de mutabilidad (o cambio) es la propensi on de una neurona para dispararse y la sensibilidad del sitio receptor de dicha neurona. El acervo de este tipo de inteligencia es la memoria neuronal y hormonal (a la supuesta ruta de conexiones neuronales aprendidas se le llama engrama). En la inteligencia sociogen etica, el aprendizaje se efect ua a nivel del grupo. La unidad de mutabilidad es la idea, o la experiencia compartida y el acervo de este tipo de inteligencia es la cultura.
Figura 4.8: Un ejemplo de una cadena cromos omica. Esta cadena es el genotipo que codica las variables de decisi on de un problema.
3 decodificacin
fenotipo
genotipo
90
Individuo
Figura 4.11: Un ejemplo de un individuo.
alelo
Figura 4.12: Un ejemplo de un alelo. Se denomina fenotipo a la decodicaci on del cromosoma. Es decir, a los valores obtenidos al pasar de la representaci on (binaria) a la usada por la funci on objetivo (ver gura 4.10). Se denomina individuo a un solo miembro de la poblaci on de soluciones potenciales a un problema. Cada individuo contiene un cromosoma (o de manera m as general, un genoma) que representa una soluci on posible al problema a resolverse (ver gura 4.11). Se denomina aptitud al valor que se asigna a cada individuo y que indica qu e tan bueno es e ste con respecto a los dem a s para la soluci o n de un problema. Por es la aptitud de un , entonces (donde ejemplo, si individuo). Se llama paisaje de aptitud (tness landscape) a la hipersupercie que se obtiene al aplicar la funci on de aptitud a cada punto del espacio de b usqueda. Se denomina alelo a cada valor posible que puede adquirir una cierta posici on gen etica. Si se usa representaci on binaria, un alelo puede valer 0 o 1 (ver gura 4.12).
Llamamos generaci on a una iteraci on de la medida de aptitud y a la creaci on de una nueva poblaci on por medio de operadores de reproducci on. Una poblaci on puede subdividirse en grupos a los que se denomina subpoblaciones. Normalmente, s olo pueden cruzarse entre s los individuos que pertenez91
Figura 4.13: Un ejemplo de migraci on. can a la misma subpoblaci on. En los esquemas con subpoblaciones, suele permitirse la migraci on de una subpoblaci on a otra (sobre todo en el contexto de algoritmos evolutivos paralelos). Al hecho de permitir la cruza s olo entre individuos de la misma subpoblaci on se le llama especiaci on en una emulaci on del fen omeno natural del mismo nombre. Se llama migraci on a la transferencia de (los genes de) un individuo de una subpoblaci on a otra. Hay un tipo de poblaci on usada en computaci on evolutiva en la que cualquier individuo puede reproducirse con otro con una probabilidad que depende s olo de su aptitud. Se le llama poblaci on panm tica. Lo opuesto de la poblaci on panm tica es permitir la reproducci on s olo entre individuos de la misma subpoblaci on. La mayor parte de los algoritmos evolutivos (AEs) convencionales usan poblaciones panm ticas. Debido a ruidos estoc asticos, los AEs tienden a converger a una sola soluci on. Para evitar eso, y mantener la diversidad, existen t ecnicas que permiten crear distintos nichos para los individuos. Se llama ep stasis a la interacci on entre los diferentes genes de un cromosoma. Se reere a la medida en que la contribuci on de aptitud de un gene depende de los valores de los otros genes. Cuando un problema tiene poca ep stasis (o ninguna), su soluci on es trivial (un algoritmo escalando la colina es suciente para resolverlo). Cuando un problema tiene una ep stasis elevada, el problema ser a deceptivo, por lo que ser a muy dif cil de resolver por un AE. Se llama bloque constructor a un grupo peque no y compacto de genes que han co-evolucionado de tal forma que su introducci on en cualquier cromosoma tiene una alta probabilidad de incrementar la aptitud de dicho cromosoma. 92
Figura 4.14: Ejemplo del operador de inversi on. Se llama decepci on a la condici on donde la combinaci on de buenos bloques constructores llevan a una reducci on de aptitud, en vez de un incremento. Este fen omeno fue sugerido originalmente por Goldberg [105] para explicar el mal desempe no del AG en algunos problemas. Se llama operador de reproducci on a todo aquel mecanismo que inuencia la forma en que se pasa la informaci on gen etica de padres a hijos. Los operadores de reproducci on caen en tres amplias categor as:
La cruza es un operador que forma un nuevo cromosoma combinando partes de cada uno de sus cromosomas padres. Se denomina mutaci on a un operador que forma un nuevo cromosoma a trav es de alteraciones (usualmente peque nas) de los valores de los genes de un solo cromosoma padre. Un operador de reordenamiento es aqu el que cambia el orden de los genes de un cromosoma, con la esperanza de juntar los genes que se encuentren relacionados, facilitando as la producci on de bloques constructores. La inversi on es un ejemplo de un operador de reordenamiento en el que se invierte el orden de todos los genes comprendidos entre 2 puntos seleccionados al azar en el cromosoma (ver gura 4.14). En un algoritmo gen etico (AG), cuando una poblaci on no tiene variedad requisito, la cruza no ser au til como operador de b usqueda, porque tendr a propensi on a simplemente regenerar a los padres. Es importante aclarar que en los AGs los operadores de reproducci on act uan sobre los genotipos y no sobre los fenotipos de los individuos. Se denomina elitismo al mecanismo utilizado en algunos AEs para asegurar que los cromosomas de los miembros m as aptos de una poblaci on se pasen a la siguiente generaci on sin ser alterados por ning un operador gen etico. 93
Usar elitismo asegura que la aptitud m axima de la poblaci on nunca se reducir a de una generaci on a la siguiente. Sin embargo, no necesariamente mejora la posibilidad de localizar el o ptimo global de una funci on. No obstante, es importante hacer notar que se ha demostrado que el uso de elitismo es vital para poder demostrar convergencia de un algoritmo gen etico [195]. Cuando se atraviesa un espacio de b usqueda, se denomina explotaci on al proceso de usar la informaci on obtenida de los puntos visitados previamente para determinar qu e lugares resulta m as conveniente visitar a continuaci on. Se denomina exploraci on al proceso de visitar completamente nuevas regiones del espacio de b usqueda, para ver si puede encontrarse algo prometedor. La exploraci on involucra grandes saltos hacia lo desconocido. La explotaci on normalmente involucra movimientos nos. La explotaci on es buena para encontrar o ptimos locales. La exploraci on es buena para evitar quedar atrapado en o ptimos locales. Se denomina esquema a un patr on de valores de genes de un cromosoma que puede incluir estados no importa (dont care). Usando un alfabeto binario, los esquemas se forman del alfabeto 0,1,#. Por ejemplo, el cromosoma 0110 es una instancia del esquema #1#0 (donde # signica no importa).
94
Figura 5.1: Un ejemplo de una cadena binaria. 4. Operadores gen eticos que alteran la composici on de los descendientes (normalmente se usan la cruza y la mutaci on). 5. Valores para los diversos par ametros utilizados por el algoritmo gen etico (tama no de la poblaci on, probabilidad de cruza y mutaci on, n umero m aximo de generaciones, etc.) En este cap tulo hablaremos exclusivamente del primero de estos componentes: la representaci on usada por el algoritmo gen etico. La representaci on tradicional usada para codicar un conjunto de soluciones es el esquema binario en el cual (ver gura 5.1), donde un cromosoma1 es una cadena de la forma se denominan alelos (ya sea ceros o unos). Hay varias razones por las cuales suele usarse la codicaci on binaria en los AGs, aunque la mayor a de ellas se remontan al trabajo pionero de Holland en el a rea. En su libro, Holland [127] dio una justicaci on te orica para usar codicaciones binarias. Holland compar o dos representaciones diferentes que tuvieran aproximadamente la misma capacidad de acarreo de informaci on, pero de entre ellas, una ten a pocos alelos y cadenas largas (por ejemplo, cadenas binarias de 80 bits de longitud) y la otra ten a un n umero elevado de alelos y cadenas cortas (por ejemplo, cadenas decimales de longitud 24). N otese que (codicaci on binaria) (codicaci on decimal). Holland [127] argument o que la primera codicaci on da pie a un grado m as elevado de paralelismo impl cito porque permite contra ). m as esquemas que la segunda ( El n umero de esquemas de una cadena se calcula usando , donde es la cardinalidad del alfabeto y es la longitud de la cadena2 . Un esquema es una plantilla que describe un subconjunto de cadenas que comparten ciertas similitudes en algunas posiciones a lo largo de su longitud [105, 127].
Un cromosoma es una estructura de datos que contiene una cadena de par ametros de dise no o genes. 2 La raz on por la que se suma uno a la cardinalidad es porque en los esquemas se usa un s mbolo adicional (normalmente el asterisco o el s mbolo de n umero) para indicar que no nos importa el valor de esa posici on.
96
El hecho de contar con m as esquemas favorece la diversidad e incrementa la probabilidad de que se formen buenos bloques constructores (es decir, la porci on de un cromosoma que le produce una aptitud elevada a la cadena en la cual est a presente) en cada generaci on, lo que en consecuencia mejora el desempe no del AG con el paso del tiempo de acuerdo al teorema de los esquemas [105, 127]. El paralelismo impl cito de los AGs, demostrado por Holland [127], se reere al hecho de que mientras el AG calcula las aptitudes de los individuos en una poblaci on, estima de forma impl cita las aptitudes promedio de un n umero mucho m as alto de cadenas cromos omicas a trav es del c alculo de las aptitudes promedio observadas en los bloques constructores que se detectan en la poblaci on. Por lo tanto, de acuerdo a Holland [127], es preferible tener muchos genes3 con pocos alelos posibles que contar con pocos genes con muchos alelos posibles. Esto es sugerido no s olo por razones te oricas (de acuerdo al teorema de los esquemas formulado por Holland), sino que tambi en tiene una justicaci on biol ogica, ya que en gen etica es m as usual tener cromosomas con muchas posiciones y pocos alelos por posici on que pocas posiciones y muchos alelos por posici on [127]. Sin embargo, Holland [127] tambi en demostr o que el paralelismo impl cito de los AGs no impide usar alfabetos de mayor cardinalidad [159], aunque debe estarse siempre consciente de que el alfabeto binario es el que ofrece el mayor n umero de esquemas posibles por bit de informaci on si se compara con cualquier otra codicaci on posible [105, 159]. No obstante, ha habido un largo debate en torno a cuestiones relacionadas con estos alfabetos no binarios, principalmente por parte de los especialistas en aplicaciones de los AGs. Como veremos en este cap tulo, el uso de la representaci on binaria tiene varias desventajas cuando el AG se usa para resolver ciertos problemas del mundo real. Por ejemplo, si tratamos de optimizar una funci on con alta dimensionalidad (digamos, con 50 variables), y queremos trabajar con una buena precisi on (por ejemplo, cinco decimales), entonces el mapeo de n umeros reales a binarios generar a cadenas extremadamente largas (del orden de 1000 bits en este caso), y el AG tendr a muchos problemas para producir resultados aceptables en la mayor parte de los casos, a menos que usemos procedimientos y operadores especialmente dise nados para el problema en cuesti on. Ronald [192] resume las principales razones por las que una codicaci on binaria puede no resultar adecuada en un problema dado:
Se denomina gene o gen a cualquier posici on a lo largo de una cadena que representa a un individuo.
97
Representaci on natural : algunos problemas (como el del viajero) se prestan de manera natural para la utilizaci on de representaciones de mayor cardinalidad que la binaria (por ejemplo, el problema del viajero se presta de manera natural para el uso de permutaciones de enteros decimales). Soluciones ilegales : los operadores gen eticos utilizados pueden producir con frecuencia (e incluso todo el tiempo) soluciones ilegales si se usa una representaci on binaria.
En el resto de este cap tulo discutiremos algunos esquemas de representaci on alternativos que han sido propuestos recientemente para lidiar con e stas y otras limitaciones de la representaci on binaria.
El genotipo es la cadena cromos omica utilizada para almacenar la informaci on contenida en un individuo, mientras que el fenotipo se reere a los valores que toman las variables tras decodicar el contenido cromos omico de un individuo. 5 indica XOR.
98
Signo
Exponente
Mantisa
0
1 bit
10001011 0100...0
8 bits 23 bits
Figura 5.2: Un ejemplo de notaci on del IEEE. prueba cl asicas de De Jong [137] (ver por ejemplo [40, 155]. De hecho, Mathias y Whitley [156] encontraron que la codicaci on de Gray no s olo elimina los riscos de Hamming, sino que tambi en altera el n umero de o ptimos locales en el espacio de b usqueda as como el tama no de las buenas regiones de b usqueda (aquellas que nos conducir an a la vecindad del o ptimo global). En su trabajo, Mathias y Whitley mostraron emp ricamente que un mutador aleatorio del tipo escalando la colina es capaz de encontrar el o ptimo global de la mayor parte de las funciones de prueba utilizadas cuando se emplea la codicaci on de Gray, a pesar de que algunas de ellas fueron dise nadas expl citamente para presentar dicultades a los algoritmos de b usqueda tradicionales (sean evolutivos o no).
99
Figura 5.3: Un ejemplo de un algoritmo gen etico con representaci on real. tar n umeros reales, como por ejemplo el est andar del IEEE para precisi on simple, en el cual un n umero real se representa usando 32 bits, de los cuales 8 se usan para el exponente usando una notaci on en exceso-127, y la mantisa se representa con 23 bits (ver gura 5.2 [205]), podr amos manejar un rango relativamente grande de n umeros reales usando una cantidad ja de bits (por ejemplo, de a si usamos el est andar de precisi on simple antes descrito). Sin embargo, el proceso de decodicaci on ser a m as costoso (computacionalmente hablando) y el mapeo entre el espacio de representaci on y el de b usqueda ser a mucho m as complejo que cuando se usa una representaci on binaria simple, porque cualquier peque no cambio en el exponente producir a grandes saltos en el espacio de b usqueda, mientras que perturbaciones en la mantisa podr an no cambiar de manera signicativa el valor num erico codicado. Mientras los te oricos arman que los alfabetos peque nos son m as efectivos que los alfabetos grandes, los pr acticos han mostrado a trav es de una cantidad signicativa de aplicaciones del mundo real (particularmente problemas de optimizaci on num erica) que el uso directo de n umeros reales en un cromosoma funciona mejor en la pr actica que la representaci on binaria tradicional [64, 76]. El uso de n umeros reales en una cadena cromos omica (ver gura 5.3) ha sido com un en otras t ecnicas de computaci on evolutiva tales como las estrategias evolutivas [204] y la programaci on evolutiva [82], donde la mutaci on es el operador principal. Sin embargo, los te oricos de los AGs han criticado fuertemente el uso de valores reales en los genes de un cromosoma, principalmente porque esta representaci on de cardinalidad m as alta tiende a hacer que el comportamiento del AG sea m as err atico y dif cil de predecir. Debido a esto, se han dise nado varios operadores especiales en los a nos recientes, para emular el efecto de la cruza y la mutaci on en los alfabetos binarios [231, 76, 67]. Los pr acticos argumentan que una de las principales capacidades de los AGs que usan representaci on real es la de explotar la gradualidad de las funciones de variables continuas6. Esto signica que los AGs con codicaci on real pueden
Gradualidad se reere a los casos en los cuales un cambio peque no en las variables se
100
Figura 5.4: Una representaci on entera de n umeros reales. La cadena completa es decodicada como un solo n umero real multiplicando y dividiendo cada d gito de acuerdo a su posici on. lidiar adecuadamente con los riscos producidos cuando las variables utilizadas son n umeros reales, porque un cambio peque no en la representaci on es mapeado como un cambio peque no en el espacio de b usqueda [231, 76]. En un intento por reducir la brecha entre la teor a y la pr actica, algunos investigadores han desarrollado un marco te orico que justique el uso de alfabetos de m as alta cardinalidad [231, 76, 108, 215], pero han habido pocos consensos en torno a los problemas principales, por lo que el uso de AGs con codicaci on real sigue siendo una elecci on que se deja al usuario. Se han usado tambi en otras representaciones de los n umeros reales. Por ejemplo, el uso de enteros para representar cada d gito ha sido aplicado exitosamente a varios problemas de optimizaci on [44, 43]. La gura 5.4 muestra un ejemplo en el cual se representa el n umero 1.45679 usando enteros. En este caso, se supone una posici on ja para el punto decimal en cada variable, aunque esta posici on no tiene que ser necesariamente la misma para el resto de las variables codicadas en la misma cadena. La precisi on est a limitada por la longitud de la cadena, y puede incrementarse o decrementarse seg un se desee. Los operadores de cruza tradicionales (un punto, dos puntos y uniforme) pueden usarse directamente en esta representaci on, y la mutaci on puede consistir en generar un d gito aleatorio para una cierta posici on o bien en producir una peque na perturbaci on (por ejemplo ) para evitar saltos extremadamente grandes en el espacio de b usqueda. Esta representaci on pretende ser un compromiso entre un AG con codicaci on real y una representaci on binaria de n umeros reales, manteniendo lo mejor de ambos esquemas al incrementar la cardinalidad del alfabeto utilizado, pero manteniendo el uso de los operadores gen eticos tradicionales casi sin cambios. Alternativamente, podr amos tambi en usar enteros largos para representar n umeros reales (ver gura 5.5), pero los operadores tendr an que redenirse de la misma manera que al usar n umeros reales. El uso de este esquema de representaci on como una alternativa a los AGs con codicaci on real parece, sin embargo, un tanto
traduce en un cambio peque no en la funci on.
101
145679
67893
37568
95432
Figura 5.5: Otra representaci on entera de n umeros reales. En este caso, cada gene contiene un n umero real representado como un entero largo. improbable, ya que se tendr an que hacer sacricios notables en la representaci on, y los u nicos ahorros importantes que se lograr an ser an en t erminos de memoria (el almacenamiento de enteros toma menos memoria que el de n umeros reales). No obstante, este esquema ha sido usado en algunas aplicaciones del mundo real [64].
(2 , 1) (2 , 0) (3 , 0) (3 , 1)
(1 , 1) (1 , 0) (1 , 1) (4 , 1) (4 , 0)
Figura 5.6: Dos ejemplos de cadenas v alidas en un algoritmo gen etico desordenado. en contraposici on con el AG est andar (u ordenado), que tiene longitud y tama no de poblaci on jos [167]. La idea b asica de los AGs desordenados es empezar con cromosomas cortos, identicar un conjunto de buenos bloques constructores y despu es incrementar la longitud del cromosoma para propagar estos buenos bloques constructores a lo largo del resto de la cadena. La representaci on usada por los AGs desordenados es muy peculiar, puesto que cada bit est a realmente asociado con una posici on en particular a lo largo de la cadena, y algunas posiciones podr an ser asignadas a m as de un bit (a esto se le llama sobre-especicaci on) mientras que otras podr an no ser asignadas a ninguno (a esto se le llama sub-especicaci on). Consideremos, por ejemplo, a las dos cadenas mostradas en la gura 5.6, las cuales constituyen cromosomas v alidos para un AG desordenado (estamos suponiendo cromosomas de 4 bits). La notaci on adoptada en este ejemplo usa par entesis para identicar a cada gene, el cual se dene como un par consistente de su posici on a lo largo de la cadena (el primer valor) y el valor del bit en esa posici on (estamos suponiendo un alfabeto binario). En el primer caso, la primera y la cuarta posici on no est an especicadas, y la segunda y la tercera est an especicadas dos veces. Para lidiar con la sobreespecicaci on pueden denirse algunas reglas determin sticas muy sencillas. Por ejemplo, podemos usar s olo la primera denici on de izquierda a derecha para una cierta posici on. Sin embargo, para la sub-especicaci on tenemos que hacer algo m as complicado, porque una cadena sub-especicada realmente representa a un esquema candidato en vez de un cromosoma completo. Por ejemplo, la primera cadena de las antes descritas representa al esquema *10* (el * signica no me importa). Para calcular la aptitud de una cadena sub-especicada, podemos usar un explorador local del tipo escalando la colina que nos permita localizar el o ptimo local y la informaci on obtenida la podemos utilizar para reemplazar a los 103
(2, 0)
(2 , 1) (3 , 1) (1 , 0) (4 , 1)
CORTE
(1 , 1) (1 , 0) (4 , 1) (3 , 1) (3 , 0) (2 , 1) (4 , 0)
Figura 5.7: Un ejemplo del operador de corte en un AG desordenado. La l nea gruesa indica el punto de corte. no me importa del esquema. A esta t ecnica se le denomina plantillas competitivas [109]. Los AGs desordenados operan en 2 fases [109]: la fase primordial y la fase yuxtaposicional. En la primera, se generan esquemas cortos que sirven como los bloques constructores en la fase yuxtaposicional en la cual e stos se combinan. El problema es c omo decidir qu e tan largos deben ser estos esquemas cortos. Si son demasiado cortos, pueden no contener suciente material gen etico como para resolver el problema deseado; si son demasiado largos, la t ecnica puede volverse impr actica debido a la maldici on de la dimensionalidad (tendr amos que generar y evaluar demasiados cromosomas). Durante la fase primordial generamos entonces estos esquemas cortos y evaluamos sus aptitudes. Despu es de eso, aplicamos s olo selecci on a la poblaci on (sin cruza o mutaci on) para propagar los buenos bloques constructores, y se borra la mitad de la poblaci on a intervalos regulares [167]. Despu es de un cierto n umero (predenido) de generaciones, terminamos la fase primordial y entramos a la fase yuxtaposicional. A partir de este punto, el tama no de la poblaci on permanecer a jo, y usaremos selecci on y dos operadores especiales llamados corte y uni on [112]. El operador de corte simplemente remueve una porci on del cromosoma, mientras que el de uni on junta dos segmentos cromos omicos. Considere los ejemplos mostrados en las guras 5.7 y 5.8. Debido a la naturaleza del AG desordenado, las cadenas producidas por los operadores de corte y uni on siempre ser an v alidas. Si los bloques constructores producidos en la fase primordial acarrean suciente informaci on, entonces el AG desordenado ser a capaz de arribar al o ptimo global aunque el problema tenga decepci on [111]. Aunque es sin duda muy prometedor, los inconvenientes pr acticos del AG desordenado [167] han impedido su uso extendido, y actualmente se reportan relativamente pocas aplicaciones (ver por ejemplo [41, 141, 119]. 104
(2, 0)
(2 , 1) (2 , 1) (4 , 0)
UNION
(1 , 1) (1 , 0) (4 , 1) (3 , 1) (3 , 0) (3 , 1) (1 , 0) (4 , 1)
Figura 5.8: Un ejemplo del operador uni on en un AG desordenado. La l nea gruesa muestra la parte de la cadena que fue agregada.
OR
AND
AND
NOT
NOT
A0
A1
A0
A1
Figura 5.9: Un ejemplo de un cromosoma usado en programaci on gen etica. betos diferentes y operadores especializados para evolucionar programas genera dos aleatoriamente hasta que e stos se vuelvan alidos para resolver cierta v tarea predenida, aunque los principios b asicos de esta t ecnica pueden generalizarse a cualquier otro dominio. Los a rboles se componen de funciones y terminales. Las funciones usadas normalmente son las siguientes [145]:
1. Operaciones aritm eticas (por ejemplo: +, -, , ) 2. Funciones matem aticas (por ejemplo: seno, coseno, logaritmos, etc.) 3. Operaciones Booleanas (por ejemplo: AND, OR, NOT) 4. Condicionales (IF-THEN-ELSE) 5. Ciclos (DO-UNTIL) 6. Funciones recursivas 7. Cualquier otra funci on denida en el dominio utilizado Las terminales son t picamente variables o constantes, y pueden verse como funciones que no toman argumentos. Un ejemplo de un cromosoma que usa las funciones F= AND, OR, NOT y las terminales T= A0, A1 se muestra en la gura 5.9. La cruza puede efectuarse numerando los nodos de los a rboles correspondientes a los 2 padres elegidos (ver gura 5.10) y seleccionando (al azar) un punto en cada uno de ellos de manera que los sub- arboles por debajo de dicho punto se intercambien (ver gura 5.11, donde suponemos que el punto de cruza para 106
OR AND
4 2
OR
6
NOT
OR
AND
A1
A0
A1
A1
NOT
NOT
NOT
A0
10
A0
A1
Figura 5.10: Los nodos del a rbol se numeran antes de aplicar el operador de cruza.
OR AND
OR OR NOT
AND
NOT
NOT
A0
A1
A1
NOT
A1
A0
A1
A0
107
OR
5
OR A0 AND A0
AND
4
A0
A1
NOT
A1
Antes
A1
Despus
Figura 5.12: Un ejemplo de mutaci on en la programaci on gen etica. el primer padre es 2 y para el segundo es 6). T picamente, los tama nos de los 2 a rboles padres ser a diferente, como se muestra en el ejemplo anterior. Tambi en debe observarse que si el punto de cruza es la ra z de uno de los dos a rboles padres, entonces todo ese cromosoma se volver a un sub- arbol del otro padre, lo cual permite la incorporaci on de subrutinas en un programa. Tambi en es posible que las ra ces de ambos padres sean seleccionadas como puntos de cruza. En ese caso, no se efect ua la cruza, y los hijos pasan a ser id enticos a sus padres. Normalmente, la implementaci on de la programaci on gen etica impone un l mite en cuanto a la m axima profundidad que puede alcanzar un a rbol, a n de evitar la generaci on (al azar y producto del uso de la cruza y la mutaci on) de a rboles de gran tama no y complejidad. La mutaci on se efect ua mediante la selecci on (aleatoria) de un cierto punto de un a rbol. El sub- arbol que se encuentre por debajo de dicho punto es reemplazado por otro a rbol generado al azar. La gura 5.12 muestra un ejemplo del uso de este operador (el punto de mutaci on en este ejemplo es el 3). La permutaci on es un operador asexual que emula el efecto del operador de inversi on que se usa en los algoritmos gen eticos [105]. Este operador reordena las hojas de un sub- arbol ubicado a partir de un punto elegido al azar, y su nalidad es fortalecer la uni on de combinaciones de alelos con buen desempe no dentro de un cromosoma [127]. La gura 5.13 muestra un ejemplo del uso del operador de permutaci on (el punto seleccionado en este caso es el 4). En la gura 5.13, el * indica multiplicaci on y el indica divisi on protegida, reri endose a un operador de divisi on que evita que nuestro programa genere un error de sistema cuando el segundo argumento sea cero. En la programaci on gen etica es posible tambi en proteger o encapsular un 108
+
2 7
*
8 9
A
5
E
6
C Antes
B Despus
A Antes B
(E0) Despus
109
c2 c 22 c 23 c31
c3 c32 c33
nivel 1
nivel 2
Figura 5.15: Un ejemplo de estructura de dos niveles de un AG estructurado. cierto sub- arbol que sepamos constituye un buen bloque constructor, a n de evitar que sea destruido por los operadores gen eticos. El sub- arbol seleccionado es reemplazado por un nombre simb olico que apunta a la ubicaci on real del suba rbol, y dicho sub- arbol es compilado por separado y enlazado al resto del a rbol de forma similar a las clases externas de los lenguajes orientados a objetos. La gura 5.14 muestra un ejemplo de encapsulamiento en el cual el sub- arbol de la derecha es reemplazado por el nombre (E0). Normalmente, tambi en es necesario editar las expresiones generadas a n de simplicarlas, aunque las reglas para llevar a cabo este proceso dependen generalmente del problema. Por ejemplo, si estamos generando expresiones Booleanas, podemos aplicar reglas como las siguientes: (AND X X) X (OR X X) X (NOT (NOT X)) X Finalmente, la programaci on gen etica tambi en proporciona mecanismos para destruir un cierto porcentaje de la poblaci on de manera que podamos renovar el material cromos omico despu es de un cierto n umero de generaciones. Este mecanismo, llamado ejecuci on, es muy u til en dominios de alta complejidad en los cuales nuestra poblaci on puede no contener ni un solo individuo factible a un despu es de un gran n umero de generaciones.
( c 1 c 2 c3
Figura 5.16: Una representaci on cromos omica de la estructura de 2 niveles del AG estructurado.
begin
end
c1 c11 c111 c112 c113 c 12 c121 c122 c123 c13 c131 c132 c 133
c2 c 21 c 22 c 23
c3 . . . c n
Figura 5.17: Ejemplo de una estructura de datos usada para implementar un AG estructurado. mecanismo similar a los diploides [105], en la cual ciertos genes act uan como operadores de cambio (o dominancia) que encienden o apagan ciertos genes, a los cuales se les llama activos o pasivos, respectivamente [61]. El stGA usa una cadena cromos omica lineal, pero realmente codica una estructura gen etica de varios niveles (un grafo dirigido o un a rbol) tal y como se indica en la gura 5.15. Los genes en cualquier nivel pueden ser activos o pasivos, pero los genes de alto nivel activan o desactivan conjuntos de genes de m as bajo nivel, lo que signica que cualquier cambio peque no a un alto nivel se magnica en los niveles inferiores [60]. La idea es que los genes de alto nivel deben explorar las a reas potenciales del espacio y los de bajo nivel deben explotar ese sub-espacio. La estructura jer arquica usada por el stGA es, sin embargo, codicada como un cromosoma lineal de longitud ja, tal y como se muestra en la gura 5.16. No obstante, la estructura de datos que se requiere para implementar un stGA es ligeramente m as complicada que el arreglo unidimensional que requiere un AG tradicional. La gura 5.17 muestra un ejemplo de dicha estructura de datos. En esta gura, cada gene en los niveles superiores act ua como un puntero cambiable que tiene dos estados posibles: cuando el gene est a activo (encendido), apunta a 111
su gene de m as bajo nivel y cuando es pasivo (apagado), apunta al gene del mismo nivel en que se encuentre [60].
tambi en saber m as acerca de las representaciones (distintas a la binaria tradicional) que actualmente existen, pues su uso adecuado puede ahorrar mucho trabajo innecesario y permitirnos concentrarnos en la aplicaci on misma del algoritmo gen etico a nuestro problema en vez de canalizar todas nuestras energ as en el dise no de operadores gen eticos especiales.
Una codicaci on debe ser capaz de representar todos los fenotipos posibles. Una codicaci on debe ser carente de sesgos en el sentido de que todos los individuos deben estar igualmente representados en el conjunto de todos los genotipos posibles. Una codicaci on no debiera codicar soluciones infactibles (esto no es normalmente posible en la mayor a de los dominios). La decodicaci on debiera ser f acil. Una codicaci on debe poseer localidad (o sea, cambios peque nos en el genotipo debieran producir cambios peque nos en el fenotipo).
Roland [191, 192], tambi en estudi o diversas representaciones y proporcion o sus propios lineamientos de dise no:
Las codicaciones deben ajustarse a un conjunto de operadores gen eticos de tal forma que los buenos bloques constructores se preserven de padres a hijos [88]. Las codicaciones deben minimizar la ep stasis [21]. Deben preferirse las soluciones factibles en una codicaci on. 113
El problema debiera representarse a un nivel correcto de abstracci on. Las codicaciones deben explotar un mapeo apropiado del genotipo al fenotipo en caso de que no sea posible realizar un mapeo simple. Las formas isom orcas, donde el fenotipo de un individuo es codicado con m as de un genotipo, debieran ser evitadas.
N otese, sin embargo, que existe evidencia reciente que contradice el u ltimo punto de los lineamientos de Ronald, pues las representaciones redundantes parecen mejorar el desempe no de un algoritmo evolutivo [194].
a) Cu al es la longitud m nima de la cadena cromos omica que puede codicar a estas 3 variables? b) Cu al es el tama no intr nseco del espacio de b usqueda para un AG que se usara con estas cadenas cromos omicas. c) Cu al es la cantidad de esquemas que esta representaci on codica? d) Muestre las cadenas cromos omicas que representen los siguientes puntos: (-8.1,50,0.0), (11.1, 98, -0.2). 2. Resuelva el problema anterior usando representaci on entera de punto jo. 3. Investigue la representaci on de permutaciones. Discuta por qu e se considera m as adecuada para problemas como el del viajero. Qu e problemas presenta una representaci on binaria en este dominio? Qu e operadores deben denirse en una representaci on de permutaciones?
114
3. Universal Estoc astica 4. Muestreo Determin stico Adicionalmente, las t ecnicas de selecci on proporcional pueden tener los siguientes aditamentos: 1. Escalamiento Sigma 2. Jerarqu as 3. Selecci on de Boltzmann
6.1.1 La Ruleta
Esta t ecnica fue propuesta por DeJong [137], y ha sido el m etodo m as com unmente usado desde los or genes de los algoritmos gen eticos. El algoritmo es simple, pero ineciente (su complejidad es . Asimismo, presenta el problema de que el individuo menos apto puede ser seleccionado m as de una vez. Sin embargo, buena parte de su popularidad se debe no s olo a su simplicidad, sino al hecho de que su implementaci on se incluye en el libro cl asico sobre AGs de David Goldberg [105]. El algoritmo de la Ruleta (de acuerdo a DeJong [137]) es el siguiente:
veces (
Generar un n umero aleatorio entre 0.0 y Ciclar a trav es de los individuos de la poblaci on sumando los valores esperados hasta que la suma sea mayor o igual a . El individuo que haga que esta suma exceda el l mite es el seleccionado. Veamos ahora un ejemplo: aptitud 25 81 Ve 0.35 1.13 116
(1) (2)
(3) (4)
36 144
0.51 2.01
Suma de Ve
Generar
Seleccionar a ind2 En este ejemplo, se reere al valor esperado (o n umero esperado de copias que se esperan obtener) de un individuo. 6.1.1.1 An alisis de la Ruleta Problemas: diferencias entre y el valor real (o sea, el verdadero n umero de copias obtenidas). El peor individuo puede seleccionarse varias veces. Complejidad: . El algoritmo se torna ineciente conforme crece (tama no de la poblaci on). Mejoras posibles: Uso de b usqueda binaria en vez de b usqueda secuencial para localizar la posici on correcta de la rueda. Esto requiere memoria extra y un recor rido para calcular los totales acumulados por cada segmento de la rueda. Pero, en contraste, la complejidad total se reduce a .
117
La idea principal es asignar determin sticamente las partes enteras de los valores esperados para cada individuo y luego usar otro esquema (proporcional) para la parte fraccionaria. El sobrante estoc astico reduce los problemas de la ruleta, pero puede causar convergencia prematura al introducir una mayor presi on de selecci on. El algoritmo es el siguiente: 1. Asignar de manera determin stica el conteo de valores esperados a cada individuo (valores enteros). 2. Los valores restantes (sobrantes del redondeo) se usan probabil sticamente para rellenar la poblaci on. Hay 2 variantes principales:
Sin reemplazo: Cada sobrante se usa para sesgar el tiro de una moneda que determina si una cadena se selecciona de nuevo o no. Con reemplazo: Los sobrantes se usan para dimensionar los segmentos de una ruleta y se usa esta t ecnica de manera tradicional.
Veamos un ejemplo: Cadena (1) (2) (3) (4) 110100 011010 111001 001101 aptitud 220 140 315 42
enteros 1 0 1 0
1 y 3 (partes enteras)
118
Proceder hasta tener el n umero de padres requeridos. Con reemplazo: Armar una ruleta
6.1.2.1 An alisis del Sobrante Estoc astico Complejidad: Versi on con reemplazo: Versi on sin reemplazo:
La m as popular es la versi on sin reemplazo, la cual parece ser superior a la ruleta [24]. Tal y como mencionamos anteriormente, el sobrante estoc astico reduce los problemas de la ruleta, pero puede producir convergencia prematura al introducir una mayor presi on de selecci on (producto de la asignaci on determin stica de los valores esperados de cada individuo).
ptr=Rand();
Ejemplo: (1) (2) (3) (4) Cadena 110100 011010 111001 001101 aptitud 220 140 315 42
inicializaci on
i=2
i=3
sum=3.77 3.77 ptr Seleccionar (3) ptr=3.4 sum=3.77 3.77 ptr Seleccionar (3)
120
Padres: (1), (2), (3), (3) 6.1.3.1 An alisis de la selecci on universal estoc astica Complejidad: . Problemas:
Puede ocasionar convergencia prematura. Hace que los individuos m as aptos se multipliquen muy r apidamente. No resuelve el problema m as serio de la selecci on proporcional (o sea,la imprecisi on entre los valores esperados y los n umeros de copias de cada individuo que son realmente seleccionados).
Calcular Calcular
Ordenar la poblaci on de acuerdo a las partes decimales (de mayor a menor). Obtener los padres faltantes de la parte superior de la lista.
enteros 1 0 1 0
ordenar fracciones 0.78 (2) 0.76 (3) 0.23 (1) 0.23 (4)
Seleccionar: 1 y 3 (enteros) Seleccionar: 2 y 3 (fracciones) 6.1.4.1 An alisis del muestreo determin stico Complejidad: El algoritmo es para la asignaci on determin stica y es para la ordenaci on. Problemas: Padece de los mismos problemas que el sobrante estoc astico.
si si
(6.1)
(6.2)
puede hacerse
n=4
1+
Observaci on: Baj o un poco el valor esperado del mejor individuo y subi o el del peor. 6.1.5.1 An alisis del escalamiento sigma El escalamiento sigma produce el siguiente comportamiento en la selecci on:
Al inicio de una corrida, el valor alto de la desviaci on est andar impedir a que los mejores individuos obtengan los segmentos m as grandes de la ruleta. Hacia el nal, la desviaci on est andar ser a m as baja y los individuos m as aptos podr an muliplicarse m as f acilmente.
Ordenar (o jerarquizar) la poblaci on con base en su aptitud, de 1 a representa al menos apto). 123
(donde
Elegir
Calcular
Baker recomend o
Usar selecci on proporcional aplicando los valores esperados obtenidos de la expresi on anterior. (jerarqu a menor a la aptitud m as baja) aptitud 12 245 9 194 48 jerarqu as 2 5 1 4 3
Ejemplo:
6.1.6.1 An alisis de las jerarqu as lineales Complejidad: + tiempo de selecci on. Algunos puntos interesantes respecto a la aplicabilidad de esta t ecnica:
Es u til cuando la funci on tiene ruido (p.ej., cuando hay una variable aleatoria). Diluye la presi on de la selecci on, por lo que causa convergencia m as lenta. Existen otros m etodos de asignaci on de jerarqu as adem as del lineal (p. ej., exponencial). Puede alentar sobremanera la convergencia del algoritmo gen etico, por lo que su uso suele limitarse a situaciones en las que el AG converger a prematuramente en caso de no aplicarse. 124
Valesp(i,t) donde es la temperatura y generaci on t. Veamos un ejemplo de su uso: Ejemplo: aptitud 220 140 315 42
(6.3)
Supongamos:
125
Se ha utilizado m as para optimizaci on multimodal y multiobjetivo (formaci on de nichos). Existen pruebas de convergencia de la t ecnica hacia el o ptimo global. Tiene el inconveniente de requerir la denici on de la funci on de variaci on de temperatura.
Barajar los individuos de la poblaci on. Escoger un n umero de individuos (t picamente 2). 126
Compararlos con base en su aptitud. El ganador del torneo es el individuo m as apto. Debe barajarse la poblaci on un total de veces para seleccionar (donde es el tama no de la poblaci on).
padres
Veamos un ejemplo de su funcionamiento: Orden (1) (2) (3) (4) (5) (6) Aptitud 254 47 457 194 85 310 Barajar (4) (1) (6) (5) (2) (3) Padres: (6) y (1), (3) y (6), (4) y (3) Otra forma:
Barajar (2) (6) (1) (3) (5) (4) Ganadores (1) (6) (3)
/*aleatorio real*/
Selecciona
Ganador (3)
Selecciona
(1) 127
Y as sucesivamente. El algoritmo de la versi on probabil stica es id entico al anterior, excepto por el paso en que se escoge al ganador. En vez de seleccionar siempre al individuo con aptitud m as alta, se aplica 1 y si el resultado es cierto, se selecciona al m as apto. De lo contrario, se selecciona al menos apto. El valor de permanece jo a lo largo de todo el proceso evolutivo y se escoge en el siguiente rango:
elige (6)
Esta variante reduce un poco la presi on de selecci on, permitiendo que en algunas cuantas ocasiones el individuo menos apto gane el torneo.
La versi on determin stica garantiza que el mejor individuo ser a seleccionado veces (tam torneo). Complejidad: 1. Cada competencia requiere la selecci on aleatoria de un n umero constante de individuos de la poblaci on. Esta comparaci on puede re alizarse en .
2. Se requieren competencias de este tipo para completar una generaci on. 3. Por lo tanto, el algoritmo es .
La t ecnica eciente y f acil de implementar. No requiere escalamiento de la funci on de aptitud (usa comparaciones directas). Puede introducir una presi on de selecci on muy alta (en la versi on determin stica) porque a los individuos menos aptos no se les da oportunidad de sobrevivir. Tiene sentido aplicar jerarqu as lineales a la selecci on mediante torneo? No, porque la selecci on mediante torneo realiza comparaciones directas entre individuos. El uso de jerarqu as lineales no cambiar a en nada la presi on de selecci on.
Si se usa tam torneo=1, se produce una caminata aleatoria con una presi on de selecci on muy baja. Si se usa tam torneo= , la selecci on se vuelve totalmente determin stica (los mejores individuos globales son seleccionados). A esto se le llama elitismo global. Si se usa tam torneo 10, la selecci on se considera dura. Si se unsa tam torneo entre 2 y 5, la selecci on se considera blanda.
En general, la t ecnica resulta u til cuando los miembros de la poblaci on resuelven colectivamente (y no de manera individual) un problema. Asimismo, los AGs generacionales se usan cuando es importante recordar lo que se ha aprendido antes. El algoritmo de la selecci on de estado uniforme es el siguiente:
Mecanismo especializado de selecci on. Su complejidad (en la variante incluida en GENITOR, la cual usa jerarqu as lineales) es . Los AGs no generacionales no son muy comunes en aplicaciones de optimizaci on, aunque s pueden utilizarse.
Se denomina brecha generacional a la cantidad de traslape existente entre padres e hijos. Una brecha generacional grande implica poco (o ning un) traslape poblacional y viceversa. Hist oricamente, la programaci on evolutiva y las estrategias evolutivas han usado poblaciones traslapables, mientras que los AGs han usado poblaciones no traslapables. DeJong [137] parece haber sido el primero en estudiar los AGs con poblaciones traslapables. En su tesis doctoral, DeJong sugiri o que las ventajas de las poblaciones traslapables se dilu an debido a los efectos negativos del desv o gen etico. M as tarde, Grefenstette [116] conrmar a que una brecha generacional alta parec a mejorar el desempe no del AG. Los primeros experimentos con los sistemas clasicadores, conrmar an, sin embargo, un comportamiento exactamente opuesto [127]. En los sistemas clasicadores, el desempe no del AG parec a degradarse conforme se aumentaba la brecha generacional. Algunos investigadores atribuyen los resultados de DeJong y Grefenstette al uso de poblaciones peque nas. Los AGs tradicionales siguen usando, sin embargo, poblaciones no traslapables. Los algoritmos evolutivos de estado uniforme son aquellos en los que la poblaci on es traslapable. Normalmente, s olo uno o dos hijos se producen en cada iteraci on de un AE de estado uniforme.
Suele usarse:
donde
extremos m as aptos
6.5.1.1 An alisis de la selecci on disruptiva La principal motivaci on de la selecci on disruptiva es distribuir m as los esfuerzos de la b usqueda hacia las soluciones extremadamente buenas y extremadamente malas. Los individuos cercanos a la media son desechados. La utilidad de este m etodo es altamente dependiente en la aplicaci on. Suele us arsele m as frecuentemente con funciones de aptitud din amicas.
donde:
Al igual que con las jerarqu as lineales, se asigna la jerarqu a m as baja al peor individuo y la m as alta al mejor. Una vez que se conocen las probabilidades de que un individuo sea seleccionado, obtenemos multiplicando por . Veamos un ejemplo:
jerarqu a 2 5 1 4 3
Supongamos:
Teniendo los valores esperados, puede usarse cualquier t ecnica de selecci on proporcional, al igual que en el caso de las jerarqu as lineales. 6.5.2.1 An alisis de las jerarqu as no lineales Thomas B ack [8] advirti o sobre el problema que tenemos en el ejemplo presentado anteriormente: las probabilidades obtenidas con este m etodo no suman uno. B ack [8] tambi en advirti o que esta t ecnica puede hacerse pr acticamente id entica al torneo dependiendo del valor de que se use. Valores grandes de implican una mayor presi on de selecci on inversa (o sea, implica darle mayor oportunidad al individuo menos apto de reproducirse). 133
Michalewicz [161] advierte que la suma de probabilidades en su t ecnica puede hacerse igual a uno si usamos:
donde:
0.2524 0.0865 0.3606 0.1238 0.1767
Usando de nuevo:
Cabe mencionar que se han usado tambi en otras variantes de las jerarqu as no lineales. Por ejemplo, Whitley & Kauth [226] propusieron el uso de una distribuci on geom etrica de acuerdo a la cual la probabilidad de que un individuo sea seleccionado est a dada por:
(6.4)
donde ametro denido por el usuario, es el tama no de la es un par poblaci on y es la jerarqu a del individuo (denida de tal forma que el menos apto tiene una jerarqu a de 1 y el m as apto tiene una jerarqu a de ). Si el individuo on, entonces , con lo que se har a . Por lo es el mejor en la poblaci tanto, es realmente la probabilidad de que seleccionar al mejor individuo en la poblaci on [69].
134
A su vez, las t ecnicas extintivas se dividen en: 1. Selecci on Izquierda: Se impide a los mejores individuos reproducirse a n de evitar convergencia prematura. 2. Selecci on Derecha: No se tiene control expl cito sobre la capacidad reproductiva de los individuos m as aptos. Adicionalmente, algunas t ecnicas de selecci on son puras en el sentido de que a los padres se les permite reproducirse solamente en una generaci on (es decir, el tiempo de vida de cada individuo est a limitado a s olo una generaci on, independientemente de su aptitud).
(6.5)
considerando en el rango usando n umeros reales con una precisi on de seis cifras despu es del punto decimal. Lo que debe entregarse es lo siguiente:
El c odigo fuente en C/C++ del programa, con comentarios. En cada generaci on deber a retenerse a la mejor soluci on (elitismo), y deber an imprimirse al menos las siguientes estad sticas por generaci on: media de aptitud de la poblaci on, aptitud m axima y m nima, n umero de cruzas efectuadas, n umero de mutaciones efectuadas y cadena binaria correspondiente al mejor individuo (el que tenga la aptitud m as alta). Adicionalmente, deber a imprimirse el mejor individuo global (es decir, contando todas las generaciones), su aptitud y su cadena binaria. Un an alisis breve que indique c omo se efect ua el mapeo de las variables de binario a decimal y viceversa, incluyendo detalles de la codicaci on utilizada (por ejemplo, c omo se deriv o el n umero de bits a utilizarse en las cadenas y qu e tipo de decodicaci on se emple o). 136
Estime el tama no intr nseco del espacio de b usqueda para este problema. Es decir, dada la longitud de la cadena binaria que representa los valores posibles de , estime cu antas posibles soluciones pueden generarse. Dada una corrida promedio de las realizadas (con los par ametros que Ud. guste), indique qu e porcentaje aproximado del espacio de b usqueda ha explorado el AG para encontrar la soluci on.
Una corrida con par ametros m minos (una poblaci on de s olo 6 individuos, corriendo s olo 2 generaciones), a n de ilustrar que la cruza, mutaci on y selecci on se efectuaron correctamente. En la corrida se mostrar an las cadenas binarias correspondientes a cada individuo, as como sus valores decodicados (es decir, el valor de en cada caso), sus valores de aptitud, los puntos de cruza elegidos, los padres y los hijos producidos en cada caso, y los efectos producidos por la mutaci on (usar un porcentaje relativamente alto a n de que se produzca mutaci on con una poblaci on peque na). Asimismo, se deber a ilustrar el proceso de selecci on paso por paso, indicando los valores esperados para cada individuo, la aptitud promedio de la poblaci on y el n umero de copias de cada individuo tras el proceso de selecci on.
Una corrida de ejemplo (salida generada por el programa), y los resultados promediados de AL MENOS 20 corridas independientes en las que se usen los mismos par ametros (porcentaje de cruza y mutaci on, tama no de la poblaci on y m aximo n umero de generaciones) pero diferente semilla para generar n umeros aleatorios. En el reporte deber a aparecer la mejor soluci on obtenida, la media de aptitud, la peor soluci on obtenida y la desviaci on est andar de las 20 corridas en cada caso. efectuadas. Deber a mostrarse el valor de y de Asimismo, se incluir a la gr aca de convergencia correspondiente a la soluci on que est e en la mediana de los resultados obtenidos (de las 20 umero de corridas). En esta gr aca se mostrar a en el eje de las el n generaciones (de cero al m aximo permisible) y en el eje de las se mostrar a la aptitud promedio de cada generaci on.
En la p agina web del curso se encuentra un programa (en GNU C para Unix) que implementa un algoritmo gen etico simple con representaci on binaria, selecci on mediante torneo, cruza de 2 puntos y mutaci on uniforme (en una variante que no vimos en clase). Este programa optimiza la funci on , aunque imprime toda la informaci on de cada generaci on, in
137
cluyendo las cadenas correspondientes a cada individuo. Esta informaci on (salvo la mencionada en el primer punto de la lista anterior) es redundante y no requiere incluirse en las corridas efectuadas por su programa. Es importante hacer ver tambi en que puede desarrollar una implementaci on por cuenta propia, sin utilizar ning un elemento del c odigo proporcionado. 2. El objetivo de este problema es que experimente con t ecnicas alternativas de representaci on y selecci on. Usando el mismo programa desarrollado en el problema anterior (con los cambios indicados a continuaci on), deber a minimizar la siguiente funci on:
donde
(6.6) (6.7)
donde:
y:
(6.8)
Considere una precisi on de 3 d gitos despu es del punto decimal. Esta es la funci on F5 de DeJong [137]. Para este problema se usar a un algoritmo gen etico con las siguientes caracter sticas:
Representaci on binaria con c odigos de Gray y representaci on entera (un programa separado para cada caso). Selecci on proporcional (en la variante indicada m as adelante). Cruza de dos puntos. Mutaci on uniforme (como en la tarea anterior). En el caso de la representaci on entera, para mutar genere un entero aleatorio entre 0 y 9 para cada posici on a ser mutada y haga el reemplazo correspondiente.
M etodo del sobrante estoc astico con reemplazo. Selecci on mediante jerarqu as lineales (usar Max=1.1) aplicada a la selecci on universal estoc astica. Escalamiento sigma aplicado al m etodo del sobrante estoc astico sin reemplazo.
El c odigo fuente en C/C++ y los ejecutables de dos programas: uno que implemente el algoritmo gen etico simple con representaci on binaria con c odigos de Gray y otro que implemente una representaci on entera en la que se je la posici on del punto decimal y se genere un d gito en cada alelo de la cadena. Es importante asegurarse de que ambos programas pueden lidiar con valores decodicados fuera de rango a todo momento. Los programas deber an pedir al usuario (de forma interactiva y NO a trav es de la l nea de comandos) los par ametros principales del algoritmo gen etico: tama no de la poblaci on, porcentaje de cruza, porcentaje de mutaci on, n umero m aximo de generaciones y nombre del archivo donde se almacenar an los datos de cada corrida. En cada generaci on deber a retenerse a la mejor soluci on (elitismo), y deber an imprimirse al menos las siguientes estad sticas por generaci on: media de aptitud de la poblaci on, aptitud m axima y m nima, n umero de cruzas efectuadas, n umero de mutaciones efectuadas y cadena (binaria o decimal) correspondiente al mejor individuo (el que tenga la aptitud m as alta). Adicionalmente, deber a imprimirse el mejor individuo global (es decir, contando todas las generaciones), su aptitud y su cadena (binaria o decimal). Dos corridas de ejemplo (una usando una representaci on binaria con c odigos de Gray y la otra usando codicaci on entera), y los resultados promediados de AL MENOS 20 corridas independientes para cada programa en las que se usen los mismos par ametros (porcentaje de cruza y mutaci on, tama no de la poblaci on y m aximo n umero de generaciones) pero diferente semilla para generar los n umeros aleatorios (un total de 40 corridas). En el reporte deber a aparecer la mejor soluci on obtenida, la media de aptitud, la peor soluci on obtenida, la varianza y la desviaci on est andar de cada uno de los dos grupos de 20 139
corridas efectuadas (para los dos casos antes mencionados). Deber an en cada caso. Asimismo, se y mostrarse los valores de , incluir a la gr aca de convergencia correspondiente a la soluci on que est e en la mediana de los resultados obtenidos (de las 20 corridas) para cada caso. En esta gr aca se mostrar a en el eje de las el n umero de generaciones (de cero al m aximo permisible) y en el eje de las se mostrar a la aptitud promedio de cada generaci on.
Una comparaci on de resultados entre las dos implementaciones. Usando los resultados producidos en el punto anterior, se deber a analizar lo que ocurri o en cada caso y concluir si la representaci on hizo alguna diferencia en el desempe no del algoritmo gen etico (por ejemplo, si aceler o la convergencia hacia el o ptimo, si ayud o a encontrar una mejor soluci on, etc.).
140
Punto de cruza
Punto de cruza
1 0 1 0 1 1 0 1
1 1 1 0 1 1 1 0
1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1
Descendientes
Figura 7.1: Cruza de un punto. H1 = 11*****1 H2 = ****11** Si aplicamos cruza de un punto a estos 2 esquemas, no hay manera de formar una instancia del esquema: H = 11**11*1 7.1.1.1 Orden de un esquema Denamos ahora como el orden de un esquema: O(H) = n umero de posiciones jas en el esquema H. Ejemplo: O(*11*0*0*) = 4 O(****1***) = 1
Ejemplo:
7.1.1.3 An alisis de la cruza de un punto La cruza de un punto destruye esquemas en los que la longitud de denici on es alta. Esto produce el denominado sesgo posicional: los esquemas que pueden crearse o destruirse por la cruza dependen fuertemente de la localizaci on de los bits en el cromosoma [74]. El problema fundamental de la cruza de un punto es que presupone que los bloques constructores son esquemas cortos y de bajo orden, y cuando esto no sucede (p.ej., con cadenas largas), suele no proporcionar resultados apropiados. Obviamente, las aplicaciones del mundo real suelen requerir cadenas largas y de ah que esta cruza no se use com unmente en dichos problemas. La cruza de un punto trata tambi en preferencialmente algunas posiciones del cromosoma, como por ejemplo los extremos de una cadena. La cruza de un punto suele preservar tambi en los hitchhikers, que son bits que no son parte del esquema deseado, pero que debido a su similitud con ellos gozan de los benecios de la cruza.
Puntos de Cruza
Puntos de Cruza
1 0 1 1 0 1 0 1
1 1 1 0 1 1 1 0
1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 0
Descendientes
Padre 1 1 0 1 0 1 1 0 1 1 1 1
Padre 2 0 1 1 1 0
1 Padre 1 1 0 1 0 1 1
Hijo 1 Padre 2
Hijo 2
144
Copiar los bits de cada padre hacia sus hijos, de uno en uno. En el momento en que se encuentra un signo de admiraci on en cualquiera de los padres, se efect ua la cruza (es decir, se invierte la procedencia de los bits en los hijos). 145
Cromosoma: 0 1 1 0 0 0 1 1 0 0 : 0 1 0 0 1 0 0 0 0 0
Cuando esto ocurre, los signos de admiraci on se copian tambi en a los hijos, justo antes de que la cruza se efect ue.
Despu es de la cruza: H1 = H2 = a c a c a c a c! d d a a d a! b b b d d d! e b e e e b b b
7.1.4.1 Observaciones sobre la cruza acentuada N otese que s olo se usa la primera parte de la cadena para calcular la aptitud, pero se espera que la selecci on, cruza y mutaci on tengan un efecto positivo sobre los puntos de cruza. En esta representaci on, la mutaci on act ua sobre los dos segmentos cromos omicos. Las probabilidades de que aparezcan unos en el segundo segmento se determinan de manera distinta a las del primero. 146
La cruza acentuada report o buenos resultados en un peque no conjunto de funciones de prueba [201]. Sin embargo, no hay evidencia contundente acerca de su efectividad. La cruza acentuada tiene una buena inspiraci on biol ogica, porque estas marcas de cruza efectivamente existen en la naturaleza y se co-evolucionan junto con los cromosomas.
Distribucional Posicional
La cruza de un punto y la de dos puntos no tienen sesgo distribucional. La cruza de puntos ( ) tiene un sesgo distribucional moderado. La cruza uniforme tiene un sesgo distribucional muy fuerte. 147
La cruza de un punto tiene un fuerte sesgo posicional. Todo parece indicar, que la cruza de puntos tiene tambi en un sesgo posicional fuerte, aunque e ste var a en funci on de . La cruza uniforme no tiene sesgo posicional.
OR AND
4 2
OR
6
NOT
OR
AND
D1
D0
D1
D1
NOT
NOT
NOT
D0
10
D0
D1
Figura 7.5: Un ejemplo con dos padres seleccionados para cruzarse, en programaci on gen etica. El primer hijo se produce borr andole al primer padre el fragmento indicado por el punto de cruza e insertando el fragmento (sub- arbol) correspondiente del segundo padre. El segundo hijo se produce de manera an aloga. Por ejemplo, considere los 2 padres siguientes mostrados en la gura 7.5. Las expresiones S de estos 2 padres son: (OR (NOT D1) (AND D0 D1)) y (OR (OR D1 (NOT D0)) (AND (NOT D0) (NOT D1))) Si el punto de cruza del primer padre es 2, y el del segundo es 6, entonces los hijos resultantes ser an los indicados en la gura 7.6. 7.5.1.1 Observaciones sobre la cruza para programaci on gen etica
T picamente, los 2 padres a cruzarse ser an de tama nos distintos. Los padres son seleccionados mediante alguna de las t ecnicas que vimos antes (p.ej., la ruleta). Suele limitarse la profundidad m axima de un a rbol. 150
OR AND
OR OR NOT
AND
NOT
NOT
D0
D1
D1
NOT
D1
D0
D1
D0
Figura 7.6: Los 2 hijos resultantes de la cruza entre los padres de la gura 7.5
Order Crossover Partially Mapped Crossover Position-Based Crossover Order-Based Crossover Cycle Crossover Otras 151
7.5.2.1 Order Crossover (OX) Esta t ecnica fue propuesta por Davis [62]. El algoritmo es el siguiente (los padres son P1 y P2): 1. Seleccionar (aleatoriamente) una sub-cadena P1. 2. Producir un hijo copiando la sub-cadena en las posiciones correspondientes a P1. Las posiciones restantes se dejan en blanco. 3. Borrar los valores que ya se encuentren en la sub-cadena de P2. La secuencia resultante contiene los valores faltantes. 4. Colocar los valores en posiciones no conocidas del hijo de izquierda a derecha. 5. Para obtener el segundo hijo, se repiten los pasos del 1 al 4, pero tomando ahora la sub-cadena de P2. Ejemplo de Order Crossover: P1 = 9 8 4 5 6 7 1 2 3 10 P2 = 8 7 1 2 3 10 9 5 4 6 Sub-cadena elegida: 5 6 7 1 (de P1) Primer hijo: H1 = X X X 5 6 7 1 X X X Borrar de P2 la sub-cadena tomada de P1: P2 = 8 X X 2 3 10 9 X 4 X Determinar los valores faltantes de H1 sustituyendo (de izquierda a derecha) los valores que aparecen en P2: H1 = 8 2 3 5 6 7 1 10 9 4 Para obtener H2, el procedimiento es similar, aunque ahora la sub-cadena se tomar a de P2 y la sustituci on se har a a partir de P1. 152
7.5.2.2 Partially Mapped Crossover (PMX) Esta t ecnica fue propuesta por Goldberg y Lingle [113] y tiene ciertas similitudes con OX. El algoritmo es el siguiente: 1. Elegir aleatoriamente dos puntos de cruza. 2. Intercambiar estos 2 segmentos en los hijos que se generan (como la cruza de 2 puntos convencional). 3. El resto de las cadenas que conforman los hijos se obtienen haciendo mapeos entre los 2 padres: a) Si un valor no est a contenido en el segmento intercambiado, permanece igual. b) Si est a contenido en el segmento intercambiado, entonces se sustituye por el valor que tenga dicho segmento en el otro padre. Ejemplo de Partially Mapped Crossover: P1 = 9 8 4 5 6 7 1 3 2 10 P2 = 8 7 1 2 3 10 9 5 4 6 Los hijos son: H1 = X X X 2 3 10 X X X X H2 = X X X 5 6 7 X X X X Para completar H1 y H2, copiamos primero los valores que no est an en el segmento intercambiado: H1 = 9 8 4 2 3 10 1 X X X H2 = 8 X 1 5 6 7 9 X 4 X Ahora mapeamos los valores restantes: H1 = 9 8 4 2 3 10 1 6 5 7 H2 = 8 10 1 5 6 7 9 2 4 3 7.5.2.3 Position-based Crossover Esta t ecnica fue propuesta por Syswerda [218] como una adaptaci on de la cruza uniforme para permutaciones. El algoritmo es el siguiente: 153
1. Seleccionar (al azar) un conjunto de posiciones de P1 (no necesariamente consecutivas). 2. Producir un hijo borrando de P1 todos los valores, excepto aqu ellos que hayan sido seleccionados en el paso anterior. 3. Borrar los valores seleccionados de P2. La secuencia resultante de valores se usar a para completar el hijo. 4. Colocar en el hijo los valores faltantes de izquierda a derecha, de acuerdo a la secuencia de P2. 5. Repetir los pasos del 1 al 4, pero tomando ahora la secuencia de P2. Ejemplo de Position-based Crossover: P1 = 9 8 4 5 6 7 1 2 3 10 P2 = 8 7 1 2 3 10 9 5 4 6 Valores elegidos de P1: 8 6 2 10 Producir un hijo: H1 = X 8 X X 6 X X 2 X 10 Borrar de P2 la secuencia usada para H1: P2= X 7 1 X 3 X 9 5 4 X Sustituir de izquierda a derecha los valores que aparecen en P2: H1 = 7 8 1 3 6 9 5 2 4 10 Para obtener H2, el procedimiento es similar, pero la secuencia se toma ahora de P2 y la sustituci on se hace a partir de P1. 7.5.2.4 Order-based Crossover Esta t ecnica fue propuesta por Syswerda [218] como una ligera variante de Positionbased Crossover en la que se cambia el orden de los pasos del algoritmo. En este caso, primero seleccionamos una serie de valores de P1. Luego, removemos de P2 esos valores. A continuaci on generamos un hijo a partir de P2. 154
Finalmente, completamos el hijo con los valores de la secuencia obtenida de P1 (insertada de izquierda a derecha en el orden impuesto por P1). Ejemplo de Order-based Crossover: P1 = 9 8 4 5 6 7 1 2 3 10 P2 = 8 7 1 2 3 10 9 5 4 6 Valores elegidos de P1: 8 6 2 10 Removamos de P2 estos valores: P2 = X 7 1 X 3 X 9 5 4 X Producir un hijo: H1 = X 7 1 X 3 X 9 5 4 X Insertamos ahora la secuencia elegida de P1: H1 = 8 7 1 6 3 2 9 5 4 10 7.5.2.5 Cycle Crossover (CX) Esta t ecnica fue propuesta por Oliver, Smith y Holland [174]. Es similar a la Position-based Crossover, porque toma algunos valores de un padre y selecciona los restantes del otro. La principal diferencia es que los valores tomados del primer padre no se seleccionan al azar, sino de acuerdo a ciertas reglas espec cas. El algoritmo de Cycle Crossover es el siguiente: 1. Encontrar un ciclo que se dene mediante las posiciones correspondientes de los valores entre los padres. 2. Copiar los valores de P1 que sean parte del ciclo. 3. Borrar de P2 los valores que est en en el ciclo. 4. Rellenar el hijo con los valores restantes de P2 (sustituyendo de izquierda a derecha). 5. Repetir los pasos del 1 al 4, usando ahora P2. El elemento clave de esta t ecnica es saber c omo encontrar un ciclo. Es m as f acil explicar este concepto con un ejemplo: 155
P1 = h k c e f d b l a i g j P2 = a b c d e f g h i j k l Posiciones: 1 2 3 4 5 6 7 8 9 10 11 12 Ejemplo de un ciclo: Tomamos al azar una posici on de cualquier padre. En este caso, tomaremos la posici on 1:
Los elementos (h,a) pertenecen al ciclo 1. Si observamos a P1 y P2, veremos que h y a aparecen tambi en en las posiciones 8 y 9. Por tanto, el ciclo incluye ahora las posiciones (1,8,9) y se agregan los elementos i y l. O sea, que los elementos del ciclo son: (h,a,i,l). Vemos ahora que i y l aparecen en las posiciones 10 y 12. Por tanto, el ciclo ahora incluye las posiciones (1,8,9,10,12), y se agrega el elemento j. Vemos ahora que j ya no se encuentra en ninguna otra posici on, por lo que el ciclo se termina.
Ejemplo de Cycle Crossover: P1= 8 11 3 5 6 4 2 12 1 9 7 10 P2= 1 2 3 4 5 6 7 8 9 10 11 12 Posiciones: 1 2 3 4 5 6 7 8 9 10 11 12 Tomemos la posici on 1 para iniciar el ciclo: Los elementos del ciclo ser an entonces (1,8). Pero 1 y 8 tambi en aparecen en las posiciones 9 y 8. Por lo tanto, el ciclo ahora incluye los elementos (1,8,12). Pero 12 aparece tambi en en la posici on 12. Por lo tanto, el ciclo ahora incluye los elementos (1,8,12,10). Pero 10 aparece tambi en en la posici on 10. Por lo tanto, el ciclo ahora incluye los elementos (1,8,12,10,9). Ya no hay nuevos elementos qu e agregar, por lo que se concluye el ciclo. Para generar al primer hijo, tomamos a P1, removi endole los elementos que no sean parte del ciclo: 156
H1 = 8 X X X X X X 12 1 9 X 10 Remover de P2 los valores del ciclo: P2= X 2 3 4 5 6 7 X X X 11 X Rellenar H1 usando los valores restantes de P2. H1 = 8 2 3 4 5 6 7 12 1 9 11 10
Fox y McMahon [88] propusieron un operador de intersecci on que extrae caracter sticas comunes de ambos padres. Blanton y Wainwright [140] propusieron un operador llamado merge crossover, que permite incorporar preferencias en una cierta ruta a la hora de efectuar la cruza.
Aritm etica simple Aritm etica total Simulated Binary Crossover Cruza basada en direcci on
P1= P2=
H2=
si si si
(7.1)
(7.2)
159
est a en el rango
y cada valor
est a en el rango
Ejemplo: P1 = P2 =
Supondremos, que para toda y para toda , el rango es: . Si ahora ubicamos el punto de cruza entre la segunda y la tercera variable, tenemos:
H1= H2=
(7.3)
Por lo que: Como los rangos para la cuarta variable son los mismos que para la tercera, los c alculos son id enticos. Es decir: Supongamos que y
H1 = H2 =
160
P1 = P2 =
si
de lo contrario
(7.4)
Ejemplo de SBX: P1 = P2 =
161
El algoritmo gen etico implementado deber a tener las siguientes caracter sticas:
Remoci on de duplicados: En la generaci on cero y en las generaciones posteriores (tras haber generado a trav es de la selecci on, cruza, mutaci on e inversi on a la siguiente poblaci on), deber a checarse que no existan duplicados (o sea, no deben existir en la misma poblaci on dos individuos que codiquen la misma permutaci on). Los duplicados deber an reemplazarse por un individuo generado al azar o producto de una alteraci on del individuo a removerse (por ejemplo, una mutaci on). Mutaci on: Puede implementar cualquier operador de mutaci on de permutaciones de los discutidos en el siguiente cap tulo. Selecci on: Deber a implementarse la selecci on mediante torneo binario determin stico, usando barajeo de la poblaci on. Representaci on: Debe implementarse una representaci on de permuta ciones (o sea, cadenas de enteros de a , donde representa el tama no de la matriz de entrada, de tal forma que la secuencia num erica no tiene ning un elemento repetido).
Inversi on: Debe implementarse un operador de inversi on que usar a los siguientes par ametros: porcentaje de aplicabilidad (como en la cruza y la mutaci on), punto inicial y punto nal. La pol tica de reemplazo es opcional, pero debe aclararla en su reporte. El operador se aplicar a siempre despu es de la cruza y la mutaci on, pero debe decidirse si se reemplazar a siempre al individuo original, si ser a en cierto n umero (aleatorio) de veces, o si se har a cuando el individuo tras inversi on tenga mejor aptitud que el original. 162
Lo que debe incluirse en el reporte correspondiente es lo siguiente: (a) El c odigo fuente en C/C++ de un programa que implemente un algoritmo gen etico con codicaci on de permutaciones, utilizando inversi on, cruza y mutaci on (como se indic o anteriormente). El programa deber a pedir al usuario (de forma interactiva y NO a trav es de la l nea de comandos) los par ametros principales del algoritmo gen etico: tama no de la poblaci on, porcentaje de cruza, porcentaje de mutaci on, porcentaje de inversi on, n umero m aximo de generaciones y nombre del archivo donde se almacenar an los datos de cada corrida. En cada generaci on deber a retenerse a la mejor soluci on (elitismo), y deber an imprimirse al menos las siguientes estad sticas por generaci on: media de aptitud de la poblaci on, aptitud m axima y m nima, n umero total de cruzas efectuadas, n umero total de mutaciones efectuadas, n umero total de inversiones efectuadas y permutaci on correspondiente al mejor individuo (el que tenga la aptitud m as alta). Adicionalmente, deber a imprimirse el mejor individuo global (es decir, contando todas las generaciones), su aptitud, la permutaci on que codica y su costo. (b) Una corrida de ejemplo por cada uno de los problemas incluidos en el punto siguiente, y los resultados promediados de AL MENOS 20 corridas independientes para cada problema en las que se usen los mismos par ametros (porcentaje de cruza, mutaci on e inversi on, tama no de la poblaci on y m aximo n umero de generaciones) pero diferente semilla para generar n umeros aleatorios. En el reporte deber a aparecer una corrida representativa por problema, as como la mejor soluci on obtenida, la media de aptitud, la peor soluci on obtenida y la desviaci on est andar de las 20 corridas efectuadas. Deber an mostrarse las permutaciones (especicando claramente si deben leerse de izquierda a derecha o viceversa) y sus costos correspondientes en cada caso. Asimismo, se incluir a la gr aca de convergencia correspondiente a la soluci on que est e en la mediana de los resultados obtenidos (de las 20 corridas) para cada problema. En esta gr aca se mostrar a en el eje de las el n umero de generaciones (de cero al m aximo permisible) y en el eje de las se mostrar a la aptitud promedio de cada generaci on.
(c) Funciones de prueba: Se le proporcionar an 4 archivos de prueba para evaluar el desempe no de su programa. Estos archivos estar an disponibles en la p agina web del curso, y se llaman: ajuste.dat, tai10.dat, 163
tai12.dat, tai15.dat. El primero de ellos es para ajustar su programa, y los otros 3 son los ejemplos que debe utilizar para su reporte. El formato de los archivos es el siguiente: tama no de la matriz ( ) matriz de distancias (dist[n][n]) matriz de flujos (ujo[n][n]) El objetivo es minimizar el costo total, denido por:
costo
(7.5)
donde: ( ) se reere a la permutaci on codicada en el algoritmo gen etico. Se le sugiere escribir una funci on (independiente) que calcule la aptitud de una permutaci on a partir de las matrices de distancias y ujos. Si lee los datos del archivo ajuste.dat, y proporciona la permutaci on: 2 3 4 0 1, el costo debe ser 50 (valor o ptimo). Los costos o ptimos para los dem as archivos son los siguientes:
164
a)
P=
10
b)
P=
10
Figura 8.1: Ejemplo de una mutaci on por desplazamiento. Dada: P = 9 4 2 1 5 7 6 10 3 8 Si suponemos que elegimos la posici on 7 y decidimos mover ese valor a la posici on 2, tendr amos: P= 9 6 4 2 1 5 7 10 3 8
1. Seleccionar genes al azar. 2. Generar vecinos de acuerdo a todas las permutaciones posibles de los genes seleccionados. 3. Evaluar todos los vecinos y seleccionar el mejor. Consideremos el siguiente ejemplo: P= 9 4 2 1 5 7 6 10 3 8 Generar todas las permutaciones de: 4 5 10 1) 4 10 5 4) 10 5 4 Individuos generados: P1= 9 4 2 1 10 7 6 5 3 8 P2= 9 5 2 1 4 7 6 10 3 8 P3= 9 5 2 1 10 7 6 4 3 8 P4= 9 10 2 1 5 7 6 4 3 8 P5= 9 10 2 1 4 7 6 5 3 8 De entre ellas, se selecciona a la mejor. En este caso, supondremos que es P4: P= 9 10 2 1 5 7 6 4 3 8 2) 5 4 10 5) 10 4 5 3) 5 10 4
OR
5
OR A0 AND A0
AND
4
A0
A1
NOT
A1
Antes
A1
Despus
donde:
si R=Cierto si R=Falso
y la variable
a en el rango est
168
est e cerca de cero se incrementa conforme (generaci on actual) crece. Esto hace que este operador explore de manera m as global el espacio de b usqueda al inicio (cuando es peque na) y de manera m as local en etapas posteriores. Michalewicz sugiere usar:
donde: r es un n umero aleatorio real entre 0 y 1, T es el n umero m aximo de generaciones y es un par ametro que dene el grado de no uniformidad de la mutaci on (Michalewicz [161] sugiere usar ). Ejemplo:
, ,
, , .
R = Falso,
donde:
169
Si ip(0.5)=TRUE
de lo contrario
Ejemplo:
Dado:
donde:
se usa una distribuci on uniforme y [LB, UB] denen los rangos m nimos y m aximos de la variable .
Ejemplo:
170
Si
de lo contrario
donde es el ndice de distribuci on para la mutaci on y toma cualquier ( = generaci valor no negativo. Deb sugiere usar: on actual)
,
,
,
t=20
171
Si el porcentaje de mutaci on es cero, no hay alteraci on alguna. Si es uno, la mutaci on crea siempre complementos del inidividuo original. Si es 0.5, hay una alta probabilidad de alterar fuertemente el esquema de un individuo.
En otras palabras, podemos controlar el poder de alteraci on de la mutaci on y su capacidad de exploraci on puede hacerse equivalente a la de la cruza. El tipo de exploraci on efectuada por la mutaci on es, sin embargo, diferente a la de la cruza. Por ejemplo, dados: P1 = 10**** P2 = 11**** La cruza producir a s olo individuos del esquema 1*****. El primer 1 en el esquema est a garantizado (sin importar qu e tipo de cruza se use), porque es com un en los esquemas de ambos padres. La mutaci on, sin embargo, no respetar a necesariamente este valor. La cruza preserva los alelos que son comunes en los 2 padres. Esta preservaci on limita el tipo de exploraci on que la cruza puede realizar. Esta limitaci on se agudiza conforme la poblaci on pierde diversidad, puesto que el n umero de alelos comunes se incrementar a. 172
Cuando buscamos localizar el o ptimo global de un problema, la mutaci on puede ser m as u til que la cruza. Si lo que nos interesa es ganancia acumulada (el objetivo original del AG), la cruza es entonces preferible. La cruza parece trabajar bien con funciones que est an altamente correlacionadas o tienen ep stasis moderada.
donde
,
con una precisi on de 5 d gitos despu es del punto decimal. Esta es la funci on de Beale.
(8.1)
2. Implemente la programaci on gen etica usando los operadores que hemos visto hasta ahora. Utilice su sistema para generar un circuito que produzca todas las salidas indicadas en la tabla 8.1 (las entradas son X, Y, Z y la salida es F. Utilice s olo compuertas AND, OR, NOT y XOR en su programa. Existen varias referencias bibliogr acas que pueden serle de utilidad. Vea por ejemplo:
Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, and Frank D. Fancone, Genetic Programming. An Introduction, Morgan Kaufmann Publishers, San Francisco, California, 1998. John R. Koza, Genetic Programming. On the Programming of Computers by Means of Natural Selection, The MIT Press, Cambridge, Massachusetts, 1992.
173
Z W X 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1
Y F 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0
174
Estos par ametros normalmente interact uan entre s de forma no lineal, por lo que no pueden optimizarse de manera independiente. La forma o ptima (o al menos razonablemente adecuada) de denir estos par ametros de un AG ha sido motivo de investigaci on desde los or genes mismos de la t ecnica, y no existe hasta la fecha una soluci on satisfactoria a este problema. A lo largo de este cap tulo hablaremos de los diferentes intentos que han habido para determinar un conjunto de par ametros con los cuales un algoritmo gen etico pueda tener un desempe no razonablemente bueno.
Sin embargo, antes de proceder a realizar sus experimentos, De Jong decidi o analizar la inuencia de los par ametros de un AG en su desempe no. Para medir el impacto de los par ametros de un AG en su desempe no, De Jong propuso dos m etricas: en L 1. Desempeno nea (Online): Es la aptitud promedio de todos los individuos que han sido evaluados en las u ltimas generaciones. Fuera de L 2. Desempeno nea (Ofine): Es el promedio de las mejores aptitudes evaluadas en las u ltimas generaciones. Para que un algoritmo de b usqueda tenga un buen desempe no en l nea, debe decidir r apidamente d onde est an las regiones m as prometedoras de b usqueda y concentrar ah sus esfuerzos. El desempe no fuera de l nea no penaliza al algoritmo de b usqueda por explorar regiones pobres del espacio de b usqueda, siempre y cuando ello contribuya a alcanzar las mejores soluciones posibles (en t erminos de aptitud). Los par ametros hallados por De Jong que tuvieron mejor desempe no en y fuera de l nea son: Tama no de poblaci on: Porcentaje de cruza: Porcentaje de mutaci on:
individuos
Incrementar el tama no de la poblaci on reduce los efectos estoc asticos del muestreo aleatorio en una poblaci on nita, por lo que mejora el desempe no del algoritmo a largo plazo, aunque esto es a costa de una respuesta inicial m as lenta. Incrementar el porcentaje de mutaci on mejora el desempe no fuera de l neaa costa de sacricar el desempe no en l nea. Reducir el porcentaje de cruza mejora la media de desempe no, lo que sugiere que producir una generaci on de inividuos completamente nuevos no es bueno. 176
Observando el desempe no de diferentes operadores de cruza, De Jong concluy o que, aunque el incrementar el n umero de puntos de cruza afecta su disrupci on de esquemas desde una perspectiva te orica, esto no parece tener un impacto signicativo en la pr actica.
Grefenstette [116] us o un AG para optimizar los par ametros de otro (un metaAG). El meta-AG fue usado para evolucionar unos 50 conjuntos de par ametros de un AG que se us o para resolver las funciones de De Jong. Cada individuo codicaba seis par ametros: 1. Tama no de la poblaci on 2. Porcentaje de Cruza 3. Porcentaje de Mutaci on 4. Intervalo generacional (porcentaje de la poblaci on que se reemplaza en cada generaci on)
5. Ventana de escalamiento (sin escalamiento, escalamiento basado en la m m nima de la primera generaci on, escalamiento basado en la nima de las u ltimas W generaciones)
6. Estrategia de selecci on (elitista o puramente seleccionista). La aptitud de un individuo era una funci on de su desempe no en y fuera de l nea. El meta-AG usaba los par ametros de De Jong, y con e l, Grefenstette [116] obtuvo los siguientes valores o ptimos de los par ametros para el desempe no en l nea: Tama no de la poblaci on: Porcentaje de cruza (un punto): Porcentaje de mutaci on: Selecci on: Intervalo generacional: Ventana de escalamiento: 30 individuos 0.95 0.01 Elitista 1.0 (100%) 1 (basado en la nima de m la primera generaci on)
177
Estos par ametros mejoran ligera pero signicativamente el desempe no en l nea del AG con respecto a los de De Jong, pero Grefenstette no pudo mejorar el desempe no fuera de l nea. Algunas observaciones realizadas por Grefenstette [116]:
Los porcentajes de mutaci on por encima de 0.05 tienden a ser perjudiciales con respecto al desempe no en l nea, y el AG aproxima el comportamiento de la b usqueda aleatoria para porcentajes de mutaci on
sin importar qu e otros par ametros se usen.
La ausencia de mutaci on est a tambi en asociada con un desempe no pobre del AG, lo que sugiere que su papel es m as importante de lo que normalmente se cree, pues permite refrescar valores perdidos del espacio de b usqueda. El tama no o ptimo de la poblaci on para el desempe no fuera de l nea est a entre 60 y 110 individuos. Un alto intervalo generacional y el uso de una estrategia elitista tambi en mejoran el desempe no del AG. Para poblaciones peque nas (20 a 40 individuos), el buen desempe no en l nea est a asociado con un porcentaje alto de cruza combinado con un porcentaje bajo de mutaci on o viceversa (un porcentaje bajo de cruza combinado con un porcentaje alto de mutaci on). Para poblaciones de tama no medio (30 a 90 individuos), el porcentaje o ptimo de cruza parece decrementarse conforme se aumenta el tama no de la poblaci on.
178
Han habido innumerables ataques al trabajo de Goldberg antes mencionado, ya que e ste se bas o en una interpretaci on err onea del teorema de los esquemas. Para entender la falacia del argumento de Goldberg, debemos comenzar por denir un concepto muy importante de computaci on evolutiva, el paralelismo impl cito. El paralelismo impl cito se dene as :
Mientras un AG calcula expl citamente las aptitudes de los miembros de una poblaci on, al mismo tiempo estima impl citamente las aptitudes promedio de una cantidad mucho mayor de esquemas, calculando impl citamente las aptitudes promedio observadas de los esquemas que tienen instancias en la poblaci on. Seg un el teorema de los esquemas (que veremos m as adelante), un AG procesa esquemas. A partir de esta idea, Goldberg concluye entonces que a mayor valor de (tama no de la poblaci on), mejor desempe no tendr a el AG, y de ah deriva su expresi on para calcular el tama no o ptimo de una poblaci o n. El problema con este argumento es que s olo hay esquemas en una repre sentaci on binaria, por lo que no se pueden procesar esquemas si es mucho mayor que . Robertson [190] determin o que en los AGs paralelos, el desempe no se incrementaba monot onicamente con el tama no de la poblaci on (es decir, no corresponde a la expresi on derivada por Goldberg). Otros investigadores, han derivado expresiones seg un las cuales un incremento lineal del tama no de la poblaci on corresponde con un buen desempe no del AG. La regla emp rica m as com un es usar una poblaci on de al menos 2 veces L. Algunas observaciones de Goldberg [103, 106] son las siguientes:
Cuando puede demostrarse convergencia de un AG, e sta parece no ser peor que una funci on cuadr atica o c ubica del n umero de bloques constructores del problema, independientemente del tipo de esquema de soluci on utilizado. 179
, sin La teor a sugiere que el tama no o ptimo de la poblaci on es importar la longitud de la cadena cromos omica. Esta observaci on dio pie al micro-AG (Krishnakumar [148]).
El funcionamiento de un micro-AG es el siguiente: 1. Generar al azar una poblaci on muy peque na. 2. Aplicar los operadores gen eticos hasta lograr convergencia nominal (por ejemplo, todas las cadenas son iguales). 3. Generar una nueva poblaci on transriendo los mejores individuos de la poblaci on anterior a la nueva, y generando al azar los individuos restantes. 4. Continuar hasta llegar al o ptimo.
El uso de tama nos grandes de poblaci on ( ) con porcentajes altos de mutaci on ( ) no mejora el desempe no de un AG.
El uso de poblaciones peque nas (
) con porcentajes bajos de mutaci on (
) no mejora el desempe no de un AG.
La mutaci on parece tener mayor importancia de lo que se cree en el desempe no de un AG. 180
El AG result o relativamente insensible al porcentaje de cruza. Un NE (naive evolution), o sea, un AG sin cruza, funciona como un hill climber, el cual puede resultar m as poderoso de lo que se cree. Los operadores gen eticos pueden muestrear ecientemente el espacio de b usqueda sin necesidad de usar tama nos de poblaci on excesivamente grandes. La cruza de 2 puntos es mejor que la de un punto, pero s olo marginalmente. Conforme se incrementa el tama no de la poblaci on, el efecto de la cruza parece diluirse.
9.5 Auto-adaptaci on
En general, es poco probable poder determinar a priori un conjunto o ptimo de par ametros para un AG cualquiera aplicado a un problema en particular. Algunos investigadores creen que la mejor opci on es la auto-adaptaci on. Ejemplo de Adaptaci on en L nea Srinivas y Patnaik [210] propusieron un esquema para adaptar las probabilidades de cruza y mutaci on de un algoritmo gen etico. La propuesta se basa en la detecci on de que el algoritmo gen etico ha convergido. Para ello, verican qu e diferencia existe entre la aptitud m axima de la poblaci on y la aptitud promedio. Da tal forma, se hacen variar los porcentajes de cruza y mutaci on en funci on de esta diferencia de valores (aptitud m axima y aptitud promedio de la poblaci on). Las expresiones propuestas son:
Sin embargo, con estas expresiones los porcentajes de curza y mutaci on se incrementan conforme el algoritmo gen etico converge y produce un comportamiento altamente disruptivo en la vecindad del o ptimo, de manera que el algoritmo puede no converger jam as. Para evitar este problema, estas expresiones deben modicarse de manera que se preserven las buenas soluciones. La propuesta es ahora la siguiente:
181
donde y deben ser menores que 1.0 para hacer que los valores de y est en en el rango de 0.0 a 1.0. En estas f ormulas, es la aptitud m axima de la poblaci on, es la aptitud m as grande de los padres a recombinarse y es la aptitud del individuo a mutarse. As mismo, es la aptitud promedio de la poblaci on. Estas expresiones hacen que el porcentaje de cruza ( ) y de mutaci on ( ) disminuya cuando los individuos tienen una aptitud alta y que aumenten en caso contrario. N otese sin embargo que y se har an cero al alcanzarse la aptitud m axima. Tambi en advi ertase que si y si . Para evitar valores mayores a 1.0 para y , se imponen las restricciones siguientes:
donde
. Debido a que y se har an cero cuando el individuo sea el mejor en la poblaci on, su propagaci on puede llegar a ser exponencial, produciendo convergencia prematura. Para evitar eso, los autores proponen usar un porcentaje de mutaci on por omisi on (0.005) en estos casos. Las expresiones nales son:
donde:
, y
. Los autores sugieren:
Con estos valores, se usan soluciones con una aptitud inferior al promedio a para buscar la regi on donde reside el o ptimo global. Un valor de har
182
que estas soluciones sean totalmente disruptivas. Lo mismo har a con las soluciones cuya aptitud iguale el promedio de la poblaci on. Asignar har a que todas las soluciones cuya aptitud sea menor o igual a se sometan compulsivamente a cruza. La probabilidad de cruza decrece conforme la aptitud del mejor de los padres y se vuelve cero para los individuos con una aptitud a recombinarse tiende a igual a .
Auto-adaptaci on de la probabilidad de mutaci on En este caso, el porcentaje de mutaci on se agrega como un par ametro m as al genotipo, de tal forma que se vuelva una variable m as tal que su valor oscile entre 0.0 y 1.0. B ack y Sch utz (1996) proponen usar:
donde:
).
indica una variable aleatoria con una distribuci on normal tal que su
esperanza es cero y su desviaci on est andar es uno. Aplicando este operador, pasamos del genotipo:
al nuevo genotipo:
La mutaci on de la variable
si si
donde: es un valor aleatorio (distribuci on uniforme) muestreado de nuevo para cada posici on .
183
Este esquema puede generalizarse incluyendo un vector de porcentajes de mutaci on asociados a cada variable:
donde: tama no de la poblaci on, longitud cromos omica, gen eraci on actual, son constantes denidas por el usuario (dependientes del problema). N otese que en todas estas propuestas se usa el mismo porcentaje de mutaci on para todos los individuos de la poblaci on en la generaci on . B ack y Sch utz (1996) propusieron un porcentaje de mutaci on que se decrementa usando:
185
donde:
, longitud cromos omica, generaci on actual y es el n umero m aximo de generaciones. La variabilidad es:
Mantener diversidad en la poblaci on. Mejorar la convergencia del AG, evitando a la vez la convergencia prematura. Evitar la disrupci on de esquemas ocasionada por la cruza.
Ajuste adaptativo de par ametros (probabilidad de cruza y mutaci on, longitud del genotipo y tama no de la poblaci on). Funci on de aptitud adaptativa. Operador de selecci on adaptativo. Operadores de b usqueda (variaci on) adaptativos. Representaci on adaptativa. 186
El mecanismo de adaptaci on puede estar completamente separado del mecanismo de b usqueda del AG. Este tipo de esquema no acoplado no es muy atractivo, porque implica un control centralizado, superimpuesto al mecanismo de b usqueda del AG. Otra posibilidad es que el mecanismo de b usqueda del AG sea usado parcialmente por el mecanismo adaptativo. En este caso, se dice que el AG y el mecanismo adaptativo est an ligeramente acoplados (loosely coupled). Si la adaptaci on es conducida por las fuerzas internas de la b usqueda evolutiva, podemos hablar de un acoplamiento fuerte. En este caso, se origina un acoplamiento de los 2 espacios de b usqueda sobre los que opera el AG (el espacio de las soluciones y el de las variables de decisi on).
ARGOT consiste de un AG convencional al que se agregan varios operadores que modican el mapeo intermedio que traduce los cromosomas en par ametros (o variables) de decisi on. Estos operadores se controlan por medio de 3 tipos de medidas internas de la poblaci on: (a) Medidas de convergencia (p.ej., la uniformidad de los cromosomas en un cierto lugar en particular). (b) Medidas de posicionamiento (posici on promedio relativa de las soluciones actuales con respecto a sus rangos extremos). (c) Medidas de varianza (p.ej., el ancho de la distribuci on de las soluciones con respecto a los rangos permisibles). Estas medidas se aplican sobre cada gene del cromosoma y se usan para activar un cierto operador cuando resulta adecuado. Los operadores incluyen uno que altera la resoluci on de un gene (n umero de bits empleados para representar una variable) y otros que mueven (shift), expanden y contraen el mapeo intermedio entre cromosomas y variables de decisi on. Estos cambios (expansi on y contracci on) hacen que los rangos de cada variable se modiquen con la nalidad de focalizar la b usqueda y permiten tambi en aplicar restricciones de desigualdad a las variables de decisi on. Adem as de los operadores primarios antes mencionados, se usaron otros secundarios tales como un operador de mutaci on de Metropolis que acepta un cambio en un bit s olo si mejora la soluci on actual con la mutaci on. Si el cambio no mejora, se decide si se acepta o no el cambio usando una distribuci on de Boltzmann. Tambi en se propuso un operador de homotop a (b usqueda local) para evitar convergencia a un o ptimo local. Codicaci on Delta La idea de esta propuesta (Matthias & Whitley 1994) es cambiar den amicamente la representaci on de un problema. N otese, sin embargo, que no intenta aprender cu al es la mejor representaci on del espacio de b usqueda, sino m as bien se cambia la representaci on de manera peri odica para evitar los sesgos asociados con una representaci on determinada del problema. El algoritmo de la codicaci on delta empieza con la ejecuci on inicial de un algoritmo gen etico usando cadenas binarias. Una vez que la diversidad de la poblaci on ha sido explotada adecuadamente, se almacena la mejor soluci on bajo 188
el nombre de soluci on temporal. Se reinicializa entonces el AG con una nueva poblaci on aleatoria. En esta ocasi on, sin embargo, las variables se decodican de tal forma que representen una distancia o valor delta ( ) con respecto a la soluci on temporal. El valor de se combina con la soluci on temporal de manera que los par ametros resultantes se eval uen usando la misma funci on de aptitud. De esta manera, la codicaci on delta produce un nuevo mapeo del espacio de b usqueda a cada iteraci on. Esto permite explorar otras representaciones del problema que podr an facilitar la b usqueda. Ejempo de codicaci on binaria usando c odigos delta. Par ametros num ericos 0 1 2 3 4 5 6 7 Codicaci on binaria 000 001 010 011 100 101 110 111 Cambios num ericos 0 1 2 3 -3 -2 -1 -0 Codicaci on delta 000 001 010 011 111 110 101 100
donde
donde:
(9.1) (9.2)
y:
(9.3)
189
Considere una precisi on de 3 d gitos despu es del punto decimal. Esta es la funci on F5 de DeJong. 4. Considere la siguiente funci on de aptitud: umero de unos en , =n donde es un cromosoma de longitud 4. Suponga que el AG ha corrido durante tres generaciones, con las siguientes poblaciones:
1001, 1100, 0110, 0011 1101, 1101, 0111, 0111 1001, 1101, 1111, 1111
190
Sujeto a:
Pero el algoritmo gen etico opera como una t ecnica de optimizaci on sin restricciones, por lo que tenemos que dise nar alg un mecanismo que permita incorporar la informaci on pertinente sobre la violaci on de restricciones en la funci on de aptitud. Este cap tulo habla precisamente de diferentes esquemas para hacer esto.
donde:
191
para todas las restricciones violadas. En esta expresi on, es un factor de penalizaci on denido por el usuario. Hay al menos 3 formas de penalizar a un individuo de acuerdo a su violaci on de las restricciones [187]:
Puede penaliz arsele simplemente por no ser factible, sin usar ninguna informaci on sobre qu e tan cerca se encuentra de la regi on factible. Puede usarse la cantidad de infactibilidad de un individuo para determinar su penalizaci on correspondiente. Puede usarse el esfuerzo de reparar al individuo (o sea, el costo de hacerlo factible) como parte de la penalizaci on.
Richardson et al. [187] denieron algunas de las reglas b asicas para dise nar una funci on de penalizaci on: 1. Las penalizaciones que son funciones de la distancia a la zona factible son mejores que aquellas que son s olo funciones del n umero de restricciones violadas. 2. Para un problema con pocas variables y pocas restricciones, una penalizaci on que sea s olo funci on del n umero de restricciones violadas no producir a ninguna soluci on factible. 3. Pueden construirse buenos factores de penalizaci on a partir de 2 factores: el costo de cumplimiento m aximo y el costo de cumplimiento esperado. El primero de ellos se reere al costo de hacer factible a una soluci on infactible. 4. Las penalizaciones deben estar cerca del costo de cumplimiento esperado, pero no deben caer frecuentemente por debajo de e l. Entre m as preciso sea el factor de penalizaci on, mejores resultar an las soluciones producidas. Cuando una penalizaci on frecuentemente subestime el costo de cumplimiento, el proceso de b usqueda fallar a. Existen, sin embargo, varios problemas para denir una funci on de penalizaci on: 1. No es obvio combinar los 2 factores de los que hablan Richardson et al. [187] en una funci on de penalizaci on. 192
2. Denir los valores o ptimos del factor de penalizaci on es una tarea virtualmente imposible a menos que conozcamos el problema a fondo, en cuyo caso puede dise narse una funci on de penalizaci on a la medida, pero hacerlo resultar a de cualquier forma innecesaria ya que el o ptimo podr a determinarse por m etodos anal ticos exactos. 3. El costo del cumplimiento esperado normalmente tiene que estimarse mediante m etodos alternativos (por ejemplo, estimando el grado de violaci on de las restricciones) que pueden ser dif ciles de implementar. A continuaci on revisaremos r apidamente diversas variantes de la funci on de penalizaci on que se han propuesto en la literatura, comentando brevemente sobre sus desventajas.
de manera que el coeciente de penalizaci on se incremente conforme alcanzamos niveles m as altos de violaci on de las restricciones. Un individuo se eval ua utilizando:
donde: son los coecientes de penalizaci on utilizados y siendo los niveles de violaci on denidos por el usuario. 10.1.2.1 An alisis
El principal problema de esta t ecnica es que requiere la denici on de par ametros. De tal forma que si tenemos un problema moderadamente peque no, con 6 restricciones y 2 niveles, tendr amos que denir 30 par ametros, lo cual a todas luces es excesivo.
donde , y son constantes denidas por el usuario. Los valores sugeridos por los autores para las constantes son: , y o .
10.1.3.1 An alisis La t ecnica es muy susceptible a los valores de los par ametros y suele converger prematuramente cuando e stos no son seleccionados adecuadamente. Sin embargo, parece funcionar muy bien cuando la funci on objetivo es cuadr atica.
donde: representa el horario de enfriamiento y es una funci on que debe ser denida por el usuario. Michalewicz y Attia sugieren usar: y , con incrementos .
10.1.4.1 An alisis El principal problema de esta t ecnica es la denici on del horario de enfriamiento.
donde y con valores diferentes (para evitar ciclos). El caso # 1 ocurre cuando el mejor individuo en las u ltimas generaciones fue siempre factible. El caso # 2 ocurre cuando dicho individuo no fue nunca factible. Esta t ecnica lo que hace entonces es disminuir la penalizaci on cuando el mejor individuo resulta consistentemente factible y aumentar la penalizaci on cuando resulta infactible. Si estos cambios son intermitentes (es decir, el mejor individuo es a veces factible y a veces no), entonces la penalizaci on no se cambia. Obviamente, es necesario denir el valor inicial . 10.1.5.1 An alisis El principal problema de esta t ecnica es c omo elegir el factor inicial de penal izaci on y el intervalo generacional (o sea, ) de manera que el monitoreo de factibilidad produzca resultados razonables. 195
(10.1)
Una muy grande o muy peque na puede hacer que la funci on de penalizaci on nunca cambie, en cuyo caso la t ecnica se reduce a una penalizaci on est atica tradicional. Finalmente, tampoco est a claro c omo denir buenos valores de y .
(10.2)
donde es el valor de la funci on objetivo de la peor soluci on factible de la poblaci on. Si no hay ninguna soluci on factible en la poblaci on, entonces se hace igual a cero. Deb [66] usa torneo binario aplicando las siguientes reglas: 196
1. Una soluci on factible siempre es preferida sobre una no factible. 2. Entre 2 soluciones factibles, la que tenga mejor valor de su funci on objetivo es seleccionada. 3. Entre 2 soluciones no factibles, la que viole el menor n umero de restricciones es elegida. 10.1.7.1 An alisis Uno de los problemas de esta t ecnica es que tiene dicultades para mantener diversidad en la poblaci on, y para ello se requiere del uso de nichos [68] y porcentajes de mutaci on inusualmente altos.
Funciones de penalizaci on. Representaciones y operadores especiales. Algoritmos de reparaci on. Separaci on de restricciones y objetivos. M etodos h bridos.
Ejemplos
Representaciones y operadores especiales: GENOCOP [164]. Algoritmos de reparaci on: GENOCOP III [163]. Separaci on de restricciones y objetivos: T ecnicas de optimizaci on multiobjetivo M etodos h bridos: Sistema inmune [233, 55]. 197
T ecnicas basadas en conceptos Multiobjetivo para Manejo de Restricciones. Idea base: Un problema con un solo objetivo y restricciones, puede transformarse en un problema multiobjetivo. Redenici on del problema: se tiene
Esquema Poblacional. Consiste en dividir a la poblaci on en subpoblaciones, donde cada una de ellas enfocar a sus esfuerzos en optimizar uno de los objetivos del problema (VEGA [199]). No dominancia. Un punto es una soluci on no dominada si no hay tal que:
para y para al menos un valor , .
Jerarquizaci on de Pareto. Propuesta por Goldberg [105]. Otorgar a cada soluci on un valor de jerarqu a (n umero de soluciones dentro de la poblaci on que dominan a esa soluci on determinada) con el objeto de encontrar el conjunto de soluciones no dominadas por el resto de la poblaci on. Su costo es .
10.2.1 COMOGA
Propuesto por Surry et al. [216]. Combina las jerarqu as de Pareto con la propiedad de VEGA de favorecer soluciones extremas en un AG no generacional.
Calcula violaci on de restricciones. Jerarquias de Pareto (no dominancia). Calcula aptitud. Selecciona una parte de la poblaci on con base en su aptitud y otra parte con base en jerarqu as. 198
A partir de los frentes de Pareto obtenidos en cada generaci on se recombinan y se obtienen dos soluciones (una domina a la otra) para determinar una direcci on de b usqueda. De ah inicia una b usqueda lineal.
Un individuo factible es preferible a otro factible con menor aptitud. Un individuo factible es preferible a otro no factible, sin importar su aptitud. Entre dos individuos no factibles, se preere aquel que viole en menor cantidad las restricciones del problema.
then then
200
Problema sin restricciones: Se escogen A, B y C de acuerdo a su rango en el espacio de los objetivos. Problema moderadamente restringido: Se escoge a A de acuerdo a su rango en el espacio de los objetivos, y a B y C del espacio de las restricciones. Problema altamente restringido: Se escogen A, B y C de acuerdo a su rango en el espacio de las restricciones .
Ambos factibles, se escoge aquel con mayor jerarqu a en el espacio de los objetivos. Ambos no factibles, se escoge aquel con mayor jerarqu a en el espacio de las restricciones. Uno factible y otro no factible, se escoge aquel que sea factible.
Todo individuo factible es preferible a otro no factible. Si ambos individuos son no factibles, se preere aquel que viole en menor n umero las restricciones del problema. Si ambos individuos son no factibles y violan el mismo n umero de restricciones, se preere aquel que viole en menor cantidad las restricciones del problema. 201
Las jerarqu as se establecen al comparar a cada individuo con toda la poblaci on: Se establece un contador que se incrementa cada vez que se encuentra un individuo mejor en:
La aptitud est a en funci on de la jerarqu a del individuo. La selecci on se lleva a cabo mediante muestreo universal estoc astico.
202
Candidato 1
Candidato 2
Sr
Figura 10.2: Diagrama del algoritmo de NPGA para manejo de restricciones. Los restantes se seleccionar an de una forma puramente aleatoria. Los criterios de comparaci on usados son los siguientes: Entre dos individuos, si:
Ambos son factibles: El individuo con la aptitud m as alta gana. Uno es factible y el otro es no factible: El individuo factible gana. Ambos son no factibles: Revisi on de no dominancia Ambos son dominados o no dominados: El individuo con la menor cantidad de violaci on gana.
El selection ratio ( ) controla la diversidad de la poblaci on. Normalmente se utiliza un valor superior a 0.8 (Sr(0.8).
10.2.10 EMO para optimizaci on con restricciones, satisfacci on de restricciones y programaci on por metas
Propuesto por Jim enez et al. [134]. Utiliza un AG no generacional, un proceso de preselecci on y redenici on de las funciones objetivo (y/o restricciones). El proceso de preselecci on ayuda a la formaci on de nichos impl cito y es un mecanismo elitista. La selecci on de padres es puramente aleatoria. 1. Se cruzan los padres n veces para producir n hijos. 2. Los n hijos se mutan para obtener 2*n hijos. 3. El mejor de los primeros n descendientes reemplaza al primer padre 4. El mejor de los hijos mutados reemplaza al segundo padre. Las comparaciones se basan en no dominancia. La transformaci on de las funciones de aptitud y restricciones asigna aptitudes altas a individuos factibles y aptitudes bajas a aquellos no factibles, buscando acerca a las soluciones a la zona factible del espacio de b usqueda. Tiene un mecanismo m as balanceado para aproximarse a la zona factible pero requiere de mucho tiempo computacional para obtener resultados aceptables. No se ha probado ampliamente para optimizaci on global.
204
Paso 2: Se calcula de nuevo la jerarqu a del individuo pero ahora con s olo 2 objetivos: el valor dominante y la extensi on de la violaci on de restricciones (n umero de restricciones violadas + cantidad de violaci on normalizada) Se asigna un valor de aptitud con base en la segunda jerarqu a. II Fase secundaria: Utiliza el concepto de anidad para seleccionar al segundo padre (el primero se selecciona de acuerdo a la aptitud de la fase primaria). Individuos que son no- dominados con respecto al primer padre, que violan menos restricciones comunes y que tienen menor valor de extensi on de violaci on se preeren. Entre los individuos dominados por el primer padre, se preeren aquellos con menor valor de extensi on de violaci on. No ha sido probado para Optimizaci on Global no lineal, s olo se ha probado en un problema a nivel multiobjetivo. La doble jerarquizaci on hace costoso el m etodo.
CMEA (Contrained Method-Based Evolutionary Algorithm) de Ranjithan et al. [179]. Utiliza conceptos de programaci on matem atica con restricciones para problemas de optimizaci on multiobjetivo. Manejo de restricciones con incertidumbre o ruido para Optimizaci on Multiobjetivo de Hughes [132], jerarquiza de manera integrada (tomando en cuenta restricciones y prioridades) a la poblaci on con funciones simples basadas en probabilidades.
Estas t ecnicas s olo se han probado en optimizaci on multiobjetivo con restricciones y no para problemas de optimizacion global.
que alguna propuesta al respecto para problemas de optimizaci on en espacios continuos. Se recomienda leer:
Slawomir Koziel and Zbigniew Michalewicz, A Decoder-based Evolutionary Algorithm for Constrained Parameter Optimization Problems, In T. B ack, A. E. Eiben, M. Schoenauer, and H.-P. Schwefel, editors, Proceedings of the 5th Parallel Problem Solving from Nature (PPSN V), pages 231240, Amsterdam, September 1998. SpringerVerlag. Slawomir Koziel and Zbigniew Michalewicz, Evolutionary Algorithms, Homomorphous Mappings, and Constrained Parameter Optimization, Evolutionary Computation, Vol. 7, No. 1, pp. 1944, 1999.
2. Investigue el funcionamiento de una t ecnica conocida como memoria conductista (behavioral memory), analizando sus ventajas y desventajas, as como las posibles dicultades para implementarla (si es que hubiese alguna). Lea:
Marc Schoenauer and Spyros Xanthakis, Constrained GA Optimization, In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 573580. Morgan Kauffman Publishers, San Mateo, California, July 1993.
3. Investigue la forma en la que se han utilizado los algoritmos culturales para manejar restricciones en problemas de optimizaci on en espacios continuos. Analice las ventajas y desventajas de esta t ecnica, as como las posibles dicultades para implementarla. Se le recomienda leer:
Xidong Jin and Robert G. Reynolds, Using Knowledge-Based Evolutionary Computation to Solve Nonlinear Constraint Optimization Problems: a Cultural Algorithm Approach, In 1999 Congress on Evolutionary Computation, pages 16721678, Washington, D.C., July 1999. IEEE Service Center. Chan-Jin Chung and Robert G. Reynolds, A Testbed for Solving Optimization Problems using Cultural Algorithms, In Lawrence J. Fogel, Peter J. Angeline, and Thomas B ack, editors, Evolutionary Programming V: Proceedings of the Fifth Annual Conference on Evolutionary Programming, Cambridge, Massachusetts, 1996. MIT Press.
206
Orientado a las aplicaciones: Son cajas negras dise nadas para ocultar detalles de los AGs y ayudar al usuario a desarrollar aplicaciones para dominios espec cos tales como las nanzas, la programaci on de horarios, etc. Orientado a los algoritmos: Se basan en modelos de AGs espec cos y pueden subdividirse en 2 grupos: 1. Sistemas Espec cos: Contienen un solo algoritmo. 2. Bibliotecas: Contienen una gama de algoritmos y operadores gen eticos que pueden estar disponibles s olo de manera pre-compilada.
Cajas de herramientas (tool kits): Sistemas de programaci on que proporcionan muchas utiler as, algoritmos y operadores gen eticos que pueden usarse para cualquier tipo de aplicaci on y que normalmente se proporcionan en forma de c odigo fuente (al menos de manera parcial).
A su vez, las cajas de herramientas se pueden subdividir en 2 grupos: 1. Sistemas Educativos: Su objetivo es ayudar a los usuarios novatos a practicar los conceptos de computaci on evolutiva reci en aprendidos. Normalmente estos sistemas tienen un n umero relativamente pequeo de opciones para congurar un cierto algoritmo. 207
2. Sistemas de prop osito general: Proporcionan un rico conjunto de herramientas para programar cualquier tipo de AG y aplicarlo a lo que se desee. En algunos casos, incluso permiten que el usuario experto modique partes del c odigo de acuerdo a sus propias necesidades.
Nombre: BUGS (Better to Use Genetic Systems) Descripci on: Programa interactivo para demostrar el uso de un a lgoritmo gen etico. El usuario desempea el papel de la funci on de aptitud y trata de evolucionar una cierta forma de vida articial (curvas). El uso de este programa suele facilitar la comprensi on de lo que son los AGs y c omo funcionan para aquellos novatos en el a rea. Adem as de demostrar los operadores gen eticos fundamentales (selecci on, cruza y mutaci on), BUGS permite visualizar el desv o gen etico (genetic drift) y la convergencia prematura. Lenguaje: C bajo X Windows. Autor: Joshua Smith (jrs@media.mit.edu) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/BUGS.tar.Z
Nombre: Genesis Descripci on: Implementaci on de un AG que tiene gran valor hist orico por haber sido el primer programa de su tipo liberado en el dominio p ublico. Lenguaje: C para Unix. Autor: John J. Grefenstette (gref@aic.nrl.navy.mil) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/genesis.tar.Z
Nombre: GENEsYs Descripci on: Implementaci on de un AG basada en GENESIS que incluye extensiones y nuevas funciones para prop ositos experimentales. Por ejemplo, cuenta con selecci on mediante jerarqu as lineales, selecci on de Boltzmann, selecci on (+), cruza uniforme, recombinaci on discreta e intermedia, auto-adaptaci on de porcentajes de mutaci on, etc. 208
Tambi en cuenta con una serie de funciones objetivo, incluyendo las funciones de De Jong, funciones continuas de alto grado de complejidad, una instancia del problema del viajero, funciones binarias y una funci on fractal. Finalmente, tiene tambi en utiler as para monitorear resultados tales como vaciados de mapas de bit de la poblaci on, varianza de las variables objeto y de los porcentajes de mutaci on, etc. Lenguaje: C para Unix. Autor: Thomas B ack (baeck@ls11.informatik.uni-dortmund.de) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/GENEsYs-1.0.tar.Z
Nombre: DGenesis Descripci on: Implementaci on de un AG distribuido desarrollada a partir de GENESIS 5.0. Corre en una red de estaciones de trabajo operando con Unix. Cada subpoblaci on es manejada por un proceso Unix y la comunicaci on entre ellas se efect ua usando sockets de Berkeley Unix. Lenguaje: C para Unix. Autor: Erick Cant u Paz (cantupaz@dirichlet.llnl.gov) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/dgenesis-1.0.tar.Z
Nombre: GECO (Genetic Evolution through Combination of Objects) Descripci on: Ambiente de trabajo orientado a objetos para implementar prototipos de algoritmos gen eticos. Usa el CLOS (Common LISP Object System) y cuenta con abundante documentaci on y algunos ejemplos de uso. Lenguaje: Common LISP para Macintosh o Unix. Autor: George P. Williams, Jr. (george.p.williams@boeing.com) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/GECO-v2.0.tar.Z
Nombre: GALOPPS (Genetic Algorithm Optimized for Portability and Parallelism) Descripci on: Un sistema de AGs paralelos en el que usuario puede escoger: El tipo de problema (con valores num ericos o permutaciones) El tipo de cruza (de entre 7 posibles) y mutaci on (de entre 4 posibles) El tipo de selecci on (de entre 6 posibles) 209
Probabilidades de los operadores, escalamiento de la funci on de aptitud, frecuencia y patrones de migraci on Criterios de detenci on Elitismo (opcional) Uso de diferente representaci on para cada subpoblaci on, con transformaci on de los migrantes Inversi on al nivel de subpoblaciones Control sobre el reemplazo poblacional, incluyendo crowding y reemplazo aleatorio Selecci on de parejas, usando prevenci on de incestos Selecci on de migrantes El usuario puede denir una funci on objetivo (usando una plantilla) y cualquier funci on auxiliar que necesite. El sistema puede correr una o varias subpoblaciones, en una o varias PCs, estaciones de trabajo o Macs. El sistema corre de manera interactiva (con una interfaz gr aca o de texto) o desde archivos. Puede interrumpirse y recomenzarse f acilmente. Existe una versi on en PVM que incluso mueve los procesos autom aticamente cuando una estaci on de trabajo est a ocupada. Viene con 14 ejemplos que incluyen las funciones de De Jong, la carretera real, el viajero, etc. Lenguaje: C para Unix. Autor: Erik D. Goodman (goodman@egr.msu.edu) Disponibilidad: http://GARAGE.cps.msu.edu/
Nombre: ESCaPaDE Descripci on: Sosticado sistema que permite correr experimentos con algoritmos evolutivos tales como la estrategia evolutiva. El sistema cuenta con 2 tablas internas: una de funciones objetivo y una de monitores de datos, lo que permite una f acil implementaci on de funciones para monitorear todo tipo de informaci on dentro del algoritmo evolutivo. Lenguaje: C para Unix (con rutinas en FORTRAN) Autor: Frank Hoffmeister (hoffmeister@ls11.informatik.uni-dortmund.de) Disponibilidad: Por e-mail a Hoffmeister 210
Nombre: GANNET (Genetic Algorithm/Neural NETwork) Descripci on: Paquete de software que permite evolucionar redes neuronales binarias. Ofrece toda una variedad de oPCiones de conguraci on relacionadas con los valores de los operadores gen eticos. La evoluci on de las redes neuronales se basa en 3 funciones de aptitud: precisi on entre las entradas y salidas, estabilidad de la salida y tamao de la red. Soporta redes con entradas y salidas binarias, con neuronas de 2 o 4 entradas y pesos de entre a , permitiendo hasta 250 neuronas en una red. Lenguaje: C para Unix (con rutinas en FORTRAN) Autor: Jason Spofford Disponibilidad: http://fame.gmu.edu/dduane/thesis
Nombre: GENOCOP (Genetic Algorithm for Numerical Optimization for COnstrained Problems) Descripci on: Paquete de optimizaci on num erica para funciones con cualquier cantidad de restricciones lineales (igualdades y desigualdades). Lenguaje: C para Unix. Autor: Zbigniew Michalewicz (zbyszek@uncc.edu) Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/genocop.tar.Z
Nombre: GPC++ Descripci on: Biblioteca de clases en C++ para desarrollar aplicaciones de programaci on gen etica. Esta biblioteca dene una jerarqu a de clases y uno de sus componentes integrales es la capacidad de producir funciones denidas autom aticamente. Lenguaje: C++ para Unix/MSDOS. Autor: Thomas Weinbrenner (thomasw@thor.emk.e-technik.th-darmstadt.de) Disponibilidad: http://www.emk.e-technik.thdarmstadt.de/thomasw/gp.html
Nombre: GPEIST (Genetic Programming Environment in SmallTalk) Descripci on: Ambiente de programaci on gen etica en Smalltalk que puede correrse en HP/Sun/PC. Permite distribuci on de subpoblaciones en varias estaciones de trabajo (con intercambios entre ellas a ciertos intervalos) 211
Lenguaje: Smalltalk Autor: Tony White (arpw@bnr.ca) Disponibilidad: ENCORE (The EvolutioNary COmputation REpository network) URL: http://www.cs.bham.ac.uk/Mirrors/ftp.de.uu.net/EC/clife/
Nombre: PGAPack Descripci on: Biblioteca de prop osito general para desarrollar AGs paralelos. Incluye: Capacidad de invocaci on desde FORTRAN o C. Soporte de redes de estaciones de trabajo, arquitecturas en paralelo y uniprocesadores. Tipos de datos binarios, enteros, reales y caracteres (nativos). Soporte de nuevos tipos de datos. Interfaz f acil de usar. Niveles m ultiples de acceso para usuarios expertos. Facilidades extensivas de depuraci on. Gran cantidad de ejemplos. Detallada gu a del usuario. Soporte de diferentes tipos de selecci on, cruza y mutaci on. Lenguaje: C para Unix. Autor: David Levine (levine@mcs.anl.gov) Disponibilidad: http://www.mcs.anl.gov/pgapack.html
Nombre: REGAL (RElational Genetic Algorithm Learner) Descripci on: Sistema distribuido basado en AGs dise nado para aprender descriPCiones de conceptos en l ogica de primer orden a partir de ejemplos. Se basa en un operador llamado Sufragio Universal que permite la probable convergencia asint otica de la poblaci on a un estado de equilibrio en el que coexisten varias especies. Lenguaje: C para Unix, usando PVM y Tcl/Tk 212
Nombre: SCS-C (Simple Classier System in C) Descripci on: Versi on en C del Sistema Clasicador Simple proporcionado en el libro de Goldberg. Lenguaje: C para Unix Autor: Jrg Heitkoetter (joke@de.uu.net) Disponibilidad: ENCORE
Nombre: ActiveGA Descripci on: Un OLE que usa un algoritmo gen etico para solucionar un problema dado. Algunas de sus funciones incluidas son: Selecci on de torneo o ruleta. Par ametros del algoritmo gen etico denidos por el usuario. Invisible durante tiempo de ejecuci on. Ejemplos en Excel, Visual BASIC y Visual C++. Precio: $99 d olares
Nombre: Evolver Descripci on: Paquete de algoritmos gen eticos para Windows. Los principiantes pueden usar el m odulo para Excel en sus problemas. Los usuarios avanzados pueden usar el API incluido para desarrollar sus propias aplicaciones, las cuales pueden ser monitoreadas en tiempo real usando el EvolverWatcher. Precio: $349 d olares
Nombre: PC-Beagle Descripci on: Programa que examina una base de datos con ejemplos y usa t ecnicas de aprendizaje de m aquina para crear un conjunto de reglas de decisi on que clasiquen los ejemplos. 213
El sistema contiene 6 componentes principales, de los cuales uno usa algoritmos gen eticos. Precio:
69.
Nombre: MicroGA Descripci on: Herramienta que permite la integraci on de algoritmos gen eticos en cualquier pieza de software. Se trata de un ambiente de programaci on en C++ que viene en c odigo fuente con documentaci on y 3 ejemplos completos. Tambi en incluye un generador de c odigo que permite crear aplicaciones completas de manera interactiva y sin escribir una sola l nea de c odigo. Soporte para Macintosh y MS Windows. Precio: $249 d olares
Nombre: GEATbx (Genetic and Evolutionary Algorithm Toolbox) Descripci on: Conjunto de funciones en MATLAB que permiten implementar diferentes tipos de algoritmos gen eticos para optimizaci on con uno o varios objetivos. Soporta diferentes tipos de selecci on (universal estoc astica, torneo, jerarqu as lineales y no lineales, etc.). Incorpora diferentes t ecnicas de cruza (un punto, dos puntos, uniforme, intermedia, discreta, etc.). Incluye mutaci on para representaci on entera, real y binaria. Permite diferentes modelos poblacionales (globales, regionales y locales). Permite el monitoreo de almacenamiento de resultados (an alisis en l nea y fuera de l nea). Cuenta con diversas funciones de prueba. Cuenta con documentaci on y un tutorial (en HTML). Permite la incorporaci on de conocimiento espec co del dominio. Precio: 150-250 euros. 214
215
216
X2 0*0 *10 010 01* *11 11* 011 000 0*1 00* 10* 001 *01 **1 X3 101 1*1 111 100 X1 1*0 *00 110 1**
Figura 12.1: Representaci on gr aca de los esquemas de longitud tres. poblaci on. Cualquier cadena de bits de longitud es una instancia de esquemas diferentes. Ejemplo: C=10 H1=1* L=2 H2=*0 H3=10 H4=**
Consecuentemente, cualquier poblaci on dada de tama no contiene entre y esquemas diferentes, dependiendo de la diversidad de la poblaci on. Cu antos esquemas hay si todas las cadenas son id enticas? En todos los dem as casos, el n umero es menor o igual a caso en Hay algun el que una poblaci on de exactamente esquemas diferentes? 218
cadenas de
bits contenga
Una poblaci on sin individuos o con un solo individuo contiene exactamente esquemas diferentes. En todos los dem as casos, las cadenas de la poblaci on comparten esquemas.
219
Para el esquema 1***, hay cadenas posibles: Bin 1000 1001 1010 1011 1100 1101 1110 1111 Aptitud 8 9 10 11 12 apt. prom 13 14 15
Cu al es la aptitud promedio del esquema 0*** bajo ? Bin 0000 0001 0010 0011 0100 0101 0110 0111 Aptitud 0 1 2 3 4 apt. prom 5 6 7
donde:
Por lo que:
, los incrementos De tal forma, aunque el AG no calcule expl citamente o decrementos de las instancias de esquemas en la poblaci on dependen de esta cantidad.
Esto es, las cruzas que ocurren dentro de la longitud de denici on de pueden destruir a (osea, pueden producir hijos que no son instancias de ). 221
De tal forma, multiplicamos la fracci on de la cadena que ocupa por la probabilidad de cruza para obtener un l mite superior de la probabilidad de que el esquema ser a destru do. El valor es un l mite superior porque algunas cruzas dentro de las posiciones denidas de un esquema no lo destruir an (p. ej. si dos cadenas id enticas se cruzan). Al sustraer este valor de 1 obtenemos un l mite inferior. NOTA: La probabilidad de supervivencia bajo cruza es alta, para esquemas con baja longitud de denici on.
Esto es, para cada bit, la probabilidad de que e ste no se mutar a es . De tal manera, la probabilidad de que bits no denidos del esquema se muten es esta cantidad multiplicada por s misma veces. NOTA: La probabilidad de supervivencia bajo mutaci on es m as alta para esquemas de bajo orden. Combinando estos 3 efectos (selecci on, cruza y mutaci on), tenemos:
A esta expresi on se le conoce como el Teorema de los Esquemas [127], y describe el crecimiento de un esquema de una generaci on a la siguiente. El Teorema de los Esquemas frecuentemente se interpreta de tal forma que implica que los esquemas cortos y de bajo orden cuya aptitud promedio se mantiene por encima de la media, recibir an un n umero de muestras que crece exponencialmente con el tiempo. La raz on por la que se dice que los esquemas cortos y de bajo orden reciben un n umero de muestras que se incrementa exponencialmente con el tiempo es porque el n umero de muestras de esos esquemas que no son perturbados y permanecen 222
sobre la aptitud promedio se incrementan en un factor de a cada generaci on. El Teorema de los Esquemas es un l mite inferior porque s olo lidia con los efectos destructivos de la cruza y la mutaci on. Sin embargo, se cree que la cruza es la fuente de mayor poder del AG, pues tiene la capacidad de recombinar las instancias de esquemas favorables para formar otros igualmente buenos o mejores. Esta suposici on de que los AGs trabajan de esta manera se conoce como la Hip otesis de los Bloques Constructores [105]. El efecto de la selecci on es sesgar gradualmente el procedimiento de muestreo hacia instancias de esquemas cuya aptitud se estime est en sobre el promedio. Con el paso del tiempo, el estimado de la aptitud promedio de un esquema debiera, en principio, volverse cada vez m as preciso puesto que el AG est a muestreando m as y m as instancias de este esquema. El Teorema de los Esquemas y la Hip otesis de los Bloques Constructores lidian primordialmente con el papel de la selecci on y la cruza en los AGs, pero cu al es el papel de la mutaci on? Holland [127] propuso que la mutaci on previene la p erdida de diversidad en una posici on cualquiera. Es una especie de p oliza de seguro contra jaciones en una cadena cromos omica.
Los esquemas por arriba del promedio se incrementan exponencialmente con el tiempo. Los esquemas por arriba del promedio se exploran r apidamente en paralelo sin alentar de manera signicativa la b usqueda. 223
12.5 Decepci on
Hemos hablado anteriormente sobre un problema que ha preocupado a los te oricos de la computaci on evolutiva: la decepci on. Se llama decepci on a la condici on donde la combinaci on de buenos bloques constructores llevan a una reducci on de aptitud, en vez de un incremento. Este fen omeno fue sugerido originalmente por Goldberg [105] para explicar el mal 224
desempe no del AG en algunos problemas. Veamos un ejemplo de un problema deceptivo: Supongamos que tenemos una funci on de aptitud que nos devuelve los siguientes valores para las cadenas binarias de longitud 3: Cadena 000 001 010 011 100 101 110 111 Aptitud 70 50 49 1 30 2 3 80
Las cadenas con mayor n umero de ceros tienen mayor aptitud, pero el o ptimo global es la cadena de todos unos. En este caso, el AG tender a a favorecer durante la selecci on a las cadenas con m as ceros y encontrar a la cadena de todos ceros (un o ptimo local) en vez de llegar al o ptimo global.
Qu e leyes describen el comportamiento macrosc opico de los AGs? En particular, qu e predicciones pueden hacerse acerca del cambio de aptitud en el tiempo y acerca de la din amica de la poblaci on en un AG en particular. C omo dan lugar los operadores de bajo nivel (selecci on, cruza y mutaci on) al comportamiento macrosc opico de los AGs? En qu e tipo de problemas es m as probable que los AGs tengan un buen desempe no? En qu e tipo de problemas es m as probable que los AGs tengan un mal desempe no? 225
Qu e signica para un AG tener un buen desempe no o un mal desempe no? Esto es, qu e criterios de desempe no son apropiados para un AG? Bajo qu e condiciones (tipos de AGs y tipos de problemas) superar a un AG a otras t ecnicas de b usqueda tales como escalando la colina y otros m etodos de gradiente?
para un AG? La panor amica actual es que la competencia entre los esquemas procede aproximadamente de particiones de esquemas de bajo orden a particiones de esquemas de orden alto. Bethke [22] inri o que ser a dif cil para un AG encontrar el o ptimo de una funci on de aptitud si las particiones de bajo orden conten an informaci on err onea acerca de las particiones de orden m as alto. Consideremos un ejemplo, un tanto extremo, de lo dicho en el punto anterior. Llamemos al esquema H ganador si su aptitud est atica promedio es la m as alta en su partici on. Supongamos que cualquier esquema cuyos bits denidos sean to , y hagamos dos unos es un ganador, excepto por el esquema de longitud que sea un ganador. En principio, ser a dif cil para un AG encontrar on , porque toda partici de bajo orden da informaci on equivocada sobre d onde es m as probable encontrar el o ptimo. A este tipo de funci on de aptitud se le llama con decepci on total. Afortunadamente, nadie ha podido encontrar un problema del mundo real que exhiba decepci on total. S olo se han encontrado problemas reales con decepci on parcial. Tambi en es posible denir funciones de aptitud con menores cantidades de decepci on (es decir, algunas particiones dan informaci on correcta acerca de la localizaci on del o ptimo). Bethke [22] us o la Transformada de Walsh (similar a la transformada de Fourier) para dise nar funciones de aptitud con varios grados de aptitud. Posteriormente, un gran n umero de investigadores han profundizado en estos estudios, y hoy en d a la decepci on es uno de los problemas centrales de los te oricos en AGs. Debido a que los AGs se han usado extensamente para la optimizaci on de funciones, es importante que los que desarrollan aplicaciones con ellos sepan al menos sobre este fen omeno para poder prevenirlo y atacarlo en caso de que se presente. Varios investigadores han cuestionado la relevancia del an alisis de los esquemas en la comprensi on del funcionamiento verdadero de los AGs [117, 154, 177]. Por ejemplo, Grefenstette [117] arma que mucho del trabajo efectuado en teor a de los AGs ha asumido un versi on m as fuerte de lo que e l llama la Hip otesis Est atica de los Bloques Constructores (HEBC):
Dada cualquier partici on de esquemas de bajo orden y reducida longitud de denici on, se espera que un AG converja al hiperplano (en esa partici on) con la mejor aptitud promedio est atica (el ganador esperado). 227
Esta formulaci on es m as fuerte que la original, puesto que dice que el AG converger a a los verdaderos ganadores de cada competencia entre particiones cortas y de bajo orden en vez de que converja a esquemas con la mejor aptitud observada. La HEBC no es lo que propuso Holland [127], y nunca se ha demostrado o validado emp ricamente, pero impl citamente involucra la premisa de que las funciones de aptitud con decepci on ser an dif ciles para un AG. Grefenstette proporciona 2 razones posibles por las que la HEBC puede fallar: 1. Convergencia Colateral: Una vez que la poblaci on comienza a converger hacia alg un punto, las muestras de algunos esquemas dejar an de ser uniformes.
son muy aptas y Por ejemplo, supongamos que las instancias de que la poblaci on ha convergido m as o menos a esos bits (o sea, casi todos los miembros de la poblaci on son una instancia de ese esquema). Entonces casi , ser todas las muestras de, por ejemplo, an realmente muestras . Esto puede impedir de que el AG haga una estimaci on precisa . Aqu de la denota la aptitud promedio est atica de un esquema (el promedio sobre todas las instancias del esquema en el espacio de b usqueda).
2. Elevada Varianza de la Aptitud: Si la aptitud promedio est atica de un esquema tiene una varianza alta, el AG puede no ser capaz de efectuar una estimaci on precisa de esta aptitud promedio est atica. Consideremos, por ejemplo, la siguiente funci on de aptitud:
si si de lo contrario
La varianza de es alta, as que el AG converge a las subregiones de aptitud elevada de este esquema. Esto sesga a todas las muestras subsecuentes de este esquema, impidiendo que se puede obtener un estimado preciso de su aptitud est atica. Esto tiene relaci on directa con la importancia de la decepci on en el comportamiento de los AGs, porque las funciones de aptitud con decepci on se denen completamente en t erminos de las aptitudes est aticas promedio de los esquemas. 228
Para ilustrar su argumento, Grefenstette [117] da ejemplos de problemas con decepci on que son f aciles de optimizar con un AG y de problemas que no tienen decepci on y que son arbitrariamente dif ciles para un AG. Su conclusi on es de que la decepci on no es una causa necesaria ni suciente para que un AG tenga dicultades, y de que su relevancia en el estudio de los AGs debe ser demostrada todav a.
orden intermedio o alto. Sin embargo, algunas cosas extra nas sucedieron. Uno de los hillclimbers que usaron (hab an de 3 tipos) super o por mucho al algoritmo gen etico (encontr o la soluci on 10 veces m as r apido que el AG). Tras efectuar un an alisis de la funci on en la que el AG tuvo problemas, se determin o que una de las causas fueron los hitchhikers, que limita seriamente el paralelismo impl cito del AG restringiendo los esquemas muestreados en ciertos lugares. Estos genes par asitos limitan el efecto de la cruza para recombinar bloques constructores, y hacen que converjan hacia esquemas equivocados en diversas particiones. Sin embargo, este fen omeno no debe resultar demasiado sorprendente si se considera que se ha observado en la gen etica real. Para lidiar con este problema se propuso un Algoritmo Gen etico Idealizado, y se concluyeron varias cosas importantes en torno a c omo debe dise narse un algoritmo gen etico convencional para evitar el hitchhiking: 1. La poblaci on tiene que ser sucientemente grande, el proceso de selecci on debe ser sucientemente lento, y el porcentaje de mutaci on debe ser sucientemente alto para asegurar que no haya ninguna posici on que permanezca ja con un solo valor en ninguna cadena. 2. La selecci on tiene que ser sucientemente fuerte como para preservar los esquemas deseados que se han descubierto, pero tambi en tiene que ser sucientemente lenta (o, de manera equivalente, la aptitud relativa de los esquemas deseables no traslapados tiene que ser sucientemente peque na) para prevenir que ocurra alg un hitchhiking signicativo en algunos esquemas altamente aptos que pueda eliminar esquemas deseables de otras partes de la cadena. 3. El porcentaje de cruza tiene que ser tal que el tiempo en que ocurra una cruza que combine dos esquemas deseados sea peque no con respecto al tiempo de descubrimiento de los esquemas deseados. Estos mecanismos no son compatibles entre s . Por ejemplo, un alto porcentaje de mutaci on est a en contraposici on con una selecci on fuerte. Por lo tanto, debe cuidarse de que haya alg un equilibrio de estos puntos a la hora de aplicarlos. El teorema de los esquemas hace predicciones en torno al cambio esperado en las frecuencias de los esquemas de una generaci on a la siguiente, pero no hace predicciones directamente sobre la composici on de la poblaci on, la velocidad de convergencia de la poblaci on o la distribuci on de aptitudes de la poblaci on con respecto al tiempo. Como un primer paso para tener una mejor comprensi on del 230
comportamiento de los AGs, y para poder hacer mejores predicciones, varios investigadores han construido modelos matem aticos exactos de AGs simples [104, 221, 114, 139, 222, 171]. Estos modelos exactos capturan todos los detalles de un AG simple usando operadores matem aticos.
231
La idea b asica tras el dise no de funciones deceptivas para un algoritmo gen etico es violar de manera extrema la hip otesis de los bloques constructores. En otras palabras, buscaremos ahora que los bloques cortos y de bajo orden nos conduzcan a bloques constructores largos y de mayor orden que sean incorrectos (sub optimos). El problema deceptivo m as peque no posible es de dos bits. Su descripci on se presenta a continuaci on. Supongamos que tenemos un conjunto de cuatro esquemas de orden 2 como se indica a continuaci on: aptitud esquema ***0*****0* ***0*****1* ***1*****0* ***1*****1*
Ahora procederemos a introducir el elemento deceptivo usando la idea siguiente: buscaremos que en nuestro problema uno de los esquemas sub optimos de orden 1 (o los dos) sea mejor que los esquemas de orden 1 del o ptimo. Para poner el problema en una perspectiva m as adecuada, vamos a normalizar todas las aptitudes con respecto al complemento del o ptimo global:
232
En estas expresiones estamos ignorando todos los dem as alelos de las cadenas cromos omicas que no sean las 2 posiciones denidas antes indicadas y las expresiones anteriores implican un promedio sobre todas las cadenas contenidas en el subconjunto de similitud. De tal forma que deben cumplirse las siguientes expresiones:
Si embargo, estas 2 expresiones no pueden cumplirse simult aneamente, pues de hacerlo no ser a el o ptimo global. Sin p erdida de generalidad, supondremos que la primera expresi on es cierta:
TIPO II: (
)
233
atractor
aptitud 01 00 11 10
Figura 12.2: Representaci on gr aca de la clase de problemas deceptivos de Tipo I. Gr acamente, podemos representar estos dos problemas en las guras 12.2 y 12.3, respectivamente. Estos 2 tipos de problemas son deceptivos y puede demostrarse que ninguno de ellos puede expresarse como una combinaci on lineal de los valores al elicos del individuo. Ninguno de estos casos puede expresarse como:
TIPO I: f 01> f 00
En t erminos biol ogicos, tenemos un problema epist atico. Puesto que puede demostrarse que ning un problema de 1 bit puede ser deceptivo, el problema de 2 bits antes indicado es el problema deceptivo m nimo.
234
atractor
aptitud 01 00 11 10
Figura 12.3: Representaci on gr aca de la clase de problemas deceptivos de Tipo II.
donde , y son las matrices de transici on de los operadores de Cruza, Mutaci on y Selecci on respectivamente. Cuando se usa mutaci on uniforme se tiene que:
en donde es la probabilidad de mutaci on del AGS, es la distancia de Hamming entre los estados y , y . De lo anterior conclu mos que es positiva.
235
Por otra parte, dado que el operador de selecci on lo que hace es proporcionarnos pares de individuos con nes de que ya sea que pasen intactos a la poblaci on siguiente o que con una cierta probabilidad mediante el operador de cruza puedan dar lugar a otros dos individuos nuevos, la matriz de transici on de este operador lo que hace es dejar ordenados a los individuos tal y como se ir an tomando para dar lugar a la poblaci on siguiente. El uso de un operador de selecci on proporcional o de torneo [196] determina la existencia de una probabilidad estrictamente positiva de que la poblaci on quede intacta, lo cual asegura que los elementos de la diagonal de la matriz de transici on del operador son positivos, por lo que se concluye que la matriz es columna-permisible.
Lema 12.12.1 Sean , y matrices estoc asticas, donde es positiva y es columna-permisible. Entonces la matriz producto es positiva. En resumen tenemos que, dado que la matriz es positiva y la es columnapermisible, por el lema 12.12.1 la matriz es positiva y por lo tanto primitiva. Para poder hablar de convergencia a continuaci on se muestra la denici on correspondiente para el AGS [195]:
una sucesi Denici on 12.12.1 Sea on de vari ables aleatorias representando la mejor aptitud dentro de la poblaci on represenetico converge al o tada por el estado en el paso . Un algoritmo gen ptimo global si y s olo si:
donde
(12.1)
De esta manera entenderemos que el AGS converge al o ptimo global de funci on objetivo si la probabilidad de que e ste se encuentre en la poblaci on tiende a 1 cuando el n umero de iteraciones tiende a innito. Teorema 12.12.1 Sea P una matriz estoc astica primitiva. Entonces converge cuando a una matriz estoc astica positiva estable , donde tiene entradas diferentes de cero y es u nica inde pendientemente de la distribuci on inicial.
236
As pues, dada la denici on anterior y usando el teorema 12.12.1 Rudolph demuestra que el AGS no converge: Teorema 12.12.2 El AGS con matriz de transici on primitiva no converge al o ptimo global.
Demostraci on Sea cualquier estado en el que
AGS est e en tal estado en el paso . Claramente, y laprobabilidad de que el teorema 12.12.1 la probabili
. Por el dad de que el AGS est e en el estado converge a . Por lo tanto:
por lo tanto la condici on (12.1) no se satisface. El Teorema 12.12.2 muestra que dado que seg un el teorema 12.12.1 la matriz de transici on del AGS converge a una matriz positiva, la probabilidad de estar en un estado no- optimo es estrictamente positiva conforme el n umero de iteraciones se incrementa por lo que la probabilidad de permanecer en un estado o ptimo no es 1 en el l mite.
237
es el s uper individuo de la poblaci on (estado) , ahora bien, sean el mejor individuo de la poblaci on excluyendo el s uper individuo y:
entonces:
si de otra manera.
Nuestra nueva matriz de transici on para el AGE resulta del producto de una matriz que est a compuesta por matrices , una por cada posible s uper individuo acomodadas de manera que entre mejor sea su s uper individuo m as alta ser a su posici on, y la matriz de operador de elitismo:
..
. . .
. . .
. . .
..
. . .
La estructura mostrada de la matriz se debe a que, como ya se mencion o, las poblaciones est an ordenadas de manera descendente de acuerdo a la calidad de su s uper individuo, de tal manera los espacios en blanco representan ceros puesto que no es posible pasar de un estado a otro con un s uper individuo de menor calidad. De lo anterior se concluye que puesto que tales matrices corre sponden con las poblaciones que tienen como s uper individuo al o ptimo . Por otra parte, haciendo las siguientes deniciones:
..
. . .
. . .
..
es
es una matriz estoc astica estable con , donde es u nica independientemente de la distribuci on inicia, y satisface: para
y para
.
Como conclusi on tenemos el siguiente Teorema: Teorema 12.12.4 El AGE converge al o ptimo global. Demostraci on La submatriz contiene las probabilidades de transici on de es
tados o ptimos globales. Puesto que es una matriz estoc astica primitiva y , , el teorema 12.12.3 garantiza que la probabilidad de permanecer en un estado no- optimo converge a cero. Por lo tanto la probabilidad de permanecer en un estado o ptimo global converge a 1. As pues, se ha demostrado la convergencia del AGE, es decir, de un Algoritmo Gen etico que usa elitismo.
, (b) , (e)
(a) Estime la probabilidad de supervivencia de cada esquema bajo mutaci on, . suponiendo que la probabilidad de mutaci on es
(b) Estime la probabilidad de supervivencia de cada esquema bajo cruza, suponiendo que la probabilidad de cruza es .
239
Reporte sus resultados con al menos tres d gitos de precisi on. 2. Bas andose en el an alisis que hicimos de la probabilidad de que un esquema sobreviva a la cruza de un punto, derive una expresi on similar para la cruza de dos puntos. 3. Bas andose en el an alisis que hicimos de la probabilidad de que un esquema sobreviva a la cruza de un punto, derive una expresi on similar para la cruza uniforme.
240
Figura 13.1: Ejemplo del uso de cromosomas diploides. A un nivel m as abstracto, podemos concebir a la dominancia como un mapeo reductor del genotipo hacia el fenotipo. Suena l ogico cuestionarse por qu e usa esta redundancia la naturaleza? Realmente no se sabe. Las teor as biol ogicas m as aceptadas, sugieren que los diploides son una especie de registro hist orico que protegen ciertos alelos (y combinaciones de ellos) del da no que puede causar la selecci on en un ambiente hostil. En AGs, los diploides suelen usarse para mantener soluciones m ultiples (al mismo problema), las cuales pueden conservarse a pesar de que se exprese s olo una de ellas. La idea es la misma que en Biolog a: preservar soluciones que fueron efectivas en el pasado, pero que elimin o el mecanismo de selecci on del AG. Los diploides parecen ser particularmente u tiles en problemas en los que el ambiente cambia con el paso de las generaciones (por ejemplo, optimizaci on de funciones din amicas). El ejemplo de diploides mostrado en la gura 4.6 se debe a Hillis [123, 122]. El genotipo de un individuo en este ejemplo consiste de 15 pares de cromosomas (por claridad, s olo un par por cada padre se muestra en esta gura). Se elige aleatoriamente un punto de cruza para cada par, y se forma un gameto tomando los alelos antes del punto de cruza en el primer cromosoma, y los alelos despu es del punto de cruza en el segundo. Los 15 gametos de un padre se unen con los 15 gametos del otro padre para formar un nuevo individuo diploide (nuevamente por 242
13.2 Inversi on
Holland [127] propuso formas de adaptar la codicaci on de su algoritmo gen etico original, pues advirti o que el uso de cruza de un punto no trabajar a correctamente en algunos casos. El operador de inversi on es un operador de reordenamiento inspirado en una operaci on que existe en gen etica. A diferencia de los AGs simples, en gen etica la funci on de un gene es frecuentemente independiente de su posici on en el cromosoma (aunque frecuentemente los genes en un a rea local trabajan juntos en una red regulatoria), de manera que invertir parte del cromosoma retendr a mucha (o toda) la sem antica del cromosoma original. Para usar inversi on en los AGs, tenemos que encontrar la manera de hacer que la interpretaci on de un alelo sea la misma sin importar la posici on que guarde en una cadena. Holland propuso que a cada alelo se le diera un ndice que indicara su posici on real que se usar a al evaluar su aptitud. Por ejemplo, la cadena 00010101 se codicar a como:
Debe advertirse que el uso de este operador introduce nuevos problemas cuando se combina con la cruza de un punto. Supongamos, por ejemplo, que se cruzan las cadenas:
Estas nuevas cadenas tienen algo mal. La primera tiene 2 copias de los bits 1 y 6 y ninguna copia de los bits 3 y 5. La segunda tiene 2 copias de los bits 3 y 5 y ninguna copia de los bits 1 y 6. C omo podemos asegurarnos de que este problema no se presente? Holland propuso 2 soluciones posibles: 1. Permitir que se realice la cruza s olo entre cromosomas que tengan los ndices en el mismo orden. Esto funciona pero limitar a severamente la cruza. 2. Emplear un enfoque amo/esclavo: escoger un padre como el amo, y reordenar temporalmente al otro padre para que tenga el mismo ordenamiento que su amo. Usando este tipo de ordenamiento se producir an cadenas que no tendr an redundancia ni posiciones faltantes. La inversi on se us o en algunos trabajos iniciales con AGs, pero nunca mejor o dram aticamente el desempe no de un AG. M as recientemente se ha usado con un e xito limitado en problemas de ordenamiento tales como el del viajero. Sin embargo, no hay todav a un veredicto nal en torno a los benecios que este operador produce y se necesitan m as experimentos sistem aticos y estudios te oricos para determinarlos. Adicionalmente, cualquier benecio que produzca este operador debe sopesarse con el espacio extra (para almacenar los ndices de cada bit) y el tiempo extra (para reordenar un padre antes de efectuar la cruza) que se requiere. 244
13.3 Micro-Operadores
En la Naturaleza, muchos organismos tienen genotipos con m ultiples cromosomas. Por ejemplo, los seres humanos tenemos 23 pares de cromosomas diploides. Para adoptar una estructura similar en los algoritmos gen eticos necesitamos extender la representaci on a n de permitir que un genotipo sea una lista de k pares de cadenas (asumiendo que son diploides). Pero, para qu e tomarnos estas molestias? Holland [127] sugiri o que los genotipos con m ultiples cromosomas podr an ser u tiles para extender el poder de los algoritmos gen eticos cuando se usan en combinaci on con 2 operadores: la segregaci on y la traslocaci on.
13.3.1 Segregaci on
Para entender c omo funciona este operador, imaginemos el proceso de formaci on de gametos cuando tenemos m as de un par cromos omico en el genotipo. La cruza se efect ua igual que como vimos antes, pero cuando formamos un gameto, tenemos que seleccionar aleatoriamente uno de los cromosomas haploides. A este proceso de selecci on aleatoria se le conoce como segregaci on. Este proceso rompe cualquier enlace que pueda existir entre los genes dentro de un cromosoma, y es u til cuando existen genes relativamente independientes en cromosomas diferentes.
13.3.2 Traslocaci on
Puede verse como un operador de cruza intercromos omico. Para implementar este operador en un algoritmo gen etico necesitamos asociar los alelos con su nombre gen etico (su posici on), de manera que podamos identicar su signicado cuando se cambien de posici on de un cromosoma a otro mediante la traslocaci on. El uso de este operador permite mantener la organizaci on de los cromosomas de manera que la segregaci on pueda explotar tal organizaci on. La segregaci on y la traslocaci on no se han usado mucho en la pr actica, excepto por algunas aplicaciones de aprendizaje de m aquina [198, 208].
gen en particular y lo coloca junto con su progenitor en el cromosoma. El borrado act ua a la inversa, removiendo un gen duplicado del cromosoma. Holland [127] ha sugerido que estos operadores pueden ser m etodos efectivos de controlar adaptativamente el porcentaje de mutaci on. Si el porcentaje de mu taci on permanece constante y la duplicaci on ocasiona copias de un gen en par ticular, la probabilidad de mutaci on efectiva para este gen se multiplica por . Por otra parte, cuando ocurre el borrado de un gen, el porcentaje efectivo de mutaci on se decrementa. Cabe mencionar que una vez que ha ocurrido una mutaci on en uno de los nuevos genes, debemos decidir cu al de las alternativas ser a la que se exprese, en un proceso similar al que enfrentamos con los diploides. De hecho, podemos considerar la presencia de m ultiples copias de un gen como una dominancia intracromos omica, en contraposici on con la dominancia intercromos omica que resulta m as tradicional en los diploides. Holland ha sugerido el uso de un esquema de arbitraje para hacer la elecci on necesaria entre las diferentes alternativas presentes, aunque no se han publicado estudios sobre este mecanismo hasta la fecha. La duplicaci on puede permitir cosas m as interesantes en un AG, como por ejemplo cadenas de longitud variable (AGs desordenados o mGAs).
David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley Publishing Co., Reading, Massachusetts, 1989.
2. Implemente los micro-operadores discutidos en este cap tulo y desarrolle alguna aplicaci on para ellos. Cu al de ellos considerar a como m as dif cil de implementar? Cu al es el m as f acil? Explique.
246
una mejora relativamente peque na puede traer enormes ahorros a la larga, ya que su impacto es acumulativo. El uso de algoritmos gen eticos en este problema produjo retornos netos substancialmente mejores que los producidos previamente por cualquier planeador humano o por cualquier otra t ecnica de optimizaci on.
14.3 Predicci on
La empresa holandesa Cap Gemini y la empresa brit anica KiQ Ltd han desarrollado de forma conjunta un sistema llamado Omega,el cual usa algoritmos gen eticos para resolver problemas de mercadotecnia, cr edito y aplicaciones nancieras relacionadas. Omega usa como punto de partida un portafolio de comportamiento previo de un cliente, ya partir de e l genera un modelo matem atico que puede usarse posteriormente para predecir comportamientos de clientes que se encuentren fuera de los portafolios conocidos. Este software puede utilizarse para evaluar solicitudes de cr edito, generar listas de correo (para publicidad), modelar lealtad de los clientes a un producto, y para detectar fraudes. Recientemente, un banco holand es compar o Omega contra su sistema de asignaci on de cr edito tradicional (basado en sistemas expertos), encontrando que Omega era substancialmente superior tanto en cantidad (ofrec a m as pr estamos) como en calidad (se reduc a el riesgo en los cr editos) de los pr estamos evaluados.
Se usaron 300 nuevos tipos de tubos, cada uno de los cuales pod a adoptar uno de 14 di ametros disponibles (de 300 mm a 2100 mm) Combinando las dem as variantes del problema (p.ej. ubicaci on de las estaciones de bombeo, etc.) se estim o que el tama n o del espacio de b usqueda umero es superior a la cantidad de era de aproximadamente . Este n a tomos en el universo.
Antes de intentar resolver este problema, se recurri o a un an alisis que incluy o lo siguiente:
Estudios de campo extensivos de la red y de las estaciones de bombeo Se construy o un modelo de todos los cauces principales de la regi on, usando StruMap, que es un sistema de informaci on geogr aca que tiene un m odulo integrado para resolver redes hidr aulicas.
Antes de intentar usar t ecnicas evolutivas en este problema, se recurri o al an alisis efectuado por expertos humanos. Dicho estudio s olo report o resultados 249
hasta el a no 2011, y hubieron de extrapolarse los resultados para el a no 2031. El costo estimado de la extensi on y reforzamiento de la red de agua potable fue de $150 millones de d olares. Usando la informaci on disponible, se procedi o entonces a utilizar GAnet, que es una biblioteca de clases para desarrollar algoritmos gen eticos. GAnet incluye rutinas para simular redes hidr aulicas y permite el manejo de restricciones duras y blandas. GAnet propuso lo siguiente:
Agregar 85 tuber as principales a las 750 ya existentes. Se propusieron 6 nuevas estaciones de bombeo y se sugiri o expandir 3 de las ya existentes, totalizando 42 nuevas bombas. Se propuso sacar de circulaci on a 3 estaciones de bombeo. Se propusieron 7 nuevos tanques elevados y se sugiri o sacar de circulaci on a 2 de los existentes.
El costo estimado de los cambios propuestos por GAnet fue de $102 millones de d olares. Esta soluci on result o 35% m as econ omica que la propuesta por dise nadores humanos expertos. Esto se tradujo en un ahorro estimado de unos $54 millones de d olares. GAnet es uno de los 3 productos principales de software de la empresa Optimal Solutions. Los otros 2 son: 1. GAser: Genetic Algorithms Sewer Analysis, que se usa para optimizar redes de alcantarillado. 2. GAcal: Herramienta para calibrar modelos hidr aulicos. La empresa Optimal Solutions fue fundada en 1996. Su p agina web est a en: http://www.ewan.co.uk/os.html Esta empresa surgi o a partir de la investigaci on del Dr. Dragan Savic y sus colaboradores en la Universidad de Exeter (en Inglaterra). Actualmente, Optimal Solutions tiene varios contratos dentro y fuera del Reino Unido y se les considera la vanguardia en cuanto a optimizaci on hidr aulica con t ecnicas no convencionales Esta empresa est a asociada con Ewan Associates en lo que constituye un ejemplo a seguir de vinculaci on entre una universidad y la industria. 250
Para utilizar computaci on evolutiva se recurri o a un algoritmo gen etico con representaci o real implementado en FORTRAN. A n de mantener dentro de un l mite razonable el costo computacional del algoritmo, se recurri o a un esquema distribuido para evaluar la funci on de aptitud. La clave fundamental de la propuesta fue una representaci on con cambio de granularidad, en la cual se empezaba con una granularidad gruesa (es decir, un intervalo grande entre cada valor de las variables) y se hac a correr al algoritmo gen etico durante un cierto n umero de generaciones (pre-convenido, o hasta alcanzar la convergencia nominal1). Una vez hecho eso, se cambiaba la granularidad a otra m as na, y se proced a a continuar con las iteraciones del algoritmo gen etico. Esto permiti o un acercamiento progresivo hacia la zona factible, manteniendo un costo computacional razonable para el algoritmo gen etico. La mejor soluci on obtenida por el algoritmo gen etico result o entre 3% y 5% m as econ omica que la mejor encontrada por expertos humanos con t ecnicas tradicionales de optimizaci on. Esto se tradujo en ahorros de aproximadamente 1.3 millones de libras esterlinas por a no para Redlands. Si consideramos que esta empresa invirti o unas 50 mil libras esterlinas en total en esta inveestigaci on, el retorno de su inversi on fue cuantioso.
Planeaci on de movimientos de robots Dise no de armaduras (planas y espaciales) Inferencia gramatical (aplicada a reconocimiento de voz) Dise no de redes de telecomunicaciones Dise no de circuitos el ectricos Compresi on de datos Optimizaci on de consultas en bases de datos
Se le recomienda consultar:
Hay varios criterios para denir convergencia nominal. Uno que suele adoptarse es el de la similitud genot pica. Cuando la mayor a de los individuos en la poblaci on son muy similares al nivel genotipo, puede decirse que se alcanz o convergencia nominal
1
252
Mitsuo Gen and Runwei Cheng, Genetic Algorithms & Engineering Optimization, Wiley Series in Engineering Design and Automation. John Wiley & Sons, New York, 2000. Lawrence Davis (editor), Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York, New York, 1991. Thomas B ack, David B. Fogel & Zbigniew Michalewicz (editor), Handbook of Evolutionary Computation, Institute of Physics Publishing and Oxford University Press, New York, 1997.
2. Busque m as aplicaciones de la computaci on evolutiva a problemas del mundo real. Vea, por ejemplo, la p agina web de Evonet (hay diversos espejos de esta p agina en Europa):
http://ls11-www.informatik.uni-dortmund.de/evonet/Coordinator/evonet.html
3. Investigue sobre posibles aplicaciones de la computaci on evolutiva a problemas de su comunidad. Identique posibles problemas y la forma en que e stos se resolver an usando algoritmos gen eticos.
253
254
Algoritmos inecientes para implementar el paralelismo del problema. paralelismo del problema.
Por tanto, si tenemos procesadores, el incremento de velocidad normalmente no ser a de veces. Existe un l mite inferior respecto del incremento de velocidad real al tener procesadores. A este l mite inferior se le conoce como la Conjetura de Minsky, y es de . Aunque el l mite superior depende realmente de si se considera a todo el programa (incluyendo la parte de entraday salida, la cual suele ser secuencial), suele aceptarse que e ste est a denido por [133]. De estos 2 l mites puede inferirse f acilmente que no resulta u til agregar m as y m as procesadores, si lo que queremos es hacer m as r apida a una computadora. La eciencia de un sistema de c omputo se mide en t erminos de sus capacidades tanto en hardware como en software. A dicha medida de eciencia se le conoce como rendimiento total (throughput) y se dene como la cantidad de procesamiento que puede realizarse en un cierto intervalo de tiempo. Una t ecnica que ha conducido a incrementos notables del rendimiento total de un sistema de c omputo es el proceso de encauzamiento (pipelining). Este proceso de encauzamiento es an alogo a una l nea de ensamblaje en una planta industrial. Una funci on a ejecutarse por una computadora es dividida en sub-funciones m as peque nas, y se dise na hardware separado (llamado etapa) para cada una de estas subfunciones. Estas etapas est an conectadas entre s , de manera que forman un solo cauce (o pipeline) que realiza la funci on original. 256
Michael J. Flynn [78] introdujo un esquema para clasicar la arquitectura de una computadora basado en la forma en la que la m aquina relaciona sus instrucciones con los datos que procesa. Flynn deni o el t ermino stream (ujo) como una secuencia de elementos, ya sea datos o instrucciones, ejecutados u operados por un procesador. La clasicaci on de Flynn es la siguiente:
SISD: Single Instruction Stream, Single Data Stream SIMD: Single Instruction Stream, Multiple Data Stream MISD: Multiple Instruction Stream, Single Data Stream MIMD: Multiple Instruction Stream, Multiple Data Stream
Una computadora SISD es la computadora serial convencional que todos conocemos, en la cual las instrucciones se ejecutan una por una, y se usa una sola instrucci on para lidiar con, cuando mucho, una operaci on sobre los datos. Aunque es posible introducir cierto nivel de paralelismo en estas computadoras (usando pipelining), la naturaleza secuencial de la ejecuci on de sus instrucciones la coloca en esta categor a. En una computadora SIMD, una sola instrucci on puede iniciar un gran n umero de operaciones. Estas instrucciones (llamadas vectoriales) se ejecutan de manera secuencial (una a la vez), pero son capaces de trabajar sobre varios ujos de datos a la vez. Tambi en en este caso es posible usar pipelining para acelerar la velocidad de procesamiento. La clase MISD implica la ejecuci on de varias instrucciones operando simult aneamente sobre un solo dato. Este modelo es u nicamente te orico, porque no existen computadoras que caigan dentro de esta categor a. Una computadora MIMD se caracteriza por la ejecuci on simult anea de m as de una instrucci on, donde cada instrucci on opera sobre varios ujos de datos. Ejemplos de esta arquitectura son los sistemas multiprocesadores. Para lo relacionado con AGs paralelos, s olo hablaremos de las computadoras SIMD y MIMD.
CPU maestro
...
Cruza
Mutacion
Aptitud
Estructura de Interconexion
EP
EP
...
EP
Elementos de procesamiento
Pob1
Pob2
Pob3
Poblaciones o demes
Figura 15.3: Esquema de funcionamiento de un algoritmo gen etico paralelo de grano grueso. poblaci on. Los AGs panm ticos son u tiles cuando el costo de evaluar la funci on de aptitud es elevado (p.ej., una simulaci on). En el AG panm tico no se requieren nuevos operadores ni nuevos par ametros y la soluci on encontrada ser a la misma que la producida con un AG convencional (o sea, serial). Es importante hacer notar que aunque el paralelismo global normalmente es s ncrono (o sea, que el programa se detiene y espera a recibir los valores de aptitud de toda la poblaci on antes de proceder a producir la siguiente generaci on), puede implementarse tambi en de forma as ncrona, aunque en ese caso, su funcionamiento ya no resultar a equivalente al de un AG convencional. Adem as de paralelizarse la evaluaci on de la funci on de aptitud, en el paralelismo global es posible incluir tambi en los operadores gen eticos, pero dada la simplicidad de e stos, no suelen paralelizarse, pues los costos de comunicaci on disipar an cualquier mejora en el desempe no del programa.
A los AGs de grano grueso se les suele llamar tambi en AGs distribuidos, porque suelen implementarse en computadoras MIMD con memoria distribuida. Asimismo, algunos autores los llaman tambi en AGs de isla, haciendo alusi on a un modelo poblacional usado en gen etica en el cual se consideran demes relativamente aislados. A este modelo se le conoce como modelo de isla. Los AGs de grano grueso son muy populares debido a varias razones:
Son una extensi on muy simple de los AGs seriales. Simplemente se toman unos cuantos AGs convencionales (seriales), se corre cada uno de ellos en un procesador diferente y, a ciertos intervalos de tiempo, se intercambian unos cuantos individuos entre ellos. Aunque no se tenga acceso a una arquitectura paralela, puede implementarse un AG de grano grueso a trav es de una simulaci on efectuada en una red de estaciones de trabajo, o incluso en una computadora con un solo procesador haciendo la simulaci on mediante software (usando por ejemplo MPI o PVM). Se requiere relativamente de poco esfuerzo para convertir un AG serial en un AG de grano grueso. La mayor parte de la programaci on permanece igual, y s olo se requieren ciertas rutinas adicionales para implementar la migraci on.
Los par ametros que requieren los AGs de grano grueso son:
N umero de demes (esto puede estar determinado por el hardware disponible). Tama no de cada deme. Estructura de la interconexi on (o sea, la topolog a). Intervalo de migraci on Tasa de migraci on Radio de selecci on Radio de migraci on 260
De entre estos par ametros, algunos como la topolog a, juegan un papel preponderante en el desempe no del AG. La topolog a determina qu e tan r apido (o qu e tan lentamente) se disemina una buena soluci on hacia los otros demes. Si se usa una topolog a dispersamente conectada (con un di ametro grande), las soluciones se diseminar an m as lentamente y los demes estar an m as aislados entre s , permitiendo la aparici on de soluciones diferentes, favoreciendo probablemente la diversidad. La topolog a juega tambi en un papel preponderante en el costo de las migraciones. Por ejemplo, una topolog a densamente conectada puede promover una mejor mezcla de individuos, pero a un costo computacional m as alto. Se sabe, por ejemplo, que una topolog a densa tiende a encontrar soluciones globales con un menor n umero de evaluaciones de la funci on de aptitud que si se usa una topolog a dispersa. Tambi en es posible usar topolog as din amicas, en las que los demes no est an limitados a poder comunicarse s olo con un cierto conjunto predenido de demes, sino que env a sus migrantes a aquellos demes que satisfacen ciertos criterios. La idea de este esquema es que puedan identicarse los demes donde los migrantes tienen mayores probabilidades de producir alg un efecto. Usualmente, se usa la diversidad como el criterio principal para denir qu e tan adecuado es un cierto deme. Es importante mantener en mente la idea de que una topolog a es una estructura l ogica que puede diferir de la estructura de hardware disponible. Es decir, la topolog a de un AG paralelo no necesariamente debe coincidir con la de nuestra computadora. El problema de hacer esto, sin embargo, es que los costos de comunicaci on resultantes pueden ser muy elevados. Relacionado con las topolog as se encuentra el concepto de vecindario. El vecindario se reere al a rea dentro de la cual puede moverse un migrante de un cierto deme. Asociado al vecindario se encuentra el concepto de radio de selecci on, que se reere a la cantidad de vecinos entre los cuales se puede efectuar la selecci on. Es com un usar un radio de selecci on de cero, o sea, efectuar la selecci on s olo dentro del mismo deme, aunque cualquier otro valor es v alido. Es com un usar vecindarios compactos en computaci on evolutiva, motivados por el hecho de qe en la naturaleza, las poblaciones est an limitadas geogr acamente. En AGs paralelos, es f acil denir vecindarios compactos, y de ah que sean tan populares en computaci on evolutiva. 261
262
15.2.3 AG de grano no
Otra forma de paralelizar un AG es usando un esquema de grano no. En este caso, la poblaci on de un AG se divide en un gran n umero de subpoblaciones muy peque nas. De hecho, el caso ideal ser a tener s olo un individuo por cada unidad de procesamiento disponible. Este modelo es adecuado para arquitecturas masivas en paralelo, aunque puede implementarse en cualquier tipo de multiprocesador. El problema del paralelismo de grano no es que el costo de comunicaci on entre los procesadores puede hacer que el desempe no del algoritmo se degrade con relativa facilidad. Es com un implementar este tipo de paralelismo colocando los individuos en una malla bidimensional, debido a que e sta es la topolog a usada en hardware para muchas arquitecturas masivas en paralelo. Resulta dif cil comparar de manera justa a un AG paralelo de grano no con uno de grano grueso, y los pocos estudios al respecto suelen enfatizar s olo una cierta m etrica (por ejemplo, la calidad de las soluciones encontradas). De tal forma, no hay un claro ganador entre estos 2 esquemas.
Figura 15.5: Ejemplo de un esquema h brido en el que se combina un AG de grano grueso (a alto nivel) con un AG de grano no (a bajo nivel).
Figura 15.6: Un esquema h brido en el cual se usa un AG de grano grueso de alto nivel donde cada nodo es a su vez un AG con paralelismo global.
264
Figura 15.7: Un esquema h brido en el que se usa un AG de grano grueso tanto a alto como a bajo nivel. A bajo nivel, la velocidad de migraci on es mayor y la topolog a de comunicaciones es mucho m as densa que a alto nivel. trabaja con aplicaciones en las cuales la mayor parte del tiempo de procesamiento lo consume la evaluaci on de la funci on de aptitud. Un tercer m etodo h brido podr a consistir en usar un AG de grano grueso tanto a bajo como a alto nivel. Un esquema de este tipo se ilustra en la gura 15.7. En este caso, la idea es forzar el mezclado panm tico a bajo nivel usando una alta tasa de migraci on y una topolog a densa, y usar una baja tasa de migraci on a alto nivel. Este h brido ser a equivalente en complejidad a un AG de grano grueso, si consideramos a los grupos de subpoblaciones panm ticas como un solo deme. Seg un Cant u Paz [39], este esquema nunca ha sido implementado.
UC
Unidad de control
EP
EP
...
EP
Elementos de Procesamiento
Mem
Mem
...
Mem
Memoria
Figura 15.8: Un ejemplo de arquitectura SIMD. 15.2.5.1 SIMD En este caso, cada elemento de procesamiento (EP) tiene su propia memoria y controla su propio espacio de direccionamiento, aunque tambi en podr a haber una sola memoria global compartida por todos los EPs.
Las arquitecturas SIMD normalmente tienen una forma de malla (mesh) o de toroide. Esta arquitectura (SIMD) suele usarse para AGs de grano no (o sea, para demes de tama no reducido: 12 a 15 individuos cada uno). Sin embargo, puede implementarse un AG de grano grueso con la misma arquitectura si se usan tama nos mayores de demes (p.ej. 50 o 100 individuos). El grado de conectividad es mucho m as importante que la estructura de las interconexiones en una arquitectura SIMD. Se sabe que un grado de conectividad de alrededor de 6 es razonablemente bueno. El uso de una arquitectura SIMD est a asociado con el uso de migraci on y dicho operador puede complicarse bastante, dependiendo del grado de conectividad de la arquitectura.
15.2.5.2 Migraci on Dos son los par ametros principales relacionados con la migraci on: 1. Vecindario de migraci on: hacia qu e demes podemos migrar un individuo.
266
2. Probabilidad de migraci on: cu al es la probabilidad de aceptar a un migrante en un cierto deme (suelen usarse valores altos, p.ej. 0.8)? Los puntos importantes relacionados con la migraci on son 2: 1. A qui en importar en una poblaci on? 2. A qui en reemplazar en una poblaci on? Existen varios criterios para llevar a cabo estas 2 operaciones:
Importar al azar y reemplazar al azar Importar al azar y reemplazar al peor individuo en el deme. Importar el mejor y reemplazar al azar. Importar el mejor y reemplazar el peor. Se sabe que la pol tica de reemplazo no es muy importante (no parece tener un efecto signicativo en el desempe no de un AG paralelo). Sin embargo, el criterio de importaci on s es importante (importar al mejor parece funcionar bien).
15.2.5.3 MIMD Las arquitecturas MIMD (ver gura 15.9) pueden ser de 2 tipos: 1. Descentralizadas: tienen poca o ninguna memoria global. 2. Centralizadas: cuentan con una memoria global compartida. Las arquitecturas MIMD suelen asociarse con los AGs de grano grueso.
En la arquitectura MIMD suele tenerse un n umero peque no de demes (normalmente, menor a 40), pero el tama no de cada uno de ellos suele ser grande. Es posible usar la misma representaci oin para cada deme, o mezclar diferentes representaciones. 267
UC
UC UC Estructura de Interconexion
UC
. . . UC
UC = Unidad de Control
Global
Migracion
Local
Figura 15.10: Una topolog a que suele usarse con las arquitecturas MIMD es la de a rbol.
268
Busqueda local
Mas disruptiva
Menos disruptiva
Los demes suelen diferenciarse debido al particionamiento del espacio de b usqueda. Las pol ticas de migraci on, en este caso, est an dictadas por el prop osito de los demes.
La migraci on en este caso introduce 2 nuevos par ametros: 1. Con qu e frecuencia exportar? (siempre se exporta el mejor). Si se hace con mucha frecuencia, se produce disrupci on. Si se hace con poca frecuencia, habr a poca recombinaci on y puede producirse convergencia prematura en ciertos demes. 2. A qu e deme exportar? Normalmente se usa una de las 2 s iguientes opciones:
Exportar el mejor individuo hacia el peor deme. Exportar hacia el deme donde se tenga una mejor correspondencia (matching) con respecto al individuo elitista, medida usando la distancia de Hamming (en el genotipo).
Otra posibilidad para una arquitectura MIMD es usar una topolog a de anillo como la mostrada en la gura 15.11. En este tipo de topolog a, la b usqueda puede hacerse m as local cambiando la precisi on de la representaci on. Otra posibilidad es usar una topolog a de grafo con interconexiones, o una topolog a de estrella, como las que se muestran en la gura 15.12. 269
IS
Figura 15.12: Topolog a de grafo y de estrella. En esta topolog a, se usan t picamente menos de 100 procesadores. Algunas opciones interesantes de la topolog a de grafo con interconexiones (o de estrella) son las siguientes: 1. Mientras que la arquitectura es MIMD, pueden usarse la misma estructura y las mismas opciones para migraci on que con la arquitectura SIMD. 2. Pizarrones: Usando datos globales, cada deme decide por s mismo cu ando cambiar su direcci on de b usqueda.
15.2.6 M etricas
Otro punto interesante relacionado con los AGs paralelos son las m etricas. Normalmente, se consideran 2 de las m etricas usadas con AGs simples:
Velocidad de convergencia: Tiempo (generaciones) en alcanzar el o ptimo. Precisi on de la respuesta obtenida: Qu e tan buena es la soluci on con respecto a la obtenida con otras t ecnicas? Diversidad: El grado en el cual los organismos (de una sola o de varias poblaciones) permanecen diferentes.
Sin embargo, hay al menos una m etrica adicional que es exclusiva de los AGs paralelos:
Velocidad de propagaci on de los esquemas: qu e tan bien distribuidos est an los esquemas aptos? O sea, qu e tan u til resulta la migraci on? 270
P P
= Longitud cromos omica. = n umero de demes. no de cada deme. = tama esimo bit en el k- esimo miembro = Valor del i- del j- esimo deme. = diversidad.
representa la diversidad de una poblaci on En esta f ormula, (o conjunto de poblaciones). Si las cadenas consisten de puros ceros, . Si las cadenas consisten de puros unos, . Si las cadenas son del tipo 101010...10, .
Idealmente, deber amos conocer de antemano cu ales son los buenos esquemas. Esto, sin embargo, es imposible en la pr actica.
Escoger varios esquemas de antemano. Hacer que la propagaci on de esquemas sea la fracci on m axima de demes en la cual aparece un esquema. 271
Ejemplo del c alculo de la propagaci on de esquemas (SP): Esquemas % de demes seleccionados en los que aparecen *1*10* 3/9 *110** 4/9 *10*0* 5/9 En este caso: SP = 5/9
272
proceso representa el equivalente de la cruza en ED. Si el valor resultante es mejor que el elegido para reemplazo, entonces lo reemplaza. De lo contrario, se retiene el vector elegido para reemplazo. La ED diere entonces de los AGs en los aspectos siguientes: 1. La ED usa representaci on real, mientras el AG suele usar representaci on binaria. 2. En ED se usan 3 padres, en vez de los 2 que usa el AG. 3. En ED, se genera un solo hijo de la cruza y e ste se produce a partir de la perturbaci on de uno solo de sus padres. 4. En ED, el nuevo padre reemplaza a un vector de la poblaci on elegido aleatoriamente s olo si es mejor que e l. En el AG, siempre se reemplaza la poblaci on anterior.
2. Se generan nuevas soluciones de acuerdo al modelo construido. Aunque los EDAs procesan soluciones de manera diferente que los AGs simples, se ha demostrado te orica y emp ricamente que los resultados de ambas t ecnicas son muy similares. Por ejemplo, el AG simple con cruza uniforme es asint oticamente equivalente al algoritmo de distribuci on marginal univariada que supone que las variables son independientes. Una estimaci on de distribuci on puede capturar la estructura de los bloques constructores de un problema de forma muy precisa, de forma que se asegure su efectiva recombinaci on. Esto resulta en un desempe no lineal o subcuadr atico de los EDAs en estos problemas. De hecho, si se obtiene una estimaci on de distribuci on precisa que capture la estructura del problema a resolverse,los EDAs convergen de acuerdo a como lo indica la teor a de los AGs. El problema es que determinar dicha estimaci on es una tarea que dista de lo trivial. Por lo tanto, hay un compromiso entre precisi on y eciencia de la estimaci on probabil stica adoptada.
A menor bondad de un cierto elemento, mayor ser a su probabilidad de ser seleccionado. Se usa un par ametro adicional para compensar las posibles imprecisiones de la medida de bondad. Finalmente, el paso de asignaci on intenta asignar los elementos seleccionados a mejores posiciones. Adem as de los 3 pasos antes mencionados, se jan algunos par ametros de entrada para el algoritmo en un paso preliminar denominado inicializaci on.
Metamerismo: El proceso en el cual una unidad estructural es duplicada un cierto n umero de veces y durante ese proceso se reoptimiza para otros usos. Auto-adaptaci on: Evitar el uso de par ametros ad-hoc en los algoritmos evolutivos. T ecnicas que exploten arquitecturas paralelas: Es importante explotar al m aximo las arquitecturas paralelas mediante nuevos algoritmos evolutivos. Esto traer a importantes ganancias en t erminos de esfuerzo computacional, sobre todo al lidiar con problemas del mundo real. Teor a: Pruebas de convergencia, modelos matem aticos de los algoritmos evolutivos, ep stasis, diversidad, etc. Entender mejor la evoluci on natural: Simulaciones computacionales que permitan entender las complejas interacciones que ocurren entre los seres vivos. Coevoluci on: Muchos investigadores han dirigido sus esfuerzos a estudiar mejor la coevoluci on como un modelo alternativo para resolver problemas en computaci on evolutiva. El AG sin par ametros: Es, sin lugar a dudas, el sue no de los expertos en computaci on evolutiva. 276
Para nalizar, vale la pena mencionar que hace alg un tiempo, en la lista de distribuci on GA-Digest se discutieron ampliamente los temas de investigaci on considerados como m as importantes en los a nos por venir. Tras un intenso debate, se concluy o que las 3 preguntas m as importantes que debieran atacarse por los investigadores de computaci on evolutiva en los pr oximos a nos para lograr la madurez del a rea son las siguientes: 1. A qu e tipo de problemas deben aplicarse los algoritmos evolutivos? 2. C omo podemos mejorar nuestra comprensi on del funcionamiento de los algoritmos evolutivos? 3. Qu e nuevas ideas pueden aplicarse a la computaci on evolutiva a n de extender el paradigma (p.ej., inspiraci on biol ogica)?
277
278
paisaje de, 91 arquitectura masiva en paralelo, 263 arquitecturas paralelas, 265 as ncrono AG paralelo, 259 auto-adaptaci on, 276 estrategia evolutiva, 72 B ack, Thomas, 72, 133 b usqueda dispersa, 80 b usqueda tab u, 34 Baldwin, James Mark, 64 Barricelli, Nils Aall, 56 Bienert, Peter, 58 binaria representaci on, 97 bloque constructor, 92, 97 Boltzmann, 125 selecci on, 116 Box, George E. P., 54 brecha generacional, 130 Bremermann, Hans Joachim, 57 BUGS, 208 c odigos de Gray, 98 campos petrol feros, 247 Cannon, W. D., 52 Cap Gemini, 248 cardinalidad alfabetos de alta, 101 carretera real funciones, 229 centralizada arquitectura, 267 Chomsky, Noam, 112 ciclo, 155 citosina, 83 clase NP, 25 co-evoluci on, 56, 87, 135 codicaci on de Gray, 98
codicaci on real, 99 coevoluci on, 276 Combinaci on Teor a de la, 46 competencia, 51, 88 complejidades de algoritmos, 25 computaci on evolutiva aplicaciones, 247 cr ticas, 79 futuro, 276 las 3 grandes preguntas, 277 or genes, 52 paradigmas, 67 programaci on de horarios, 249 computadora IAS, 56 concavidad, 35 Conrad, Michael, 61 constructor bloque, 97 constructores hip otesis de, 223 convergencia en AGs paralelos, 270 convergencia colateral, 228 convexidad, 35 Cope, Edward Drinker, 44 corte, 104 Cramer, Nichael Lynn, 62 Creacionismo, 41 Cromos omica Teor a, 50 cromosoma, 75, 84, 89, 96 Crosby, J. L., 53 cruza, 93, 141 comportamiento deseable, 149 de dos puntos, 141 de un punto, 141 efecto de, 221 programaci on gen etica, 149 representaci on real, 157
279
sesgos, 147 uniforme, 141 cruza acentuada, 145 cruza aritm etica simple representaci on real, 159 cruza aritm etica total representaci on real, 160 cruza biol ogica, 141 cruza con barajeo, 148 cruza de dos puntos, 143 representaci on real, 158 cruza de un punto an alisis, 143 problemas, 141 cruza intermedia representaci on real, 159 cruza para permutaciones, 151 cruza simple, 158 cruza uniforme, 145, 149 representaci on real, 158 cruza vs. mutaci on, 173 cultural algoritmo, 80 cycle crossover, 155 Darwin, Charles, 41, 45 deende las ideas de Lamarck, 43 inuencias recibidas, 46 teor a de la pang enesis, 48 Darwin, Erasmus, 43 De Jong experimentos, 177 decepci on, 93 ejemplo, 225 decepci on parcial, 227 decepci on total, 227 deceptivo problema, 92 DeJong, Kenneth, 116 deme, 259
descenso empinado, 27 descentralizada arquitectura, 267 desv o gen etico, 66, 88 determinista, 25 DeVries, Hugo, 50 DGenesis, 209 dimensionalidad maldici on de la, 104 din amica evolutiva, 64 diploide, 85 ejemplo, 243 diploides, 241 dise no de p eptidos, 247 dispersa b usqueda, 80 distribuci on geom etrica selecci on, 134 distribucional sesgo, 147 diversidad, 270 m etricas, 271 divisi on protegida, 108 dominancia, 241 ecosistemas articiales, 61 efecto Baldwin, 64 efecto de la cruza, 221 efecto de la mutaci on, 222 efecto de la selecci on, 221 ejecuci on, 110 El Origen de las Especies, 44 El origen de las especies, 46 elitismo, 93 elitismo global, 129 encapsulamiento, 110 encauzamiento proceso, 256 ENCORE, 212 Engineering Design Centre, 251
280
engrama, 89 ep stasis, 53, 89, 92, 98 escalamiento sigma, 116, 122 escalando la colina, 35 ESCaPaDE, 210 especiaci on, 88, 92 especie, 88 esperma, 84 esquema, 54, 94, 217 longitud de denici on, 142 orden, 142 velocidad de propagaci on, 270 esquema candidato, 104 esquemas cantidad de, 96 teorema de, 221 esquemas diferentes, 218 estado uniforme algoritmo evolutivo, 131 estancamiento, 55 estimation of distribution algorithms, 274 estrategia evolutiva, 70 algoritmo, 70 aplicaciones, 73 auto-adaptaci on, 72 comparada con la programaci on evolutiva, 73 ejemplo, 70 recombinaci on panm tica, 73 recombinaci on sexual, 73 regla de 1/5, 71 regla de 1/7, 72 estrategia evolutiva de dos miembros, 70 estrategia evolutiva multi-miembro, 71 estrategias de producci on optimizaci on, 247 estrategias evolutivas, 58 estructurado algoritmo gen etico, 111 etapa, 256
evoluci on, 51 evoluci on diferencial, 273 comparaci on con un algoritmo gen etico, 274 evoluci on simulada, 275 Evolucionismo, 41 Evolutionary Operation (EVOP), 54 evolutiva programaci on, 54 Evolver, 213 EVOP, 54 Ewan Associates, 250 Exeter Universidad, 250 exploraci on, 94 explotaci on, 94 expresiones-S, 112 fase primordial, 104 fase yuxtaposicional, 104 fenotipo, 45, 85, 91 fertilidad, 87 Flynn, Michael J., 257 Fogel, Lawrence J., 68 FORTRAN, 210, 252 Fraser, Alexander S., 52 frecuencia de exportaci on, 269 Friedberg, R. M., 54 Fujiki, C., 62 GAcal, 250 GALOPPS, 209 Galton, Francis, 48 GAME, 112 gameto, 85 GAnet, 250 GANNET, 211 GAser, 250 GECO, 209 gene, 75, 84, 89, 97
281
gene activo, 112 gene pasivo, 112 gene pool, 259 generaci on, 91 Genesis, 208 GENEsYs, 208 Genetic Algorithms Manipulation Environment, 112 Genetic Algorithms Sewer Analysis, 250 GENOCOP, 211 genoma, 84 genotipo, 45, 85, 89 Germoplasma Teor a del, 44 germoplasma, 44 Glover, Fred, 80 Goldberg, David Edward, 116 GPC++, 211 GPEIST, 211 gradualidad, 101 gram aticas, 112 Gray c odigos, 98 greedy heur stica, 249 Grefenstette estudio, 178 Grefenstette, John J., 208 guanina, 83 Haeckel, Ernst, 44 Hamming distancia, 269 riscos, 98 haploide, 85 haploides, 241 heur stica denici on, 33 heur stica greedy, 249 Hicklin, J. F., 62
hip otesis de los bloques constructores, 223 hip otesis est atica de los bloques constructores, 227 Historie Naturelle, 41 hitchhiker, 230 hitchhikers, 143 Holland, John H., 54, 60, 74 argumento a favor de representaci on binaria, 97 hom ologos cromosomas, 241 horarios programaci on, 249 Hunt Morgan, Thomas, 50 IEEE representaci on de punto otante, 100 individuo, 85, 91 inteligencia logen etica, 89 ontogen etica, 89 sociogen etica, 89 inteligencia articial, 105 intrones, 94 inversi on, 53, 93, 243 isla modelo de, 260 Jenkins, Fleming, 47 jerarqu as, 116 jerarqu as lineales, 123 Joszef Stefan Institute, 249 KanGAL, 248 KiQ Ltd, 248 Koza, John, 105 Koza, John R., 62 Kuhn-Tucker condiciones, 36 Lamarck, 43
282
Lamarck, Jean Baptiste Pierre Antoine de Monet, 43 Lamarckismo, 43 Leclerc, Georges Louis, 41 Levin, B. R., 53 Linnean Society, 45 LISP, 105, 112 locus, 84 longitud de denici on, 142 longitud variable representaci on de, 103 losas de concreto dise no, 251 Lyell, Charles, 46 m etricas, 270 en AGs paralelos, 270 MacReady, William, 224 maldici on de la dimensionalidad, 104 Malthus, Thomas Robert, 46 Markov, cadenas de, 56 matching, 269 Mendel leyes de la herencia, 48 Mendel, Johann Gregor, 44, 48, 50, 51 merge crossover, 157 mesh, 266 messy GA, 103 metamerismo, 276 Michalewicz, Zbigniew, 133, 211 micro algoritmo gen etico, 180 micro-operadores, 245 MicroGA, 214 migraci on, 88, 92, 259, 266 par ametros, 267 probabilidad, 267 vecindario de, 266 MIMD, 257, 267 Minsky conjetura, 256
MISD, 257 modelos probabil sticos, 274 MPI, 260 muerte pena de, 193 muestreo determin stico, 121 Multiple Instruction Stream, Multiple Data Stream, 257 Multiple Instruction Stream, Single Data Stream, 257 multiprocesador, 263 Mutaci on Teor a de la, 50 mutaci on, 51, 93, 165 efecto de, 222 porcentajes o ptimos, 165 programaci on gen etica, 167 representaci on real, 168 mutaci on de l mite, 169 mutaci on heur stica, 166 mutaci on no uniforme, 168 mutaci on por desplazamiento, 166 mutaci on por inserci on, 165 mutaci on por intercambio rec proco, 166 mutaci on uniforme, 170 mutaci on vs. cruza, 173 mutaciones espont aneas, 50 mutaciones variables, 185 Neo-Darwiniano paradigma, 51 Neo-Darwinismo, 51 nicho, 92 nicho ecol ogico, 88 no convexidad, 35 No Free Lunch Theorem, 224 notaci on big-O, 24 notaci on del IEEE, 100 NP, 25 NP completos
283
problemas, 26 nucle otidos, 83 Omega, 248 On the Variation of Animals and Plants under Domestication, 48 operador de intersecci on, 157 Optimal Solutions, 250 optimizaci on t ecnicas cl asicas, 27 optimizaci on combinatoria, 38 orden de un esquema, 142 order crossover, 152 order-based crossover, 154 ovarios, 84 OX, 153 p eptidos optimizaci on, 247 paisaje de aptitud, 91 Pang enesis Teor a de la, 48 paralelismo, 92, 276 motivaci on, 255 nociones, 255 paralelismo impl cito, 54, 179, 219, 258 paralelizaci on expl cita, 258 paralelizaci on global, 258 parameter-based mutation, 171 partially mapped crossover, 153 Pattee, Howard H., 61 PC-Beagle, 213 pena de muerte, 193 penalizaci on adaptativa, 195 algoritmo gen etico segregado, 196 basada en factibilidad, 196 din amica, 194 est atica, 193 funci on de, 191
pena de muerte, 193 recocido simulado, 194 permutaciones cruza, 151 mutaci on, 165 PGAPack, 212 Philosophie Anatomique, 43 Philosophie Zoologique, 43 pipelining, 256 pizarrones, 270 plan reproductivo gen etico, 74 pleitrop a, 88 Plymouth Universidad, 251 PMX, 153 poblaci on, 85 cantidad de esquemas, 218 no traslapable, 130 panm tica, 92 traslapable, 130 poligenia, 56, 88 posicional sesgo, 148 position-based crossover, 153 precisi on de la respuesta obtenida, 270 predicci on, 248 presi on de selecci on, 122 prevenci on de incesto, 94 primordial fase, 104 programaci on autom atica, 105 programaci on evolutiva, 68 algoritmo, 68 aplicaciones, 69 comparada con la estrategia evolutiva, 73 ejemplo, 69 programaci on gen etica, 62, 105 cruza, 108, 149
284
ejecuci on, 110 encapsulamiento, 110 funciones, 106 mutaci on, 108, 167 permutaci on, 108 simplicaci on, 110 terminales, 106 PVM, 260 Quadstone, 247 radio de selecci on, 261 Ray, Thomas S., 64 Rechenberg, Ingo, 58, 70 recocido simulado, 34, 125, 194 recombinaci on panm tica estrategia evolutiva, 73 recombinaci on respetuosa aleatoria, 149 recombinaci on sexual, 53 estrategia evolutiva, 73 red de agua potable, 249 redes neuronales h bridos con AGs, 247 Reed, J., 56 REGAL, 212 regla de e xito 1/5, 71 regla de e xito 1/7, 72 rendimiento total, 256 reordenamiento, 93 representaci on a rboles, 105 algoritmo gen etico, 95 de longitud variable, 103 gram aticas, 112 h brida, 112 jer arquica, 111 matricial, 112 permutaciones, 112 recomendaciones, 113 tendencias futuras, 112 representaci on binaria, 96
problemas, 97 representaci on de punto jo, 101 representaci on entera, 102 representaci on real cruza, 157 mutaci on, 168 reproducci on, 51, 88 asexual, 88 operadores de, 93 sexual, 88 reproducci on sexual, 85 caso diploide, 87 caso haploide, 85 restricciones, 191 restricciones expl citas, 37 restricciones impl citas, 37 Reynolds, Robert G., 80 riscos de Hamming, 98, 101 Russell Wallace, Alfred, 45, 46 s ncrono AG paralelo, 259 Saint-Hilaire, Etienne Geoffroy, 43 Savic, Dragan, 250 SBX, 161 Schaffer estudio, 180 Schwefel, Hans-Paul, 58, 71 SCS-C, 213 segregaci on, 53, 245 segregado algoritmo gen etico, 196 selecci on, 51, 87 blanda, 87 de estado uniforme, 115 dura, 87 efecto, 221 extintiva, 115 m etodos din amicos, 135 m etodos est aticos, 135
285
mediante torneo, 115 proporcional, 115 radio de, 261 selecci on blanda, 129 selecci on competitiva, 135 selecci on de Boltzmann, 116, 125 selecci on de estado uniforme, 129 selecci on derecha, 136 selecci on dura, 129 selecci on extintiva, 70, 135, 136 selecci on izquierda, 136 selecci on mediante torneo, 126 determin stico, 126 probabil stico, 126 selecci on preservativa, 135 selecci on proporcional aditamentos, 116 Boltzmann, 116, 125 escalamiento sigma, 122 jerarqu a geom etrica, 134 jerarqu as, 116 jerarqu as lineales, 123 jerarqu as no lineales, 133 muestreo determin stico, 116, 121 ruleta, 115 sobrante estoc astico, 115, 117 universal estoc astica, 116, 119 selecci on pura, 136 sesgo de la cruza, 147 sesgo distribucional, 147 sesgo posicional, 143, 148 simbiosis, 56 SIMD, 257, 266 simulated binary crossover, 161 Single Instruction Stream, Multiple Data Stream, 257 Single Instruction Stream, Single Data Stream, 257 SISD, 257
sistema de suspensi on optimizaci on, 248 sistemas clasicadores, 55, 131 Smalltalk, 212 sobrante estoc astico, 117 con reemplazo, 119 sin reemplazo, 119 sobre-especicaci on, 103 software, 207 bibliotecas, 207 cajas de herramientas, 207 espec co, 207 orientado a las aplicaciones, 207 orientado a los algoritmos, 207 sistemas de prop osito general, 208 sistemas educativos, 207 somatoplasma, 44 stagnation, 55 steepest descent, 27 StruMap, 249 sub-especicaci on, 103 subpoblaci on, 92 sustituci on reducida, 148 Sutton, Walter, 50 tab u b usqueda, 34 Tac Tix, 56 tama no o ptimo de poblaci on, 178 teor a a reas abiertas de investigaci on, 225 teor a cromos omica de la herencia, 50 teorema de los esquemas, 220, 222 cr ticas, 223 terminales, 106 throughput, 256 Tierra, 64 Toombs, R., 56 topolog a, 261 de anillo, 269
286
de estrella, 270 de grafo, 270 densa, 261 dispersa, 261 topolog a din amica, 261 torneo selecci on mediante, 126 toroide, 266 traslocaci on, 245 Turing, Alan Mathison, 52 uni on, 104 Unilever Research, 247 universal estoc astica, 119 Universidad de Exeter, 250 Universidad de Plymouth, 251 variables de decisi on, 37 varianza elevada de la aptitud, 228 variedad requisito, 93 vecindario, 261 migraci on, 266 vecindarios compactos, 261 vectoriales instrucciones, 257 velocidad de convergencia, 270 de propagaci on de los esquemas, 270 viabilidad, 87 vida articial, 56 von Neumann, John, 56 Walsh transformada, 227 Weismann, August, 44 derrumba la teor a Lamarckista, 44 teor a del germoplasma, 44 Weissman, August, 51 Whitley Darrell, 129
287
288
Bibliograf a
[1] David H. Ackley. A Connectionist Machine for Genetic Hillclimbing. Kluwer Academic Publishers, Boston, Massachusetts, 1987. [2] C. A. Anderson, K. F. Jones, and J. Ryan. A two-dimensional genetic algorithm for the ising problem. Complex Systems, 5:327333, 1991. [3] Peter J. angeline and Jordan B. Pollack. Competitive Environments Evolve Better Solutions for Complex Tasks. In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms. Morgan Kaufmann Publishers, San Mateo, California, July 1993. [4] Hendrik James Antonisse. A Grammar-Based Genetic Algorithm. In Gregory E. Rawlins, editor, Foundations of Genetic Algorithms, pages 193204. Morgan Kaufmann Publishers, San Mateo, California, 1991. [5] Wirt Atmar. Notes on the Simulation of Evolution. IEEE Transactions on Neural Networks, 5(1):130148, January 1994. [6] Thomas B ack. Self-adaptation in genetic algorithms. In F.J. Varela and P. Bourgine, editors, Proceedings of the First European Conference on Articial Life, pages 263271, Cambridge, Massachusetts, 1992. MIT Press. [7] Thomas B ack. Optimal Mutation Rates in Genetic Search. In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 28. Morgan Kaufmann Publishers, San Mateo, California, July 1993. [8] Thomas B ack. Selective Pressure in Evolutionary Algorithms: A Characterization of Selection Mechanisms. In Proceedings of the First IEEE Conference on Evolutionary Computation, pages 5762, Orlando, Florida, 1994. IEEE. [9] Thomas B ack. Evolutionary Algorithms in Theory and Practice. Oxford University Press, New York, 1996.
289
[10] Thomas B ack, David B. Fogel, and Zbigniew Michalewicz, editors. Handbook of Evolutionary Computation. Institute of Physics Publishing and Oxford University Press, New York, 1997. [11] Thomas B ack and Frank Hoffmeister. Extended Selection Mechanisms in Genetic Algorithms. In Richard K. Belew and Lashon B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, pages 9299. Morgan Kaufmann Publishers, San Mateo, California, July 1991. [12] Thomas B ack, Frank Hoffmeister, and Hans-Paul Schwefel. A Survey of Evolution Strategies. In R. K. Belew and L. B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, pages 29, San Mateo, California, 1991. Morgan Kaufmann Publishers. [13] James Edward Baker. Adaptive Selection Methods for Genetic Algorithms. In John J. Grefenstette, editor, Proceedings of the First International Conference on Genetic Algorithms, pages 101111. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1985. [14] James Edward Baker. Reducing Bias and Inefciency in the Selection Algorithm. In John J. Grefenstette, editor, Genetic Algorithms and Their Applications: Proceedings of the Second International Conference on Genetic Algorithms, pages 1422. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1987. [15] James Mark Baldwin. Development and Evolution: Including Psychophysical Evolution, Evolution by Orthoplasy and the Theory of Genetic Modes. Macmillan, New York, 1902. [16] Nils Aall Barricelli. Esempi numerici di processi di evoluzione. Methodos, pages 4568, 1954. [17] Nils Aall Barricelli. Symbiogenetic evolution processes realized by articial methods. Methodos, IX(3536):143182, 1957. [18] Nils Aall Barricelli. Numerical Testing of Evolution Theories. Part I: Theoretical Introduction and Basic Tests. Acta Biotheoretica, 16(12):6998, 1962. [19] Nils Aall Barricelli. Numerical Testing of Evolution Theories. Part II: Preliminary Tests of Performance, Symbiogenesis and Terrestrial Life. Acta Biotheoretica, 16(34):99126, 1964. [20] James C. Bean. Genetics and random keys for sequencing and optimization. ORSA Journal on Computing, 6(2):154160, 1994.
290
[21] D. Beasley, D. Bull, and R. Martin. Reducing epistasis in combinatorial problems by expansive coding. In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 400407, San Mateo, California, 1993. University of Illinois at Urbana-Champaign, Morgan Kauffman Publishers. [22] A.D. Bethke. Genetic Algorithms as Function Optimizers. PhD thesis, Department of Computer and Communication Sciences, University of Michigan, Ann Arbor, Michigan, 1981. [23] Peter Bienert. Aufbau einer optimierungsautomatik f ur drei parameter. Dipl.-Ing. thesis, 1967. (in German). [24] Lashon B. Booker. Intelligent Behavior as an Adaptation to the Task Environment. PhD thesis, Logic of Computers Group, University of Michigan, Ann Arbor, Michigan, 1982. [25] Lashon B. Booker. Improving Search in Genetic Algorithms. In Lawrence Davis, editor, Genetic Algorithms and Simulated Annealing. Morgan Kaufmann Publishers, San Mateo, California, 1987. [26] George E. P. Box. Evolutionary operation: A method for increasing industrial productivity. Applied Statistics, 6(2):81101, 1957. [27] Hans J. Bremermann. The evolution of intelligence. The nervous system as a model of its environment. Technical Report 1, Contract No. 477(17), Department of Mathematics, University of Washington, Seattle, July 1958. [28] Hans J. Bremermann. Optimization through evolution and recombination. In M. C. Yovits, G. T. Jacobi, and G. D. Goldstein, editors, Self-Organizing Systems1962, pages 93106. Spartan Books, Washington, D.C., 1962. [29] Hans J. Bremermann. Numerical optimization procedures derived from biological evolution processes. In H. L. Oestreicher and D. R. Moore, editors, Cybernetic Problems in Bionics, pages 543561. Gordon and Breach, New York, 1968. [30] Hans J. Bremermann and M. Rogson. An evolution-type search method for convex sets. Technical Report Contracts No. 222(85) and 3656(58), ONR, Berkeley, California, May 1964. [31] Hans J. Bremermann and M. Rogson. Global properties of evolution processes. In H. H. Pattee, E. A. Edlsack, L. Fein, and A. B. Callahan, editors, Natural Automata and Useful Simulations, pages 341. Spartan Books, Washington, D.C., 1966. [32] A. Brindle. Genetic Algorithms for Function Optimization. PhD thesis, Department of Computer Science, University of Alberta, Edmonton, Alberta, 1981.
291
[33] Bill P. Buckles and Frederick E. Petry, editors. Genetic Algorithms. Technology Series. IEEE Computer Society Press, 1992. [34] T. N. Bui and B. R. Moon. On multidimensional encoding/crossover. In Larry J. Eshelman, editor, Proceedings of the Sixth International Conference on Genetic Algorithms, pages 4956, San Fracisco, California, 1995. Morgan Kauffman Publishers. [35] G. H. Burgin. On playing two-person zero-sum games against non-minimax players. IEEE Transactions on Systems Science and Cybernetics, SSC-5:369370, 1969. [36] A. W. Burks. Computation, behavior and structure in xed and growing automata. In M. C. Yovits and S. Cameron, editors, Self-Organizing Systems, pages 282309. Pergamon Press, New York, 1960. [37] Eduardo Camponogara and Sarosh N. Talukdar. A Genetic Algorithm for Constrained and Multiobjective Optimization. In Jarmo T. Alander, editor, 3rd Nordic Workshop on Genetic Algorithms and Their Applications (3NWGA), pages 4962, Vaasa, Finland, August 1997. University of Vaasa. [38] W. D. Cannon. The Wisdom of the Body. Norton and Company, New York, 1932. [39] Erick Cant u-Paz. A Survey of Parallel Genetic Algorithms. Technical Report 97003, Illinois Genetic Algorithms Laboratory, University of Illinois at UrbanaChampaign, Urbana, Illinois, May 1997. [40] R. Caruana and J. D. Schaffer. Representation and Hidden Bias: Gray vs. Binary Coding for Genetic Algorithms. In Proceedings of the Fifth International Conference on Machine Learning, pages 132161, San Mateo, California, 1988. Morgan Kauffman Publishers. [41] Munirul M. Chowdhury and Yun Li. Messy Genetic Algorithm Based New Learning Method for Fuzzy Controllers. In Proceedings of the IEEE International Conference on Industrial Technology, page http://eeapp.elec.gla.ac.uk/chy/publications.html, Shangai, China, December 1996. IEEE Service Center. [42] Carlos A. Coello Coello, Alan D. Christiansen, and Arturo Hern andez Aguirre. Automated Design of Combinational Logic Circuits using Genetic Algorithms. In D. G. Smith, N. C. Steele, and R. F. Albrecht, editors, Proceedings of the International Conference on Articial Neural Nets and Genetic Algorithms ICANNGA97, pages 335338, Norwich, England, April 1997. University of East Anglia, Springer-Verlag.
292
[43] Carlos A. Coello Coello, Alan D. Christiansen, and Arturo Hern andez Aguirre. Using a New GA-Based Multiobjective Optimization Technique for the Design of Robot Arms. Robotica, 16(4):401414, 1998. [44] Carlos A. Coello Coello, Filiberto Santos Hern andez, and Francisco Alonso Farrera. Optimal Design of Reinforced Concrete Beams using Genetic Algorithms. Expert Systems with Applications : An International Journal, 12(1):101108, January 1997. [45] Carlos A. Coello Coello. Constraint-handling using an evolutionary multiobjective optimization technique. Civil Engineering and Environmental Systems, 17:319 346, 2000. [46] Carlos A. Coello Coello. Treating Constraints as Objectives for Single-Objective Evolutionary Optimization. Engineering Optimization, 32(3):275308, 2000. [47] Michael Conrad. Evolutionary learning circuits. Journal of Theoretical Biology, 46:167188, 1974. [48] Michael Conrad. Algorithmic specication as a technique for computing with informal biological models. BioSystems, 13:303320, 1981. [49] Michael Conrad. Natural selection and the evolution of neutralism. BioSystems, 15:8385, 1982. [50] Michael Conrad, R. R. Kampfer, and K. G. Kirby. Neuronal dynamics and evolutionary learning. In M. Kochen and H. M. Hastings, editors, Advances in Cognitive Science: Steps Towards Convergence, pages 169189. American Association for the Advancement of Science, New York, 1988. [51] Michael Conrad and H. H. Pattee. Evolution experiments with an articial ecosystem. Journal of Theoretical Biology, 28:393409, 1970. [52] Michael Conrad and M. M. Rizki. The articial worlds approach to emergent evolution. BioSystems, 23:247260, 1989. [53] Michael Conrad and M. Strizich. Evolve II: A computer model of an evolving ecosystem. BioSystems, 17:245258, 1985. [54] F. N. Cornett. An Application of Evolutionary Programming to Pattern Recognition. Masters thesis, New Mexico State University, Las Cruces, New Mexico, 1972.
293
[55] Nareli Cruz Cort es. Uso de emulaciones del sistema inmune para manejo de restricciones en algoritmos evolutivos. Masters thesis, Universidad Veracruzana, Xalapa, M exico, 2000. [56] Nichal Lynn Cramer. A Representation for the Adaptive Generation of Simple Sequential Programs. In John J. Grefenstette, editor, Proceedings of the First International Conference on Genetic Algorithms and Their Applications, pages 183187. Lawrence Erlbaum Associates, Hillsdale, New Jersey, 1985. [57] J. L. Crosby. Computers in the study of evolution. Science Progress Oxford, 55:279292, 1967. [58] Charles Robert Darwin. The Variation of Animals and Plants under Domestication. Murray, London, second edition, 1882. [59] Charles Robert Darwin. On the Origin of Species by Means of Natural Selection Or the Preservation of Favoured Races in the Struggle for Life. Cambridge University Press, Cambridge, UK, sixth edition, 1964. Originally published in 1859. [60] Dipankar Dasgupta and Douglas R. McGregor. Nonstationary Function Optimization using the Structured Genetic Algorithm. In Proceedings of Parallel Problem Solving from Nature (PPSN 2), pages 145154, Brussels, September 1992. Springer-Verlag. [61] Dipankar Dasgupta and Douglas R. McGregor. A more Biologically Motivated Genetic Algorithm: The Model and some Results. Cybernetics and Systems: An International Journal, 25(3):447469, May-June 1994. [62] Lawrence Davis. Job Shop Scheduling with Genetic Algorithms. In John J. Grefenstette, editor, Proceedings of the First International Conference on Genetic Algorithms, pages 136140. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1985. [63] Lawrence Davis. Adapting Operator Probabilities In Genetic Algorithms. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 6169, San Mateo, California, 1989. Morgan Kaufmann Publishers. [64] Lawrence Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York, New York, 1991. [65] Kalyanmoy Deb. GeneAS: A Robust Optimal Design Technique for Mechanical Component Design. In Dipankar Dasgupta and Zbigniew Michalewicz, editors, Evolutionary Algorithms in Engineering Applications, pages 497514. SpringerVerlag, Berlin, 1997.
294
[66] Kalyanmoy Deb. An Efcient Constraint Handling Method for Genetic Algorithms. Computer Methods in Applied Mechanics and Engineering, 1999. (in Press). [67] Kalyanmoy Deb and Ram Bhushan Agrawal. Simulated Binary Crossover for Continuous Search Space. Complex Systems, 9:115148, 1995. [68] Kalyanmoy Deb and David E. Goldberg. An Investigation of Niche and Species Formation in Genetic Function Optimization. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 4250, San Mateo, California, June 1989. George Mason University, Morgan Kaufmann Publishers. [69] D. Dumitrescu, B. Lazzerini, L.C. Jain, and A. Dumitrescu. Evolutionary Computation. CRC Press, Boca Raton, Florida, 2000. [70] B. Dunham, D. Fridshal, and J. H. North. Design by natural selection. Synthese, 15:254259, 1963. [71] B. Dunham, H. Lewitan, and J. H. North. Introduction of articial data to enable natural selection scoring mechanism to handle more complex cases. IBM Technical Disclosure Bulletin, 17(7):2193, 1974. [72] B. Dunham, H. Lewitan, and J. H. North. Simultaneous solution of multiple problems by natural selection. IBM Technical Disclusure Bulletin, 17(7):21912192, 1974. [73] N. Eldredge and S. J. Gould. Punctuated Equilibria: An Alternative to Phyletic Gradualism. In T. J. M. Schpf, editor, Models of Paleobiology, pages 8215. W. H. Freeman, San Francisco, California, 1972. [74] Larry J. Eshelman, Richard A. Caruana, and J. David Schaffer. Biases in the Crossover Landscape. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 1019, San Mateo, California, 1989. Morgan Kaufmann Publishers. [75] Larry J. Eshelman and J. David Schaffer. Preventing Premature Convergence in Genetic Algorithms by Preventing Incest. In Richard K. Belew and Lashon B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, pages 115122, San Mateo, California, July 1991. Morgan Kaufmann Publishers.
295
[76] Larry J. Eshelman and J. Davis Schaffer. Real-coded Genetic Algorithms and Interval-Schemata. In L. Darrell Whitley, editor, Foundations of Genetic Algorithms 2, pages 187202. Morgan Kaufmann Publishers, San Mateo, California, 1993. [77] Jose Ribeiro Filho. The GAME system (Genetic Algorithms Manipulation Environment). In IEE Colloquium on Applications of Genetic Algorithms, pages 2/1 2/4, London, UK, 1994. IEE. [78] Michael J. Flynn. Very High-Speed Computing Systems. Proceedings of the IEEE, 54:19011909, 1966. [79] Terence C. Fogarty. Varying the Probability of Mutation in the Genetic Algorithm. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 104109, San Mateo, California, 1989. Morgan Kaufmann Publishers. [80] David B. Fogel. Evolutionary Computation. Toward a New Philosophy of Machine Intelligence. The Institute of Electrical and Electronic Engineers, New York, 1995. [81] David B. Fogel, editor. Evolutionary Computation. The Fossil Record. Selected Readings on the History of Evolutionary Algorithms. The Institute of Electrical and Electronic Engineers, New York, 1998. [82] David B. Fogel and L. C. Stayton. On the Effectiveness of Crossover in Simulated Evolutionary Optimization. BioSystems, 32:171182, 1994. [83] Lawrence J. Fogel. On the organization of intellect. PhD thesis, University of California, Los Angeles, California, 1964. [84] Lawrence J. Fogel. Articial Intelligence through Simulated Evolution. John Wiley, New York, 1966. [85] Lawrence J. Fogel. Articial Intelligence through Simulated Evolution. Forty Years of Evolutionary Programming. John Wiley & Sons, Inc., New York, 1999. [86] Lawrence J. Fogel, A. J. Owens, and M. J. Walsh. On the Evolution of Articial Intelligence. In Proceedings of the 5th National Sympsium on Human Factors in Engineering, pages 6376. IEEE, San Diego, California, 1964. [87] Lawrence J. Fogel, A. J. Owens, and M. J. Walsh. Articial Intelligence through a Simulation of Evolution. In M. Maxeld, A. Callahan, and L. J. Fogel, editors, Biophysics and Cybernetic Systems: Proceedings of the Second Cybernetic Sciences Symposium, pages 131155. Spartan Books, Washington, D.C., 1965.
296
[88] B.R. Fox and M.B. McMahon. Genetic Operators for Sequencing Problems. In Gregory J. E. Rawlins, editor, Foundations of Genetic Algorithms, pages 284300. Morgan Kaufmann, San Mateo, California, 1991. [89] A. S. Fraser. Simulation of Genetic Systems by Automatic Digital Computers I. Introduction. Australian Journal of Biological Sciences, 10:484491, 1957. [90] A. S. Fraser. Simulation of Genetic Systems by Automatic Digital Computers II. Effects of Linkage on Rates of Advance Under Selection. Australian Journal of Biological Sciences, 10:492499, 1957. [91] A. S. Fraser. Simulation of Genetic Systems by Automatic Digital Computers VI. Epistasis. Australian Journal of Biological Sciences, 13:150162, 1960. [92] Alexander S. Fraser. The evolution of purposive behavior. In H. von Foerster, J. D. White, L. J. Peterson, and J. K. Russell, editors, Purposive Systems, pages 1523. Spartan Books, Washington, D.C., 1968. [93] Alexander S. Fraser and D. Burnell. Computer Models in Genetics. McGraw-Hill, New York, 1970. [94] R. M. Friedberg. A Learning Machine: Part I. IBM Journal of Research and Development, 2(1):213, 1958. [95] R. M. Friedberg, B. Dunham, and J. H. North. A Learning Machine: Part II. IBM Journal of Research and Development, 3:282287, 1959. [96] G. J. Friedman. Digital simulation of an evolutionary process. General Systems: Yearbook of the Society for General Systems Research, 4:171184, 1959. [97] George J. Friedman. Selective Feedback Computers for Engineering Synthesis and Nervous System Analogy. Masters thesis, University of California at Los Angeles, February 1956. [98] C. Fujiki. An evaluation of Hollands genetic operators applied to a program generator. Masters thesis, University of Idaho, Moscow, Idaho, 1986. [99] Mitsuo Gen and Runwei Cheng. Genetic Algorithms & Engineering Optimization. Wiley Series in Engineering Design and Automation. John Wiley & Sons, New York, 2000. [100] John S. Gero, Sushil J. Louis, and Sourav Kundu. Evolutionary learning of novel grammars for design improvement. AIEDAM, 8(3):8394, 1994.
297
[101] G. Gibson. Application of Genetic Algorithms to Visual Interactive Simulation Optimisation. PhD thesis, University of South Australia, 1995. [102] Fred Glover and Manuel Laguna. Tabu Search. Kluwer Academic Publishers, Norwell Massachusetts, 1998. [103] David E. Goldberg. Optimal initial population size for binarycoded genetic algorithms. Technical Report 85001, Tuscaloosa: University of Alabama, The Clearinghouse for Genetic Algorithms, 1985. [104] David E. Goldberg. Simple Genetic Algorithms and the Minimal Deceptive Problem. In Lawrence Davis, editor, Genetic Algorithms and Simulated Annealing. Morgan Kaufmann Publishers, San Mateo, California, 1987. [105] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley Publishing Co., Reading, Massachusetts, 1989. [106] David E. Goldberg. Sizing Populations for Serial and Parallel Genetic Algorithms. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 7079, San Mateo, California, 1989. Morgan Kaufmann Publishers. [107] David E. Goldberg. A note on Boltzmann tournament selecion for genetic algorithms and population-oriented simulated annealing. Complex Systems, 4:445460, 1990. [108] David E. Goldberg. RealCoded Genetic Algorithms, Virtual Alphabets and Blocking. Technical Report 90001, University of Illinois at Urbana-Champaign, Urbana, Illinois, September 1990. [109] David E. Goldberg, K. Deb, and B. Korb. Messy genetic algorithms revisited: Studies in mixed size and scale. Complex Systems, 4:415444, 1990. [110] David E. Goldberg and Kalyanmoy Deb. A comparison of selection schemes used in genetic algorithms. In Gregory J. E. Rawlins, editor, Foundations of Genetic Algorithms, pages 6993. Morgan Kaufmann, San Mateo, California, 1991. [111] David E. Goldberg, Kalyanmoy Deb, and Bradley Korb. Dont Worry, Be Messy. In Richard K. Belew and Lashon B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, pages 2430, San Mateo, California, July 1991. University of California, San Diego, Morgan Kaufmann Publishers. [112] David E. Goldberg, B. Korb, and K. Deb. Messy genetic algorithms: Motivation, analysis, and rst results. Complex Systems, 3:493530, 1989.
298
[113] David E. Goldberg and Jr. Robert Lingle. Alleles, Loci, and the Traveling Salesman Problem. In John J. Grefenstette, editor, Proceedings of the First International Conference on Genetic Algorithms and Their Applications, pages 154159. Lawrence Erlbaum Associates, Hillsdale, New Jersey, 1985. [114] David E. Goldberg and Philip Segrest. Finite Markov Chain Analysis of Genetic Algorithms. In John J. Grefenstette, editor, Genetic Algorithms and Their Applications: Proceedings of the Second International Conference on Genetic Algorithms, pages 18. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1987. [115] J. Grefenstette, R. Gopal, B. Rosmaita, and D. Gucht. Genetic algorithms for the travelling salesman problem. In John J. Grefenstette, editor, Proceedings of an International Conference on Genetic Algorithms and Their Applications, pages 160168, Hillsdale, New Jersey, 1985. Lawrence Erlbaum Associates. [116] John J. Grefenstette. Optimization of Control Parameters for Genetic Algorithms. IEEE Transactions on Systems, Man, and Cybernetics, SMC16(1):122128, Janury/February 1986. [117] John J. Grefenstette. Deception Considered Harmful. In L. Darrell Whitley, editor, Foundations of Genetic Algorithms 2, pages 7591. Morgan Kaufmann, San Mateo, California, 1993. [118] Frederic Gruau. Neural Network Synthesis using Cellular Encoding and the Genetic Algorithm. PhD thesis, Ecole Normale Sup erieure de Lyon, Lyon, France, 1994. [119] D. Halhal, G. A. Walters, D. Ouazar, and D. A. Savic. Water Network Rehabilitation with a Structured Messy Genetic Algorithm. Journal of Water Resources Planning and Management, ASCE, 123(3), May/June 1997. [120] J urgen Hesser and Reinhard M anner. Towards an Optimal Mutation Probability for Genetic Algorithms. In H.-P. Schwefel and R. M anner, editors, Parallel Problem Solving from Nature. 1st Workshop, PPSN I, pages 2332. Springer-Verlag. Leture Notes in Computer Science Volume 496, Berlin, 1991. [121] J. F. Hicklin. Application of the genetic algorithm to automatic program generation. Masters thesis, University of Idaho, Moscow, Idaho, 1986. [122] W. D. Hillis. Co-evolving parasites improves simulated evolution as an optimization procedure. In C. Langton, C. Taylor, J. Farmer, and S. Rasmussen, editors, Articial Life II, pages 313324. Addison-Wesley, Reading, Massachusetts, 1992.
299
[123] W.D. Hillis. Co-evolving parasites improve simulated evolution as an optimization procedure. Physica D, 42:228234, 1990. [124] A. Hoffman. Arguments on Evolution: A Paleontologists Perspective. Oxford University Press, New York, 1989. [125] John H. Holland. Concerning efcient adaptive systems. In M. C. Yovits, G. T. Jacobi, and G. D. Goldstein, editors, Self-Organizing Systems1962, pages 215 230. Spartan Books, Washington, D.C., 1962. [126] John H. Holland. Outline for a logical theory of adaptive systems. Journal of the Association for Computing Machinery, 9:297314, 1962. [127] John H. Holland. Adaptation in Natural and Articial Systems. University of Michigan Press, Ann Arbor, Michigan, 1975. [128] R. B. Hollstien. Articial Genetic Adaptation in computer control systems. PhD thesis, University of Michigan, Ann Harbor, Michigan, 1971. [129] A. Homaifar, S. H. Y. Lai, and X. Qi. Constrained Optimization via Genetic Algorithms. Simulation, 62(4):242254, 1994. [130] Ellis Horowitz and Sartaj Sahni. Fundamentals of Computer Algorithms. Computer Science Press, Rockville, Maryland, 1984. [131] Reiner Horst and Hoang Tuy. Global Optimization. Deterministic Approaches. Springer, Berlin, third edition, 1996. [132] Evan J. Hughes. Constraint Handling With Uncertain and Noisy Multi-Objective Evolution. In Proceedings of the Congress on Evolutionary Computation 2001 (CEC2001), volume 2, pages 963970, Piscataway, New Jersey, May 2001. IEEE Service Center. [133] K. Hwang and F.A. Briggs. Computer Architecture and Parallel Processing. McGraw-Hill, New York, 1984. [134] F. Jim enez, A.F. G omez-Skarmeta, and G. S anchez. How Evolutionary Multiobjective Optimization can be used for Goals and Priorities based Optimization. In Primer Congreso Espa nol de Algoritmos Evolutivos y Bioinspirados (AEB02), pages 460465. M erida Espa na, 2002. [135] Fernando Jim enez and Jos e L. Verdegay. Evolutionary techniques for constrained optimization problems. In 7th European Congress on Intelligent Techniques and Soft Computing (EUFIT99), Aachen, Germany, 1999. Springer-Verlag.
300
[136] J. Joines and C. Houck. On the use of non-stationary penalty functions to solve nonlinear constrained optimization problems with GAs. In David Fogel, editor, Proceedings of the rst IEEE Conference on Evolutionary Computation, pages 579584, Orlando, Florida, 1994. IEEE Press. [137] A. K. De Jong. An Analysis of the Behavior of a Class of Genetic Adaptive Systems. PhD thesis, University of Michigan, 1975. [138] Kenneth A. De Jong. Genetic Algorithms are NOT Function Optimizers. In L. Darrell Whitley, editor, Foundations of Genetic Algorithms 2, pages 517. Morgan Kaufmann Publishers, San Mateo, California, 1993. [139] Kenneth A. De Jong, William M. Spears, and Diana F. Gordon. Using Markov Chains to Aanalyze GAFOs. In L. Darrell Whitley and Michael D. Vose, editors, Foundations of Genetic Algorithms 3, pages 115137. Morgan Kaufmann Publishers, San Mateo, California, 1994. [140] Joe L. Blanton Jr. and Roger L. Wainwright. Multiple Vehicle Routing with Time and Capacity Constraints using Genetic Algorithms. In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 452459, San Mateo, California, 1993. University of Illinois at UrbanaChampaign, Morgan Kauffman Publishers. [141] Isamu Kajitani, Tsutomu Hoshino, Masaya Iwata, and Tetsuya Higuchi. Variable length chromosome GA for Evolvable Hardware. In Proceedings of the 1996 IEEE International Conference on Evolutionary Computation, pages 443447, Nagoya, Japan, May 1996. Nagoya University, IEEE Service Center. [142] S. Kirkpatrick, Jr. C. D. Gelatt, and M. P. Vecchi. Optimization by Simulated Annealing. Science, 220:671680, 1983. [143] Ralph Michael Kling. Optimization by Simulated Evolution and its Application to Cell Placement. PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois, 1990. [144] John R. Koza. Hierarchical genetic algorithms operating on populations of computer programs. In N. S. Sridharan, editor, Proceedings of the 11th International Joint Conference on Articial Intelligence, pages 768774. Morgan Kaufmann, San Mateo, California, 1989. [145] John R. Koza. Genetic Programming. On the Programming of Computers by Means of Natural Selection. The MIT Press, Cambridge, Massachusetts, 1992.
301
[146] John R. Koza. Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press, Cambridge, Massachusetts, 1994. [147] John R. Koza, Forrest H. Bennet III, David Andre, and Martin A. Keane. Genetic Programming III: Darwinian Invention and Problem Solving. Morgan Kaufmann Publishers, San Francisco, California, 1999. [148] K. Krishnakumar. Mico-genetic algorithms for stationary and non-stationary function optimization. SPIE Proceedings: Intelligent Control and Adaptive Systems, 1196:289296, 1989. [149] Ting Kuo and Shu-Yuen Hwang. A Genetic Algorithm with Disruptive Selection. In Stephanie Forrest, editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 6569. Morgan Kaufmann Publishers, San Mateo, California, July 1993. [150] Jean Baptiste Lamarck, editor. Zoological Philosophy: An Exposition with Regard to the Natural History of Animals. Chicago University Press, Chicago, 1984. (Publicado originalmente en 1809 en franc es, como Philosophie Zoologique). [151] Christopher G. Langdon, editor. Articial Life. Addison-Wesley Publishing Company, Reading, Massachusetts, 1989. [152] Gideon Langholz, Joan Francioni, and Abraham Kandel. Elements of Computer Organization. Prentice Hall, Englewood Cliffs, New Jersey, 1989. [153] B. R. Levin. Simulation of genetic systems. In N. E. Morton, editor, Computer Applications in Genetics, pages 3848. University of Hawaii Press, Honolulu, 1969. [154] Andrew J. Mason. Crossover non-linearity ratios and the genetic algorithm : Escaping the blinkers of schema processing and intrinsic parallelism. Technical Report 535b, School of Engineering, University of Auckland, Private Bag 92019 NewZealand, September 1993. [155] Keith E. Mathias and L. Darrel Whitley. Transforming the search space with Gray coding. In J. D. Schaffer, editor, Proceedings of the IEEE International Conference on Evolutionary Computation, pages 513518. IEEE Service Center, Piscataway, New Jersey, 1994. [156] Keith E. Mathias and L. Darrell Whitley. Changing Representations During Search: A Comparative Study of Delta Coding. Evolutionary Computation, 2(3):249278, 1994.
302
[157] Gregor Johann Mendel. Versuche ber panzen-hybriden. In Verhandlungen des naturforschenden Vereines in Br unn, volume 1, pages 347. Verlag des Vereines, Br unn, FebruarM arz 1865. [158] Gregor Johann Mendel. Experiments in Plant Hybridisation. Journal of the Royal Horticultural Society, 26:132, 1901. (Traducci on al ingl es de un art culo publicado originalmente en 1865). [159] Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, second edition, 1992. [160] Zbigniew Michalewicz. A Survey of Constraint Handling Techniques in Evolutionary Computation Methods. In J. R. McDonnell, R. G. Reynolds, and D. B. Fogel, editors, Proceedings of the 4th Annual Conference on Evolutionary Programming, pages 135155. The MIT Press, Cambridge, Massachusetts, 1995. [161] Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, New York, third edition, 1996. [162] Zbigniew Michalewicz and Naguib F. Attia. Evolutionary Optimization of Constrained Problems. In Proceedings of the 3rd Annual Conference on Evolutionary Programming, pages 98108. World Scientic, 1994. [163] Zbigniew Michalewicz and G. Nazhiyath. Genocop III: A co-evolutionary algorithm for numerical optimization with nonlinear constraints. In David B. Fogel, editor, Proceedings of the Second IEEE International Conference on Evolutionary Computation, pages 647651, Piscataway, New Jersey, 1995. IEEE Press. [164] Zbigniew Michalewicz and Marc Schoenauer. Evolutionary Algorithms for Constrained Parameter Optimization Problems. Evolutionary Computation, 4(1):132, 1996. [165] Marvin L. Minsky. Steps toward articial intelligence. Proceedings of the IRE, 49(1):830, 1961. [166] Marvin L. Minsky and O. G. Selfridge. Learning in random nets. In C. Cherry, editor, Proceedings of the 4th London Symposium on Information Theory, London, 1961. Butterworths. [167] Melanie Mitchell. An Introduction to Genetic Algorithms. The MIT Press, Cambridge, Massachusetts, 1996. [168] Melanie Mitchell and Stephanie Forrest. What makes a Problem Hard for a Genetic Algorithm? Some Anomalous Results and Their Explanation. Machine Learning, 13:285319, 1993.
303
[169] Melanie Mitchell, Stephanie Forrest, and John H. Holland. The Royal Road for Genetic Algorithms: Fitness Landscapes and GA Performance. In Francisco J. Varela and Paul Bourgine, editors, Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Articial Life. MIT Press, Cambridge, Massachusetts, 1992. [170] Tom M. Mitchell. The Need for Biases in Learning Generalizations. Technical Report CBM-TR-117, Department of Computer Science, Rutgers University, 1980. [171] Angel Kuri Morales. A Comprehensive Approach to Genetic Algorithms in Optimization and Learning. Volume 1 : Foundations. Centro de Investigaci on en Computaci onInstituto Polit ecnico Nacional, Mexico City, 1999. [172] Pedro Larra naga and Jos e A. Lozano, editors. Estimation of Distribution Algorithms: A New Tool for Evolutionary Computation. Kluwer Academic Publishers, New York, 2001. [173] A. Newell, J.C. Shaw, and H.A. Simon. The processes of creative thinking. In H.E. Gruber, G. Terrell, and M. Wertheimer, editors, Contemporary approaches to creative thinking, pages 63119. Atherton Press, New York, 1962. [174] I.M. Oliver, D.J. Smith, and J.R.C. Holland. A Study of Permutation Crossover Operators on the Traveling Salesman Problem. In John J. Grefenstette, editor, Genetic Algorithms and Their Applications: Proceedings of the Second International Conference on Genetic Algorithms, pages 224230. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1987. [175] C.C. Palmer. An approach to a problem in network design using genetic algorithms. PhD thesis, Polytechnic University, Troy, New York, 1994. [176] I. C. Parmee and G. Purchase. The development of a directed genetic search technique for heavily constrained design spaces. In I. C. Parmee, editor, Adaptive Computing in Engineering Design and Control-94, pages 97102, Plymouth, UK, 1994. University of Plymouth. [177] C. Peck and A.P. Dhawan. A Review and Critique of Genetic Algorithm Theories. Evolutionary Computation, 3(1):3980, 1995. [178] Nicholas J. Radcliffe. Forma Analysis and Random Respectful Recombination. In Richard K. Belew and Lashon B. Booker, editors, Proceedings of the Fourth International Conference on Genetic Algorithms, pages 222229. Morgan Kaufmann Publishers, San Mateo, California, July 1991.
304
[179] S. Ranji Ranjithan, S. Kishan Chetan, and Harish K. Dakshima. Constraint Method-Based Evolutionary Algorithm (CMEA) for Multiobjective Optimization. In Eckart Zitzler, Kalyanmoy Deb, Lothar Thiele, Carlos A. Coello Coello, and David Corne, editors, First International Conference on Evolutionary MultiCriterion Optimization, pages 299313. Springer-Verlag. Lecture Notes in Computer Science No. 1993, 2001. [180] Singiresu S. Rao. Engineering Optimization. Theory and Practice. John Wiley & Sons, Inc., third edition, 1996. [181] Tapabrata Ray. Constraint Robust Optimal Design using a Multiobjective Evolutionary Algorithm. In Proceedings of the Congress on Evolutionary Computation 2002 (CEC2002), volume 1, pages 419424, Piscataway, New Jersey, May 2002. IEEE Service Center. [182] Tapabrata Ray, Tai Kang, and Seow Kian Chye. An Evolutionary Algorithm for Constrained Optimization. In Darrell Whitley, David Goldberg, Erick Cant u-Paz, Lee Spector, Ian Parmee, and Hans-Georg Beyer, editors, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO2000), pages 771777, San Francisco, California, 2000. Morgan Kaufmann. [183] Thomas S. Ray. An approach to the synthesis of life. In C. G. Langton, C. Taylor, J. D. Farmer, and S. Rasmussen, editors, Articial Life II, pages 371408. AddisonWesley, Reading, Massachusetts, 1992. [184] Ingo Rechenberg. Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. FrommannHolzboog, Stuttgart, Alemania, 1973. [185] J. Reed, R. Toombs, and Nils Aall Barricelli. Simulation of biological evolution and machine learning. I. Selection of self-reproducing numeric patterns by data processing machines, effects of hereditary control, mutation type and crossing. Journal of Theoretical Biology, 17:319342, 1967. [186] Colin B. Reeves, editor. Modern Heuristic Techniques for Combinatorial Problems. John Wiley & Sons, Great Britain, 1993. [187] Jon T. Richardson, Mark R. Palmer, Gunar Liepins, and Mike Hilliard. Some Guidelines for Genetic Algorithms with Penalty Functions. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 191197, George Mason University, 1989. Morgan Kaufmann Publishers. [188] Rodolphe G. Le Riche, Catherine Knopf-Lenoir, and Raphael T. Haftka. A Segregated Genetic Algorithm for Constrained Structural Optimization. In Larry J.
305
Eshelman, editor, Proceedings of the Sixth International Conference on Genetic Algorithms, pages 558565, San Mateo, California, July 1995. University of Pittsburgh, Morgan Kaufmann Publishers. [189] M. M. Rizki and Michael Conrad. Evolve III: A discrete events model of an evolutionary ecosystem. BioSystems, 18:121133, 1985. [190] George G. Robertson. Population size in classier systems. In Proceedings of the Fifth International Conference on Machine Learning, pages 142152. Morgan Kaufmann Publishers, 1988. [191] S. Ronald. Genetic algorithms and permutation-encoded problems: Diversity preservation and a study of multimodality. PhD thesis, The University of South Australia, 1995. [192] S. Ronald. Robust encodings in genetic algorithms. In D. Dasgupta & Z. Michalewicz, editor, Evolutionaty Algorithms in Engineering Applications, pages 3044. Springer-Verlag, 1997. [193] R. Root. An investigation of evolutionary programming. Masters thesis, New Mexico State University, Las Cruces, New Mexico, 1970. [194] Franz Rothlauf. Representations for Genetic and Evolutionary Algorithms. Physica-Verlag, New York, 2002. [195] G unter Rudolph. Convergence Analysis of Canonical Genetic Algorithms. IEEE Transactions on Neural Networks, 5:96101, January 1994. [196] G unter Rudolph and Alexandru Agapie. Convergence properties of some multiobjective evolutionary algorithms. In Proceedings of the 2000 Conference on Evolutionary Computation, pages 10101016, Piscataway, New Jersey, 2000. IEEE. [197] Stuart J. Russell and Peter Norvig. Articial Intelligence. A Modern Approach. Prentice Hall, Upper Saddle River, New Jersey, 1995. [198] J. David Schaffer. Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. PhD thesis, Vanderbilt University, 1984. [199] J. David Schaffer. Multiple Objective Optimization with Vector Evaluated Genetic Algorithms. In Genetic Algorithms and their Applications: Proceedings of the First International Conference on Genetic Algorithms, pages 93100. Lawrence Erlbaum, 1985.
306
[200] J. David Schaffer, Richard A. Caruana, Larry J. Eshelman, and Raharshi Das. A Study of Control Parameters Affecting Online Performance of Genetic Algorithms for Function Optimization. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 5160, San Mateo, California, 1989. Morgan Kaufmann Publishers. [201] J. David Schaffer and Amy Morishima. An Adaptive Crossover Distribution Mechanism for Genetic Algorithms. In John J. Grefenstette, editor, Genetic Algorithms and Their Applications: Proceedings of the Second International Conference on Genetic Algorithms, pages 3640. Lawrence Erlbaum Associates, Hillsdale, New Jersey, July 1987. [202] Hans-Paul Schwefel. Kybernetische evolution als strategie der experimentellen forschung in der str omungstechnik. Dipl.-Ing. thesis, 1965. (in German). [203] Hans-Paul Schwefel. Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie. Birkh auser, Basel, Alemania, 1977. [204] Hans-Paul Schwefel. Numerical Optimization of Computer Models. Wiley, Chichester, UK, 1981. [205] Greg W. Scragg. Computer Organization. A Top-Down Approach. McGraw-Hill, New York, 1992. [206] Anthony V. Sebald and Jennifer Schlenzig. Minimax design of neural net controllers for highly uncertain plants. IEEE Transactions on Neural Networks, 5(1):7382, January 1994. [207] O. G. Selfridge. Pandemonium: A paradigm for learning. In Proceedings of the Symposium on Mechanization of Thought Processes, pages 511529, Teddington, England, 1958. [208] S.F. Smith. A learning system based on genetic adaptive algorithms. PhD thesis, University of Pittsburgh, 1980. [209] William M. Spears and Kenneth A. De Jong. An Analysis of Multi-Point Crossover. In Gregory E. Rawlins, editor, Foundations of Genetic Algorithms, pages 301315. Morgan Kaufmann Publishers, San Mateo, California, 1991. [210] M. Srinivas and L. M. Patnaik. Adaptive probabilities of crossover and mutation in genetic algorithms. IEEE Transactions on Systems, Man and Cybernetics, 24(4):656667, April 1994.
307
[211] M. Srinivas and L. M. Patnaik. Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms. IEEE Transactions on Systems, Man and Cybernetics, 24(4):656667, April 1994. [212] Edward J. Steele, Robyn A. Lindley, and Robert V. Blanden. Lamarcks Signature. How Retrogenes are Changing Darwins Natural Selection Paradigm. Perseus Books, Reading, Massachusetts, 1998. [213] Rainer Storn and Kenneth Price. Differential Evolution: A Simple and Efcient Adaptive Scheme for Global Optimization over Continuous Spaces. Technical Report TR-95-012, International Computer Science Institute, Berkeley, California, March 1995. [214] Rainer Storn and Kenneth Price. Differential EvolutionA Fast and Efcient Heuristic for Global Optimization over Continuous Spaces. Journal of Global Optimization, 11:341359, 1997. [215] Patrick D. Surry and Nicholas J. Radcliffe. Real Representations. In Richard K. Belew and Michael D. Vose, editors, Foundations of Genetic Algorithms 4, pages 343363. Morgan Kaufmann, San Mateo, California, 1997. [216] Patrick D. Surry, Nicholas J. Radcliffe, and Ian D. Boyd. A Multi-Objective Approach to Constrained Optimisation of Gas Supply Networks : The COMOGA Method. In Terence C. Fogarty, editor, Evolutionary Computing. AISB Workshop. Selected Papers, Lecture Notes in Computer Science, pages 166180. SpringerVerlag, Shefeld, U.K., 1995. [217] Gilbert Syswerda. Uniform Crossover in Genetic Algorithms. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 29, San Mateo, California, 1989. Morgan Kaufmann Publishers. [218] Gilbert Syswerda. Schedule Optimization using Genetic Algorithms. In Lawrence Davis, editor, Handbook of Genetic Algorithms, chapter 21, pages 332349. Van Nostrand Reinhold, New York, New York, 1991. [219] Alan Mathison Turing. Computing Machinery and Intelligence. Mind, 59:94101, 1950. [220] G. Vignaux and Z. Michalewicz. Genetic algorithms for the transportation problem. Methodologies for Intelligent Systems, 4:252259, 1989. [221] Michael D. Vose. Generalizing the Notion of Schema in Genetic Algorithms. Articial Intelligence, 50(3):385396, 1991.
308
[222] Michael D. Vose. The Simple Genetic Algorithm. Foundations and Theory. The MIT Press, Cambridge, Massachusetts, 1999. [223] Hugo De Vries. Species and Varieties: Their Origin by Mutation. Open Court, Chicago, 1906. [224] August Weismann, editor. The Germ Plasm: A Theory of Heredity. Scott, London, UK, 1893. [225] A. Wetzel. Evaluation of the effectiveness of genetic algorithms in combinatorial optimization. PhD thesis, University of Pittsburgh, Pittsburgh, Philadelphia, USA, 1983. [226] D. Whitley and J. Kauth. GENITOR: A different Genetic Algorithm. In Proceedings of the Rocky Mountain Conference on Articial Intelligence, pages 118130, Denver, Colorado, 1988. [227] D. Whitley, S. Rana, and R. Heckendorn. Representation Issues in Neighborhood Search and Evolutionary Algorithms. In D. Quagliarella, J. P eriaux, C. Poloni, and G. Winter, editors, Genetic Algorithms and Evolution Strategies in Engineering and Computer Science. Recent Advances and Industrial Applications, chapter 3, pages 3957. John Wiley and Sons, West Sussex, England, 1998. [228] Darrell Whitley. The GENITOR Algorithm and Selection Pressure: Why RankBased Allocation of Reproductive Trials is Best. In J. David Schaffer, editor, Proceedings of the Third International Conference on Genetic Algorithms, pages 116121. Morgan Kaufmann Publishers, San Mateo, California, July 1989. [229] D. H. Wolpert and W. G. Macready. No Free Lunch Theorems for Search. Technical Report SFI-TR-95-02-010, Santa Fe Institute, New Mexico, 1995. [230] David H. Wolpert and William G. Macready. No Free Lunch Theorems for Optimization. IEEE Transactions on Evolutionary Computation, 1(1):6782, April 1997. [231] Alden H. Wright. Genetic Algorithms for Real Parameter Optimization. In Gregory J. E. Rawlins, editor, Foundations of Genetic Algorithms, pages 205218. Morgan Kaufmann Publishers, San Mateo, California, 1991. [232] Jin Wu and Shapour Azarm. On a New Constraint Handling Technique for MultiObjective Genetic Algorithms. In Lee Spector, Erik D. Goodman, Annie Wu, W.B. Langdon, Hans-Michael Voigt, Mitsuo Gen, Sandip Sen, Marco Dorigo, Shahram Pezeshk, Max H. Garzon, and Edmund Burke, editors, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO2001), pages 741748, San Francisco, California, July 2001. Morgan Kaufmann Publishers.
309
[233] J. Yoo and P. Hajela. Enhanced GA Based Search Through Immune System Modeling. In 3rd World Congress on Structural and Multidisciplinary Optimization, Niagara Falls, New York, May 1999.
310