Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dr. Carlos A. Coello Coello CINVESTAV-IPN Departamento de Ingeniera El ctrica e Secci n de Computaci n o o Av. Instituto Polit cnico Nacional No. 2508 e Col. San Pedro Zacatenco M xico, D.F. 07300 e ccoello@cs.cinvestav.mx Enero, 2004
Dedicatorias
A mi hijo Carlos Felipe, quien me motiva a querer llegar cada vez m as lejos en mi profesion.
A mis padres Carlos y Victoria, por haberme ense nado tantas cosas importantes que no se aprenden en la escuela.
Contenido
1 Conceptos B sicos a 1.1 An lisis de algoritmos . . . . . . a 1.2 T cnicas Cl sicas de Optimizaci n e a o 1.3 T cnicas heursticas . . . . . . . . e 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 rico a la computaci n evolutiva o o 2.1 El origen de las ideas . . . . . . . . . . . . 2.2 Lamarckismo . . . . . . . . . . . . . . . . 2.3 La teora del germoplasma . . . . . . . . . 2.4 Russell y Darwin . . . . . . . . . . . . . . 2.5 La teora de la combinaci n . . . . . . . . . o 2.6 Las leyes de la herencia de Mendel . . . . . 2.7 La teora de la pang nesis . . . . . . . . . . e 2.8 La teora de la mutaci n . . . . . . . . . . o 2.9 La teora cromos mica de la herencia . . . o 2.10 Neo-Darwinismo . . . . . . . . . . . . . . 2.11 Inspiraci n biol gica . . . . . . . . . . . . o o 2.12 Alexander Fraser . . . . . . . . . . . . . . 2.13 EVOP . . . . . . . . . . . . . . . . . . . . 2.14 La evoluci n de programas de Friedberg . . o 2.15 Friedman y la rob tica evolutiva . . . . . . o 2.16 Vida articial . . . . . . . . . . . . . . . . 2.17 La optimizaci n evolutiva de Bremermann . o 2.18 La programaci n evolutiva . . . . . . . . . o 2.19 Las estrategias evolutivas . . . . . . . . . . 2.20 Los algoritmos gen ticos . . . . . . . . . . e 5
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
Ecosistemas articiales Programaci n gen tica o e Din mica evolutiva . . a 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
3 Principales Paradigmas 3.1 Introducci n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 3.1.1 Programaci n evolutiva . . . . . . . . . . . . . . . . . . . o 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 n . . . . . . . . . . . . . . . . o 3.1.3.5 Estrategias Evolutivas vs Programaci n Evolutiva o 3.1.3.6 Aplicaciones . . . . . . . . . . . . . . . . . . . 3.1.4 Algoritmos Gen ticos . . . . . . . . . . . . . . . . . . . e 3.1.4.1 Algoritmo . . . . . . . . . . . . . . . . . . . . 3.1.4.2 Algoritmos gen ticos vs otras t cnicas evolutivas e e 3.1.4.3 Aplicaciones . . . . . . . . . . . . . . . . . . . 3.2 Diferencias de las t cnicas evolutivas con respecto a las tradicionales e 3.3 Ventajas de las T cnicas Evolutivas . . . . . . . . . . . . . . . . e 3.4 Crticas a las T cnicas Evolutivas . . . . . . . . . . . . . . . . . . e 3.5 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 4 Terminologa Biol gica y de Computaci n Evolutiva o o 4.1 Introducci n . . . . . . . . . . . . . . . . . . . . o 4.2 Tipos de Aprendizaje . . . . . . . . . . . . . . . 4.3 Conceptos de Computaci n Evolutiva . . . . . . o 4.4 Problemas propuestos . . . . . . . . . . . . . . . 5 La Importancia de la Representaci n o 5.1 Introducci n . . . . . . . . . . . . . . . o 5.2 C digos de Gray . . . . . . . . . . . . o 5.3 Codicando N meros Reales . . . . . . u 5.4 Representaciones de Longitud Variable . 6
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
83 . 83 . 89 . 89 . 94 95 95 98 99 102
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
Representaci n de arbol . . . . . . . . . . . . . . . . . . . . . . o Algoritmo Gen tico Estructurado . . . . . . . . . . . . . . . . . e Otras propuestas . . . . . . . . . . . . . . . . . . . . . . . . . . Tendencias futuras . . . . . . . . . . . . . . . . . . . . . . . . Recomendaciones para el Dise o de una Buena Representaci n . n o 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 cnicas de Selecci n e o 6.1 Selecci n Proporcional . . . . . . . . . . . . . . . . . . . . . o 6.1.1 La Ruleta . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.1 An lisis de la Ruleta . . . . . . . . . . . . . a 6.1.2 Sobrante Estoc stico . . . . . . . . . . . . . . . . . . a 6.1.2.1 An lisis del Sobrante Estoc stico . . . . . . a a 6.1.3 Universal Estoc stica . . . . . . . . . . . . . . . . . . a 6.1.3.1 An lisis de la selecci n universal estoc stica a o a 6.1.4 Muestreo Determinstico . . . . . . . . . . . . . . . . 6.1.4.1 An lisis del muestreo determinstico . . . . a 6.1.5 Escalamiento Sigma . . . . . . . . . . . . . . . . . . 6.1.5.1 An lisis del escalamiento sigma . . . . . . . a 6.1.6 Selecci n por Jerarquas . . . . . . . . . . . . . . . . o 6.1.6.1 An lisis de las jerarquas lineales . . . . . . a 6.1.7 Selecci n de Boltzmann . . . . . . . . . . . . . . . . o 6.1.7.1 An lisis de la selecci n de Boltzmann . . . a o 6.2 Selecci n Mediante Torneo . . . . . . . . . . . . . . . . . . . o 6.2.1 An lisis de la selecci n mediante torneo . . . . . . . . a o 6.3 Selecci n de Estado Uniforme . . . . . . . . . . . . . . . . . o 6.3.1 An lisis de la Selecci n de Estado Uniforme . . . . . a o 6.4 Brecha Generacional . . . . . . . . . . . . . . . . . . . . . . 6.5 Otras T cnicas de Selecci n . . . . . . . . . . . . . . . . . . e o 6.5.1 Selecci n Disruptiva . . . . . . . . . . . . . . . . . . o 6.5.1.1 An lisis de la selecci n disruptiva . . . . . . a o 6.5.2 Jerarquas No Lineales . . . . . . . . . . . . . . . . . 6.5.2.1 An lisis de las jerarquas no lineales . . . . a 6.5.3 Selecci n Competitiva . . . . . . . . . . . . . . . . . o 6.6 Clasicaciones de T cnicas de Selecci n . . . . . . . . . . . . e o 6.7 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
7 T cnicas de Cruza e 7.1 Introducci n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 7.1.1 Cruza de un punto . . . . . . . . . . . . . . . . . . . . . 7.1.1.1 Orden de un esquema . . . . . . . . . . . . . . 7.1.1.2 Longitud de denici n . . . . . . . . . . . . . . o 7.1.1.3 An lisis de la cruza de un punto . . . . . . . . . a 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 n Gen tica . . . . . . . . . . . . o e 7.5.1.1 Observaciones sobre la cruza para programaci n o gen tica . . . . . . . . . . . . . . . . . . . . . e 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 n Real . . . . . . . . . . . . . . . . . . o 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 tica simple . . . . . . . . . . . . . . . . . . e 7.6.6 Cruza aritm tica total . . . . . . . . . . . . . . . . . . . . e 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 n o 8.1 Mutaci n para Permutaciones . . . . . . . . . . . . . . o 8.1.1 Mutaci n por Inserci n . . . . . . . . . . . . . o o 8.1.2 Mutaci n por Desplazamiento . . . . . . . . . o 8.1.3 Mutaci n por Intercambio Recproco . . . . . o 8.1.4 Mutaci n Heurstica . . . . . . . . . . . . . . o 8.2 Mutaci n para Programaci n Gen tica . . . . . . . . . o o e 8.3 Mutaci n para Representaci n Real . . . . . . . . . . o o 8.3.1 Mutaci n No Uniforme . . . . . . . . . . . . . o 8.3.2 Mutaci n de Lmite . . . . . . . . . . . . . . . o 8.3.3 Mutaci n Uniforme . . . . . . . . . . . . . . . o 8.3.4 Parameter-Based Mutation . . . . . . . . . . . 8.4 Cruza vs. Mutaci n . . . . . . . . . . . . . . . . . . . o 8.4.1 Cu l es el poder exploratorio de la mutaci n? a o 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 metros a 9.1 Introducci n . . . . . . . . . . . . . . . . . . . . . . . . o 9.2 Los experimentos de De Jong . . . . . . . . . . . . . . . 9.3 Tama o optimo de poblaci n . . . . . . . . . . . . . . . n o 9.4 Los experimentos de Schaffer . . . . . . . . . . . . . . . 9.5 Auto-adaptaci n . . . . . . . . . . . . . . . . . . . . . . o 9.5.1 La propuesta de Davis . . . . . . . . . . . . . . 9.5.2 Crticas a la auto-adaptaci n . . . . . . . . . . . o 9.6 Mecanismos de Adaptaci n . . . . . . . . . . . . . . . . o 9.6.1 Mutaciones Variables . . . . . . . . . . . . . . . 9.6.2 Mutaci n dependiente de la aptitud . . . . . . . o 9.6.3 AGs adaptativos . . . . . . . . . . . . . . . . . 9.6.4 T cnicas Adaptativas Basadas en L gica Difusa . e o 9.6.5 Representaciones Adaptativas . . . . . . . . . . 9.7 Problemas Propuestos . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
10 Manejo de Restricciones 10.1 Funciones de Penalizaci n . . . o 10.1.1 Pena de Muerte . . . . . 10.1.1.1 An lisis . . . a 10.1.2 Penalizaciones est ticas a 10.1.2.1 An lisis . . . a 9
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
10.1.3 Penalizaciones Din micas . . . . . . . . . . . . . . . . . 194 a 10.1.3.1 An lisis . . . . . . . . . . . . . . . . . . . . . 194 a 10.1.4 Uso de recocido simulado . . . . . . . . . . . . . . . . . 194 10.1.4.1 An lisis . . . . . . . . . . . . . . . . . . . . . 195 a 10.1.5 Penalizaciones Adaptativas . . . . . . . . . . . . . . . . . 195 10.1.5.1 An lisis . . . . . . . . . . . . . . . . . . . . . 195 a 10.1.6 Algoritmo gen tico segregado . . . . . . . . . . . . . . . 196 e 10.1.6.1 An lisis . . . . . . . . . . . . . . . . . . . . . 196 a 10.1.7 Penalizaci n con base en la factibilidad . . . . . . . . . . 196 o 10.1.7.1 An lisis . . . . . . . . . . . . . . . . . . . . . 197 a 10.2 T cnicas que usan conceptos de Optimizaci n Multiobjetivo . . . 197 e o 10.2.1 COMOGA . . . . . . . . . . . . . . . . . . . . . . . . . 198 10.2.2 Direct Genetic Search . . . . . . . . . . . . . . . . . . . 199 10.2.3 Reducci n de objetivos, no dominancia y b squeda lineal. 199 o u 10.2.4 Selecci n por torneo con reglas especiales. . . . . . . . . 200 o 10.2.5 VEGA para manejo de restricciones . . . . . . . . . . . . 200 10.2.6 Jerarquas 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 n con restricciones, satisfacci n de o o restricciones y programaci n por metas . . . . . . . . . . 204 o 10.2.11 Asignaci n de aptitud en 2 fases . . . . . . . . . . . . . . 204 o 10.2.12 Otras propuestas . . . . . . . . . . . . . . . . . . . . . . 205 10.3 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 205 11 Software 207 11.1 Software de Dominio P blico . . . . . . . . . . . . . . . . . . . . 208 u 11.2 Software Comercial . . . . . . . . . . . . . . . . . . . . . . . . . 213 11.3 Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 215 12 Fundamentos Te ricos o 12.1 Paralelismo Implcito . . . . . . . . . . . 12.2 Derivaci n del Teorema de los Esquemas o 12.2.1 Efecto de la Selecci n . . . . . . o 12.2.2 Efecto de la Cruza . . . . . . . . 12.2.3 Efecto de la Mutaci n . . . . . . o 12.3 Crticas al Teorema de los Esquemas . . . 10 217 219 220 221 221 222 223
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
12.4 No Free Lunch Theorem . . . . . . . . . . . . . . . 12.5 Decepci n . . . . . . . . . . . . . . . . . . . . . . . o 12.6 Areas abiertas de investigaci n . . . . . . . . . . . . o 12.7 Cu ndo debe utilizarse un AG? . . . . . . . . . . . a 12.8 Qu es lo que hace difcil un problema para un AG? e 12.9 Las Funciones de la Carretera Real . . . . . . . . . . 12.10Cu ndo debe usarse un AG? . . . . . . . . . . . . . a 12.11Dise o de Funciones Deceptivas . . . . . . . . . . . n 12.12Estudios de Convergencia . . . . . . . . . . . . . . . 12.12.1 Algoritmo Gen tico Sin Elitismo . . . . . . e 12.12.2 Algoritmo Gen tico Elitista . . . . . . . . . e 12.13Problemas Propuestos . . . . . . . . . . . . . . . . . 13 Operadores Avanzados 13.1 Diploides y Dominancia . . . 13.2 Inversi n . . . . . . . . . . . o 13.3 Micro-Operadores . . . . . . . 13.3.1 Segregaci n . . . . . . o 13.3.2 Traslocaci n . . . . . o 13.3.3 Duplicaci n y Borrado o 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 n Evolutiva o 14.1 Dise o de P ptidos . . . . . . . . . . . . . . . . n e 14.2 Optimizaci n de Estrategias de Producci n . . . o o 14.3 Predicci n . . . . . . . . . . . . . . . . . . . . . o 14.4 Dise o de un Sistema de Suspensi n . . . . . . . n o 14.5 Programaci n de Horarios . . . . . . . . . . . . o 14.6 Dise o de una Red de Agua Potable . . . . . . . n 14.7 Optimizaci n de Losas de Concreto Prefabricadas o 14.8 Problemas Propuestos . . . . . . . . . . . . . . . 15 AGs Paralelos 15.1 Nociones de Paralelismo . . 15.2 AGs Paralelos . . . . . . . . 15.2.1 Paralelizaci n global o 15.2.2 AGs de grano grueso 15.2.3 AG de grano no . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
11
15.2.4 Esquemas hbridos . . . . . . . . . . . 15.2.5 Tipos de Arquitecturas . . . . . . . . . 15.2.5.1 SIMD . . . . . . . . . . . . 15.2.5.2 Migraci n . . . . . . . . . . o 15.2.5.3 MIMD . . . . . . . . . . . . 15.2.6 M tricas . . . . . . . . . . . . . . . . . e 15.2.7 Midiendo la diversidad . . . . . . . . . 15.2.8 Velocidad de propagaci n de esquemas o 15.3 Problemas Propuestos . . . . . . . . . . . . . . 16 T cnicas Evolutivas Alternativas e 16.1 Evoluci n Diferencial . . . . . . . . . . o 16.2 Modelos Probabilsticos . . . . . . . . . 16.3 Evoluci n Simulada . . . . . . . . . . . o 16.4 El Futuro de la Computaci n Evolutiva . o
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
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 n evolutiva [9]. . . . . . . . . . . . . . . . . . 77 o 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 n gr ca de la zona factible (denotada con ) de un o a problema. Advierta que en este caso la zona factible es disjunta. . Escalareas entrecruzadas del problema 2.1.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 n reciente (1999) del libro Articial Intellio gence through Simulated Evolution, con el cual se originara la programaci n evolutiva. . . . . . . . . . . . . . . . . . . . . . . . 68 o 15
. . . . . . . . . . . . . . . . . . .
3.2
3.3 3.4
3.5 3.6
3.7
Aut mata nito de 3 estados. Los smbolos a la izquierda de / o son de entrada, y los de la derecha son de salida. El estado inicial es C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Thomas B ck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . a Portada de una edici n reciente (publicada por el MIT Press) del o libro en el que Holland diera a conocer originalmente los algoritmos gen ticos (en 1975). . . . . . . . . . . . . . . . . . . . . . . e Ejemplo de la codicaci n (mediante cadenas binarias) usada tradio cionalmente con los algoritmos gen ticos. . . . . . . . . . . . . . e Portada del libro de David E. Goldberg sobre algoritmos gen ticos. e A este importante libro se debe, en gran medida, el exito (cada vez mayor) de que han gozado los algoritmos gen ticos desde princie pios de los 1990s. . . . . . . . . . . . . . . . . . . . . . . . . . . Portada del libro de John Koza sobre programaci n gen tica. Este o e libro marc el inicio de una nueva area dentro de la computaci n o o evolutiva, dedicada principalmente a la soluci n de problemas de o regresi n simb lica. . . . . . . . . . . . . . . . . . . . . . . . . . o o Estructural helicoidal del ADN. . . . . . . . . . . . . . . . . . . Las cuatro bases de nucle tido . . . . . . . . . . . . . . . . . . . o Cromosomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . Genoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un feto humano. . . . . . . . . . . . . . . . . . . . . . . . . . . C lula diploide. . . . . . . . . . . . . . . . . . . . . . . . . . . . e Una mutaci n (error de copiado). . . . . . . . . . . . . . . . . . . o Un ejemplo de una cadena cromos mica. Esta cadena es el genotipo o que codica las variables de decisi n de un problema. . . . . . . . o Un ejemplo de un gene. . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo de un fenotipo. . . . . . . . . . . . . . . . . . . . . . Un ejemplo de un individuo. . . . . . . . . . . . . . . . . . . . . Un ejemplo de un alelo. . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo de migraci n. . . . . . . . . . . . . . . . . . . . . . . o Ejemplo del operador de inversi n. . . . . . . . . . . . . . . . . . o
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 n del IEEE. . . . . . . . . . . . . . . . . . 99 o Un ejemplo de un algoritmo gen tico con representaci n real. . . . 100 e o 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 n entera de n meros reales. La cadena como u pleta es decodicada como un solo n mero real multiplicando y u dividiendo cada dgito de acuerdo a su posici n. . . . . . . . . . . o Otra representaci n entera de n meros reales. En este caso, cada o u gene contiene un n mero real representado como un entero largo. . u Dos ejemplos de cadenas v lidas en un algoritmo gen tico desora e denado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un ejemplo del operador de corte en un AG desordenado. La lnea gruesa indica el punto de corte. . . . . . . . . . . . . . . . . Un ejemplo del operador uni n en un AG desordenado. La lnea o gruesa muestra la parte de la cadena que fue agregada. . . . . . . Un ejemplo de un cromosoma usado en programaci n gen tica. . o e Los nodos del arbol se numeran antes de aplicar el operador de cruza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Los dos hijos generados despu s de efectuar la cruza. . . . . . . . e Un ejemplo de mutaci n en la programaci n gen tica. . . . . . . . o o e Un ejemplo de permutaci n en la programaci n gen tica. . . . . . o o e Un ejemplo de encapsulamiento en programaci n gen tica. . . . . o e Un ejemplo de estructura de dos niveles de un AG estructurado. . Una representaci n cromos mica de la estructura de 2 niveles del o o 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 n gen tica. . . . . . . . . . . . . . . . . . . . . . . . . . o e 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 n por desplazamiento. . . . . . . . . . . . 166 o Ejemplo: Suponemos que el punto de mutaci n es el nodo 3. . . . 168 o
10.1 Ejemplo de un frente de Pareto. . . . . . . . . . . . . . . . . . . . 199 10.2 Diagrama del algoritmo de NPGA para manejo de restricciones. . 203 12.1 Representaci n gr ca de los esquemas de longitud tres. . . . . . 218 o a 17
clase de . . . . . clase de . . . . .
13.1 Ejemplo del uso de cromosomas diploides. . . . . . . . . . . . . . 242 14.1 Dragan Savic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 15.1 Michael J. Flynn. . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Esquema de paralelizaci n global de un algoritmo gen tico. . . . . o e 15.3 Esquema de funcionamiento de un algoritmo gen tico paralelo de e grano grueso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.4 Algunas topologas posibles. . . . . . . . . . . . . . . . . . . . . 15.5 Ejemplo de un esquema hbrido 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 hbrido 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 hbrido en el que se usa un AG de grano grueso tanto a alto como a bajo nivel. A bajo nivel, la velocidad de migraci n o es mayor y la topologa de comunicaciones es mucho m s densa a que a alto nivel. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.8 Un ejemplo de arquitectura SIMD. . . . . . . . . . . . . . . . . . 15.9 Un ejemplo de arquitectura MIMD. . . . . . . . . . . . . . . . . 15.10Una topologa que suele usarse con las arquitecturas MIMD es la de arbol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.11Topologa de anillo. . . . . . . . . . . . . . . . . . . . . . . . . . 15.12Topologa de grafo y de estrella. . . . . . . . . . . . . . . . . . . 256 258 259 262 264
264
18
Introducci n o
Estas notas de curso son producto de la experiencia de haber impartido clases de computaci n evolutiva a nivel posgrado durante los ultimos cinco a os. o n El material contenido en estas p ginas ha sido producto de muchas horas de a trabajo y esfuerzo y pretenden dar una visi n general (si bien no completa) de lo o que es la computaci n evolutiva y de sus alcances. El objetivo de este material, es o servir como apoyo para la ense anza de un curso introductorio a la computaci n n o evolutiva a nivel maestra o doctorado, aunque se requiere obviamente de material complementario (principalmente referencias bibliogr cas). Por lo dem s, estas a a notas pretenden ser auto-contenidas, de manera que se haga innecesario consultar otras fuentes bibliogr cas (introductorias) adicionales. a La organizaci n de estas notas es la siguiente: en el Captulo 1 se proporcioo nan algunos conceptos b sicos de an lisis de algoritmos y de optimizaci n con a a o t cnicas cl sicas. Partiendo de las limitaciones de las t cnicas cl sicas, se plantea e a e a la motivaci n para el uso de heursticas en problemas de b squeda y optimizaci n o u o de alta complejidad. En el Captulo 2 se hace un r pido recorrido hist rico de la computaci n evo a o o lutiva, yendo desde el Lamarckismo hasta las corrientes m s modernas, como la a din mica evolutiva y la programaci n gen tica. a o e El Captulo 3 da un panorama general de los tres grandes paradigmas en com putaci n evolutiva (la programaci n evolutiva, las estrategias evolutivas y el algoo o ritmo gen tico), describiendo el algoritmo b sico de cada uno de ellos as como e a algunas de sus aplicaciones. En ese captulo tambi n se mencionan algunas de las e crticas de que ha sido objeto la computaci n evolutiva (sobre todo, de parte de o los investigadores de IA simb lica). o En el Captulo 4 se proporciona una breve terminologa biol gica, junto con o explicaciones del uso que se da a dichos t rminos en computaci n evolutiva. e o El problema de la representaci n, que resulta vital en los algoritmos gen ticos, o e es tratado en el Captulo 5. 19
Las principales t cnicas de selecci n utilizadas con los algoritmos gen ticos e o e se estudian en el Captulo 6. El Captulo 7 se ocupa de las diferentes t nicas de cruza utilizadas en los al e goritmos gen ticos. Adem s de estudiar las cruzas para representaci n binaria, se e a o analizan tambi n las variantes existentes para representaci n real y de permutae o ciones. El operador de mutaci n es estudiado en detalle en el Captulo 8. Adem s de o a analizar su uso con representaci n real y de permutaciones, se le compara contra o la cruza. El Captulo 9 se ocupa de revisar algunos de los estudios m s importantes a en torno a la forma de ajustar los par metros de un algoritmo gen tico (sobre a e todo, porcentajes de cruza y mutaci n y tama o de poblaci n). Tambi n se diso n o e cute la auto-adaptaci n de par metros y sus problemas principales, as como otros o a mecanismos de adaptaci n en lnea tales como la l gica difusa y las representao o ciones adaptativas. Los algoritmos gen ticos funcionan como una t cnica de b squeda u optie e u mizaci n sin restricciones. De tal forma, se hace necesario acoplarle alg n mecano u ismo para incorporar restricciones de todo tipo (lineales, no lineales, igualdad y desigualdad). En el Captulo 10 se estudian algunas de las propuestas principales en torno al manejo de restricciones mediante funciones de penalizaci n. o En el Captulo 11 se revisan varios sistemas de software relacionados con computaci n evolutiva (tanto comerciales como de dominio p blico). o u El Captulo 12 comprende el estudio de algunos de los conceptos te ricos m s o a importantes de la computaci n evolutiva, incluyendo el teorema de los esquemas, o el paralelismo implcito, la decepci n, el No Free Lunch Theorem y el an lisis de o a convergencia usando cadenas de Markov. En el Captulo 13 se habla sobre algunos operadores avanzados, tales como los diploides, la segregaci n, traslocaci n, duplicaci n y borrado. o o o El Captulo 14 habla sobre algunas aplicaciones exitosas de la computaci n o evolutiva en el mundo real. Con el creciente uso de las computadoras en problemas cada vez m s coma plejos, se ha popularizado la adopci n de esquemas de paralelismo y de c mputo o o distribuido en la computaci n evolutiva. Este tema es precisamente el que se diso cute en el Captulo 15. Finalmente, el Captulo 16 discute brevemente algunos de los paradigmas emergentes dentro de la computaci n evolutiva y se concluye hablando breveo mente sobre el futuro de la computaci n evolutiva. o
20
Reconocimientos
La elaboraci n de estas notas no habra sido posible sin la ayuda de la Mat. Ma. o A Margarita Reyes Sierra, quien captur mucho de este texto en formato LTEX2 y o convirti mis bosquejos a mano en ntidas im genes en Xg. o a Agradezco al Dr. Arturo Hern ndez Aguirre sus incontables (y a veces ina terminables) discusiones en torno a diferentes temas, entre los que se incluye la computaci n evolutiva. Sus comentarios constructivos siempre me han resultado o de enorme vala. Maniesto tambi n mi agradecimiento por la generosa ayuda del Laboratorio e Nacional de Inform tica Avanzada (LANIA), del CINVESTAV-IPN y de REDIIa CONACyT, a quienes se debe en gran parte, haber podido preparar este material did ctico. Doy las gracias muy especialmente a la Dra. Cristina Loyo Varela, a Directora General del LANIA, quien siempre me brind su apoyo incondicional o en todos mis proyectos. Extiendo tambi n un cordial reconocimiento a todos los estudiantes que he e tenido a lo largo de mi vida. Ha sido a trav s de ellos que me he nutrido de ricas e experiencias docentes que han forjado mi actual estilo de ense anza. Gracias a n todos por los buenos y, por qu no?, tambi n por los malos ratos que me hicieron e e pasar.
21
22
(2) for i = 1 to
(1)
do
23
Una de las notaciones m s usadas para expresar la complejidad de un algoa ritmo es la denominada O (big-O, en ingl s). Formalmente, la denimos de la e siguiente manera:
Supongamos que nos interesa determinar el tiempo de procesamiento (o c mputo) o de un algoritmo. Dicho tiempo lo denotaremos como . La variable puede referirse al n mero de entradas o salidas, su suma o la magnitud de una de ellas. u Puesto que depende de la computadora en que se ejecute el algoritmo, un an lisis a priori no ser suciente para determinarlo. Sin embargo, podemos usar a a tal que . Cuando un an lisis a priori para determinar una a decimos que un algoritmo tiene un tiempo de computaci n o , lo que queremos decir es que al correr el algoritmo en una computadora usando los mismos tipos de datos, pero valores incrementales de , el tiempo resultante siempre ser a menor que alg n tiempo constante u . Dados dos algoritmos que realicen la misma tarea sobre entradas, debe resultar obvio que preferiremos al que requiera menos tiempo de ejecuci n. Algunos o tiempos comunes de los algoritmos son los siguientes:
Algunos algoritmos conocidos y sus complejidades correspondientes en esta notaci n son los siguientes: o 24
6 7 5
$ ! %#"
$ ! %#30
6 D 1E
8$ ! H%#3 80
$ ! 32"
es:
Los problemas cuya complejidad est acotada por un polinomio (los primeros a seis ordenes de magnitud de la jerarqua mostrada anteriormente) son los de nominados problemas P. M s detalladamente, podemos decir que un problema a pertenece a la clase si puede ser resuelto en tiempo polinomial en una computadora determinstica. El t rmino determinstico signica que sin importar lo que haga el algoritmo, e s lo hay una cosa que puede hacer a continuaci n (es decir, el paso siguiente se o o 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 determinstica. Cuando una computadora no determinstica es confrontada con varias op ciones, tiene el poder de adivinar la correcta (en caso de que esta exista). Una computadora no determinstica no hace nunca elecciones incorrectas que la hagan regresar a un estado previo. Consideremos el siguiente ejemplo de un algoritmo no determinstico 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 . j = elige [1: ] if = then print(j) else print(0)
Este algoritmo imprime 0 s lo si o . Su complejidad es . Obviamente, las computadoras no determinsticas no existen en el mundo real. El no determinismo es una herramienta imaginaria que hace que los problemas difciles parezcan triviales. Su mayor vala radica en el hecho de que existe forma 25
P D ts
$P! @QI'
x v y wu
$ 2)' !
6. Bubble Sort:
rp ! $ 4q 4 2)'
5. Multiplicaci n matricial: o
$ d #I' !
$X U ! 3"baV&2I'
3. Quicksort:
$3"baV2UI' X ! $ ! %2)'
bu
de convertir un algoritmo no determinstico a uno determinstico, 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:
Existe otra clase de problemas, denominados NP Completos que resultan de gran inter s en computaci n. Un problema pertenece a esta clase si todos los e o algoritmos requeridos para resolverlo requieren tiempo exponencial en el peor caso. En otras, palabras, estos problemas son sumamente difciles de resolver. Un ejemplo tpico de un problema NP Completo es el del viajero. Este problema consiste en encontrar una permutaci n que represente el recorrido de una serie o 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 o del espacio de b squeda del problema del viajero crece conforme a n u la expresi n: o . Algunos ejemplos de lo que esto signica, son los siguientes:
Para
Para tener idea de estas magnitudes, basta decir que s lo hay 1,000,000,000, o 000,000,000,000 litros de agua en el planeta. 26
v Y vY f vP H
Para
, hay unas 181,000 soluciones posibles. , hay unas 10,000,000,000,000,000 soluciones posibles.
g ih r $ h f #I' !
La clase P contiene problemas que pueden resolverse r pidamente. a La clase NP contiene problemas cuya soluci n puede vericarse r pidao a mente. En 1971 se plante la pregunta: Es P=NP? Desde entonces, sigue siendo o una pregunta abierta para los te ricos. o Se cree que P NP.
en la direcci n o
27
f g
f g
f @ed
2. Calcular el gradiente
. Hacer
{ Tv r v z
r qpf
6. Hacer
P
Ejemplo:
Min
y r is r @y xh r w$ vr #" f f u !
. Ir al paso 2.
Determinar
28
fb@ m v ~P v f mvP wyh C m 3 ~ n m P mf m h byh bw $ sww$ m m P! P! m P h! f $ r $ ywry3$ ywTh wi$ 7P H yw" m P h! f m P! m P h m u m P h!
de donde: Para hallar de donde obtenemos: :
{ P m { PP P z s h z n m { P P g { Tv z v x ed { P { f f h P ysh z ! d P h z yP z $ "e )d f h
a partir de:
Para hallar , debemos derivar esta expresi n con respecto a o resultado con cero:
rm
de donde obtenemos:
P rn m
v f mf m~ h r b r b3 rm n
Ahora
Por lo que:
Calculemos ahora
Como
29 e igualar el
Como
M todo de Fletcher-Reeves (Gradiente Conjugado) e Propuesto originalmente por Hestenes & Stiefel en 1952, como un m todo e para resolver sistemas de ecuaciones lineales derivadas de las condiciones estacionarias de una cuadr tica. Puede verse como una variante del m todo del dea e scenso empinado, en la cual se usa el gradiente de una funci n para determinar o la direcci n m s prometedora de b squeda. El algoritmo es el siguiente: o a u 1. Iniciar con un punto arbitrario
4. Obtener
, y hacer:
f g nf yf r qpf m
nf tm
5. Calcular
30
f i
r g
r m g rn y r
3. Obtener
usando:
r e7$ r "elk r d ! d h g
#$f )1@)d ! d f
{ P d P h z n m d g ty rn m
. Hacer
{ P { P P { v r rn m r P h z h z v z g ty P P rn m v f mf h r Y r m 3 ~ r bh r r s r bh r by r Yl mf m m mf mf mf h ry%$ r m$ r jy$ r lQry r h r lh m ! m h! f m h! f m m u m h! $ r m cr lQ"$ r g r y r " m ! { P r m v { r rm r P Fh z s v z g y rm $ r g r mt r " ! n { P r d h r PFh )ji g z { h r ! d r P P z $ "e )d { @y r iySh f f P { 3 ~ | f iy r YySP z r }} 3 }} z &ed ~
, debemos minimizar
r pf
r qpf
P
Ejemplo:
Min
r @y r iy h r 7$ vr #" f f u !
{ v r v z
Iteraci n 1 o
con respecto a
rm
31 . . Por
{$bYrs%@FQrySh d ! d | P! f $P h! f P $ P! f $P h! bbrs%@tySP z $ "eed { TbP P h { Tf ~ P { P n m z d v z i@ Fh z g ty P ~ P n i@ m v f m wh C m 3 ~ Ph mbh B B B Blh bj f m m m P m h f m f h mC C%$ bsSQryly bFh m P m f P! f h f m f h P h P $ mbswPw%$ bsw@FQry HFQry%$ bsSQFh f ! m f P!$P h! f $P h! f m f P! h P m f P h! 7$ byP u $ g y " m ! { f m { P m v z s h z g s P { yf v g { P @ z P { P P h r z d h z | g | eli g { P yh P h )d {$Hrs%@FQrySh ! z d | P! f $P h! f P $P! f $ f h! @rs%bjtySP z $ "ewed { P P h z
Iteraci n 3 o
Iteraci n 2 o
32
Existen tambi n t cnicas que construyen parcialmente una soluci n a un probe e o lema. Por ejemplo, la programaci n din mica y el m todo de ramicaci n y o a e o b squeda (branch & bound). u Cuando enfrentamos un cierto problema de optimizaci n, si la funci n a opo o timizarse se encuentra denida en forma algebraica, es importante intentar resolverla primero con t cnicas cl sicas, antes de utilizar cualquier heurstica. e a
b n u rn P P h
{ v d v g {yf @ z v { v z 6 v z g | d )ji d g d h | { v d v z )d
es la soluci n optima. o
El signicado del t rmino ha variado hist ricamente. Algunos han usado el e o t rmino como un ant nimo de algortmico. Por ejemplo, Newell et al. [173] e o dicen: A un proceso que puede resolver un cierto problema, pero que no ofrece ninguna garanta de lograrlo, se le denomina una heurstica para ese problema. Las heursticas fueron un area predominante en los orgenes de la Inteligencia Articial. Actualmente, el t rmino suele usarse como un adjetivo, reri ndose a cualquier e e t cnica que mejore el desempe o en promedio de la soluci n de un problema, e n o aunque no mejore necesariamente el desempe o en el peor caso [197]. n Una denici n m s precisa y adecuada para los nes de este curso es la proo a porcionada por Reeves [186]: Una heurstica es una t cnica que busca soluciones buenas (es decir, e casi optimas) a un costo computacional razonable, aunque sin garan tizar factibilidad u optimalidad de las mismas. En algunos casos, ni siquiera puede determinar qu tan cerca del optimo se encuentra una e soluci n factible en particular. o Algunos ejemplos de t cnicas heursticas son los siguientes: e
La busqueda tab [102] es realmente una meta-heurstica, porque es un prou cedimiento que debe acoplarse a otra t cnica, ya que no funciona por s sola. e La b squeda tab usa una memoria para guiar la b squeda, de tal forma que u u u algunas soluciones examinadas recientemente son memorizadas y se vuelven tab (prohibidas) al tomar decisiones acerca del siguiente punto de b squeda. La u u b squeda tab es determinstica, aunque se le pueden agregar elementos probau u bilsticos. El recocido simulado [142] est basado en el enfriamiento de los cristales. El a algoritmo requiere de una temperatura inicial, una nal y una funci n de variaci n o o 34
F F
Figura 1.1: Dos ejemplos de conjuntos convexos. de la temperatura. Dicha funci n de variaci n es crucial para el buen desempe o o o n del algoritmo y su denici n es, por tanto, sumamente importante. Este es un o algoritmo probabilstico de b squeda local. u La t cnica escalando la colina se aplica a un punto a la vez (es decir, es e una t cnica local). A partir de un punto, se generan varios estados posibles y e se selecciona el mejor de ellos. El algoritmo no tiene retroceso ni lleva ning n u tipo de registro hist rico (aunque estos y otros aditamentos son susceptibles de o ser incorporados). El algoritmo puede quedar atrapado f cilmente en optimos a locales. Asimismo, el algoritmo es determinstico.
En otras palabras, es convexo si para dos puntos cualquiera y en el conjunto, el segmento rectilneo que une estos puntos est tambi n dentro del a e 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 cnica de optimizaci n es encontrar el e o optimo (o los optimos) globales de cualquier problema. En matem ticas, existe a un area que se ocupa de desarrollar los formalismos que nos permitan garantizar 35
r
P u v
r
(1.3)
Figura 1.2: Dos ejemplos de conjuntos no convexos. la convergencia de un m todo hacia el optimo global de un problema. Apropiadae mente, se denomina optimizaci n global [131]. o Desgraciadamente, s lo en algunos casos limitados, puede garantizarse cono vergencia hacia el optimo global. Por ejemplo, para problemas con espacios de b squeda convexos, las condiciones de Kuhn-Tucker son necesarias y sucientes u para garantizar optimalidad global de un punto. En problemas de optimizaci n no lineal, las condiciones de Kuhn-Tucker no o son sucientes para garantizar optimalidad global. De hecho, todas las t cnicas e usadas para optimizaci n no lineal pueden localizar cuando mucho optimos loo cales, pero no puede garantizarse convergencia al optimo global a menos que se usen t cnicas exhaustivas o que se consideren tiempos innitos de convergencia. e Existen muchos tipos de problemas de optimizaci n, pero los que nos intereo san m s para los nes de este curso, son de los de optimizacion num rica, que a e pueden denirse de la siguiente manera:
sujeta a:
$ ! "
36
Minimizar
Zona Factible
donde: son las variables de decisi n del problema, son las restrico ciones de desigualdad, y son las restricciones de igualdad. Asimismo, es la funci n objetivo del problema (la que queremos optimizar). o A las restricciones de igualdad y desigualdad expresadas algebraicamente, se les denomina restricciones explcitas. En algunos problemas, existen tambi n e restricciones implcitas, relacionadas sobre todo con las caractersticas del prob lema. Por ejemplo, si decimos:
estamos deniendo que el rango de una variable de decisi n debe estar cono tenido dentro de un cierto intervalo. De tal forma, estamos restringiendo el tipo de soluciones que se considerar n como v lidas. a a Todas las soluciones a un problema que satisfagan las restricciones existentes (de cualquier tipo), se consideran ubicadas dentro de la zona factible. De tal 37
Figura 1.3: Representaci n gr ca de la zona factible (denotada con o a problema. Advierta que en este caso la zona factible es disjunta.
) de un
$ !f 3 Q0
forma, podemos decir que el espacio de b squeda de un problema se divide en la u 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 captulo, mencionaremos que existe una clase es pecial de problemas que tambi n ser n de inter s para este curso, en los cuales e a e las variables de decisi n son discretas y las soluciones suelen presentarse en la o forma de permutaciones. A estos problemas se les denomina de optimizaci on combinatoria (p. ej. el problema del viajero).
b) c) d)
,2 /
/2,
2. Busque en un libro de m todos num ricos informaci n sobre alguna de las e e o siguientes t cnicas para resolver ecuaciones trascendentes de una sola varie able (elija s lo uno): Bisecci n (o Bolzano), Newton-Raphson, Regla Falsa o o o Secante. Se recomienda consultar el siguiente libro: Richard L. Burden y J. Douglas Faires, An lisis Num rico, 6a. Edici n, Ina e o ternational Thompson Editores, 1998. a) Usando como base el seudo-c digo del m todo, implem ntelo en C/C++ o e e (la funci n a resolverse puede proporcionarse directamente dentro del c digo o o del programa). Incluya el c digo fuente en su tarea. o b) Dos escaleras se cruzan en un pasillo, tal y como se muestra en la gura 1.4. Cada escalera est colocada de la base de una pared a alg n punto de la a u 38
d
h if
a)
, 10
v D E
x2
x1
Figura 1.4: Escalareas entrecruzadas del problema 2.1.b. pared opuesta. Las escaleras se cruzan a una altura arriba del pavimento. Dado que las longitudes de las escaleras son my m, y que m, encontrar , que es el ancho del pasillo, usando el programa escrito en el inciso anterior (una soluci n real es suciente). Imprima las o iteraciones efectuadas por su programa al resolver este problema. Bonicaci n. El problema del inciso b) tiene m s de una soluci n real. Eno a o cuentre al menos una soluci n real m s (distinta de la reportada en el inciso o a anterior). Adicionalmente, encuentre una soluci n real que sea v lida pero o a que no tenga sentido reportar dada la interpretaci n fsica del problema. o Discuta brevemente acerca de esto. 3. Muestre las 2 primeras iteraciones del m todo de ascenso empinado al mine usando el punto inicial . imizar 4. Lea el captulo 1 del siguiente libro (las fotocopias se proporcionar n en a clase) para resolver las preguntas de esta secci n: o
39
v b
vf Y r
$ P bf u !
y r iw f
Zbigniew Michalewicz & David B. Fogel, How to Solve It: Modern Heuristics, Springer, Berlin, 2000. 1. Mencione al menos 2 razones por las cuales un problema del mundo real puede no ser resuelto f cilmente. NO USE ninguna de las razones enumera adas en la p gina 11 del captulo proporcionado. a 2. Supongamos que la optimizaci n de una funci n requiere de 10 vario o ables de decisi n o , cada una de las cuales tiene el rango: . a) Si puede tomar s lo valores enteros, cu l es el tama o del espacio de o a n b squeda de este problema? u o b) Si puede tomar valores reales y usaremos una precisi n de ocho lugares decimales, cu l es el tama o del espacio de b squeda del problema? a n u 3. Dena las restricciones rgidas (hard constraints) y las restricciones ex ibles (soft constraints) con sus propias palabras. Comp relas entre s. a
$v P ! f CHP u u S2t
v A f A v TYjh f f
40
42
2.2 Lamarckismo
A partir de 1801, el zo logo franc s Jean Baptiste Pierre Antoine de Monet (Cao e ballero de Lamarck) comienza a publicar detalles de su propia teora evolutiva. Conocedor del trabajo de Leclerc (quien era adem s su mentor), Lamarck enfaa tiz la importancia de la naturaleza en los cambios de las especies. o A diferencia de Leclerc, Lamarck s explic un mecanismo responsable de o los cambios en las especies, al cual ahora se le conoce como Lamarckismo. A pesar de que el t rmino Lamarckismo se usa hoy en da en sentido peyorativo e para referirse a la teora de que las caractersticas adquiridas por un individuo son hereditarias1 , la verdad es que sus ideas fueron m s complejas. Lamarck crea 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 s bien un cambio en el ambiente produce cambios en las necesidades de los a organismos, lo que hace que, en consecuencia, estos cambien su comportamiento. Estos cambios de comportamiento conducen al mayor uso (o al desuso) de ciertos organos o estructuras corporales de un individuo, los cuales har n que dichos a organos o estructuras crezcan (ante un mayor uso) o se reduzcan (ante el menor uso) con el paso de las generaciones. Adem s, Lamarck crea que estos cambios a 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 os despu s por Darwin, los n e resultados a los que ambas teoras 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 n que en su libro Philosophie o Zoologique [150], Lamarck utiliza muchas de las mismas evidencias que despu s e adoptara Darwin para enunciar su famosa teora. Sin embargo, las ideas de Lamarck no fueron muy populares en su epoca, y s lo sirvieron para desacreditarlo con sus contempor neos, incluyendo a su meno a tor 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 estas se oponan a su propia teora evolutiva.
El ejemplo cl sico usado por Lamarck era el del crecimiento del cuello y las patas frontales a de las jirafas, ante la necesidad de alcanzar las hojas m s altas de los arboles. a
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 entenda de forma precisa los mecanismos de la herencia, y la teora de Lamarck (con diversas variantes) goz o de gran popularidad entre varios cientcos destacados del siglo XIX como el alem n Ernst Haeckel y el norteamericano Edward Drinker Cope, consider ndose a a como una alterantiva viable al mecanismo de selecci n natural que Charles Daro win propusiera en su libro El Origen de las Especies [59].
Figura 2.4: Alfred Russell Wallace. biar al germoplasma (hoy conocido como genotipo 2 ), y crea que tanto el ger moplasma como el ambiente podan inuenciar al somatoplasma (hoy conocido como fenotipo3). Con el advenimiento de la gen tica en los 1930s, las ideas de Lamarck fueron e nuevamente desacreditadas y se consideran hoy en da como obsoletas, aunque algunos investigadores las han incorporado con exito en diversas aplicaciones de la computaci n evolutiva, como veremos en captulos posteriores. o
45
Figura 2.5: Charles Robert Darwin. Charles Lyell5. Tras percatarse del trabajo de Wallace, Darwin decidi interrumpir la elaboo raci n de un libro sobre la selecci n natural que inici en 1856, y mejor se enfoc o o o o a escribir otro sobre la evoluci n. Su libro, titulado El origen de las especies, se o public en 1859 [59] con gran exito (el tiraje inicial de 1,250 ejemplares se agot o o en s lo 24 horas). o Darwin se percat de que una especie que no sufriera cambios se volvera ino compatible con su ambiente, ya que este tiende a cambiar con el tiempo. Asimismo, las similitudes entre hijos y padres observada en la naturaleza, le sugirieron a Darwin que ciertas caractersticas de las especies eran hereditarias, y que de gen eraci n a generaci n ocurran cambios cuya principal motivaci n era hacer a los o o o nuevos individuos m s aptos para sobrevivir. a
46
Figura 2.6: Johann Gregor Mendel. La explicaci n que esta teora daba a este fen meno era que ciertas caraco o tersticas, al combinarse, se diluan con el paso de las generaciones, lo cual con tradeca la teora de la selecci n natural de Darwin, pues seg n la teora de la o u combinaci n, los cambios adaptativos no podran ser preservados. El ingeniero o brit nico Fleming Jenkins se contaba entre los m s fervientes defensores de la a a teora de la combinaci n, y para defenderse de el, Darwin hubo de elaborar su o propia teora de la herencia, denominada de la pang nesis. e
Hoy sabemos que esta ley s lo es v lida para los genes localizados en cromosomas diferentes. o a
47
cierto gene7 es dominante o recesivo. De tal manera, la teora de la combinaci n o de la que hablamos anteriormente, quedaba desechada de acuerdo a los resultados producidos en los experimentos de Mendel. Aunque Mendel descubri las leyes de la herencia, realmente no lleg a eno o tender el mecanismo detr s de ella, y los genes, as como el mecanismo de transa misi n de los mismos de generaci n en generaci n no fue descubierto sino hasta o o o varios a os despu s. Asimismo, su trabajo permaneci largamente ignorado por n e o la comunidad cientca, debido a que los dio a conocer originalmente en dos con ferencias dictadas ante la Sociedad de Ciencias de Br nn, el 8 de febrero y el 8 u de marzo de 1865. El manuscrito original fue publicado en las memorias de dicha Sociedad en 1866, en alem n [157], y no se tradujeron al ingl s sino hasta 1901 a e [158].
49
50
2.10 Neo-Darwinismo
La teora evolutiva propuesta originalmente por Charles Darwin en combinaci n o con el seleccionismo de August Weismann y la gen tica de Gregor Mendel, se e conoce hoy en da como el paradigma Neo-Darwiniano. El Neo-Darwinismo establece que la historia de la vasta mayora de la vida en nuestro planeta puede ser explicada a trav s de un pu ado de procesos estadsticos e n que act an sobre y dentro de las poblaciones y especies [124]: la reproducci n, la u o mutaci n, la competencia y la selecci n. o o La reproducci n es una propiedad obvia de todas las formas de vida de nuestro o planeta, pues de no contar con un mecanismo de este tipo, la vida misma no tendra forma de producirse. En cualquier sistema que se reproduce a s mismo continuamente y que est en a constante equilibrio, la mutaci n est garantizada [80]. El contar con una cantio a dad nita de espacio para albergar la vida en la Tierra garantiza la existencia de la competencia. La selecci n se vuelve la consecuencia natural del exceso de organo ismos que han llenado el espacio de recursos disponibles. La evoluci n es, por lo o tanto, el resultado de estos procesos estoc sticos (es decir, probabilsticos) fundaa mentales que interact an entre s en las poblaciones, generaci n tras generaci n. u o o
51
52
Figura 2.11: George E. P. Box. segregaci n10 , los porcentajes de cruza y varios otros mecanismos biol gicos que o o hoy son de sumo inter s para la comunidad de computaci n evolutiva. Su trabajo e o de m s de 10 a os en este tema se resume en un libro titulado Computer Models a n in Genetics [93]. De tal forma, puede decirse que el trabajo de Fraser anticip la o propuesta del algoritmo gen tico simple de Holland y la de la estrategia evolue tiva de dos miembros de Schwefel [81]. Fraser adem s lleg a utilizar el t rmino a o e aprendizaje para referirse al proceso evolutivo efectuado en sus simulaciones, y anticip el operador de inversi n, la denici n de una funci n de aptitud y el o o o o an lisis estadstico de la convergencia del proceso de selecci n [92]. M s interea o a sante a n, resulta el hecho de que el trabajo de Fraser no fue el unico efectuado en u su epoca, sino que m s bien los modelos computacionales de la gen tica pobla a e cional se volvieron bastante populares durante nes de los 1950s y principios de los 1960s, al grado de que dio pie a rese as sobre el tema, como las de J. L. Crosby n [57] y B. R. Levin [153]
2.13 EVOP
Aproximadamente en la misma epoca en que iniciara su trabajo Fraser, el ex perto en estadstica ingl s George E. P. Box propuso un enfoque evolutivo para e la optimizaci n de la producci n industrial [26]. Su t cnica, denominada EVOP o o e (Evolutionary Operation) consista en efectuar peque os cambios a un conjunto n de par metros de producci n, monitoreando ciertos datos estadsticos de los proa o cesos para guiar la b squeda. Box [26] lleg a establecer claramente la analoga u o
Cuando se forman los gametos y tenemos m s de un par de cromosomas en el genotipo, a entonces, para nes de la recombinaci n sexual, es necesario elegir s lo uno de los cromosomas o o 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 n que el proceso de ajuste de par metros que efectuaba con t cnicas ese a e tadsticas era similar al proceso de selecci n natural. o EVOP funcionaba mediante un proceso iterativo, pero requera de intervenci n o humana en cada etapa, si bien Box [26] reconoci que la t cnica poda automatio e zarse. Como Fogel indica en su libro sobre historia de la computaci n evolutiva o [81], aunque en forma limitada, EVOP sigue en uso hoy en da en la industria qumica11 .
54
bajo de Friedberg era una falla total. Minsky atribuy el fracaso del m todo o e de Friedberg a lo que el denomin el fen meno de mesa [166], seg n el cual o o u el estancamiento de la poblaci n se deba al hecho de que s lo una instrucci n o o o del programa era modicada a la vez, y eso no permita explorar una porci n o signicativa del espacio de b squeda. Aunque estas observaciones no son del u todo precisas [81], el problema del estancamiento sigui siendo el principal ino conveniente del procedimiento de Friedberg, aunque Fogel [81] considera que su trabajo precedi el uso de los sistemas clasicadores que popularizara varios a os o n despu s John Holland [127]. e Dunham et al. [70, 72, 71] continuaron el trabajo de Friedberg, y tuvieron exito con algunos problemas de aprendizaje de mayor grado de dicultad que los intentados por este.
56
de estados nitos, los cuales eran expuestos a una serie de smbolos de entrada (el ambiente), y se esperaba que, eventualmente, seran capaces de predecir las se cuencias futuras de smbolos que recibiran. Fogel utiliz una funci n de pago o o que indicaba qu tan bueno era un cierto aut mata para predecir un smbolo, y us e o o un operador modelado en la mutaci n para efectuar cambios en las transiciones y o en los estados de los aut matas que tenderan a hacerlos m s aptos para predecir o a secuencias de smbolos. Esta t cnica no consideraba el uso de un operador de recombinaci n sexual e o porque, como veremos en un captulo posterior, pretenda modelar el proceso evo lutivo al nivel de las especies y no al nivel de los individuos. La programaci n evolutiva se aplic originalmente a problemas de predicci n, o o o control autom tico, identicaci n de sistemas y teora de juegos, entre otros [83, a o 86, 35]. Donald W. Dearholt y algunos otros investigadores, experimentaron con programaci n evolutiva en la Universidad de Nuevo M xico en los 1970s, de forma o e totalmente independiente a Fogel [85, 81, 193, 54]. Probablemente la programaci n evolutiva fue la primera t cnica basada en la o e evoluci n en aplicarse a problemas de predicci n, adem s de ser la primera en usar o o a codicaciones de longitud variable (el n mero de estados de los aut matas poda u o variar tras efectuarse una mutaci n), adem s de constituir uno de los primeros o a intentos por simular la co-evoluci n. o
En los dos primeros casos (el tubo y la placa), Rechenberg procedi a efeco tuar cambios aleatorios en ciertas posiciones de las juntas y en el tercer problema procedi a intercambiar, agregar o quitar segmentos de boquilla. Sabiendo que o en la naturaleza las mutaciones peque as ocurren con mayor frecuencia que las n grandes, Rechenberg decidi efectuar estos cambios en base a una distribuci n o o binomial con una varianza prejada. El mecanismo b sico de estos primeros exa perimentos era crear una mutaci n, ajustar las juntas o los segmentos de boquilla o de acuerdo a ella, llevar a cabo el an lisis correspondiente y determinar qu tan a e buena era la soluci n. Si esta era mejor que su predecesora, entonces pasaba a o ser utilizada como base para el siguiente experimento. De tal forma, no se requera informaci n alguna acerca de la cantidad de mejoras o deterioros que se o efectuaban. Esta t cnica tan simple dio lugar a resultados inesperadamente buenos para e los tres problemas en cuesti n, y Peter Bienert [23] construy un robot que poda o o efectuar de forma autom ticamente el proceso de optimizaci n usando este m todo. a o e Simult neamente, Hans-Paul Schwefel se dio a la tarea de implementar esta t cnica a e en una computadora Z23 [202]. Aunque los primeros fundamentos te ricos de las estrategias evolutivas de o dos miembros (su versi n m s simple) se esbozaron en la tesis doctoral de Ingo o a Rechenberg la cual se public como libro en 1973 [184], no fue sino hasta que el o libro que Schwefel escribiera a nes de los 1970s [203] se tradujo al ingl s [204] e que la t cnica atrajo la atenci n de los investigadores fuera del mundo germanoe o parlante. 59
61
tamiento que caracteriza a los procesos de sucesi n ecol gica deben emerger poo o tencialmente, (b) los procesos de la b squeda evolutiva deben corresponder con u su contraparte biol gica, y (c) la simulaci n debe ser lo m s simple posible a o o a n de permitir el estudio de caractersticas fundamentales de los ecosistemas as como las condiciones mnimas necesarias para que ocurra la evoluci n natural. o Sus esfuerzos en esta area se extendieron hasta los 1980s [48, 49, 53, 189, 52]. Michael Conrad [47] propuso tambi n en los 1970s un modelo de circuitos e de aprendizaje evolutivo en el cual especul sobre la posibilidad de que el cereo bro use el mismo tipo de mecanismos que usa la evoluci n para aprender. Su o t cnica fue uno de los primeros intentos por utilizar algoritmos evolutivos para e entrenar redes neuronales. Conrad tambi n sugiri [50] el uso de la evoluci n e o o para lidiar con problemas como el reconocimiento de patrones en que los enfoques algortmicos 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 n. Su t cnica es casi o e independiente del dominio y ha sido utilizada en un sinn mero de aplicaciones u de entre las que destacan la compresi n de im genes, el dise o de circuitos, el o a n reconocimiento de patrones y la planeaci n de movimientos de robots, entre otras o [145]. M s recientemente, Koza [146] extendi su t cnica mediante la incorporaci n a o e o de funciones denidas autom ticamente, las cuales pueden ser reusadas a mana era de subrutinas e incrementan notablemente el poder de la programaci n gen tica o e para generar programas autom ticamente. a
Figura 2.18: Thomas S. Ray. en la parte superior de la cola de espera eran destruidas (es decir, moran). Para introducir diversidad en las criaturas, Ray propuso dos formas de mutaci n: (1) o a ciertos intervalos, algunos bits en memoria eran modicados aleatoriamente, y (2) durante el proceso de auto-replicaci n de una criatura, algunos de sus bits se o cambiaban aleatoriamente. Otra fuente adicional de diversidad provena del he cho de que los programas no eran determinsticos, sino que cada instrucci n tena o asociada una probabilidad de ser ejecutada. Uno de los fen menos observados por Ray durante las simulaciones de Tierra o fue el surgimiento de criaturas par sitas, las cuales no podan reproducirse al a carecer de un programa hu sped que las contuviera, y que la din mica evolutiva e a misma del sistema tenda a eliminar con el paso del tiempo. Tierra es uno de los pocos intentos por simular un ecosistema con el prop sito o expreso de observar los comportamientos que emergen de la din mica evolutiva a del mismo.
Figura 2.19: James Mark Baldwin. con el Lamarckismo. 2. El Neo-Darwinismo se compone b sicamente de los siguientes fen menos a o y propuestas [212]:
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 consiste el equilibro acentuado [73, 124] (punctuated e equilibrium en ingl s) y escriba un ensayo en el que indique si considera e que se opone a los preceptos del Neo-Darwinismo o no. Fundamente bien sus argumentos. 65
Herencia Mutaci n o Mezcla aleatoria de cromosomas paternos y maternos Recombinaci n o Selecci n y evoluci n natural o o Aislamiento Desvo gen tico e La barrera de Weismann es inviolable
4. Dena lo que se entiende en biologa por desvo gen tico (genetic drift, e en ingl s), indicando c mo puede contrarrestarse. Aseg rese de explicar el e o u signicado de cualquier t rmino que utilice en su denici n. e o Se le recomienda consultar: Paton, Raymond C. Principles of Genetics, en Thomas B ck, David B. a Fogel & Zbigniew Michalewicz (editores), Handbook of Evolutionary Computation, pp. A2.2:1A2.2:9, Institute of Physics Publishing and Oxford University Press, 1997.
66
Aunque hoy en da es cada vez m s difcil distinguir las diferencias entre a los distintos tipos de algoritmos evolutivos existentes, por razones sobre todo hist ricas, suele hablarse de tres paradigmas principales: o
Cada uno de estos paradigmas se origin de manera independiente y con moo tivaciones muy distintas. Aunque este curso se concentrar principalmente en el a tercero (los algoritmos gen ticos), revisaremos r pidamente, y de manera muy e a general, los otros dos paradigmas en este captulo. 67
Codicar las estructuras que se replicar n. a Operaciones que afecten a los individuos. Una funci n de aptitud. o Un mecanismo de selecci n. o
Figura 3.1: Portada de la edici n reciente (1999) del libro Articial Intelligence o through Simulated Evolution, con el cual se originara la programaci n evolutiva. o
La programaci n evolutiva es una abstracci n de la evoluci n al nivel de las o o o especies, por lo que no se requiere el uso de un operador de recombinaci n (difero entes especies no se pueden cruzar entre s). Asimismo, usa selecci n proba o bilstica. 68
Generar aleatoriamente una poblaci n inicial. o Se aplica mutaci n. o Se calcula la aptitud de cada hijo y se usa un proceso de selecci n meo diante torneo (normalmente estoc stico) para determinar cu les ser n las a a a soluciones que se retendr n. a
0/c B
1/b
1/c
Figura 3.2: Aut mata nito de 3 estados. Los smbolos a la izquierda de / son o 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 n evolutiva que se indica o en la gura 3.2. La tabla de transiciones de este aut mata es la siguiente: o Estado Actual C Smbolo de Entrada 0 Estado Siguiente B Smbolo de Salida b B 1 C a C A 1 1 A A c b A 0 B b B 1 C a
En este aut mata pueden ahora aplicarse cinco diferentes tipos de mutaciones: o cambiar un smbolo de salida, cambiar una transici n, agregar un estado, borrar un o estado y cambiar el estado inicial. El objetivo es hacer que el aut mata reconozca o un cierto conjunto de entradas (o sea, una cierta expresi n regular) sin equivocarse o ni una sola vez.
3.1.2 Aplicaciones
Algunas aplicaciones de la programaci n evolutiva son [80]: o
donde se reere a la generaci n (o iteraci n) en la que nos encontramos, y o o es un vector de n meros Gaussianos independientes con una media de u cero y desviaciones est ndar . a 3.1.3.2 Ejemplo Considere el siguiente ejemplo de una (1+1)-EE (estrategia evolutiva de dos miembros): Supongamos que queremos optimizar:
donde:
$ u 2vx r p !
$ u 2vx !
Control autom tico a Problema del viajero Planeaci n de rutas o Dise o y entrenamiento de redes neuronales n Reconocimiento de patrones
70
Ahora, supongamos que nuestra poblaci n consiste del siguiente individuo o (generado de forma aleatoria):
Dado que: el hijo reemplazar al padre en la siguiente generaci n. a o Rechenberg [184] introdujo el concepto de poblaci n, al proponer una estrateo gia 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 n (selecci n extintiva). o o Schwefel [203, 204] introdujo el uso de m ltiples hijos en las denominadas u ( + )-EEs y ( , )-EEs. La notaci n se reere al mecanismo de selecci n utio o lizado:
3.1.3.3 Convergencia Rechenberg [184] formul una regla para ajustar la desviaci n est ndar de forma o o a determinstica durante el proceso evolutivo de tal manera que el procedimiento convergiera hacia el optimo. Esta regla se conoce como la regla del exito 1/5, y en palabras dice: 71
r r pp r
m
Figura 3.3: Thomas B ck. a La raz n entre mutaciones exitosas y el total de mutaciones debe ser o 1/5. Si es mayor, entonces debe incrementarse la desviaci n est ndar. o a Si es menor, entonces debe decrementarse. Formalmente:
donde es el n mero de dimensiones, es la generaci n, es la frecuencia u o relativa de mutaciones exitosas medida sobre intervalos de (por ejemplo) individuos, y (este valor fue derivado te ricamente por Schwefel [204]). o se aujsta cada mutaciones. Thomas B ck [9] deriv una regla de exito 1/7 para las ( , )-EEs. a o 3.1.3.4 Auto-Adaptaci n o En las estrategias evolutivas se evoluciona no s lo a las variables del problema, o sino tambi n a los par metros mismos de la t cnica (es decir, las desviaciones e a e est ndar). A esto se le llama auto-adaptaci n). a o Los padres se mutan usando las siguientes f rmulas: o
72
v YP
Y@ t ~P Y@R t ~P ~P Y@ t
si si si
P v @kl5
$ !
donde y constantes de proporcionalidad que est n en funci n de . a o Los operadores de recombinaci n de las estrategias evolutivas pueden ser: o Sexuales: el operador act a sobre 2 individuos elegidos aleatoriamente de u la poblaci n de padres. o
Panmticos: se elige un solo padre al azar, y se mantiene jo mientras se elige al azar un segundo padre (de entre toda la poblaci n) para cada o componente de sus vectores.
Las estrategias evolutivas simulan el proceso evolutivo al nivel de los individuos, por lo que la recombinaci n es posible. Asimismo, usan normalmente o selecci n determinstica. o 3.1.3.5 Estrategias Evolutivas vs Programacion Evolutiva La Programaci n Evolutiva usa normalmente selecci n estoc stica, mientras que o o a las estrategias evolutivas usan selecci n determinstica. o Ambas t cnicas operan a nivel fenotpico (es decir, no requieren codicaci n e o de las variables del problema). La programaci n evolutiva es una abstracci n de la evoluci n al nivel de las o o o especies, por lo que no se requiere el uso de un operador de recombinaci n (difero entes especies no se pueden cruzar entre s). En contraste, las estrategias evolu tivas son una abstracci n de la evoluci n al nivel de un individuo, por lo que la o o recombinaci n es posible. o 3.1.3.6 Aplicaciones Algunas aplicaciones de las estrategias evolutivas son [204]:
Bioqumica
Optica
Dise o en ingeniera n
Magnetismo 73
Figura 3.4: Portada de una edici n reciente (publicada por el MIT Press) del lio bro en el que Holland diera a conocer originalmente los algoritmos gen ticos (en e 1975).
Generar (aleatoriamente) una poblaci n inicial. o Calcular aptitud de cada individuo. Seleccionar (probabilsticamente) en base a aptitud. Aplicar operadores gen ticos (cruza y mutaci n) para generar la siguiente e o poblaci n. o Ciclar hasta que cierta condici n se satisfaga. o
Cadena 1
Cadena 2
Cadena 3
Cadena 4
Figura 3.5: Ejemplo de la codicaci n (mediante cadenas binarias) usada tradio cionalmente con los algoritmos gen ticos. e A la cadena binaria se le llama cromosoma. A cada posici n de la cadena o se le denomina gene y al valor dentro de esta posici n se le llama alelo. o Para poder aplicar el algoritmo gen tico se requiere de los 5 componentes e b sicos siguientes: a
3.1.4.2 Algoritmos gen ticos vs otras t cnicas evolutivas e e El AG usa selecci n probabilstica al igual que la Programaci n Evolutiva, y en o o contraposici n a la selecci n determinstica de las Estrategias Evolutivas. o o El AG usa representaci n binaria para codicar las soluciones a un problema, o por lo cual se evoluciona el genotipo y no el fenotipo como en la Programaci n o Evolutiva o las Estrategias Evolutivas. El operador principal en el AG es la cruza, y la mutaci n es un operador secuno dario. En la Programaci n Evolutiva, no hay cruza y en las Estrategias Evolutivas o es un operador secundario. Ha sido demostrado [195] que el AG requiere de elitismo (o sea, retener intacto al mejor individuo de cada generaci n) para poder converger al optimo. o 75
Una representaci n de las soluciones potenciales del problema. o Una forma de crear una poblaci n inicial de posibles soluciones (normalo mente un proceso aleatorio). Una funci n de evaluaci n que juegue el papel del ambiente, clasicando o o las soluciones en t rminos de su aptitud. e Operadores gen ticos que alteren la composici n de los hijos que se proe o ducir n para las siguientes generaciones. a Valores para los diferentes par metros que utiliza el algoritmo gen tico a e (tama o de la poblaci n, probabilidad de cruza, probabilidad de mutaci n, n o o n mero m ximo de generaciones, etc.) u a
Figura 3.6: Portada del libro de David E. Goldberg sobre algoritmos gen ticos. A e este importante libro se debe, en gran medida, el exito (cada vez mayor) de que han gozado los algoritmos gen ticos desde principios de los 1990s. e 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 n m s detallada de los tres paradigmas anteriores o a en la tabla 3.1. 3.1.4.3 Aplicaciones Algunas aplicaciones de los AGs son las siguientes [105]:
Optimizaci n (estructural, de topologas, num rica, combinatoria, etc.) o e Aprendizaje de m quina (sistemas clasicadores) a Bases de datos (optimizaci n de consultas) o Reconocimiento de patrones (por ejemplo, im genes) a Generaci n de gram ticas (regulares, libres de contexto, etc.) o a Planeaci n de movimientos de robots o Predicci n o
76
Tabla 3.1: Tabla comparativa de los tres paradigmas principales que conforman la computaci n evolutiva [9]. o
Estrategias Evolutivas
Representaci n o Funci n o de Aptitud Auto-Adaptaci n o Real Valor de la funci n o objetivo Desviaciones Est ndar a y angulos de rotaci n o
Programaci n o Evolutiva
Real Valor de la funci n o objetivo ajustada Ninguna Varianzas (PE-est ndar), a Coecientes de correlaci n (meta-PE) o Gausiana, operador unico Ninguna
Mutaci n o Recombinaci n o
Selecci n o
Restricciones
Gausiana, operador principal Discreta e intermedia, sexual y panmtica, importante para la auto-adaptaci n o Determinstica, extintiva o basada en la preservaci n o Restricciones arbitrarias de desigualdad Velocidad de Convergencia para casos especiales, (1+1)-ES, (1+ )-ES, Convergencia global
Teora
Inversi n de bits, o operador secundario Cruza de 2-puntos, cruza uniforme, unicamente sexual, operador principal Probabilstica, basada en la preservaci n o Lmites simples mediante el mecanismo de codicaci n o Teora de los Esquemas, Convergencia global para la versi n o elitista
m ye
para (
)-ES
para meta-PE
77
Las t cnicas evolutivas usan una poblaci n de soluciones potenciales en vez e o de un solo individuo, lo cual las hace menos sensibles a quedar atrapadas en mnimos/m ximos locales. a Las t cnicas evolutivas no necesitan conocimiento especco sobre el probe lema que intentan resolver. Las t cnicas evolutivas usan operadores probabilsticos, mientras las t cnicas e e tradicionales utilizan operadores determinsticos. Aunque las t cnicas evolutivas son estoc sticas, el hecho de que usen ope a eradores probabilsticos no signica que operen de manera an loga a una a simple b squeda aleatoria. u
Simplicidad Conceptual. Amplia aplicabilidad. Superiores a las t cnicas tradicionales en muchos problemas del mundo real. e Tienen el potencial para incorporar conocimiento sobre el dominio y para hibridizarse con otras t cnicas de b squeda/optimizaci n. e u o Pueden explotar f cilmente las arquitecturas en paralelo. a Son robustas a los cambios din micos. a Generalmente pueden auto-adaptar sus par metros. a Capaces de resolver problemas para los cuales no se conoce soluci n alo guna. 78
Figura 3.7: Portada del libro de John Koza sobre programaci n gen tica. Este o e libro marc el inicio de una nueva area dentro de la computaci n evolutiva, dedio o cada principalmente a la soluci n de problemas de regresi n simb lica. o o o
2. Investigue en qu consiste la b squeda dispersa (scatter search) y su relaci n e u o con la computaci n evolutiva. Se le sugiere leer: o
t contador de generaciones, n n mero de variables u Gmax = n mero m ximo de generaciones u a t 0 Inicializar variables , Evaluar while (t Gmax) do inicializar semilla de aleatorios mutar el vector usando: Evaluar Comparar con y seleccionar el mejor Imprimir en un archivo los resultados 80
P &Q!
3. Implemente una estrategia evolutiva de 2 miembros (la denominada ) cuyo algoritmo que se presenta a continuaci n: o
A $ ! v "
h$ y@P
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.
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.
else
Algunos puntos importantes que deben observarse en este programa son los siguientes:
es la frecuencia de exito de las mutaciones. Para calcularlo, se registrar como exitosa aquella mutaci n en la que el hijo reemplace a o u a su padre. La actualizaci n de normalmente se efect a cada o iteraciones. Usaremos . ser proporcionada por el usuario. a
La semilla de aleatorios se inicializar con a , que es una funci n o en C que devuelve un entero en base al reloj interno de la computadora. es una funci n que genera n meros aleatorios Gaussianos o u (distribuci n normal) con media cero y desviaci n est ndar uno. o o a
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:
donde
v H&HP
$ ! C2vB Q
bv @Pv 5
if if if
vv
$ ! @P u 2vx
y
t
(a) El c digo fuente del programa, con comentarios sucientemente claros o como para entender el funcionamiento del mismo. (b) Una gr ca de la funci n a optimizarse dentro de los rangos permisia o bles para las variables. La gr ca deber estar en 3 dimensiones. a a (c) Una corrida de ejemplo (presumiblemente, una corrida representativa de su funcionamiento).
82
Figura 4.3: Cromosomas Un gene es una secci n de ADN que codica una cierta funci n bioqumica o o denida, usualmente la producci n de una protena. Es fundamentalmente una o 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 cleo de las c lulas (ver gura 4.3). Los cromosomas son responsables de la u e transmisi n de informaci n gen tica. o o e Cada gene es capaz de ocupar s lo una regi n en particular de un cromosoma o o (su lugar o locus). En cada determinado lugar pueden existir, en la poblaci n, o formas alternativas del gene. A estas formas alternativas se les llama alelos. Se llama Genoma a la colecci n total de genes (y por tanto, cromosomas) que o posee un organismo (ver gura 4.4). Se denomina Gametos a las c lulas que llevan informaci n gen tica de los e o e padres con el prop sito de efectuar reproducci n sexual. En los animales, se o o denomina esperma a los gametos masculinos y ovulos a los gametos femeninos. Se denomina haploide a la c lula que contiene un solo cromosoma o conjunto e 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 lula que contiene 2 copias de cada cromosoma. e Las copias son hom logas, es decir, contienen los mismos genes en la misma o secuencia. En muchas especies que se reproducen sexualmente, los genes en uno de los conjuntos de cromosomas de una c lula diploide se heredan del gameto del padre, e mientras que los genes del otro conjunto son del gameto de la madre. Se denomina individuo a un solo miembro de una poblaci n. Se denomina o poblaci n a un grupo de individuos que pueden interactuar juntos, por ejemplo, o para reproducirse. Se denomina fenotipo a los rasgos (observables) especcos de un individuo. Se denomina genotipo a la composici n gen tica de un organismo (la informaci n o e o 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 mayora de las especies capaces de reproducirse sexual mente son diploides (ver gura 4.6). Durante la reproducci n sexual ocurre la recombinaci n (o cruza): o o
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 n (error de copiado). o padres se aparean para formar un solo conjunto de cromosomas diploides. Durante la mutaci n (ver gura 4.7), se cambian nucle tidos individuales de o o padre a hijo. La mayora de estos cambios se producen por errores de copiado. La aptitud de un individuo se dene como la probabilidad de que este viva para reproducirse (viabilidad), o como una funci n del n mero de descendientes o u que este tiene (fertilidad). Se denomina ambiente a todo aquello que rodea a un organismo. Puede ser fsico (abi tico) o bi tico. En ambos casos, el organismo ocupa un nicho que o o ejerce una inuencia sobre su aptitud dentro del ambiente total. Un ambiente bi tico puede presentar funciones de aptitud dependientes de la o frecuencia dentro de una poblaci n. En otras palabras, la aptitud del comporo tamiento de un organismo puede depender de cu ntos m s est n comport ndose a a e a igual. A trav s de varias generaciones, los ambientes bi ticos pueden fomentar la e o co-evoluci n, en la cual la aptitud se determina mediante la selecci n parcial de o o otras especies. La selecci n es el proceso mediante el cual algunos individuos en una poblaci n o o son seleccionados para reproducirse, tpicamente con base en su aptitud. La selecci n dura se da cuando s lo los mejores individuos se mantienen para o o generar progenia futura. La selecci n blanda se da cuando se usan mecanismos probabilsticos para o mantener como padres a individuos que tengan aptitudes relativamente bajas. Se llama pleitropa al efecto en el cual un solo gene puede afectar simult neamente a a varios rasgos fenotpicos. Un ejemplo es un problema con la c lula responsable e 87
de formar la hemoglobina. Al fallar, se afecta la circulaci n sangunea, las funo ciones del hgado y las acciones capilares. Cuando una sola caracterstica fenotpica de un individuo puede ser determi nada mediante la interacci n simult nea de varios genes, se denomina al efecto: o a poligenia. El color del cabello y de la piel son generalmente rasgos polig nicos. e Aunque no existe una denici n universalmente aceptada de especie, diremos o que es una colecci n de criaturas vivientes que tienen caractersticas similares, y o que se pueden reproducir entre s. Los miembros de una especie ocupan el mismo nicho ecol gico. o Se denomina especiaci n al proceso mediante el cual aparece una especie. La o causa m s com n de especiaci n es el aislamiento geogr co. a u o a Si una subpoblaci n de una cierta especie se separa geogr camente de la o a poblaci n principal durante un tiempo sucientemente largo, sus genes divergir n. o a Estas divergencias se deben a diferencias en la presi n de selecci n en diferentes o o lugares, o al fen meno conocido como desvo gen tico. o e Se llama desvo gen tico a los cambios en las frecuencias de genes/alelos en e una poblaci n con el paso de muchas generaciones, como resultado del azar en o vez de la selecci n. El desvo gen tico ocurre m s r pidamente en poblaciones o e a a peque as y su mayor peligro es que puede conducir a que algunos alelos se extinn gan, reduciendo en consecuencia la variabilidad de la poblaci n. o En los ecosistemas naturales, hay muchas formas diferentes en las que los animales pueden sobrevivir (en los arboles, de la cacera, en la tierra, etc.) y cada estrategia de supervivencia es llamada un nicho ecol gico. o 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 competencia, y a la larga, la especie m s d bil se extinguir (locala a e a mente). Por lo tanto, la diversidad de las especies depende de que ocupen una diversidad de nichos (o de que est n separadas geogr camente). e a Se denomina reproducci n a la creaci n de un nuevo individuo a partir de: o o
Se denomina migraci n a la transferencia de (los genes de) un individuo de o una subpoblaci n a otra. o 88
Se dice que un gene es epist tico cuando su presencia suprime el efecto de a un gene que se encuentra en otra posici n. Los genes epist ticos son llamados o a algunas veces genes de inhibici n por el efecto que producen sobre otros genes. o
En la inteligencia logen tica, el aprendizaje se efect a en este caso a nivel e u de las especies. La unidad de mutabilidad es un solo par base nucle tido, y el o acervo de la inteligencia es el genoma de la especie. En la inteligencia ontogen tica, el aprendizaje se efect a a nivel del indie u viduo. La unidad de mutabilidad (o cambio) es la propensi n de una neurona o 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 tica, el aprendizaje se efect a a nivel del grupo. e u 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 mica. Esta cadena es el genotipo o que codica las variables de decisi n de un problema. o
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 n del cromosoma. Es decir, a los o valores obtenidos al pasar de la representaci n (binaria) a la usada por la funci n o o objetivo (ver gura 4.10). Se denomina individuo a un solo miembro de la poblaci n de soluciones poo tenciales a un problema. Cada individuo contiene un cromosoma (o de manera m s general, un genoma) que representa una soluci n posible al problema a resola o verse (ver gura 4.11). Se denomina aptitud al valor que se asigna a cada individuo y que indica qu e tan bueno es este con respecto a los dem s para la soluci n de un problema. Por a o , entonces (donde es la aptitud de un ejemplo, si individuo). Se llama paisaje de aptitud (tness landscape) a la hipersupercie que se obtiene al aplicar la funci n de aptitud a cada punto del espacio de b squeda. o u Se denomina alelo a cada valor posible que puede adquirir una cierta posici n o gen tica. Si se usa representaci n binaria, un alelo puede valer 0 o 1 (ver gura 4.12). e o Llamamos generaci n a una iteraci n de la medida de aptitud y a la creaci n o o o de una nueva poblaci n por medio de operadores de reproducci n. o o Una poblaci n puede subdividirse en grupos a los que se denomina subpoblao ciones. Normalmente, s lo pueden cruzarse entre s los individuos que pertenezo 91
$ ! #"
v vP vP vP! b$ HHQ"
#" $ !
Figura 4.13: Un ejemplo de migraci n. o can a la misma subpoblaci n. o En los esquemas con subpoblaciones, suele permitirse la migraci on de una subpoblaci n a otra (sobre todo en el contexto de algoritmos evolutivos paralelos). o Al hecho de permitir la cruza s lo entre individuos de la misma subpoblaci n o o se le llama especiaci n en una emulaci n del fen meno natural del mismo nomo o o bre. Se llama migraci n a la transferencia de (los genes de) un individuo de una o subpoblaci n a otra. o Hay un tipo de poblaci n usada en computaci n evolutiva en la que cualquier o o individuo puede reproducirse con otro con una probabilidad que depende s lo de o su aptitud. Se le llama poblaci n panmtica. o Lo opuesto de la poblaci n panmtica es permitir la reproducci n s lo entre o o o individuos de la misma subpoblaci n. La mayor parte de los algoritmos evolutivos o (AEs) convencionales usan poblaciones panmticas. Debido a ruidos estoc sticos, los AEs tienden a converger a una sola soluci n. a o Para evitar eso, y mantener la diversidad, existen t cnicas que permiten crear dise tintos nichos para los individuos. Se llama epstasis a la interacci n entre los diferentes genes de un cromosoma. o Se reere a la medida en que la contribuci n de aptitud de un gene depende de los o valores de los otros genes. Cuando un problema tiene poca epstasis (o ninguna), su soluci n es trivial (un o algoritmo escalando la colina es suciente para resolverlo). Cuando un problema tiene una epstasis elevada, el problema ser deceptivo, por lo que ser muy difcil a a de resolver por un AE. Se llama bloque constructor a un grupo peque o y compacto de genes que n han co-evolucionado de tal forma que su introducci n en cualquier cromosoma o tiene una alta probabilidad de incrementar la aptitud de dicho cromosoma. 92
Figura 4.14: Ejemplo del operador de inversi n. o Se llama decepci n a la condici n donde la combinaci n de buenos bloques o o o constructores llevan a una reducci n de aptitud, en vez de un incremento. Este o fen meno fue sugerido originalmente por Goldberg [105] para explicar el mal o desempe o del AG en algunos problemas. n Se llama operador de reproducci n a todo aquel mecanismo que inuencia o la forma en que se pasa la informaci n gen tica de padres a hijos. Los operadores o e de reproducci n caen en tres amplias categoras: o
La cruza es un operador que forma un nuevo cromosoma combinando partes de cada uno de sus cromosomas padres. Se denomina mutaci n a un operador que forma un nuevo cromosoma a trav s o e de alteraciones (usualmente peque as) de los valores de los genes de un solo cron mosoma padre. Un operador de reordenamiento es aqu l que cambia el orden de los genes e de un cromosoma, con la esperanza de juntar los genes que se encuentren relacionados, facilitando as la producci n de bloques constructores. o La inversi n es un ejemplo de un operador de reordenamiento en el que se o 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 tico (AG), cuando una poblaci n no tiene variedad reqe o uisito, la cruza no ser util como operador de b squeda, porque tendr propensi n a u a o a simplemente regenerar a los padres. Es importante aclarar que en los AGs los operadores de reproducci n act an o u 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 s aptos de una poblaci n se pasen a la a o siguiente generaci n sin ser alterados por ning n operador gen tico. o u e 93
Usar elitismo asegura que la aptitud m xima de la poblaci n nunca se reducir a o a de una generaci n a la siguiente. Sin embargo, no necesariamente mejora la posio bilidad de localizar el optimo global de una funci n. No obstante, es importante o hacer notar que se ha demostrado que el uso de elitismo es vital para poder demostrar convergencia de un algoritmo gen tico [195]. e Cuando se atraviesa un espacio de b squeda, se denomina explotacion al prou ceso de usar la informaci n obtenida de los puntos visitados previamente para o determinar qu lugares resulta m s conveniente visitar a continuaci n. e a o Se denomina exploraci n al proceso de visitar completamente nuevas reo giones del espacio de b squeda, para ver si puede encontrarse algo prometedor. La u exploraci n involucra grandes saltos hacia lo desconocido. La explotaci on noro malmente involucra movimientos nos. La explotaci on es buena para encontrar optimos locales. La exploracion es buena para evitar quedar atrapado en optimos locales. Se denomina esquema a un patr n de valores de genes de un cromosoma que o 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 ticos que alteran la composici n de los descendientes (nore o malmente se usan la cruza y la mutaci n). o 5. Valores para los diversos par metros utilizados por el algoritmo gen tico a e (tama o de la poblaci n, probabilidad de cruza y mutaci n, n mero m ximo n o o u a de generaciones, etc.) En este captulo hablaremos exclusivamente del primero de estos componentes: la representaci n usada por el algoritmo gen tico. La representaci n tradicional o e o 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 n binaria en los o AGs, aunque la mayora de ellas se remontan al trabajo pionero de Holland en el area. En su libro, Holland [127] dio una justicaci n te rica para usar codi o o caciones binarias. Holland compar dos representaciones diferentes que tuvieran o aproximadamente la misma capacidad de acarreo de informaci n, pero de entre o ellas, una tena pocos alelos y cadenas largas (por ejemplo, cadenas binarias de 80 bits de longitud) y la otra tena un n mero elevado de alelos y cadenas cortas (por u (codicaci n binaria) o ejemplo, cadenas decimales de longitud 24). N tese que o (codicaci n decimal). Holland [127] argument que la primera codio o caci n da pie a un grado m s elevado de paralelismo implcito porque permite o a m s esquemas que la segunda ( a contra ). , donde El n mero de esquemas de una cadena se calcula usando u 2 es la cardinalidad del alfabeto y es la longitud de la cadena . 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 parmetros de dise o a n o genes. 2 La raz n por la que se suma uno a la cardinalidad es porque en los esquemas se usa un smbolo o adicional (normalmente el asterisco o el smbolo de n mero) para indicar que no nos importa el u valor de esa posici n. o
1
96
$P 4Hj25!
6q f
u u ` u vr 6q
P YP
u u u vr v YP
El hecho de contar con m s esquemas favorece la diversidad e incrementa a la probabilidad de que se formen buenos bloques constructores (es decir, la porci n de un cromosoma que le produce una aptitud elevada a la cadena en la cual o est presente) en cada generaci n, lo que en consecuencia mejora el desempe o a o n del AG con el paso del tiempo de acuerdo al teorema de los esquemas [105, 127]. El paralelismo implcito 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 n, estima de forma implcita las aptitudes promedio de un n mero mucho o u m s alto de cadenas cromos micas a trav s del c lculo de las aptitudes promedio a o e a observadas en los bloques constructores que se detectan en la poblaci n. o 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 lo por razones te ricas (de acuerdo al teorema de los esqueo o mas formulado por Holland), sino que tambi n tiene una justicaci n biol gica, e o o ya que en gen tica es m s usual tener cromosomas con muchas posiciones y pocos e a alelos por posici n que pocas posiciones y muchos alelos por posici n [127]. o o Sin embargo, Holland [127] tambi n demostr que el paralelismo implcito e o 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 mero de esquemas posibles por bit de informaci n si se compara con cualquier u o otra codicaci n posible [105, 159]. No obstante, ha habido un largo debate en o torno a cuestiones relacionadas con estos alfabetos no binarios, principalmente por parte de los especialistas en aplicaciones de los AGs. Como veremos en este captulo, el uso de la representaci n binaria tiene varias desventajas cuando el AG o se usa para resolver ciertos problemas del mundo real. Por ejemplo, si tratamos de optimizar una funci n con alta dimensionalidad (digamos, con 50 variables), o y queremos trabajar con una buena precisi n (por ejemplo, cinco decimales), eno tonces el mapeo de n meros reales a binarios generar cadenas extremadamente u a largas (del orden de 1000 bits en este caso), y el AG tendr muchos problemas a para producir resultados aceptables en la mayor parte de los casos, a menos que usemos procedimientos y operadores especialmente dise ados para el problema n en cuesti n. Ronald [192] resume las principales razones por las que una codio caci n binaria puede no resultar adecuada en un problema dado: o
Se denomina gene o gen a cualquier posici n a lo largo de una cadena que representa a un o individuo.
97
En el resto de este captulo discutiremos algunos esquemas de representaci n o alternativos que han sido propuestos recientemente para lidiar con estas y otras limitaciones de la representaci n binaria. o
P v P P P v lP u Fv u tjP
Representaci n natural : algunos problemas (como el del viajero) se prestan o de manera natural para la utilizaci n de representaciones de mayor cardinalo idad 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 ticos utilizados pueden producir e con frecuencia (e incluso todo el tiempo) soluciones ilegales si se usa una representaci n binaria. o
98
Signo
Exponente
Mantisa
0
1 bit
10001011 0100...0
8 bits 23 bits
Figura 5.2: Un ejemplo de notaci n del IEEE. o prueba cl sicas de De Jong [137] (ver por ejemplo [40, 155]. De hecho, Mathias y a Whitley [156] encontraron que la codicaci n de Gray no s lo elimina los riscos o o de Hamming, sino que tambi n altera el n mero de optimos locales en el espacio e u de b squeda as como el tama o de las buenas regiones de b squeda (aquellas u n u que nos conducir n a la vecindad del optimo global). En su trabajo, Mathias y a Whitley mostraron empricamente que un mutador aleatorio del tipo escalando la colina es capaz de encontrar el optimo global de la mayor parte de las funciones de prueba utilizadas cuando se emplea la codicaci n de Gray, a pesar de que o algunas de ellas fueron dise adas explcitamente para presentar dicultades a los n algoritmos de b squeda tradicionales (sean evolutivos o no). u
bbTFbiba
Figura 5.3: Un ejemplo de un algoritmo gen tico con representaci n real. e o tar n meros reales, como por ejemplo el est ndar del IEEE para precisi n simple, u a o en el cual un n mero real se representa usando 32 bits, de los cuales 8 se usan para u el exponente usando una notaci n en exceso-127, y la mantisa se representa con o 23 bits (ver gura 5.2 [205]), podramos manejar un rango relativamente grande de n meros reales usando una cantidad ja de bits (por ejemplo, de u a si usamos el est ndar de precisi n simple antes descrito). Sin embargo, el proceso a o de decodicaci n sera m s costoso (computacionalmente hablando) y el mapeo o a entre el espacio de representaci n y el de b squeda sera mucho m s complejo que o u a cuando se usa una representaci n binaria simple, porque cualquier peque o camo n bio en el exponente producira grandes saltos en el espacio de b squeda, mientras u que perturbaciones en la mantisa podran no cambiar de manera signicativa el valor num rico codicado. e Mientras los te ricos arman que los alfabetos peque os son m s efectivos o n a que los alfabetos grandes, los pr cticos han mostrado a trav s de una cantidad a e signicativa de aplicaciones del mundo real (particularmente problemas de optimizaci n num rica) que el uso directo de n meros reales en un cromosoma funo e u ciona mejor en la pr ctica que la representaci n binaria tradicional [64, 76]. El a o uso de n meros reales en una cadena cromos mica (ver gura 5.3) ha sido com n u o u en otras t cnicas de computaci n evolutiva tales como las estrategias evolutivas e o [204] y la programaci n evolutiva [82], donde la mutaci n es el operador prino o cipal. Sin embargo, los te ricos de los AGs han criticado fuertemente el uso de o valores reales en los genes de un cromosoma, principalmente porque esta representaci n de cardinalidad m s alta tiende a hacer que el comportamiento del AG o a sea m s err tico y difcil de predecir. Debido a esto, se han dise ado varios opa a n eradores especiales en los a os recientes, para emular el efecto de la cruza y la n mutaci n en los alfabetos binarios [231, 76, 67]. o Los pr cticos argumentan que una de las principales capacidades de los AGs a que usan representaci n real es la de explotar la gradualidad de las funciones o de variables continuas6. Esto signica que los AGs con codicaci n real pueden o
6
Gradualidad se reere a los casos en los cuales un cambio peque o en las variables se n
100
Q B r
Figura 5.4: Una representaci n entera de n meros reales. La cadena completa es o u decodicada como un solo n mero real multiplicando y dividiendo cada dgito de u acuerdo a su posici n. o lidiar adecuadamente con los riscos producidos cuando las variables utilizadas son n meros reales, porque un cambio peque o en la representaci n es mapeado u n o como un cambio peque o en el espacio de b squeda [231, 76]. En un intento por n u reducir la brecha entre la teora y la pr ctica, algunos investigadores han desar a rollado un marco te rico que justique el uso de alfabetos de m s alta cardinalio a dad [231, 76, 108, 215], pero han habido pocos consensos en torno a los problemas principales, por lo que el uso de AGs con codicaci n real sigue siendo una o elecci n que se deja al usuario. o Se han usado tambi n otras representaciones de los n meros reales. Por ejeme u plo, el uso de enteros para representar cada dgito ha sido aplicado exitosamente a varios problemas de optimizaci n [44, 43]. La gura 5.4 muestra un ejemplo en o el cual se representa el n mero 1.45679 usando enteros. En este caso, se supone u una posici n ja para el punto decimal en cada variable, aunque esta posici n no o o tiene que ser necesariamente la misma para el resto de las variables codicadas en la misma cadena. La precisi n est limitada por la longitud de la cadena, y o a puede incrementarse o decrementarse seg n se desee. Los operadores de cruza u tradicionales (un punto, dos puntos y uniforme) pueden usarse directamente en esta representaci n, y la mutaci n puede consistir en generar un dgito aleatorio o o para una cierta posici n o bien en producir una peque a perturbaci n (por ejemplo o n o ) para evitar saltos extremadamente grandes en el espacio de b squeda. Esta u representaci n pretende ser un compromiso entre un AG con codicaci n real y o o una representaci n binaria de n meros reales, manteniendo lo mejor de ambos o u esquemas al incrementar la cardinalidad del alfabeto utilizado, pero manteniendo el uso de los operadores gen ticos tradicionales casi sin cambios. e Alternativamente, podramos tambi n usar enteros largos para representar n meros e u reales (ver gura 5.5), pero los operadores tendran que redenirse de la misma manera que al usar n meros reales. El uso de este esquema de representaci n u o como una alternativa a los AGs con codicaci n real parece, sin embargo, un tanto o
traduce en un cambio peque o en la funci n. n o
101
145679
67893
37568
95432
Figura 5.5: Otra representaci n entera de n meros reales. En este caso, cada gene o u contiene un n mero real representado como un entero largo. u improbable, ya que se tendran que hacer sacricios notables en la representaci n, o y los unicos ahorros importantes que se lograran seran en t rminos de memoria e (el almacenamiento de enteros toma menos memoria que el de n meros reales). u 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 lidas en un algoritmo gen tico desordea e nado. en contraposici n con el AG est ndar (u ordenado), que tiene longitud y tama o o a n de poblaci n jos [167]. La idea b sica de los AGs desordenados es empezar con o a cromosomas cortos, identicar un conjunto de buenos bloques constructores y despu s incrementar la longitud del cromosoma para propagar estos buenos bloques e constructores a lo largo del resto de la cadena. La representaci n usada por los AGs desordenados es muy peculiar, puesto o que cada bit est realmente asociado con una posici n en particular a lo largo a o de la cadena, y algunas posiciones podran ser asignadas a m s de un bit (a esto a se le llama sobre-especicaci n) mientras que otras podran no ser asignadas a o ninguno (a esto se le llama sub-especicacion). Consideremos, por ejemplo, a las dos cadenas mostradas en la gura 5.6, las cuales constituyen cromosomas v lidos para un AG desordenado (estamos suponiendo cromosomas de 4 bits). La a notaci n adoptada en este ejemplo usa par ntesis para identicar a cada gene, el o e cual se dene como un par consistente de su posici n a lo largo de la cadena (el o primer valor) y el valor del bit en esa posici n (estamos suponiendo un alfabeto o binario). En el primer caso, la primera y la cuarta posici n no est n especicadas, o a y la segunda y la tercera est n especicadas dos veces. Para lidiar con la sobrea especicaci n pueden denirse algunas reglas determinsticas muy sencillas. Por o ejemplo, podemos usar s lo la primera denici n de izquierda a derecha para una o o cierta posici n. Sin embargo, para la sub-especicaci n tenemos que hacer algo o o m s complicado, porque una cadena sub-especicada realmente representa a un a 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 optimo local y la informaci n obtenida la podemos utilizar para reemplazar a los o 103
(2, 0)
(2 , 1) (3 , 1) (1 , 0) (4 , 1)
Figura 5.7: Un ejemplo del operador de corte en un AG desordenado. La lnea gruesa indica el punto de corte. no me importa del esquema. A esta t cnica se le denomina plantillas competie tivas [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 estos se combinan. El problema es c mo decidir qu tan largos deben ser estos esqueo e mas cortos. Si son demasiado cortos, pueden no contener suciente material gen tico como para resolver el problema deseado; si son demasiado largos, la e t cnica puede volverse impr ctica debido a la maldici n de la dimensionalidad e a o (tendramos que generar y evaluar demasiados cromosomas). Durante la fase primordial generamos entonces estos esquemas cortos y evaluamos sus aptitudes. Despu s de eso, aplicamos s lo selecci n a la poblaci n (sin e o o o cruza o mutaci n) para propagar los buenos bloques constructores, y se borra la o mitad de la poblaci n a intervalos regulares [167]. Despu s de un cierto n mero o e u (predenido) de generaciones, terminamos la fase primordial y entramos a la fase yuxtaposicional. A partir de este punto, el tama o de la poblaci n permanecer n o a jo, y usaremos selecci n y dos operadores especiales llamados corte y uni n o o [112]. El operador de corte simplemente remueve una porci n del cromosoma, o mientras que el de uni n junta dos segmentos cromos micos. Considere los ejemo o plos 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 n siempre ser n v lidas. Si los bloques constructores o a a producidos en la fase primordial acarrean suciente informaci n, entonces el AG o desordenado ser capaz de arribar al optimo global aunque el problema tenga dea cepci n [111]. Aunque es sin duda muy prometedor, los inconvenientes pr cticos o a del AG desordenado [167] han impedido su uso extendido, y actualmente se reportan relativamente pocas aplicaciones (ver por ejemplo [41, 141, 119]. 104
(1 , 1) (1 , 0) (4 , 1) (3 , 1) (3 , 0) (2 , 1) (4 , 0)
(2, 0)
(2 , 1) (2 , 1) (4 , 0)
Figura 5.8: Un ejemplo del operador uni n en un AG desordenado. La lnea o gruesa muestra la parte de la cadena que fue agregada.
(1 , 1) (1 , 0) (4 , 1) (3 , 1) (3 , 0) (3 , 1) (1 , 0) (4 , 1)
OR
AND
AND
NOT
NOT
A0
A1
A0
A1
Figura 5.9: Un ejemplo de un cromosoma usado en programaci n gen tica. o e betos diferentes y operadores especializados para evolucionar programas generados aleatoriamente hasta que estos se vuelvan v lidos para resolver cierta a tarea predenida, aunque los principios b sicos de esta t cnica pueden genera e alizarse a cualquier otro dominio. Los arboles se componen de funciones y termi nales. Las funciones usadas normalmente son las siguientes [145]: 1. Operaciones aritm ticas (por ejemplo: +, -, , e
2. Funciones matem ticas (por ejemplo: seno, coseno, logaritmos, etc.) a 3. Operaciones Booleanas (por ejemplo: AND, OR, NOT) 4. Condicionales (IF-THEN-ELSE) 5. Ciclos (DO-UNTIL) 6. Funciones recursivas 7. Cualquier otra funci n denida en el dominio utilizado o Las terminales son tpicamente 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 arboles correspondi entes 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- rboles por debajo de dicho punto a se intercambien (ver gura 5.11, donde suponemos que el punto de cruza para 106
"
bH
"
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 arbol 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
A1
Figura 5.12: Un ejemplo de mutaci n en la programaci n gen tica. o o e el primer padre es 2 y para el segundo es 6). Tpicamente, los tama os de los 2 n arboles padres ser diferente, como se muestra en el ejemplo anterior. Tambi n a e debe observarse que si el punto de cruza es la raz de uno de los dos arboles padres, entonces todo ese cromosoma se volver un sub- rbol del otro padre, lo cual pera a mite la incorporaci n de subrutinas en un programa. Tambi n es posible que las o e races de ambos padres sean seleccionadas como puntos de cruza. En ese caso, no se efect a la cruza, y los hijos pasan a ser id nticos a sus padres. Normalmente, u e la implementaci n de la programaci n gen tica impone un lmite en cuanto a la o o e m xima profundidad que puede alcanzar un arbol, a n de evitar la generaci n (al a o azar y producto del uso de la cruza y la mutaci n) de arboles de gran tama o y o n complejidad. La mutaci n se efect a mediante la selecci n (aleatoria) de un cierto punto de o u o un arbol. El sub- rbol que se encuentre por debajo de dicho punto es reemplazado a por otro arbol generado al azar. La gura 5.12 muestra un ejemplo del uso de este operador (el punto de mutaci n en este ejemplo es el 3). o La permutaci n es un operador asexual que emula el efecto del operador de o inversi n que se usa en los algoritmos gen ticos [105]. Este operador reordena las o e hojas de un sub- rbol ubicado a partir de un punto elegido al azar, y su nalidad a es fortalecer la uni n de combinaciones de alelos con buen desempe o dentro de o n un cromosoma [127]. La gura 5.13 muestra un ejemplo del uso del operador de permutaci n (el punto seleccionado en este caso es el 4). En la gura 5.13, el o * indica multiplicaci n y el indica divisi n protegida, reri ndose a un o o e operador de divisi n que evita que nuestro programa genere un error de sistema o cuando el segundo argumento sea cero. En la programaci n gen tica es posible tambi n proteger o encapsular un o e e
108
& 75 98$364
+
2 7
*
8 9
A
5
E
6
109
T Y W VT R a`X9USQ
CFE CA 9G1)D9B@
+ (E0)
C PI 98A3H T ec U)Rfdb
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- rbol que sepamos constituye un buen bloque constructor, a n de evia tar que sea destruido por los operadores gen ticos. El sub- rbol seleccionado es e a reemplazado por un nombre simb lico que apunta a la ubicaci n real del subo o arbol, y dicho sub- rbol es compilado por separado y enlazado al resto del arbol a 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- rbol de la a derecha es reemplazado por el nombre (E0). Normalmente, tambi n es necesario editar las expresiones generadas a n de e 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 n gen tica tambi n proporciona mecanismos para o e e destruir un cierto porcentaje de la poblaci n de manera que podamos renovar el o material cromos mico despu s de un cierto n mero de generaciones. Este mecano e u ismo, llamado ejecuci n, es muy util en dominios de alta complejidad en los o cuales nuestra poblaci n puede no contener ni un solo individuo factible a n deo u spu s de un gran n mero de generaciones. e u
( c 1 c 2 c3
Figura 5.16: Una representaci n cromos mica de la estructura de 2 niveles del o o 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 an como u 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 mica lineal, pero realmente codica una eso tructura gen tica de varios niveles (un grafo dirigido o un arbol) tal y como se e 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 s a bajo nivel, lo que signica que cualquier cambio peque o a un alto nivel se magn nica en los niveles inferiores [60]. La idea es que los genes de alto nivel deben explorar las areas potenciales del espacio y los de bajo nivel deben explotar ese sub-espacio. La estructura jer rquica usada por el stGA es, sin embargo, codicada como a 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 s complicada que el arreglo unidimensional que requiere un AG a tradicional. La gura 5.17 muestra un ejemplo de dicha estructura de datos. En esta gura, cada gene en los niveles superiores act a como un puntero cambiable u que tiene dos estados posibles: cuando el gene est activo (encendido), apunta a a 111
su gene de m s bajo nivel y cuando es pasivo (apagado), apunta al gene del mismo a nivel en que se encuentre [60].
tambi n saber m s acerca de las representaciones (distintas a la binaria tradie a cional) que actualmente existen, pues su uso adecuado puede ahorrar mucho trabajo innecesario y permitirnos concentrarnos en la aplicaci n misma del algoo ritmo gen tico a nuestro problema en vez de canalizar todas nuestras energas en e el dise o de operadores gen ticos especiales. n e
Roland [191, 192], tambi n estudi diversas representaciones y proporcion e o o sus propios lineamientos de dise o: n
g g g g g g g g
Una codicaci n debe ser capaz de representar todos los fenotipos posibles. o Una codicaci n debe ser carente de sesgos en el sentido de que todos los o individuos deben estar igualmente representados en el conjunto de todos los genotipos posibles. Una codicaci n no debiera codicar soluciones infactibles (esto no es noro malmente posible en la mayora de los dominios). La decodicaci n debiera ser f cil. o a Una codicaci n debe poseer localidad (o sea, cambios peque os en el o n genotipo debieran producir cambios peque os en el fenotipo). n
Las codicaciones deben ajustarse a un conjunto de operadores gen ticos e de tal forma que los buenos bloques constructores se preserven de padres a hijos [88]. Las codicaciones deben minimizar la epstasis [21]. Deben preferirse las soluciones factibles en una codicaci n. o 113
N tese, sin embargo, que existe evidencia reciente que contradice el ultimo o punto de los lineamientos de Ronald, pues las representaciones redundantes parecen mejorar el desempe o de un algoritmo evolutivo [194]. n
114
tq q C3srpi"h
bH
g g g
El problema debiera representarse a un nivel correcto de abstracci n. o 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 rcas, donde el fenotipo de un individuo es codicado con o m s de un genotipo, debieran ser evitadas. a
g g g
3. Universal Estoc stica a 4. Muestreo Determinstico Adicionalmente, las t cnicas de selecci n proporcional pueden tener los sigue o ientes aditamentos: 1. Escalamiento Sigma 2. Jerarquas 3. Selecci n de Boltzmann o
6.1.1 La Ruleta
Esta t cnica fue propuesta por DeJong [137], y ha sido el m todo m s com nmente e e a u usado desde los orgenes de los algoritmos gen ticos. El algoritmo es simple, pero e . Asimismo, presenta el problema de que el ineciente (su complejidad es individuo menos apto puede ser seleccionado m s de una vez. Sin embargo, buena a parte de su popularidad se debe no s lo a su simplicidad, sino al hecho de que su o implementaci n se incluye en el libro cl sico sobre AGs de David Goldberg [105]. o a El algoritmo de la Ruleta (de acuerdo a DeJong [137]) es el siguiente:
Ciclar a trav s de los individuos de la poblaci n sumando los valores e o esperados hasta que la suma sea mayor o igual a . El individuo que haga que esta suma exceda el lmite es el selec cionado. Veamos ahora un ejemplo: aptitud 25 81 Ve 0.35 1.13 116
(1) (2)
Repetir
veces (
wvIu
Suma de Ve
Generar
r = 1.3
Seleccionar a ind2 En este ejemplo, se reere al valor esperado (o n mero esperado de copias u que se esperan obtener) de un individuo. 6.1.1.1 An lisis de la Ruleta a Problemas: diferencias entre y el valor real (o sea, el verdadero n mero de u copias obtenidas). El peor individuo puede seleccionarse varias veces.
Mejoras posibles: Uso de b squeda binaria en vez de b squeda secuencial para u u localizar la posici n correcta de la rueda. Esto requiere memoria extra y un recoro rido para calcular los totales acumulados por cada segmento de la rueda. Pero, en contraste, la complejidad total se reduce a .
117
v 3Xba&tvIu
yx v u zBwws
qf6 r p qnCj
d ' b
(tama o n
l q g e oijhn lmxkjihf q g e x h
(3) (4)
36 144
0.51 2.01
tvIu
%tv)u
La idea principal es asignar determinsticamente las partes enteras de los val ores esperados para cada individuo y luego usar otro esquema (proporcional) para la parte fraccionaria. El sobrante estoc stico reduce los problemas de la ruleta, pero puede causar a convergencia prematura al introducir una mayor presi n de selecci n. o o El algoritmo es el siguiente: 1. Asignar de manera determinstica el conteo de valores esperados a cada individuo (valores enteros). 2. Los valores restantes (sobrantes del redondeo) se usan probabilsticamente para rellenar la poblaci n. o 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 cnica de manera tradicional. e
Veamos un ejemplo:
1 y 3 (partes enteras)
118
bjH h { @
Cadena
yx v u d zBwws
g g
aptitud
enteros 1 0 1 0
Proceder hasta tener el n mero de padres requeridos. u Con reemplazo: Armar una ruleta % del total 0.12 0.39 0.38 0.11
6.1.2.1 An lisis del Sobrante Estoc stico a a Complejidad: Versi n con reemplazo: o Versi n sin reemplazo: o
La m s popular es la versi n sin reemplazo, la cual parece ser superior a la a o ruleta [24]. Tal y como mencionamos anteriormente, el sobrante estoc stico reduce los a problemas de la ruleta, pero puede producir convergencia prematura al introducir una mayor presi n de selecci n (producto de la asignaci n determinstica de los o o o valores esperados de cada individuo).
%wvIu tv)u
b
ip(0.23)
ip(0.78) . . .
ip(0.23)
'
ptr=Rand();
for(sum=0,i=1;i ;i++) for(sum+= ;sum ptr;ptr++) Seleccionar(i); Ejemplo: (1) (2) (3) (4) 1.23 0.78 1.76 0.23
inicializaci n o
i=2
i=3
120
kqzt}oGxBwvws ~ y u v p
r p r p r
Padres: (1), (2), (3), (3) 6.1.3.1 An lisis de la selecci n universal estoc stica a o a
Problemas:
No resuelve el problema m s serio de la selecci n proporcional (o sea,la a o imprecisi n entre los valores esperados y los n meros de copias de cada o u individuo que son realmente seleccionados).
Ejemplo:
'
wX
aptitud
yx v u zBww
%tv)u
Complejidad:
g g g g g g g g
( =tama o de la poblaci n) n o .
enteros 1 0 1 0
ordenar fracciones 0.78 (2) 0.76 (3) 0.23 (1) 0.23 (4)
si si
yx v u zBws
p~%h
Ejemplo:
p ~q yx v u Tzzw}zBw
Si
puede hacerse
v %ba&tv)u
ai zzw}zBtw ~q yx v u
%tv)u
b Yb
para la asignaci n determinstica y es o (6.1) (6.2)
@
v
Observaci n: Baj un poco el valor esperado del mejor individuo y subi el del o o o peor. 6.1.5.1 An lisis del escalamiento sigma a El escalamiento sigma produce el siguiente comportamiento en la selecci n: o
Al inicio de una corrida, el valor alto de la desviaci n est ndar impedir que o a a los mejores individuos obtengan los segmentos m s grandes de la ruleta. a
Hacia el nal, la desviaci n est ndar ser m s baja y los individuos m s o a a a a aptos podr n muliplicarse m s f cilmente. a a a
123
@
g g g
(donde
Calcular
Baker recomend o
Usar selecci n proporcional aplicando los valores esperados obtenidos de o la expresi n anterior. o (jerarqua menor a la aptitud m s baja) a
Ejemplo:
+ tiempo de selecci n. o Complejidad: Algunos puntos interesantes respecto a la aplicabilidad de esta t cnica: e Es util cuando la funci n tiene ruido (p.ej., cuando hay una variable aleato o ria).
Existen otros m todos de asignaci n de jerarquas adem s del lineal (p. ej., e o a exponencial).
Puede alentar sobremanera la convergencia del algoritmo gen tico, por lo e que su uso suele limitarse a situaciones en las que el AG convergera pre maturamente en caso de no aplicarse. 124
i u ~q yx v u } i u } t 93vI6v zzw}zBw
(1) (2) (3) (4) (5) 0.95 1.10 0.90 1.05 1.00
yx v u zBtw
iu j v } i u i u Y6sQ6
aptitud 12 245 9 194 48
v v %tftv)u
g g g g g g g g
Elegir
jerarquas 2 5 1 4 3
Valesp(i,t) donde es la temperatura y generaci n t. o Veamos un ejemplo de su uso: Ejemplo: aptitud 220 140 315 42
Supongamos:
YH j j` j`bbbYH C2x ~
B6i{ k bb b{C
125
(6.3)
yx v u zBws
j`U@w~x bbbb
%
w~x Cgx
g g g g g g g
Se ha utilizado m s para optimizaci n multimodal y multiobjetivo (fora o maci n de nichos). o Existen pruebas de convergencia de la t cnica hacia el optimo global. e Tiene el inconveniente de requerir la denici n de la funci n de variaci n o o o de temperatura.
Determinstica Probabilstica
Barajar los individuos de la poblaci n. o Escoger un n mero de individuos (tpicamente 2). u 126
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) Ganadores (6) (3) (4)
Selecciona
B# @ Ct Cg
Selecciona
(3)
(1) 127
~ c~ ~ c~
q v @ig%
g g g
Compararlos con base en su aptitud. El ganador del torneo es el individuo m s apto. a Debe barajarse la poblaci n un total de veces para seleccionar o (donde es el tama o de la poblaci n). n o padres
Y as sucesivamente. El algoritmo de la versi n probabilstica es id ntico al anterior, excepto por el o e paso en que se escoge al ganador. En vez de seleccionar siempre al individuo con 1 y si el resultado es cierto, se selecciona al m s a aptitud m s alta, se aplica a 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:
Esta variante reduce un poco la presi n de selecci n, permitiendo que en alo o gunas cuantas ocasiones el individuo menos apto gane el torneo.
La versi n determinstica garantiza que el mejor individuo ser seleccionado o a veces (tam torneo).
Complejidad: 1. Cada competencia requiere la selecci n aleatoria de un n mero cono u stante de individuos de la poblaci n. Esta comparaci n puede reo o alizarse en .
128
v yoyp}fh
@)u
j y y y p tnj
i
y g
Puede introducir una presi n de selecci n muy alta (en la versi n detero o o minstica) porque a los individuos menos aptos no se les da oportunidad de sobrevivir.
Tiene sentido aplicar jerarquas lineales a la selecci n mediante torneo? o No, porque la selecci n mediante torneo realiza comparaciones directas eno tre individuos. El uso de jerarquas lineales no cambiara en nada la presi n o de selecci n. o
Si se usa tam torneo=1, se produce una caminata aleatoria con una presi n o de selecci n muy baja. o
Si se usa tam torneo= , la selecci n se vuelve totalmente determinstica o (los mejores individuos globales son seleccionados). A esto se le llama elitismo global. Si se usa tam torneo 10, la selecci n se considera dura. o Si se unsa tam torneo entre 2 y 5, la selecci n se considera blanda. o
%tv)u
g g g g g g g g
En general, la t cnica resulta util cuando los miembros de la poblaci n resuele o ven 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 n de estado uniforme es el siguiente: o
Su complejidad (en la variante incluida en GENITOR, la cual usa jerarquas lineales) es . Los AGs no generacionales no son muy comunes en aplicaciones de optimizaci n, aunque s pueden utilizarse. o
v v 3BwwvIu
Reemplazar los .
peores individuos de
. (o a los
Seleccionar plo, .
g g g g g g g g
Llamaremos
Se denomina brecha generacional a la cantidad de traslape existente entre padres e hijos. Una brecha generacional grande implica poco (o ning n) traslape u poblacional y viceversa. Hist ricamente, la programaci n evolutiva y las estrategias evolutivas han uso o ado 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 que las ventajas de las poblaciones traslao pables se dilu debido a los efectos negativos del desvo gen tico. ian e M s tarde, Grefenstette [116] conrmara que una brecha generacional alta a pareca mejorar el desempe o del AG. n Los primeros experimentos con los sistemas clasicadores, conrmaran, sin embargo, un comportamiento exactamente opuesto [127]. En los sistemas clasicadores, el desempe o del AG pareca degradarse conn forme se aumentaba la brecha generacional. Algunos investigadores atribuyen los resultados de DeJong y Grefenstette al uso de poblaciones peque as. n Los AGs tradicionales siguen usando, sin embargo, poblaciones no traslapables. Los algoritmos evolutivos de estado uniforme son aquellos en los que la poblaci n es traslapable. Normalmente, s lo uno o dos hijos se producen en cada o o iteraci n de un AE de estado uniforme. o
g g g
Suele usarse:
donde
Ejemplo:
6.5.1.1 An lisis de la selecci n disruptiva a o La principal motivaci n de la selecci n disruptiva es distribuir m s los esfuerzos o o a de la b squeda hacia las soluciones extremadamente buenas y extremadamente u malas. Los individuos cercanos a la media son desechados. La utilidad de este m todo es altamente dependiente en la aplicaci n. Suele e o us rsele m s frecuentemente con funciones de aptitud din micas. a a a
bb
t Q G%
G%
w~h
extremos m s aptos a
Al igual que con las jerarquas lineales, se asigna la jerarqua m s baja al peor a individuo y la m s alta al mejor. a Una vez que se conocen las probabilidades de que un individuo sea seleccionado, obtenemos multiplicando por . Veamos un ejemplo:
Supongamos:
Teniendo los valores esperados, puede usarse cualquier t cnica de selecci n e o proporcional, al igual que en el caso de las jerarquas lineales. 6.5.2.1 An lisis de las jerarquas no lineales a Thomas B ck [8] advirti sobre el problema que tenemos en el ejemplo presentado a o anteriormente: las probabilidades obtenidas con este m todo no suman uno. e B ck [8] tambi n advirti que esta t cnica puede hacerse pr cticamente id ntica a e o e a e al torneo dependiendo del valor de que se use. Valores grandes de implican una mayor presi n de selecci n inversa (o sea, implica darle mayor oportunidad o o al individuo menos apto de reproducirse). 133
yx v u zBws
wt9%o
jerarqua 2 5 1 4 3
yx v u zBwws
u 61 u lU g ' ojhe
Michalewicz [161] advierte que la suma de probabilidades en su t cnica puede e hacerse igual a uno si usamos: donde:
Usando de nuevo:
Cabe mencionar que se han usado tambi n otras variantes de las jerarquas e no lineales. Por ejemplo, Whitley & Kauth [226] propusieron el uso de una distribuci n geom trica de acuerdo a la cual la probabilidad de que un individuo o e sea seleccionado est dada por: a (6.4)
donde es un par metro denido por el usuario, es el tama o de la a n poblaci n y es la jerarqua del individuo (denida de tal forma que el menos o apto tiene una jerarqua de 1 y el m s apto tiene una jerarqua de ). Si el individuo a es el mejor en la poblaci n, entonces o , con lo que se hara . Por lo tanto, es realmente la probabilidad de que seleccionar al mejor individuo en la poblaci n [69]. o 134
j bbi bY
yx v u zBws
{YBiCYCY z d
u hQu y
wtX }
Q G%
= tama o de la poblaci n n o jerarqua 2 5 1 4 3 (mayor) (menor) (mayor) (menor) (menor)
1 l g e 9ajqu
A su vez, las t cnicas extintivas se dividen en: e 1. Selecci n Izquierda: Se impide a los mejores individuos reproducirse a n o de evitar convergencia prematura. 2. Selecci n Derecha: No se tiene control explcito sobre la capacidad reproo ductiva de los individuos m s aptos. a Adicionalmente, algunas t cnicas de selecci n son puras en el sentido de que e o a los padres se les permite reproducirse solamente en una generaci n (es decir, el o tiempo de vida de cada individuo est limitado a s lo una generaci n, independia o o entemente de su aptitud).
considerando en el rango usando n meros reales con una preu cisi n de seis cifras despu s del punto decimal. Lo que debe entregarse es o e lo siguiente:
El c digo fuente en C/C++ del programa, con comentarios. En cada o generaci n deber retenerse a la mejor soluci n (elitismo), y deber n o a o a imprimirse al menos las siguientes estadsticas por generaci n: me o dia de aptitud de la poblaci n, aptitud m xima y mnima, n mero de o a u cruzas efectuadas, n mero de mutaciones efectuadas y cadena binaria u correspondiente al mejor individuo (el que tenga la aptitud m s alta). a Adicionalmente, deber imprimirse el mejor individuo global (es dea cir, contando todas las generaciones), su aptitud y su cadena binaria.
Un an lisis breve que indique c mo se efect a el mapeo de las varia o u ables de binario a decimal y viceversa, incluyendo detalles de la codicaci n utilizada (por ejemplo, c mo se deriv el n mero de bits a o o o u utilizarse en las cadenas y qu tipo de decodicaci n se emple ). e o o 136
(6.5)
g g
Una corrida con par metros mminos (una poblaci n de s lo 6 india o o viduos, corriendo s lo 2 generaciones), a n de ilustrar que la cruza, o mutaci n y selecci n se efectuaron correctamente. En la corrida se o o mostrar n las cadenas binarias correspondientes a cada individuo, as a 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 n (usar un porcentaje relativamente alto a n de que se produzca o mutaci n con una poblaci n peque a). Asimismo, se deber ilustrar o o n a el proceso de selecci n paso por paso, indicando los valores esperados o para cada individuo, la aptitud promedio de la poblaci n y el n mero o u de copias de cada individuo tras el proceso de selecci n. o 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 metros (porcentaje de cruza y mua taci n, tama o de la poblaci n y m ximo n mero de generaciones) o n o a u pero diferente semilla para generar n meros aleatorios. En el reporte u deber aparecer la mejor soluci n obtenida, la media de aptitud, la a o peor soluci n obtenida y la desviaci n est ndar de las 20 corridas o o a en cada caso. efectuadas. Deber mostrarse el valor de y de a Asimismo, se incluir la gr ca de convergencia correspondiente a la a a soluci n que est en la mediana de los resultados obtenidos (de las 20 o e u corridas). En esta gr ca se mostrar en el eje de las el n mero de a a generaciones (de cero al m ximo permisible) y en el eje de las se a mostrar la aptitud promedio de cada generaci n. a o
En la p gina web del curso se encuentra un programa (en GNU C para a Unix) que implementa un algoritmo gen tico simple con representaci n bie o naria, selecci n mediante torneo, cruza de 2 puntos y mutaci n uniforme o o (en una variante que no vimos en clase). Este programa optimiza la funci n o , aunque imprime toda la informaci n de cada generaci n, ino o
137
pi"h
i pi"h
g g g
Estime el tama o intrnseco del espacio de b squeda para este probn u lema. Es decir, dada la longitud de la cadena binaria que representa a los valores posibles de , estime cu ntas posibles soluciones pueden generarse. Dada una corrida promedio de las realizadas (con los par metros a que Ud. guste), indique qu porcentaje aproximado del espacio de e b squeda ha explorado el AG para encontrar la soluci n. u o
cluyendo las cadenas correspondientes a cada individuo. Esta informaci n o (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 n que puede desarrollar una implementaci n por e o cuenta propia, sin utilizar ning n elemento del c digo proporcionado. u o 2. El objetivo de este problema es que experimente con t cnicas alternativas e de representaci n y selecci n. Usando el mismo programa desarrollado en o o el problema anterior (con los cambios indicados a continuaci n), deber o a minimizar la siguiente funci n: o
Considere una precisi n de 3 dgitos despu s del punto decimal. Esta es la o e funci n F5 de DeJong [137]. o Para este problema se usar un algoritmo gen tico con las siguientes caraca e tersticas:
(6.6)
(6.7)
(6.8)
g g g g g
Representaci n binaria con c digos de Gray y representaci n entera o o o (un programa separado para cada caso). Selecci n proporcional (en la variante indicada m s adelante). o a Cruza de dos puntos. Mutaci n uniforme (como en la tarea anterior). En el caso de la repo resentaci n entera, para mutar genere un entero aleatorio entre 0 y 9 o para cada posici n a ser mutada y haga el reemplazo correspondiente. o
g g g g g
M todo del sobrante estoc stico con reemplazo. e a Selecci n mediante jerarquas lineales (usar Max=1.1) aplicada a la o selecci n universal estoc stica. o a Escalamiento sigma aplicado al m todo del sobrante estoc stico sin e a reemplazo.
El c digo fuente en C/C++ y los ejecutables de dos programas: uno o que implemente el algoritmo gen tico simple con representaci n bie o naria con c digos de Gray y otro que implemente una representaci n o o entera en la que se je la posici n del punto decimal y se genere un o dgito en cada alelo de la cadena. Es importante asegurarse de que am bos programas pueden lidiar con valores decodicados fuera de rango a todo momento. Los programas deber n pedir al usuario (de forma interactiva y NO a a trav s de la lnea de comandos) los par metros principales del ale a goritmo gen tico: tama o de la poblaci n, porcentaje de cruza, pore n o centaje de mutaci n, n mero m ximo de generaciones y nombre del o u a archivo donde se almacenar n los datos de cada corrida. En cada gena eraci n deber retenerse a la mejor soluci n (elitismo), y deber n imo a o a primirse al menos las siguientes estadsticas por generaci n: media de o aptitud de la poblaci n, aptitud m xima y mnima, n mero de cruzas o a u efectuadas, n mero de mutaciones efectuadas y cadena (binaria o decu imal) correspondiente al mejor individuo (el que tenga la aptitud m s a alta). Adicionalmente, deber imprimirse el mejor individuo global a (es decir, contando todas las generaciones), su aptitud y su cadena (binaria o decimal). Dos corridas de ejemplo (una usando una representaci n binaria con o c digos de Gray y la otra usando codicaci n entera), y los resulo o tados promediados de AL MENOS 20 corridas independientes para cada programa en las que se usen los mismos par metros (porcentaje a de cruza y mutaci n, tama o de la poblaci n y m ximo n mero de o n o a u generaciones) pero diferente semilla para generar los n meros aleatou rios (un total de 40 corridas). En el reporte deber aparecer la mejor a soluci n obtenida, la media de aptitud, la peor soluci n obtenida, la o o varianza y la desviaci n est ndar de cada uno de los dos grupos de 20 o a 139
corridas efectuadas (para los dos casos antes mencionados). Deber n a y en cada caso. Asimismo, se mostrarse los valores de , incluir la gr ca de convergencia correspondiente a la soluci n que a a o est en la mediana de los resultados obtenidos (de las 20 corridas) para e cada caso. En esta gr ca se mostrar en el eje de las el n mero de a a u generaciones (de cero al m ximo permisible) y en el eje de las se a mostrar la aptitud promedio de cada generaci n. a o Una comparaci n de resultados entre las dos implementaciones. Uso ando los resultados producidos en el punto anterior, se deber analizar a lo que ocurri en cada caso y concluir si la representaci n hizo alo o guna diferencia en el desempe o del algoritmo gen tico (por ejemplo, n e si aceler la convergencia hacia el optimo, si ayud a encontrar una o o mejor soluci n, etc.). o
140
pi"h i i
g g g
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
Ejemplo:
7.1.1.3 An lisis de la cruza de un punto a La cruza de un punto destruye esquemas en los que la longitud de denici n es o alta. Esto produce el denominado sesgo posicional: los esquemas que pueden crearse o destruirse por la cruza dependen fuertemente de la localizaci n de los o 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 nmente en dichos problemas. u La cruza de un punto trata tambi n preferencialmente algunas posiciones del e cromosoma, como por ejemplo los extremos de una cadena. La cruza de un punto suele preservar tambi n los hitchhikers, que son bits que e no son parte del esquema deseado, pero que debido a su similitud con ellos gozan de los benecios de la cruza.
l
v
Y6 m j YS b v
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 n en cualquiera o de los padres, se efect a la cruza (es decir, se invierte la procedencia de los u bits en los hijos). 145
i
j
g g
Cromosoma: 0 1 1 0 0 0 1 1 0 0 : 0 1 0 0 1 0 0 0 0 0
Despu s de la cruza: e H1 = H2 = a c a c a c a c! d d a a d b b b e e e e a! d d d! b b b b
7.1.4.1 Observaciones sobre la cruza acentuada N tese que s lo se usa la primera parte de la cadena para calcular la aptitud, pero o o se espera que la selecci n, cruza y mutaci n tengan un efecto positivo sobre los o o puntos de cruza. En esta representaci n, la mutaci n act a sobre los dos segmentos cromos micos. o o u o Las probabilidades de que aparezcan unos en el segundo segmento se determinan de manera distinta a las del primero. 146
Cuando esto ocurre, los signos de admiraci n se copian tambi n a los hijos, o e justo antes de que la cruza se efect e. u
La cruza acentuada report buenos resultados en un peque o conjunto de funo n ciones de prueba [201]. Sin embargo, no hay evidencia contundente acerca de su efectividad. La cruza acentuada tiene una buena inspiraci n biol gica, porque estas marcas o o de cruza efectivamente existen en la naturaleza y se co-evolucionan junto con los cromosomas.
r v
g g g g g
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.
148
qv
g g g v
La cruza de un punto tiene un fuerte sesgo posicional. Todo parece indicar, que la cruza de puntos tiene tambi n un sesgo posie cional fuerte, aunque este vara en funci n de . o
Permutaciones
Representaci n real o
j
g g g
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 n gen tica. o e El primer hijo se produce borr ndole al primer padre el fragmento indicado a por el punto de cruza e insertando el fragmento (sub- rbol) correspondiente del a segundo padre. El segundo hijo se produce de manera an loga. a 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 n los indicados en la gura 7.6. a 7.5.1.1 Observaciones sobre la cruza para programaci n gen tica o e
g g g
Tpicamente, los 2 padres a cruzarse ser n de tama os distintos. a n Los padres son seleccionados mediante alguna de las t cnicas que vimos e antes (p.ej., la ruleta). Suele limitarse la profundidad m xima de un arbol. a 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
g g g g g g g
Order Crossover Partially Mapped Crossover Position-Based Crossover Order-Based Crossover Cycle Crossover Otras 151
7.5.2.1 Order Crossover (OX) Esta t cnica fue propuesta por Davis [62]. El algoritmo es el siguiente (los padres e 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 de P2 y la sustituci n se har a partir de P1. a o a 152
7.5.2.2 Partially Mapped Crossover (PMX) Esta t cnica fue propuesta por Goldberg y Lingle [113] y tiene ciertas similitudes e 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 contenido en el segmento intercambiado, permanece a igual. b) Si est contenido en el segmento intercambiado, entonces se sustituye a 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 n en a 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 cnica fue propuesta por Syswerda [218] como una adaptaci n de la cruza e o 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 llos que e hayan sido seleccionados en el paso anterior. 3. Borrar los valores seleccionados de P2. La secuencia resultante de valores se usar para completar el hijo. a 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 n se hace a partir de P1. o 7.5.2.4 Order-based Crossover Esta t cnica fue propuesta por Syswerda [218] como una ligera variante de Positione based 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 n generamos un hijo a partir de P2. o 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 cnica fue propuesta por Oliver, Smith y Holland [174]. Es similar a la e 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 especcas. 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 n en el ciclo. e 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 cnica es saber c mo encontrar un ciclo. e o Es m s f cil explicar este concepto con un ejemplo: a a 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 n de cualquier padre. En este caso, tomaremos la o posici n 1: o
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 n 1 para iniciar el ciclo: Los elementos del ciclo ser n o a entonces (1,8). Pero 1 y 8 tambi n aparecen en las posiciones 9 y 8. Por lo e tanto, el ciclo ahora incluye los elementos (1,8,12). Pero 12 aparece tambi n en e la posici n 12. Por lo tanto, el ciclo ahora incluye los elementos (1,8,12,10). Pero o 10 aparece tambi n en la posici n 10. Por lo tanto, el ciclo ahora incluye los e o elementos (1,8,12,10,9). Ya no hay nuevos elementos qu agregar, por lo que se e concluye el ciclo. Para generar al primer hijo, tomamos a P1, removi ndole los elementos que e no sean parte del ciclo: 156
g g g g
Los elementos (h,a) pertenecen al ciclo 1. Si observamos a P1 y P2, veremos que h y a aparecen tambi n en las e 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 n, por lo o que el ciclo se termina.
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
g g g g g g
Fox y McMahon [88] propusieron un operador de intersecci n que extrae o caractersticas 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.
jeijeij q q q q q q q q ieji3jilali
q q jqjjeqj{i j{ij
jjei{i q q q q iy j{j
g g g g
Aritm tica simple e Aritm tica total e Simulated Binary Crossover Cruza basada en direcci n o
En este caso, si suponemos que tenemos dos padres: P1 = y P2 = , los cuales se cruzan en la posici n , entonces los hijos producidos son: o H1= H2= donde: Ejemplo de cruza intermedia, suponiendo k = 3, a = 0.3: P1= P2= los hijos seran: H1=
Es una variante de la cruza intermedia, en la cual se toman en cuenta los lmites inferiores y superiores de las variables del problema. La unica diferencia con respecto a la cruza intermedia es el c lculo de a: a
Ci&jj q q q cq CjSSsSicq Cj"S j jSjeiijij Ci& isj rjeq bjI%"Urjq bj)3"jrj1aj3ijeaijj q q q q q q q q je jj3jijq iij q q q q iejcjeije ijj
lq g e 9j u u q u q uh & 9111q u& q '1 1 ' q u u q u hl 9111q u& q q 111q '1'1q '1'1q q q q q q q ie FijGqiieq ilqii q q q jejicjjjl4j
H2=
P1= P2=
159
(7.2) (7.1)
est en el rango a
y cada valor
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=
Por lo que: Como los rangos para la cuarta variable son los mismos que para la tercera, los c lculos son id nticos. Es decir: a e Supongamos que y H1 = H2 =
160
lq Bcijqg
9
l 5 q 5 vg
8
est en el rango a
lq g 9jhe u
l 3 q (3vg
(7.3)
H PH b y @ A y Gd` cy @ A y Gd` H PH b
H B xv y w
si
edcaCI b` Y
Fue propuesta por Deb [67] e intenta emular el efecto de la cruza de un punto usada con representaci n binaria. o El algoritmo es el siguiente:
q q q ieqj{qiCicqjY{ jjeji
Ejemplo de SBX: P1 = P2 =
Si usamos u=0.42, H1 = H2 =
@A
donde:
P1 = P2 =
H1 = H2 =
Inversi n: Debe implementarse un operador de inversi n que usar o o a los siguientes par metros: porcentaje de aplicabilidad (como en la a cruza y la mutaci n), punto inicial y punto nal. La poltica de reemo plazo es opcional, pero debe aclararla en su reporte. El operador se aplicar siempre despu s de la cruza y la mutaci n, pero debe dea e o cidirse si se reemplazar siempre al individuo original, si ser en cierto a a n mero (aleatorio) de veces, o si se har cuando el individuo tras inu a versi n tenga mejor aptitud que el original. o 162
y v `
q q q q q q q q
Remoci n de duplicados: En la generaci n cero y en las generaciones o o posteriores (tras haber generado a trav s de la selecci n, cruza, mue o taci n e inversi n a la siguiente poblaci n), deber checarse que no o o o a existan duplicados (o sea, no deben existir en la misma poblaci n dos o individuos que codiquen la misma permutaci n). Los duplicados deo ber n reemplazarse por un individuo generado al azar o producto de a una alteraci n del individuo a removerse (por ejemplo, una mutaci n). o o Mutaci n: Puede implementar cualquier operador de mutaci n de o o permutaciones de los discutidos en el siguiente captulo. Selecci n: Deber implementarse la selecci n mediante torneo binao a o rio determinstico, usando barajeo de la poblaci n. o Representaci n: Debe implementarse una representaci n de permutao o ciones (o sea, cadenas de enteros de a , donde representa el tama o de la matriz de entrada, de tal forma que la secuencia num rica n e no tiene ning n elemento repetido). u
Lo que debe incluirse en el reporte correspondiente es lo siguiente: (a) El c digo fuente en C/C++ de un programa que implemente un alo goritmo gen tico con codicaci n de permutaciones, utilizando ine o versi n, cruza y mutaci n (como se indic anteriormente). El proo o o grama deber pedir al usuario (de forma interactiva y NO a trav s de la a e lnea de comandos) los par metros principales del algoritmo gen tico: a e tama o de la poblaci n, porcentaje de cruza, porcentaje de mutaci n, n o o porcentaje de inversi n, n mero m ximo de generaciones y nombre o u a del archivo donde se almacenar n los datos de cada corrida. En cada a generaci n deber retenerse a la mejor soluci n (elitismo), y deber n o a o a imprimirse al menos las siguientes estadsticas por generaci n: media o de aptitud de la poblaci n, aptitud m xima y mnima, n mero total de o a u cruzas efectuadas, n mero total de mutaciones efectuadas, n mero tou u tal de inversiones efectuadas y permutaci n correspondiente al mejor o individuo (el que tenga la aptitud m s alta). Adicionalmente, deber a a imprimirse el mejor individuo global (es decir, contando todas las generaciones), su aptitud, la permutaci n que codica y su costo. o (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 metros (porcentaje de cruza, mutaci n e inversi n, tama o a o o n de la poblaci n y m ximo n mero de generaciones) pero diferente o a u semilla para generar n meros aleatorios. En el reporte deber aparecer u a una corrida representativa por problema, as como la mejor soluci n o obtenida, la media de aptitud, la peor soluci n obtenida y la desviaci n o o est ndar de las 20 corridas efectuadas. Deber n mostrarse las pera a mutaciones (especicando claramente si deben leerse de izquierda a derecha o viceversa) y sus costos correspondientes en cada caso. Asimismo, se incluir la gr ca de convergencia correspondiente a la soluci n que a a o est en la mediana de los resultados obtenidos (de las 20 corridas) para e u cada problema. En esta gr ca se mostrar en el eje de las el n mero a a de generaciones (de cero al m ximo permisible) y en el eje de las se a mostrar la aptitud promedio de cada generaci n. a o (c) Funciones de prueba: Se le proporcionar n 4 archivos de prueba a para evaluar el desempe o de su programa. Estos archivos estar n n a disponibles en la p gina web del curso, y se llaman: ajuste.dat, tai10.dat, a 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: tamao de la matriz ( ) n matriz de distancias (dist[n][n]) matriz de flujos (ujo[n][n]) El objetivo es minimizar el costo total, denido por:
costo
donde: ( ) se reere a la permutaci n codicada en o el algoritmo gen tico. Se le sugiere escribir una funci n (independie o ente) que calcule la aptitud de una permutaci n a partir de las matrices o de distancias y ujos. Si lee los datos del archivo ajuste.dat, y proporciona la permutaci n: 2 3 4 0 1, el costo debe ser 50 (valor optimo). o Los costos optimos para los dem s archivos son los siguientes: a tai10.dat tai12.dat tai15.dat Costo optimo = 135028 Costo optimo = 224416 Costo optimo = 388214
y r r c4hI qk~V|tw } { y g vp
164
{ tw zyx uB g vp
(7.5)
v 7gggc` B r ebbbe
Captulo 8 Mutaci n o
La mutaci n se considera como un operador secundario en los algoritmos gen ticos o e can nicos. Es decir, su uso es menos frecuente que el de la cruza. o En la pr ctica, se suelen recomendar porcentajes de mutaci n de entre 0.001 a o y 0.01 para la representaci n binaria. o Algunos investigadores, sin embargo, han sugerido que el usar porcentajes altos de mutaci n al inicio de la b squeda, y luego decrementarlos exponencialo u mente, favorece el desempe o de un AG [79]. n (donde es la longitud de la cadena Otros autores sugieren que cromos mica) es un lmite inferior para el porcentaje optimo de mutaci n [7]. o o El papel que juega la mutaci n en el proceso evolutivo, as como su como paraci n con la cruza, sigue siendo tema frecuente de investigaci n y debate en o o la comunidad de computaci n evolutiva. En este captulo estudiaremos diferentes o t cnicas de mutaci n que se han propuesta en la literatura especializada. e o
vy g B
a)
P=
10
b)
P=
10
Figura 8.1: Ejemplo de una mutaci n por desplazamiento. o Dada: P = 9 4 2 1 5 7 6 10 3 8 Si suponemos que elegimos la posici n 7 y decidimos mover ese valor o a la posici n 2, tendramos: o P= 9 6 4 2 1 5 7 10 3 8
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
1. Seleccionar
genes al azar.
OR
5
OR A0 AND A0
AND
4
A0
A1
NOT
A1
A1
y la variable
168
P s e G
e s `
e P e G P e G B
donde:
b j ebbge ebbge g B b
b j v ebbge g B
Dado:
si R=Cierto si R=Falso
est en el rango a
&8
1& P se G
est cerca de cero se incrementa conforme (generaci n actual) crece. Esto hace e o que este operador explore de manera m s global el espacio de b squeda al inicio a u n a (cuando es peque a) y de manera m s local en etapas posteriores. Michalewicz sugiere usar:
donde: r es un n mero aleatorio real entre 0 y 1, T es el n mero m ximo de u u a generaciones y es un par metro que dene el grado de no uniformidad de la a mutaci n (Michalewicz [161] sugiere usar o ). Ejemplo:
donde: 169
b j v ebbe ebbge g B b
b j ebbge g B
Dado:
ddfp kk8i8epb B k8kfcedf ddfpi bl b dd pi kkf81fbcl B P y i eHc y cdcl B dB XdG f b ` G b P b le s pqg P bl deXdG edf B H d&XdG edf b P b fe b P e G BB d B f b eHc` B d ` d 1` B B bH edbcl B I df B B b j b `e e b fe b eicHb y ghd&cedhH B
, .
, R = Falso,
d B
P i y G s B P s e G s qg p
donde:
P e 7 G } v B
Ejemplo:
se usa una distribuci n uniforme y [LB, UB] denen los rangos mnimos y o m ximos de la variable . a
Si ip(0.5)=TRUE de lo contrario
170
B B B
donde es el ndice de distribuci n para la mutaci n y toma cualquier o o valor no negativo. Deb sugiere usar: ( = generaci n actual) o 3. El valor de la posici n mutada se determina usando: o
donde la variable
171
` y ` B
t=20
lm y l b e`c$ivk888481`c` eHb ld P b Gdf`imf` b `y ecyb i B B e`bH e`cl B y B ~ b B f d f ` 8 b f` R W R emck88kHmGi )1` c` B @@ ` P H b y B y ` 8H ` ` 1`cl uB 1` B b y bH y Hembc`B B I eHb y B B j b `e e b fe b eicHb y ghd&cedhH B
dcaI b` Y
e 7 B ~ u
~ @ B
R n$QP HG B @ WR I 8
En otras palabras, podemos controlar el poder de alteraci n de la mutaci n y o o su capacidad de exploraci n puede hacerse equivalente a la de la cruza. o El tipo de exploraci n efectuada por la mutaci n es, sin embargo, diferente a o o la de la cruza. Por ejemplo, dados: P1 = 10**** P2 = 11**** La cruza producir s lo individuos del esquema 1*****. a o El primer 1 en el esquema est garantizado (sin importar qu tipo de cruza a e se use), porque es com n en los esquemas de ambos padres. La mutaci n, sin u o embargo, no respetar necesariamente este valor. a La cruza preserva los alelos que son comunes en los 2 padres. Esta preservaci n limita el tipo de exploraci n que la cruza puede realizar. Esta limitaci n se o o o agudiza conforme la poblaci n pierde diversidad, puesto que el n mero de alelos o u comunes se incrementar . a 172
q q q
Si el porcentaje de mutaci n es cero, no hay alteraci n alguna. o o Si es uno, la mutaci n crea siempre complementos del inidividuo original. o Si es 0.5, hay una alta probabilidad de alterar fuertemente el esquema de un individuo.
Cuando buscamos localizar el optimo global de un problema, la mutaci n o puede ser m s util que la cruza. Si lo que nos interesa es ganancia acumulada a (el objetivo original del AG), la cruza es entonces preferible. La cruza parece trabajar bien con funciones que est n altamente correlacionadas a o tienen epstasis moderada.
donde , con una precisi n de 5 dgitos despu s o e del punto decimal. Esta es la funci n de Beale. o 2. Implemente la programaci n gen tica usando los operadores que hemos o e 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 lo compuertas AND, OR, NOT y XOR en su programa. o Existen varias referencias bibliogr cas que pueden serle de utilidad. Vea a por ejemplo:
(8.1)
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.
Z 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
W X 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 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 metros normalmente interact an entre s de forma no lineal, por lo a u que no pueden optimizarse de manera independiente. La forma optima (o al menos razonablemente adecuada) de denir estos par metros a de un AG ha sido motivo de investigaci n desde los orgenes mismos de la t cnica, o e y no existe hasta la fecha una soluci n satisfactoria a este problema. o A lo largo de este captulo hablaremos de los diferentes intentos que han habido para determinar un conjunto de par metros con los cuales un algoritmo a gen tico pueda tener un desempe o razonablemente bueno. e n
q q q
Sin embargo, antes de proceder a realizar sus experimentos, De Jong decidi o analizar la inuencia de los par metros de un AG en su desempe o. a n Para medir el impacto de los par metros de un AG en su desempe o, De Jong a n propuso dos m tricas: e 1. Desempeno en Lnea (Online): Es la aptitud promedio de todos los indi viduos que han sido evaluados en las ultimas generaciones. 2. Desempeno Fuera de Lnea (Ofine): Es el promedio de las mejores apti tudes evaluadas en las ultimas generaciones. Para que un algoritmo de b squeda tenga un buen desempe o en lnea, debe u n decidir r pidamente d nde est n las regiones m s prometedoras de b squeda y a o a a u concentrar ah sus esfuerzos. El desempe o fuera de lnea no penaliza al algoritmo de b squeda por exn u plorar regiones pobres del espacio de b squeda, siempre y cuando ello contribuya u a alcanzar las mejores soluciones posibles (en t rminos de aptitud). e Los par metros hallados por De Jong que tuvieron mejor desempe o en y a n fuera de lnea son: Tama o de poblaci n: n o Porcentaje de cruza: Porcentaje de mutaci n: o
individuos
Incrementar el tama o de la poblaci n reduce los efectos estoc sticos del n o a muestreo aleatorio en una poblaci n nita, por lo que mejora el desempe o o n del algoritmo a largo plazo, aunque esto es a costa de una respuesta inicial m s lenta. a
Incrementar el porcentaje de mutaci n mejora el desempe o fuera de lneaa o n costa de sacricar el desempe o en lnea. n
Reducir el porcentaje de cruza mejora la media de desempe o, lo que sugn iere que producir una generaci n de inividuos completamente nuevos no es o bueno. 176
` b c y 1l1`c`` ` b ` ` ` y 8d
q q q
Grefenstette [116] us un AG para optimizar los par metros de otro (un metao a AG). El meta-AG fue usado para evolucionar unos 50 conjuntos de par metros de a un AG que se us para resolver las funciones de De Jong. o Cada individuo codicaba seis par metros: a 1. Tama o de la poblaci n n o 2. Porcentaje de Cruza 3. Porcentaje de Mutaci n o 4. Intervalo generacional (porcentaje de la poblaci n que se reemplaza en cada o generaci n) o 5. Ventana de escalamiento (sin escalamiento, escalamiento basado en la mnima de la primera generaci n, escalamiento basado en la o mnima de las ultimas W generaciones) 6. Estrategia de selecci n (elitista o puramente seleccionista). o La aptitud de un individuo era una funci n de su desempe o en y fuera de o n lnea. El meta-AG usaba los par metros de De Jong, y con el, Grefenstette [116] a obtuvo los siguientes valores optimos de los par metros para el desempe o en a n lnea: Tama o de la poblaci n: n o Porcentaje de cruza (un punto): Porcentaje de mutaci n: o Selecci n: o Intervalo generacional: Ventana de escalamiento: 30 individuos 0.95 0.01 Elitista 1.0 (100%) 1 (basado en la mnima de la primera generaci n) o 177
P rG
P rG
P rG
Observando el desempe o de diferentes operadores de cruza, De Jong conn cluy que, aunque el incrementar el n mero de puntos de cruza afecta su o u disrupci n de esquemas desde una perspectiva te rica, esto no parece tener o o un impacto signicativo en la pr ctica. a
Estos par metros mejoran ligera pero signicativamente el desempe o en a n lnea del AG con respecto a los de De Jong, pero Grefenstette no pudo mejorar el desempe o fuera de lnea. n Algunas observaciones realizadas por Grefenstette [116]:
La ausencia de mutaci n est tambi n asociada con un desempe o pobre del o a e n AG, lo que sugiere que su papel es m s importante de lo que normalmente a se cree, pues permite refrescar valores perdidos del espacio de b squeda. u
El tama o optimo de la poblaci n para el desempe o fuera de lnea est n o n a entre 60 y 110 individuos. Un alto intervalo generacional y el uso de una estrategia elitista tambi n mejoran el desempe o del AG. e n
Para poblaciones peque as (20 a 40 individuos), el buen desempe o en n n lnea est asociado con un porcentaje alto de cruza combinado con un por a centaje bajo de mutaci n o viceversa (un porcentaje bajo de cruza combio nado con un porcentaje alto de mutaci n). o
Para poblaciones de tama o medio (30 a 90 individuos), el porcentaje optimo n de cruza parece decrementarse conforme se aumenta el tama o de la poblaci n. n o
178
b` y cY
R kelb d s X ehi y
q q q q q
Los porcentajes de mutaci n por encima de 0.05 tienden a ser perjudiciales o con respecto al desempe o en lnea, y el AG aproxima el comportamiento n de la b squeda aleatoria para porcentajes de mutaci n u o sin importar qu otros par metros se usen. e a
Han habido innumerables ataques al trabajo de Goldberg antes mencionado, ya que este se bas en una interpretaci n err nea del teorema de los esquemas. Para o o o entender la falacia del argumento de Goldberg, debemos comenzar por denir un concepto muy importante de computaci n evolutiva, el paralelismo implcito. o El paralelismo implcito se dene as:
Mientras un AG calcula explcitamente las aptitudes de los miem bros de una poblaci n, al mismo tiempo estima implcitamente las o aptitudes promedio de una cantidad mucho mayor de esquemas, calculando implcitamente las aptitudes promedio observadas de los es quemas que tienen instancias en la poblaci n. o Seg n el teorema de los esquemas (que veremos m s adelante), un AG procesa u a esquemas. A partir de esta idea, Goldberg concluye entonces que a mayor valor de (tama o de la poblaci n), mejor desempe o tendr el AG, y de ah n o n a deriva su expresi n para calcular el tama o optimo de una poblaci n. o n o esquemas en una repreEl problema con este argumento es que s lo hay o sentaci n binaria, por lo que no se pueden procesar o esquemas si es mucho mayor que . Robertson [190] determin que en los AGs paralelos, el desempe o se ino n crementaba monot nicamente con el tama o de la poblaci n (es decir, no correo n o sponde a la expresi n derivada por Goldberg). o Otros investigadores, han derivado expresiones seg n las cuales un incremento u lineal del tama o de la poblaci n corresponde con un buen desempe o del AG. n o n La regla emprica m s com n es usar una poblaci n de al menos 2 veces L. a u o Algunas observaciones de Goldberg [103, 106] son las siguientes: Cuando puede demostrarse convergencia de un AG, esta parece no ser peor que una funci n cuadr tica o c bica del n mero de bloques constructores o a u u del problema, independientemente del tipo de esquema de soluci n utio lizado. 179
P G d
P G q
La teora sugiere que el tama o optimo de la poblaci n es n o , sin importar la longitud de la cadena cromos mica. Esta observaci n dio pie al o o micro-AG (Krishnakumar [148]).
El funcionamiento de un micro-AG es el siguiente: 1. Generar al azar una poblaci n muy peque a. o n 2. Aplicar los operadores gen ticos hasta lograr convergencia nominal (por e ejemplo, todas las cadenas son iguales). 3. Generar una nueva poblaci n transriendo los mejores individuos de la o poblaci n anterior a la nueva, y generando al azar los individuos restantes. o 4. Continuar hasta llegar al optimo.
Algunas de las observaciones de Schaffer et al. [200] fueron: El uso de tama os grandes de poblaci n ( n o ) con porcentajes altos de mutaci n ( o ) no mejora el desempe o de un AG. n El uso de poblaciones peque as ( n ) con porcentajes bajos de mutaci n o ( ) no mejora el desempe o de un AG. n La mutaci n parece tener mayor importancia de lo que se cree en el deo sempe o de un AG. n 180
d B
`` 8H
` 8H
d b k1`c`
H` b k1`c`
q q q q
9.5 Auto-adaptaci n o
En general, es poco probable poder determinar a priori un conjunto optimo de par metros para un AG cualquiera aplicado a un problema en particular. Algunos a investigadores creen que la mejor opci n es la auto-adaptaci n. o o Ejemplo de Adaptaci n en Lnea o Srinivas y Patnaik [210] propusieron un esquema para adaptar las probabilidades de cruza y mutaci n de un algoritmo gen tico. La propuesta se basa en o e la detecci n de que el algoritmo gen tico ha convergido. Para ello, verican qu o e e diferencia existe entre la aptitud m xima de la poblaci n y la aptitud promedio. a o Da tal forma, se hacen variar los porcentajes de cruza y mutaci n en funci n de o o esta diferencia de valores (aptitud m xima y aptitud promedio de la poblaci n). a o Las expresiones propuestas son:
Sin embargo, con estas expresiones los porcentajes de curza y mutaci n se increo mentan conforme el algoritmo gen tico converge y produce un comportamiento e altamente disruptivo en la vecindad del optimo, de manera que el algoritmo puede no converger jam s. a Para evitar este problema, estas expresiones deben modicarse de manera que se preserven las buenas soluciones. La propuesta es ahora la siguiente:
w e`b y Y g P @ u G P u G g B y e
181
P @ P @
u G h B cy w u G Vg B vy
q q q q
El AG result relativamente insensible al porcentaje de cruza. Un NE (naive o evolution), o sea, un AG sin cruza, funciona como un hill climber, el cual puede resultar m s poderoso de lo que se cree. a Los operadores gen ticos pueden muestrear ecientemente el espacio de e b squeda sin necesidad de usar tama os de poblaci n excesivamente grandes. u n o La cruza de 2 puntos es mejor que la de un punto, pero s lo marginalmente. o Conforme se incrementa el tama o de la poblaci n, el efecto de la cruza n o parece diluirse.
donde y deben ser menores que 1.0 para hacer que los valores de y est n en el rango de 0.0 a 1.0. En estas f rmulas, e o es la aptitud m xima de a la poblaci n, o es la aptitud m s grande de los padres a recombinarse y es a la aptitud del individuo a mutarse. As mismo, es la aptitud promedio de la poblaci n. o Estas expresiones hacen que el porcentaje de cruza ( ) y de mutaci n ( ) o disminuya cuando los individuos tienen una aptitud alta y que aumenten en caso contrario. N tese sin embargo que y o se har n cero al alcanzarse la aptitud a si y si . Para m xima. Tambi n advi rtase que a e e evitar valores mayores a 1.0 para y , se imponen las restriccioes siguientes:
donde . Debido a que y se har n cero cuando el individuo sea el mejor en la a poblaci n, su propagaci n puede llegar a ser exponencial, produciendo convero o gencia prematura. Para evitar eso, los autores proponen usar un porcentaje de mutaci n por omisi n (0.005) en estos casos. o o Las expresiones nales son:
donde:
Con estos valores, se usan soluciones con una aptitud inferior al promedio har a para buscar la regi n donde reside el optimo global. Un valor de o 182
w y y vy
edc` b B
@ Y e 8B cy @ Y e B vy w w y vy w @ h B y @ B g B y B w y y
@ u h g 1`b y Y h P @ ~ G P u G h B y e w vy
y y w 1`b y Y e
y y wvy w vy
que estas soluciones sean totalmente disruptivas. Lo mismo har a con las soluciones cuya aptitud iguale el promedio de la poblaci n. o har que todas las soluciones cuya aptitud sea menor a Asignar o igual a se sometan compulsivamente a cruza. La probabilidad de cruza decrece conforme la aptitud del mejor de los padres a recombinarse tiende a y se vuelve cero para los individuos con una aptitud igual a . Auto-adaptaci n de la probabilidad de mutaci n o o En este caso, el porcentaje de mutaci n se agrega como un par metro m s al o a a genotipo, de tal forma que se vuelva una variable m s tal que su valor oscile entre a 0.0 y 1.0. B ck y Sch tz (1996) proponen usar: a u
donde:
indica una variable aleatoria con una distribuci n normal tal que su o esperanza es cero y su desviaci n est ndar es uno. o a Aplicando este operador, pasamos del genotipo:
al nuevo genotipo:
La mutaci n de la variable o
donde: es un valor aleatorio (distribuci n uniforme) muestreado de nuevo para o cada posici n . o
183
dc` B h b
sg i 7kp qg y B y p y
r y y | r y B r | r P y e r G
&{
eHbc` B B y
P cy e r G B
~ u @ e`b B B g y
P y `G e
B B y
Este esquema puede generalizarse incluyendo un vector mutaci n asociados a cada variable: o
de porcentajes de
P y ge g y G B y e P ye rG B
donde: tama o de la poblaci n, n o longitud cromos mica, o generaci n actual, o son constantes denidas por el usuario (dependientes del problema). N tese que en todas estas propuestas se usa el mismo porcentaje de mutaci n o o para todos los individuos de la poblaci n en la generaci n . o o B ck y Sch tz (1996) propusieron un porcentaje de mutaci n que se decrea u o menta usando:
185
B A B P G cy kp h p H B P G y
e Ae B
generaci n actual y o
Ajuste adaptativo de par metros (probabilidad de cruza y mutaci n, longia o tud del genotipo y tama o de la poblaci n). n o
~P y) P r G H P r G y G B y
Y B Y ` g dc` b
es
B P G y P B k`G y q q q q q q q q
El mecanismo de adaptaci n puede estar completamente separado del mecano ismo de b squeda del AG. Este tipo de esquema no acoplado no es muy atracu tivo, porque implica un control centralizado, superimpuesto al mecanismo de b squeda del AG. u Otra posibilidad es que el mecanismo de b squeda del AG sea usado paru cialmente por el mecanismo adaptativo. En este caso, se dice que el AG y el mecanismo adaptativo est n ligeramente acoplados (loosely coupled). a Si la adaptaci n es conducida por las fuerzas internas de la b squeda evoluo u tiva, podemos hablar de un acoplamiento fuerte. En este caso, se origina un acoplamiento de los 2 espacios de b squeda sobre los que opera el AG (el espacio u de las soluciones y el de las variables de decisi n). o
ARGOT consiste de un AG convencional al que se agregan varios operadores que modican el mapeo intermedio que traduce los cromosomas en par metros a (o variables) de decisi n. Estos operadores se controlan por medio de 3 tipos de o medidas internas de la poblaci n: o (a) Medidas de convergencia (p.ej., la uniformidad de los cromosomas en un cierto lugar en particular). (b) Medidas de posicionamiento (posici n promedio relativa de las soluciones o actuales con respecto a sus rangos extremos). (c) Medidas de varianza (p.ej., el ancho de la distribuci n de las soluciones o 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 n de un gene (n mero de o u bits empleados para representar una variable) y otros que mueven (shift), expanden y contraen el mapeo intermedio entre cromosomas y variables de decisi n. Eso tos cambios (expansi n y contracci n) hacen que los rangos de cada variable se o o modiquen con la nalidad de focalizar la b squeda y permiten tambi n aplicar u e restricciones de desigualdad a las variables de decisi n. o Adem s de los operadores primarios antes mencionados, se usaron otros sea cundarios tales como un operador de mutaci n de Metropolis que acepta un camo bio en un bit s lo si mejora la soluci n actual con la mutaci n. Si el cambio no o o o mejora, se decide si se acepta o no el cambio usando una distribuci n de Boltzo mann. Tambi n se propuso un operador de homotopa (b squeda local) para evitar e u convergencia a un optimo local. Codicaci n Delta o La idea de esta propuesta (Matthias & Whitley 1994) es cambiar den micamente a la representaci n de un problema. N tese, sin embargo, que no intenta aprender o o cu l es la mejor representaci n del espacio de b squeda, sino m s bien se cambia a o u a la representaci n de manera peri dica para evitar los sesgos asociados con una o o representaci n determinada del problema. o El algoritmo de la codicaci n delta empieza con la ejecuci n inicial de un o o algoritmo gen tico usando cadenas binarias. Una vez que la diversidad de la e poblaci n ha sido explotada adecuadamente, se almacena la mejor soluci n bajo o o 188
el nombre de soluci n temporal. Se reinicializa entonces el AG con una nueva o poblaci n aleatoria. En esta ocasi n, sin embargo, las variables se decodican o o de tal forma que representen una distancia o valor delta ( ) con respecto a la soluci n temporal. o El valor de se combina con la soluci n temporal de manera que los par metros o a resultantes se eval en usando la misma funci n de aptitud. u o De esta manera, la codicaci n delta produce un nuevo mapeo del espacio de o b squeda a cada iteraci n. Esto permite explorar otras representaciones del probu o lema que podran facilitar la b squeda. u Ejempo de codicaci n binaria usando c digos delta. o o Par metros num ricos 0 a e 1 2 3 4 5 6 7 Codicaci n binaria o 000 001 010 011 100 101 110 111 Cambios num ricos e 0 1 2 3 -3 -2 -1 -0 Codicaci n delta o 000 001 010 011 111 110 101 100
donde
donde:
y:
189
Hkd d H H kd l y
e P
|x
(9.1) (9.2)
(9.3)
Considere una precisi n de 3 dgitos despu s del punto decimal. Esta es la o e funci n F5 de DeJong. o =n mero de unos en , u 4. Considere la siguiente funci n de aptitud: o 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
P rG
Sujeto a:
Pero el algoritmo gen tico opera como una t cnica de optimizaci n sin restrice e o ciones, por lo que tenemos que dise ar alg n mecanismo que permita incorporar n u la informaci n pertinente sobre la violaci n de restricciones en la funci n de apo o o titud. Este captulo habla precisamente de diferentes esquemas para hacer esto.
donde:
191
v e7gbgee B b b H y ` aY x P r G k XX v h P G g t B x P (G x yx B P G v x x
para todas las restricciones violadas. En esta expresi n, es un factor de o penalizaci n denido por el usuario. o Hay al menos 3 formas de penalizar a un individuo de acuerdo a su violaci n o de las restricciones [187]:
Puede penaliz rsele simplemente por no ser factible, sin usar ninguna infora maci n sobre qu tan cerca se encuentra de la regi n factible. o e o
Puede usarse el esfuerzo de reparar al individuo (o sea, el costo de hacerlo factible) como parte de la penalizaci n. o
Richardson et al. [187] denieron algunas de las reglas b sicas para dise ar a n una funci n de penalizaci n: o o 1. Las penalizaciones que son funciones de la distancia a la zona factible son mejores que aquellas que son s lo funciones del n mero de restricciones o u violadas. 2. Para un problema con pocas variables y pocas restricciones, una penalizaci n que sea s lo funci n del n mero de restricciones violadas no proo o o u ducir ninguna soluci n factible. a o 3. Pueden construirse buenos factores de penalizaci n a partir de 2 factores: o el costo de cumplimiento m ximo y el costo de cumplimiento esperado. a El primero de ellos se reere al costo de hacer factible a una soluci n ino factible. 4. Las penalizaciones deben estar cerca del costo de cumplimiento esperado, pero no deben caer frecuentemente por debajo de el. Entre m s preciso a sea el factor de penalizaci n, mejores resultar n las soluciones producidas. o a Cuando una penalizaci n frecuentemente subestime el costo de cumplimo iento, el proceso de b squeda fallar . u a Existen, sin embargo, varios problemas para denir una funci n de penalo izaci n: o 1. No es obvio combinar los 2 factores de los que hablan Richardson et al. [187] en una funci n de penalizaci n. o o 192
q q q
2. Denir los valores optimos del factor de penalizaci n es una tarea virtual o mente imposible a menos que conozcamos el problema a fondo, en cuyo caso puede dise arse una funci n de penalizaci n a la medida, pero hacerlo n o o resultar de cualquier forma innecesaria ya que el optimo podr determia a narse por m todos analticos exactos. e 3. El costo del cumplimiento esperado normalmente tiene que estimarse mediante m todos alternativos (por ejemplo, estimando el grado de violaci n e o de las restricciones) que pueden ser difciles de implementar. A continuaci n revisaremos r pidamente diversas variantes de la funci n de o a o penalizaci n que se han propuesto en la literatura, comentando brevemente sobre o sus desventajas.
de manera que el coeciente de penalizaci n se incremente conforme alcanzamos o niveles m s altos de violaci n de las restricciones. a o Un individuo se eval a utilizando: u
donde: son los coecientes de penalizaci n utilizados y o siendo los niveles de violaci n denidos por el usuario. o 10.1.2.1 An lisis a
El principal problema de esta t cnica es que requiere la denici n de e o par metros. De tal forma que si tenemos un problema moderadamente peque o, a n con 6 restricciones y 2 niveles, tendramos que denir 30 par metros, lo cual a 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 lisis a La t cnica es muy susceptible a los valores de los par metros y suele converger e a prematuramente cuando estos no son seleccionados adecuadamente. Sin embargo, parece funcionar muy bien cuando la funci n objetivo es cuadr tica. o a
P XHG v y
ebbbeH ggge y B
H uB A uB edc` B b y y A P (G g t P G P (G B G v $ P y x V| x x
P (G
| |
g t P (G B v $ | x y V| x x
donde: representa el horario de enfriamiento y es una funci n que debe ser o denida por el usuario. Michalewicz y Attia sugieren usar: y , con incrementos . 10.1.4.1 An lisis a El principal problema de esta t cnica es la denici n del horario de enfriamiento. e o
donde y con valores diferentes (para evitar ciclos). El caso # 1 ocurre cuando el mejor individuo en las ultimas generaciones fue siempre factible. El caso # 2 ocurre cuando dicho individuo no fue nunca factible. Esta t cnica lo que hace entonces es disminuir la penalizaci n cuando el mejor e o individuo resulta consistentemente factible y aumentar la penalizaci n cuando reo sulta infactible. Si estos cambios son intermitentes (es decir, el mejor individuo es a veces factible y a veces no), entonces la penalizaci n no se cambia. o Obviamente, es necesario denir el valor inicial . 10.1.5.1 An lisis a El principal problema de esta t cnica es c mo elegir el factor inicial de penale o izaci n y el intervalo generacional (o sea, ) de manera que el monitoreo de o factibilidad produzca resultados razonables. 195
b y ` B g ` ` y `8`e`b` B SB y x x { h P G g t h P (G B P G v y | &| g x x
donde:
se actualiza cada generaciones usando las siguientes reglas: si caso # 1 si caso # 2 de lo contrario
PG P G hR P G P A G D EF B g P h G g t P G P (G B P y | V| x {
PG
G v
y h Aeg A
PG
(10.1)
Una muy grande o muy peque a puede hacer que la funci n de penalizaci n n o o nunca cambie, en cuyo caso la t cnica se reduce a una penalizaci n est tica tradie o a cional. Finalmente, tampoco est claro c mo denir buenos valores de y . a o
donde es el valor de la funci n objetivo de la peor soluci n factible de la o o poblaci n. Si no hay ninguna soluci n factible en la poblaci n, entonces o o o se hace igual a cero. Deb [66] usa torneo binario aplicando las siguientes reglas: 196
hA gA
(10.2)
1. Una soluci n factible siempre es preferida sobre una no factible. o 2. Entre 2 soluciones factibles, la que tenga mejor valor de su funci n objetivo o es seleccionada. 3. Entre 2 soluciones no factibles, la que viole el menor n mero de restricu ciones es elegida. 10.1.7.1 An lisis a Uno de los problemas de esta t cnica es que tiene dicultades para mantener divere sidad en la poblaci n, y para ello se requiere del uso de nichos [68] y porcentajes o de mutaci n inusualmente altos. o
Ejemplos
q q q q q q q q q
Funciones de penalizaci n. o Representaciones y operadores especiales. Algoritmos de reparaci n. o Separaci n de restricciones y objetivos. o M todos hbridos. e
Representaciones y operadores especiales: GENOCOP [164]. Algoritmos de reparaci n: GENOCOP III [163]. o Separaci n de restricciones y objetivos: T cnicas de optimizaci n multiobo e o jetivo M todos hbridos: Sistema inmune [233, 55]. e 197
T cnicas basadas en conceptos Multiobjetivo para Manejo de Restricciones. e Idea base: Un problema con un solo objetivo y restricciones, puede transformarse en un problema multiobjetivo. Redenici n del problema: se tiene o
Esquema Poblacional. Consiste en dividir a la poblaci n en subpoblao ciones, donde cada una de ellas enfocar sus esfuerzos en optimizar uno de a los objetivos del problema (VEGA [199]). para
Jerarquizaci n de Pareto. Propuesta por Goldberg [105]. Otorgar a cada o soluci n un valor de jerarqua (n mero de soluciones dentro de la poblaci n o u o que dominan a esa soluci n determinada) con el objeto de encontrar el cono junto de soluciones no dominadas por el resto de la poblaci n. Su costo es o .
10.2.1 COMOGA
Propuesto por Surry et al. [216]. Combina las jerarquas de Pareto con la propiedad de VEGA de favorecer soluciones extremas en un AG no generacional.
Calcula aptitud.
Selecciona una parte de la poblaci n con base en su aptitud y otra parte con o base en jerarquas. 198
y exge B
s! P s G P r G e uB aP Y e y ` Y r P VP r G xgP r G g P r G G B e e e
,
P r G P r G Y r x x
P " rG P rG $& x r
Ph G
rG
factible.
q q q q q q q
q q q
A partir de los frentes de Pareto obtenidos en cada generaci n se recombinan y se o obtienen dos soluciones (una domina a la otra) para determinar una direcci n de o b squeda. De ah inicia una b squeda lineal. u u
Entre dos individuos no factibles, se preere aquel que viole en menor cantidad las restricciones del problema.
200
y u
v P r G BB v $
@r P&P @ r G `G r e zyx w B P G { | x
(
P k`B P k`
$$G P rG G
q q q q
q q q q q q q q q
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 jerarqua en el espacio de los objetivos. Ambos no factibles, se escoge aquel con mayor jerarqua 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 mero las restricciones del problema. u Si ambos individuos son no factibles y violan el mismo n mero de restricu ciones, se preere aquel que viole en menor cantidad las restricciones del problema. 201
Las jerarquas se establecen al comparar a cada individuo con toda la poblaci n: o Se establece un contador que se incrementa cada vez que se encuentra un individuo mejor en:
La aptitud est en funci n de la jerarqua del individuo. La selecci n se lleva a o o a cabo mediante muestreo universal estoc stico. a
q q q q
Candidato 1
Candidato 2
Sr
Figura 10.2: Diagrama del algoritmo de NPGA para manejo de restricciones. Los restantes se seleccionar n de una forma puramente aleatoria. a Los criterios de comparaci n usados son los siguientes: Entre dos individuos, o si:
o El selection ratio ( ) controla la diversidad de la poblaci n. Normalmente se utiliza un valor superior a 0.8 (Sr(0.8).
q q q q
Ambos son factibles: El individuo con la aptitud m s alta gana. a Uno es factible y el otro es no factible: El individuo factible gana. Ambos son no factibles: Revisi n de no dominancia o Ambos son dominados o no dominados: El individuo con la menor cantidad de violaci n gana. o
203
Enfoque en lnea. Permite manejo de restricciones. No se ha probado amplia mente en Optimizaci n Global. o
10.2.10 EMO para optimizaci n con restricciones, satisfacci n o o de restricciones y programaci n por metas o
Propuesto por Jim nez et al. [134]. Utiliza un AG no generacional, un proceso de e preselecci n y redenici n de las funciones objetivo (y/o restricciones). El proo o ceso de preselecci n ayuda a la formaci n de nichos implcito y es un mecanismo o o elitista. La selecci n de padres es puramente aleatoria. o 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 n de las funo ciones 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 squeda. u Tiene un mecanismo m s balanceado para aproximarse a la zona factible pero a requiere de mucho tiempo computacional para obtener resultados aceptables. No se ha probado ampliamente para optimizaci n global. o
r! )r
204
Paso 2: Se calcula de nuevo la jerarqua del individuo pero ahora con s lo 2 objetivos: el valor dominante y la extensi n de la violaci n o o o de restricciones (n mero de restricciones violadas + cantidad de viou laci n normalizada) o Se asigna un valor de aptitud con base en la segunda jerarqua. 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 n de violaci n se preeren. o o Entre los individuos dominados por el primer padre, se preeren aquellos con menor valor de extensi n de violaci n. o o No ha sido probado para Optimizaci n Global no lineal, s lo se ha probado o o en un problema a nivel multiobjetivo. La doble jerarquizaci n hace costoso el o m todo. e
Estas t cnicas s lo se han probado en optimizaci n multiobjetivo con restrice o o ciones y no para problemas de optimizacion global.
q q
CMEA (Contrained Method-Based Evolutionary Algorithm) de Ranjithan et al. [179]. Utiliza conceptos de programaci n matem tica con reo a stricciones para problemas de optimizaci n multiobjetivo. o Manejo de restricciones con incertidumbre o ruido para Optimizaci n o Multiobjetivo de Hughes [132], jerarquiza de manera integrada (tomando en cuenta restricciones y prioridades) a la poblaci n con funciones simples o basadas en probabilidades.
que alguna propuesta al respecto para problemas de optimizaci n en espao cios continuos. Se recomienda leer:
2. Investigue el funcionamiento de una t cnica conocida como memoria cone ductista (behavioral memory), analizando sus ventajas y desventajas, as como las posibles dicultades para implementarla (si es que hubiese alguna). Lea:
3. Investigue la forma en la que se han utilizado los algoritmos culturales para manejar restricciones en problemas de optimizaci n en espacios continuos. o Analice las ventajas y desventajas de esta t cnica, as como las posibles e dicultades para implementarla. Se le recomienda leer:
q q q q q
Slawomir Koziel and Zbigniew Michalewicz, A Decoder-based Evolutionary Algorithm for Constrained Parameter Optimization Problems, In T. B ck, A. E. Eiben, M. Schoenauer, and H.-P. Schwefel, a 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.
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.
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 ck, editors, Evolutionary Proa gramming V: Proceedings of the Fifth Annual Conference on Evolutionary Programming, Cambridge, Massachusetts, 1996. MIT Press.
206
Captulo 11 Software
En general, podemos clasicar el software para computaci n evolutiva en 3 grandes o grupos:
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 n evolutiva reci n aprendidos. Normalo e mente estos sistemas tienen un n mero relativamente pequeo de opciones u para congurar un cierto algoritmo. 207
q q q
Orientado a las aplicaciones: Son cajas negras dise adas para ocultar n detalles de los AGs y ayudar al usuario a desarrollar aplicaciones para dominios especcos tales como las nanzas, la programaci n de horarios, etc. o Orientado a los algoritmos: Se basan en modelos de AGs especcos y pueden subdividirse en 2 grupos: 1. Sistemas Especcos: Contienen un solo algoritmo. 2. Bibliotecas: Contienen una gama de algoritmos y operadores gen ticos e que pueden estar disponibles s lo de manera pre-compilada. o Cajas de herramientas (tool kits): Sistemas de programaci n que proo porcionan muchas utileras, algoritmos y operadores gen ticos que pueden e usarse para cualquier tipo de aplicaci n y que normalmente se proporcionan o en forma de c digo fuente (al menos de manera parcial). o
2. Sistemas de prop sito general: Proporcionan un rico conjunto de herramieno tas 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 digo de acuerdo a sus propias necesidades. o
q q q
Nombre: BUGS (Better to Use Genetic Systems) Descripci n: Programa interactivo para demostrar el uso de un a lgoritmo o gen tico. El usuario desempea el papel de la funci n de aptitud y trata de e o evolucionar una cierta forma de vida articial (curvas). El uso de este programa suele facilitar la comprensi n de lo que son los o AGs y c mo funcionan para aquellos novatos en el area. Adem s de deo a mostrar los operadores gen ticos fundamentales (selecci n, cruza y mue o taci n), BUGS permite visualizar el desvo gen tico (genetic drift) y la o e 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 n: Implementaci n de un AG que tiene gran valor hist rico por o o o haber sido el primer programa de su tipo liberado en el dominio p blico. u 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 n: Implementaci n de un AG basada en GENESIS que incluye o o extensiones y nuevas funciones para prop sitos experimentales. Por ejemo plo, cuenta con selecci n mediante jerarquas lineales, selecci n de Boltzo o mann, selecci n (+), cruza uniforme, recombinaci n discreta e intermedia, o o auto-adaptaci n de porcentajes de mutaci n, etc. o o 208
Tambi n cuenta con una serie de funciones objetivo, incluyendo las fune ciones de De Jong, funciones continuas de alto grado de complejidad, una instancia del problema del viajero, funciones binarias y una funci n fractal. o Finalmente, tiene tambi n utileras para monitorear resultados tales como e vaciados de mapas de bit de la poblaci n, varianza de las variables objeto y o de los porcentajes de mutaci n, etc. o Lenguaje: C para Unix. Autor: Thomas B ck (baeck@ls11.informatik.uni-dortmund.de) a Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/GENEsYs-1.0.tar.Z
q q q
Nombre: DGenesis Descripci n: Implementaci n de un AG distribuido desarrollada a partir o o de GENESIS 5.0. Corre en una red de estaciones de trabajo operando con Unix. Cada subpoblaci n es manejada por un proceso Unix y la comunio caci n entre ellas se efect a usando sockets de Berkeley Unix. o u Lenguaje: C para Unix. Autor: Erick Cant Paz (cantupaz@dirichlet.llnl.gov) u Disponibilidad: http://www.aic.nrl.navy.mil/pub/galist/src/dgenesis-1.0.tar.Z Nombre: GECO (Genetic Evolution through Combination of Objects) Descripci n: Ambiente de trabajo orientado a objetos para implementar o prototipos de algoritmos gen ticos. Usa el CLOS (Common LISP Object e System) y cuenta con abundante documentaci n y algunos ejemplos de uso. o 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 n: Un sistema de AGs paralelos en el que usuario puede escoger: o El tipo de problema (con valores num ricos o permutaciones) e El tipo de cruza (de entre 7 posibles) y mutaci n (de entre 4 posibles) o El tipo de selecci n (de entre 6 posibles) o 209
Probabilidades de los operadores, escalamiento de la funci n de aptio tud, frecuencia y patrones de migraci n o Criterios de detenci n o Elitismo (opcional) Uso de diferente representaci n para cada subpoblaci n, con transforo o maci n de los migrantes o Inversi n al nivel de subpoblaciones o Control sobre el reemplazo poblacional, incluyendo crowding y reemplazo aleatorio Selecci n de parejas, usando prevenci n de incestos o o Selecci n de migrantes o El usuario puede denir una funci n objetivo (usando una plantilla) y cualquier o funci n auxiliar que necesite. El sistema puede correr una o varias subo poblaciones, en una o varias PCs, estaciones de trabajo o Macs. El sistema corre de manera interactiva (con una interfaz gr ca o de texto) o desde a archivos. Puede interrumpirse y recomenzarse f cilmente. Existe una versi n en a o PVM que incluso mueve los procesos autom ticamente cuando una estaci n a o de trabajo est ocupada. Viene con 14 ejemplos que incluyen las funciones a 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 n: Sosticado sistema que permite correr experimentos con alo goritmos 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 cil implementaci n de funciones para monitorear todo a o tipo de informaci n dentro del algoritmo evolutivo. o Lenguaje: C para Unix (con rutinas en FORTRAN) Autor: Frank Hoffmeister (hoffmeister@ls11.informatik.uni-dortmund.de) Disponibilidad: Por e-mail a Hoffmeister 210
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 n: Paquete de optimizaci n num rica para funciones con cualquier o o e 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 n: Biblioteca de clases en C++ para desarrollar aplicaciones de o programaci n gen tica. Esta biblioteca dene una jerarqua de clases y o e uno de sus componentes integrales es la capacidad de producir funciones denidas autom ticamente. a 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 n: Ambiente de programaci n gen tica en Smalltalk que puede o o e correrse en HP/Sun/PC. Permite distribuci n de subpoblaciones en varias o estaciones de trabajo (con intercambios entre ellas a ciertos intervalos) 211
f o d
q q q q
Nombre: GANNET (Genetic Algorithm/Neural NETwork) Descripci n: Paquete de software que permite evolucionar redes neuronales o binarias. Ofrece toda una variedad de oPCiones de conguraci n relao cionadas con los valores de los operadores gen ticos. e La evoluci n de las redes neuronales se basa en 3 funciones de aptitud: o precisi n entre las entradas y salidas, estabilidad de la salida y tamao de o la red. Soporta redes con entradas y salidas binarias, con neuronas de 2 o 4 a , permitiendo hasta 250 neuronas en una entradas y pesos de entre red.
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/
q q
Nombre: PGAPack Descripci n: Biblioteca de prop sito general para desarrollar AGs paraleo o los. Incluye: Capacidad de invocaci n desde FORTRAN o C. o 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 cil de usar. a Niveles m ltiples de acceso para usuarios expertos. u Facilidades extensivas de depuraci n. o Gran cantidad de ejemplos. Detallada gua del usuario. Soporte de diferentes tipos de selecci n, cruza y mutaci n. o o 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 n: Sistema distribuido basado en AGs dise ado para aprender o n descriPCiones de conceptos en l gica de primer orden a partir de ejemplos. o Se basa en un operador llamado Sufragio Universal que permite la probable convergencia asint tica de la poblaci n a un estado de equilibrio en el o o que coexisten varias especies. Lenguaje: C para Unix, usando PVM y Tcl/Tk 212
q q q q
Nombre: SCS-C (Simple Classier System in C) Descripci n: Versi n en C del Sistema Clasicador Simple proporcionado o o en el libro de Goldberg. Lenguaje: C para Unix Autor: Jrg Heitkoetter (joke@de.uu.net) Disponibilidad: ENCORE
Nombre: ActiveGA Descripci n: Un OLE que usa un algoritmo gen tico para solucionar un o e problema dado. Algunas de sus funciones incluidas son: Selecci n de torneo o ruleta. o Par metros del algoritmo gen tico denidos por el usuario. a e Invisible durante tiempo de ejecuci n. o Ejemplos en Excel, Visual BASIC y Visual C++. Precio: $99 d lares o Nombre: Evolver Descripci n: Paquete de algoritmos gen ticos para Windows. Los principio e antes pueden usar el m dulo para Excel en sus problemas. o 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 lares o Nombre: PC-Beagle Descripci n: Programa que examina una base de datos con ejemplos y o usa t cnicas de aprendizaje de m quina para crear un conjunto de reglas de e a decisi n que clasiquen los ejemplos. o 213
El sistema contiene 6 componentes principales, de los cuales uno usa algoritmos gen ticos. e
Nombre: MicroGA Descripci n: Herramienta que permite la integraci n de algoritmos gen ticos o o e en cualquier pieza de software. Se trata de un ambiente de programaci n en o C++ que viene en c digo fuente con documentaci n y 3 ejemplos compleo o tos. Tambi n incluye un generador de c digo que permite crear aplicaciones e o completas de manera interactiva y sin escribir una sola lnea de c digo. o Soporte para Macintosh y MS Windows. Precio: $249 d lares o
Nombre: GEATbx (Genetic and Evolutionary Algorithm Toolbox) Descripci n: Conjunto de funciones en MATLAB que permiten implemeno tar diferentes tipos de algoritmos gen ticos para optimizaci n con uno o e o varios objetivos. Soporta diferentes tipos de selecci n (universal estoc stica, torneo, o a jerarquas lineales y no lineales, etc.). Incorpora diferentes t cnicas de cruza (un punto, dos puntos, unie forme, intermedia, discreta, etc.). Incluye mutaci n para representaci n entera, real y binaria. o o Permite diferentes modelos poblacionales (globales, regionales y locales). Permite el monitoreo de almacenamiento de resultados (an lisis en a lnea y fuera de lnea). Cuenta con diversas funciones de prueba. Cuenta con documentaci n y un tutorial (en HTML). o Permite la incorporaci n de conocimiento especco del dominio. o Precio: 150-250 euros. 214
Precio:
69.
q q
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**
es una instancia de
Ejemplo:
C=10 H1=1*
Consecuentemente, cualquier poblaci n dada de tama o contiene entre o n y esquemas diferentes, dependiendo de la diversidad de la poblaci n. o Cu ntos esquemas hay si todas las cadenas son id nticas? a e En todos los dem s casos, el n mero es menor o igual a a u
. . bits contenga
218
cadenas de
esquemas difer-
Una poblaci n sin individuos o con un solo individuo contiene exactamente o esquemas diferentes. En todos los dem s casos, las cadenas de la poblaci n a o comparten esquemas.
como el entero ).
219
d P y `G ` f nB y B
Hv
y Y r
Para el esquema 1***, hay Bin 1000 1001 1010 1011 1100 1101 1110 1111
Cu l es la aptitud promedio del esquema 0*** bajo ? a Bin 0000 0001 0010 0011 0100 0101 0110 0111 Aptitud 0 1 2 3 4 apt. prom 5 6 7
edb B h 3 2B yy 1
yG P y &P u e 5 G a 7 5
dcd B 433 h B b
cadenas posibles:
H kp B i 8H B
Pe 5G
P e 5 ~6 I G
Por lo que:
De tal forma, aunque el AG no calcule explcitamente , los incrementos o decrementos de las instancias de esquemas en la poblaci n dependen de esta o cantidad.
221
Esto es, las cruzas que ocurren dentro de la longitud de denici n de o destruir a (osea, pueden producir hijos que no son instancias de ).
pueden
w P 5 G
P e 5 6 I G
P e 5 G VP G @ P e 5 6 I G B &P a e 5 e G 7 P G P y G 9 8 P e 5 G DP r G @ qBB P e 5 6 I C G A
donde:
P r G
P G @ P rG
P G @ P rG g s vp i
GE P Q 9 I HF
9 8 @
w y P 5 G w
r 5 r B &P a e 5 e G 7 P y G
5 5 5 5
P G @ r
De tal forma, multiplicamos la fracci n de la cadena que ocupa por la probo abilidad de cruza para obtener un lmite superior de la probabilidad de que el esquema ser destrudo. a El valor es un lmite superior porque algunas cruzas dentro de las posiciones denidas de un esquema no lo destruir n (p. ej. si dos cadenas id nticas se a e cruzan). Al sustraer este valor de 1 obtenemos un lmite inferior. NOTA: La probabilidad de supervivencia bajo cruza es alta, para esquemas con baja longitud de denici n. o
Esto es, para cada bit, la probabilidad de que este no se mutar es a . 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 n es m s alta para esqueo a mas de bajo orden. Combinando estos 3 efectos (selecci n, cruza y mutaci n), tenemos: o o
A esta expresi n se le conoce como el Teorema de los Esquemas [127], y deo scribe el crecimiento de un esquema de una generaci n a la siguiente. El Teorema o 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 n un n mero de muestras que crece exponencialmente con el a u tiempo. La raz n por la que se dice que los esquemas cortos y de bajo orden reciben un o n mero de muestras que se incrementa exponencialmente con el tiempo es porque u el n mero de muestras de esos esquemas que no son perturbados y permanecen u 222
P y G Vv9 p i I G w y E P e 5 G s i 9 U i SVP ) e 5 e G R P y G P t g s 9i s f s r
P 5 G
P 5 G
P y G B P 5 G Q s 9i
7
sobre la aptitud promedio se incrementan en un factor de a cada generaci n. o El Teorema de los Esquemas es un lmite inferior porque s lo lidia con los o efectos destructivos de la cruza y la mutaci n. Sin embargo, se cree que la cruza es o 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 n de que los AGs trabajan de esta manera se conoce como la Hip otesis o de los Bloques Constructores [105]. El efecto de la selecci n es sesgar gradualmente el procedimiento de muestreo o hacia instancias de esquemas cuya aptitud se estime est n sobre el promedio. Con e el paso del tiempo, el estimado de la aptitud promedio de un esquema debiera, en principio, volverse cada vez m s preciso puesto que el AG est muestreando m s a a a y m s instancias de este esquema. a El Teorema de los Esquemas y la Hip tesis de los Bloques Constructores lido ian primordialmente con el papel de la selecci n y la cruza en los AGs, pero cu l o a es el papel de la mutaci n? o Holland [127] propuso que la mutaci n previene la p rdida de diversidad en o e una posici n cualquiera. Es una especie de p liza de seguro contra jaciones o o en una cadena cromos mica. o
Los esquemas por arriba del promedio se incrementan exponencialmente con el tiempo.
Los esquemas por arriba del promedio se exploran r pidamente en paralelo a sin alentar de manera signicativa la b squeda. u 223
P G @ P e 5 6 I G
q q
12.5 Decepcion
Hemos hablado anteriormente sobre un problema que ha preocupado a los te ricos o de la computaci n evolutiva: la decepci n. o o Se llama decepci n a la condici n donde la combinaci n de buenos bloques o o o constructores llevan a una reducci n de aptitud, en vez de un incremento. Este o fen meno fue sugerido originalmente por Goldberg [105] para explicar el mal o 224
desempe o del AG en algunos problemas. Veamos un ejemplo de un problema n deceptivo: Supongamos que tenemos una funci n de aptitud que nos devuelve los siguo ientes 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 mero de ceros tienen mayor aptitud, pero el optimo u global es la cadena de todos unos. En este caso, el AG tender a favorecer durante a la selecci n a las cadenas con m s ceros y encontrar la cadena de todos ceros (un o a a optimo local) en vez de llegar al optimo global.
q q q q
Qu leyes describen el comportamiento macrosc pico de los AGs? En e o particular, qu predicciones pueden hacerse acerca del cambio de aptitud e en el tiempo y acerca de la din mica de la poblaci n en un AG en particular. a o C mo dan lugar los operadores de bajo nivel (selecci n, cruza y mutaci n) o o o al comportamiento macrosc pico de los AGs? o En qu tipo de problemas es m s probable que los AGs tengan un buen e a desempe o? n En qu tipo de problemas es m s probable que los AGs tengan un mal e a desempe o? n 225
q q
Qu signica para un AG tener un buen desempe o o un mal desempe o? e n n Esto es, qu criterios de desempe o son apropiados para un AG? e n Bajo qu condiciones (tipos de AGs y tipos de problemas) superar un AG e a a otras t cnicas de b squeda tales como escalando la colina y otros m todos e u e de gradiente?
para un AG? La panor mica actual es que la competencia entre los esquemas procede aproxa imadamente de particiones de esquemas de bajo orden a particiones de esquemas de orden alto. Bethke [22] inri que sera difcil para un AG encontrar el optimo o de una funci n de aptitud si las particiones de bajo orden contenan informaci n o o err nea acerca de las particiones de orden m s alto. o a Consideremos un ejemplo, un tanto extremo, de lo dicho en el punto anterior. Llamemos al esquema H ganador si su aptitud est tica promedio es la m s alta a a en su partici n. Supongamos que cualquier esquema cuyos bits denidos sean too , y hagamos dos unos es un ganador, excepto por el esquema de longitud que sea un ganador. En principio, ser difcil para un AG encontrar a , porque toda partici n o de bajo orden da informaci n equivocada sobre d nde es m s probable encontrar o o a el optimo. A este tipo de funci n de aptitud se le llama con decepci on total. o Afortunadamente, nadie ha podido encontrar un problema del mundo real que exhiba decepci n total. S lo se han encontrado problemas reales con decepci n o o o parcial. Tambi n es posible denir funciones de aptitud con menores cantidades de e decepci n (es decir, algunas particiones dan informaci n correcta acerca de la o o localizaci n del optimo). Bethke [22] us la Transformada de Walsh (similar a o o la transformada de Fourier) para dise ar funciones de aptitud con varios grados n de aptitud. Posteriormente, un gran n mero de investigadores han profundizado u en estos estudios, y hoy en da la decepci n es uno de los problemas centrales o de los te ricos en AGs. Debido a que los AGs se han usado extensamente para o la optimizaci n de funciones, es importante que los que desarrollan aplicaciones o con ellos sepan al menos sobre este fen meno para poder prevenirlo y atacarlo en o caso de que se presente. Varios investigadores han cuestionado la relevancia del an lisis de los esquea mas en la comprensi n del funcionamiento verdadero de los AGs [117, 154, 177]. o Por ejemplo, Grefenstette [117] arma que mucho del trabajo efectuado en teora de los AGs ha asumido un versi n m s fuerte de lo que el llama la Hip otesis o a Est tica de los Bloques Constructores (HEBC): a Dada cualquier partici n de esquemas de bajo orden y reducida lono gitud de denici n, se espera que un AG converja al hiperplano (en o esa partici n) con la mejor aptitud promedio est tica (el ganador eso a perado). 227
y bbb y yyy
1`bbc8` b```
1`bbc8` b```
Esta formulaci n es m s fuerte que la original, puesto que dice que el AG o a converger a los verdaderos ganadores de cada competencia entre particiones a 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 empricamente, pero implcitamente involucra la premisa de que las funciones de aptitud con decepci n ser n difciles para un AG. o a Grefenstette proporciona 2 razones posibles por las que la HEBC puede fallar: 1. Convergencia Colateral: Una vez que la poblaci n comienza a converger o hacia alg n punto, las muestras de algunos esquemas dejar n de ser uniu a formes. son muy aptas y Por ejemplo, supongamos que las instancias de que la poblaci n ha convergido m s o menos a esos bits (o sea, casi todos los o a miembros de la poblaci n son una instancia de ese esquema). Entonces casi o todas las muestras de, por ejemplo, , ser n realmente muestras a de . Esto puede impedir que el AG haga una estimaci n precisa o de . Aqu la denota la aptitud promedio est tica de a un esquema (el promedio sobre todas las instancias del esquema en el espacio de b squeda). u 2. Elevada Varianza de la Aptitud: Si la aptitud promedio est tica de un a esquema tiene una varianza alta, el AG puede no ser capaz de efectuar una estimaci n precisa de esta aptitud promedio est tica. o a Consideremos, por ejemplo, la siguiente funci n de aptitud: o 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 tica. a Esto tiene relaci n directa con la importancia de la decepci n en el comporo o tamiento de los AGs, porque las funciones de aptitud con decepci n se denen o completamente en t rminos de las aptitudes est ticas promedio de los esquemas. e a 228
bbb 8y yy
bbb 8` ``
bbb ` r bbb y r yy
P 5 6 I G
bbb y ` yH !FD E B P r G
P bbb ` 6 I `` G bbb ` y `` yy
5
Para ilustrar su argumento, Grefenstette [117] da ejemplos de problemas con decepci n que son f ciles de optimizar con un AG y de problemas que no tienen o a decepci n y que son arbitrariamente difciles para un AG. Su conclusi n es de o o que la decepci n no es una causa necesaria ni suciente para que un AG tenga o dicultades, y de que su relevancia en el estudio de los AGs debe ser demostrada todava.
orden intermedio o alto. Sin embargo, algunas cosas extra as sucedieron. Uno n de los hillclimbers que usaron (haban de 3 tipos) super por mucho al algoritmo o gen tico (encontr la soluci n 10 veces m s r pido que el AG). e o o a a Tras efectuar un an lisis de la funci n en la que el AG tuvo problemas, se a o determin que una de las causas fueron los hitchhikers, que limita seriamente o el paralelismo implcito del AG restringiendo los esquemas muestreados en cier tos lugares. Estos genes par sitos limitan el efecto de la cruza para recombinar a bloques constructores, y hacen que converjan hacia esquemas equivocados en diversas particiones. Sin embargo, este fen meno no debe resultar demasiado soro prendente si se considera que se ha observado en la gen tica real. Para lidiar con e este problema se propuso un Algoritmo Gen tico Idealizado, y se concluyeron e varias cosas importantes en torno a c mo debe dise arse un algoritmo gen tico o n e convencional para evitar el hitchhiking: 1. La poblaci n tiene que ser sucientemente grande, el proceso de selecci n o o debe ser sucientemente lento, y el porcentaje de mutaci n debe ser suo cientemente alto para asegurar que no haya ninguna posici n que pero manezca ja con un solo valor en ninguna cadena. 2. La selecci n tiene que ser sucientemente fuerte como para preservar los o esquemas deseados que se han descubierto, pero tambi n tiene que ser sue cientemente lenta (o, de manera equivalente, la aptitud relativa de los esquemas deseables no traslapados tiene que ser sucientemente peque a) para n prevenir que ocurra alg n hitchhiking signicativo en algunos esquemas u 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 o con respecto al n tiempo de descubrimiento de los esquemas deseados. Estos mecanismos no son compatibles entre s. Por ejemplo, un alto porcentaje de mutaci n est en contraposici n con una selecci n fuerte. Por lo tanto, debe o a o o cuidarse de que haya alg n equilibrio de estos puntos a la hora de aplicarlos. u El terorema de los esquemas hace predicciones en torno al cambio esperado en las frecuencias de los esquemas de una generaci n a la siguiente, pero no hace o predicciones directamente sobre la composici n de la poblaci n, la velocidad de o o convergencia de la poblaci n o la distribuci n de aptitudes de la poblaci n con reo o o specto al tiempo. Como un primer paso para tener una mejor comprensi n del o 230
comportamiento de los AGs, y para poder hacer mejores predicciones, varios investigadores han construido modelos matem ticos exactos de AGs simples a [104, 221, 114, 139, 222, 171]. Estos modelos exactos capturan todos los detalles de un AG simple usando operadores matem ticos. a
231
La idea b sica tras el dise o de funciones deceptivas para un algoritmo gen tico a n e es violar de manera extrema la hip tesis de los bloques constructores. En otras o 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 ptimos). o El problema deceptivo m s peque o posible es de dos bits. Su descripci n se a n o presenta a continuaci n. o Supongamos que tenemos un conjunto de cuatro esquemas de orden 2 como se indica a continuaci n: o aptitud esquema ***0*****0* ***0*****1* ***1*****0* ***1*****1* es la aptitud m xima posible ( ptimo global). a o
Ahora procederemos a introducir el elemento deceptivo usando la idea siguiente: buscaremos que en nuestro problema uno de los esquemas sub ptimos de o orden 1 (o los dos) sea mejor que los esquemas de orden 1 del optimo. Para poner el problema en una perspectiva m s adecuada, vamos a normalizar a todas las aptitudes con respecto al complemento del optimo global:
232
qg{ {
g qg { q { H g qg
gqg g {g {
{ q{
{ g g { q { { H q{ { g
g qg g qg qg g g g { q{
W @
{ q{
g qg
En estas expresiones estamos ignorando todos los dem s alelos de las cadea nas cromos micas que no sean las 2 posiciones denidas antes indicadas y las o 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 neamente, pues a de hacerlo no sera el optimo global. Sin p rdida de generalidad, supondremos que la primera expresi n es cierta: e o
TIPO II:
H H Py P P` y G H P y `G ` y G H k$`G P y G k` y G P y `G k$`G y P P`
P y G P `G a y
P y G P `G
P y G ` G P
y Y g y { qg{ { { q{ {
g qg
atractor
aptitud 01 00 11 10
Figura 12.2: Representaci n gr ca de la clase de problemas deceptivos de Tipo o a I. Gr camente, podemos representar estos dos problemas en las guras 12.2 y a 12.3, respectivamente. Estos 2 tipos de problemas son deceptivos y puede demostrarse que ninguno de ellos puede expresarse como una combinaci n lineal de los valores al licos del o e individuo. Ninguno de estos casos puede expresarse como:
TIPO I: f 01> f 00
En t rminos biol gicos, tenemos un problema epist tico. Puesto que puede e o a demostrarse que ning n problema de 1 bit puede ser deceptivo, el problema de 2 u bits antes indicado es el problema deceptivo mnimo.
d e
P G `
r g B P h re g rG yx w x x h
b cI a` Y
v g P G
fB gP G X Qr
I b
e y c` X B
a% Y
atractor
aptitud 01 00 11 10
Figura 12.3: Representaci n gr ca de la clase de problemas deceptivos de Tipo o a II.
donde , y son las matrices de transici n de los operadores de Cruza, o Mutaci n y Selecci n respectivamente. o o Cuando se usa mutaci n uniforme se tiene que: o
en donde es la probabilidad de mutaci n del AGS, o es la distancia de Hamming entre los estados y , y . De lo anterior conclumos que es positiva. 235
|x
Ya
x '9 p
t s q u)r
v B P v yG x v V9 wB !|x
P k G
Por otra parte, dado que el operador de selecci n lo que hace es proporcionarnos o pares de individuos con nes de que ya sea que pasen intactos a la poblaci n siguo iente o que con una cierta probabilidad mediante el operador de cruza puedan dar lugar a otros dos individuos nuevos, la matriz de transici n de este operador lo o que hace es dejar ordenados a los individuos tal y como se ir n tomando para a dar lugar a la poblaci n siguiente. o El uso de un operador de selecci n proporcional o de torneo [196] detero mina la existencia de una probabilidad estrictamente positiva de que la poblaci n o quede intacta, lo cual asegura que los elementos de la diagonal de la matriz de transici n del operador son positivos, por lo que se concluye que la matriz es o columna-permisible. Lema 12.12.1 Sean , y matrices estocasticas, donde es positiva y es positiva. columna-permisible. Entonces la matriz producto En resumen tenemos que, dado que la matriz permisible, por el lema 12.12.1 la matriz primitiva.
Para poder hablar de convergencia a continuaci n se muestra la denici n coro o respondiente para el AGS [195]: Denici n 12.12.1 Sea o una sucesi n de vario ables aleatorias representando la mejor aptitud dentro de la poblaci on represen tada por el estado en el paso . Un algoritmo gen etico converge al optimo global si y s lo si: o
(12.1)
De esta manera entenderemos que el AGS converge al optimo global de funci n o objetivo si la probabilidad de que este se encuentre en la poblaci n tiende a 1 o cuando el n mero de iteraciones tiende a innito. u Teorema 12.12.1 Sea P una matriz estocastica primitiva. Entonces converge cuando a una matriz estoc astica positiva estable , donde tiene entradas diferentes de cero y es unica inde pendientemente de la distribuci on inicial. 236
v B
a% Y
donde
xx
t s uyq
t s q ) s
y B
"
FT
bI
X
X P G Qr B "
es
As pues, dada la denici n anterior y usando el teorema 12.12.1 Rudolph o demuestra que el AGS no converge: Teorema 12.12.2 El AGS con matriz de transici on primitiva no converge al optimo global. cualquier estado en el que Demostraci n Sea o y la probabilidad de que el AGS est en tal estado en el paso . Claramente, e . Por el teorema 12.12.1 la probabilidad de que el AGS est en el estado converge a e . Por lo tanto:
por lo tanto la condici n (12.1) no se satisface. o El Teorema 12.12.2 muestra que dado que seg n el teorema 12.12.1 la matriz u de transici n del AGS converge a una matriz positiva, la probabilidad de estar en o un estado no- ptimo es estrictamente positiva conforme el n mero de iteraciones o u se incrementa por lo que la probabilidad de permanecer en un estado optimo no es 1 en el lmite.
237
v ebbge uB ! VP G i G Q r X b y P
b h I
y v y Y ` x v H
t be e e PVP G i ebbgP G h i P G g i P G i G B {
"
B T y Y
t H t t I H H sg i I
"
B
I
FT
PG
X
#Tx
"
f B
Tv
"
es el s per individuo de la poblaci n (estado) , ahora bien, sean u o el mejor individuo de la poblaci n o excluyendo el s per individuo y: u
entonces:
si de otra manera.
Nuestra nueva matriz de transici n para el AGE resulta del producto de una o matriz que est compuesta por matrices , una por cada posible s per individuo a u acomodadas de manera que entre mejor sea su s per individuo m s alta ser su u a a posici n, y la matriz de operador de elitismo: o
La estructura mostrada de la matriz se debe a que, como ya se mencion , las o poblaciones est n ordenadas de manera descendente de acuerdo a la calidad de su a s per individuo, de tal manera los espacios en blanco representan ceros puesto que u no es posible pasar de un estado a otro con un s per individuo de menor calidad. u De lo anterior se concluye que puesto que tales matrices corresponden con las poblaciones que tienen como s per individuo al optimo . u Por otra parte, haciendo las siguientes deniciones: ..
es reducible: 238
m k m k p
k m k pp
de
r ri
p j m k p
. . .
. . .
"
g f
..
m m nk nk p
kk ogp
p k ok pp m
jj o)p
j nk p m
g f
. . .
. . .
m m nk ok
g hf
k nk m
j nk m
kk ogp
de
..
..
. . .
. . .
B
g hf
p de d d de
B
q
Teorema 12.12.3 Sea una matriz estocastica reducible, donde una matriz estocastica primitiva y , . Entonces:
Teorema 12.12.4 El AGE converge al optimo global. Demostraci n La submatriz contiene las probabilidades de transici n de eso o tados optimos globales. Puesto que es una matriz estoc stica primitiva y , a , el teorema 12.12.3 garantiza que la probabilidad de permanecer en un estado no- ptimo converge a cero. Por lo tanto la probabilidad de permanecer en un o estado optimo global converge a 1. As pues, se ha demostrado la convergencia del AGE, es decir, de un Algoritmo Gen tico que usa elitismo. e
, (b) , (e)
(a) Estime la probabilidad de supervivencia de cada esquema bajo mutaci n, o suponiendo que la probabilidad de mutaci n es o . (b) Estime la probabilidad de supervivencia de cada esquema bajo cruza, suponiendo que la probabilidad de cruza es .
239
Y y
` ` ` ko oy B B g y
d` b 8e`` B
, donde satisface:
w xq
v y
xB
d b k1lc` B w
r r g{ ` p q q q vp yx x x ` fB r q
o ` ` y y y B y ` B
v B
uvr t v x
pq s p p 5 5 p
es
v
B
p
o o y ` y y ` B B h
X B ` B
p 5 5
es unica para
` fB
r
Reporte sus resultados con al menos tres dgitos de precisi n. o 2. Bas ndose en el an lisis que hicimos de la probabilidad de que un esquema a a sobreviva a la cruza de un punto, derive una expresi n similar para la cruza o de dos puntos. 3. Bas ndose en el an lisis que hicimos de la probabilidad de que un esquema a a sobreviva a la cruza de un punto, derive una expresi n similar para la cruza o uniforme.
240
Figura 13.1: Ejemplo del uso de cromosomas diploides. A un nivel m s abstracto, podemos concebir a la dominancia como un mapeo a reductor del genotipo hacia el fenotipo. Suena l gico cuestionarse por qu usa esta redundancia la naturaleza? o e Realmente no se sabe. Las teoras biol gicas m s aceptadas, sugieren que los o a diploides son una especie de registro hist rico que protegen ciertos alelos (y o combinaciones de ellos) del da o que puede causar la selecci n en un ambiente n o hostil. En AGs, los diploides suelen usarse para mantener soluciones m ltiples (al u mismo problema), las cuales pueden conservarse a pesar de que se exprese s lo o una de ellas. La idea es la misma que en Biologa: preservar soluciones que fueron efectivas en el pasado, pero que elimin el mecanismo de selecci n del AG. o o Los diploides parecen ser particularmente utiles en problemas en los que el ambiente cambia con el paso de las generaciones (por ejemplo, optimizaci n de o funciones din micas). a 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 lo un par por cada padre se muestra en esta gura). Se elige o 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 s e 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 Inversion
Holland [127] propuso formas de adaptar la codicaci n de su algoritmo gen tico o e original, pues advirti que el uso de cruza de un punto no trabajara correctamente o en algunos casos. El operador de inversi n es un operador de reordenamiento inspirado en una o operaci n que existe en gen tica. A diferencia de los AGs simples, en gen tica la o e e funci n de un gene es frecuentemente independiente de su posici n en el cromoo o soma (aunque frecuentemente los genes en un area local trabajan juntos en una red regulatoria), de manera que invertir parte del cromosoma retendr mucha (o a toda) la sem ntica del cromosoma original. a Para usar inversi n en los AGs, tenemos que encontrar la manera de hacer que o la interpretaci n de un alelo sea la misma sin importar la posici n que guarde en o o una cadena. Holland propuso que a cada alelo se le diera un ndice que indicara su posici n real que se usara al evaluar su aptitud. o Por ejemplo, la cadena 00010101 se codicara como: (1,0) (2,0) (3,0) (4,1) (5,0) (6,1)(7,0) (8,1)
en donde el primer elemento de cada uno de estos pares proporciona la posici n o real del alelo dado. La inversi n funciona tomando dos puntos (aleatoriamente) a lo largo de la o cadena, e invirtiendo la posici n de los bits entre ellos. Por ejemplo, si usamos la o cadena anterior, podramos escoger los puntos 3 y 6 para realizar la inversi n; el o resulado sera: (1,0) (2,0) (6,1) (5,0) (4,1) (3,0) (7,0) (8,1)
Esta nueva cadena tiene la misma aptitud que la anterior porque los ndices siguen siendo los mismos. Sin embargo, se han cambiado los enlaces al licos. e La idea de este operador es producir ordenamientos en los cuales los esquemas ben cos puedan sobrevivir con mayor facilidad. e Por ejemplo, supongamos que en el ordenamiento original el esquema 00**01** es muy importante. Tras usar este operador, el esquema nuevo ser 0010****. a Si este nuevo esquema tiene una aptitud m s alta, presumiblemente la cruza a de un punto lo preservar y esta permutaci n tender a diseminarse con el paso de a o a las generaciones. 243
X X
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: (1,0) (2,0) (6,1) (5,0) (4,1) (3,0) (7,0) (8,1) (5,1) (2,0) (3,1) (4,1) (1,1) (8,1) (6,0) (7,0)
Si el punto de cruza es la tercera posici n, los hijos producidos ser n: o a (1, 0) (2, 0) (6, 1) (4, 1) (1, 1) (8, 1) (6, 0) (7, 0) (5, 1) (2, 0) (3, 1) (5, 0) (4, 1) (3, 0) (7, 0) (8, 1)
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 mo podemos asegurarnos de que este problema no se presente? o Holland propuso 2 soluciones posibles: 1. Permitir que se realice la cruza s lo entre cromosomas que tengan los ndices o en el mismo orden. Esto funciona pero limitara 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 n cadenas que a no tendr n redundancia ni posiciones faltantes. a La inversi n se us en algunos trabajos iniciales con AGs, pero nunca mejor o o o dram ticamente el desempe o de un AG. M s recientemente se ha usado con un a n a exito limitado en problemas de ordenamiento tales como el del viajero. Sin embargo, no hay todava un veredicto nal en torno a los benecios que este operador produce y se necesitan m s experimentos sistem ticos y estudios a a te ricos para determinarlos. o 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
X X X X
13.3 Micro-Operadores
En la Naturaleza, muchos organismos tienen genotipos con m ltiples cromosou mas. Por ejemplo, los seres humanos tenemos 23 pares de cromosomas diploides. Para adoptar una estructura similar en los algoritmos gen ticos necesitamos exe tender la representaci n a n de permitir que un genotipo sea una lista de k pares o de cadenas (asumiendo que son diploides). Pero, para qu tomarnos estas molestias? e Holland [127] sugiri que los genotipos con m ltiples cromosomas podran o u ser utiles para extender el poder de los algoritmos gen ticos cuando se usan en e combinaci n con 2 operadores: la segregaci n y la traslocaci n. o o o
13.3.1 Segregaci n o
Para entender c mo funciona este operador, imaginemos el proceso de formaci n o o de gametos cuando tenemos m s de un par cromos mico en el genotipo. La cruza a o se efect a igual que como vimos antes, pero cuando formamos un gameto, tenu emos que seleccionar aleatoriamente uno de los cromosomas haploides. A este proceso de selecci n aleatoria se le conoce como segregaci n. Este o o proceso rompe cualquier enlace que pueda existir entre los genes dentro de un cromosoma, y es util cuando existen genes relativamente independientes en cro mosomas diferentes.
13.3.2 Traslocaci n o
Puede verse como un operador de cruza intercromos mico. Para implementar este o operador en un algoritmo gen tico necesitamos asociar los alelos con su nombre e gen tico (su posici n), de manera que podamos identicar su signicado cuando e o se cambien de posici n de un cromosoma a otro mediante la traslocaci n. o o El uso de este operador permite mantener la organizaci n de los cromosomas o de manera que la segregaci n pueda explotar tal organizaci n. o o La segregaci n y la traslocaci n no se han usado mucho en la pr ctica, excepto o o a por algunas aplicaciones de aprendizaje de m quina [198, 208]. a
gen en particular y lo coloca junto con su progenitor en el cromosoma. El borrado act a a la inversa, removiendo un gen duplicado del cromosoma. u Holland [127] ha sugerido que estos operadores pueden ser m todos efectivos e de controlar adaptativamente el porcentaje de mutaci n. Si el porcentaje de muo taci n permanece constante y la duplicaci n ocasiona copias de un gen en paro o ticular, la probabilidad de mutaci n efectiva para este gen se multiplica por . Por o otra parte, cuando ocurre el borrado de un gen, el porcentaje efectivo de mutaci n o se decrementa. Cabe mencionar que una vez que ha ocurrido una mutaci n en uno de los o nuevos genes, debemos decidir cu l de las alternativas ser la que se exprese, en a a un proceso similar al que enfrentamos con los diploides. De hecho, podemos considerar la presencia de m ltiples copias de un gen u como una dominancia intracromos mica, en contraposici n con la dominancia o o intercromos mica que resulta m s tradicional en los diploides. o a Holland ha sugerido el uso de un esquema de arbitraje para hacer la elecci n o necesaria entre las diferentes alternativas presentes, aunque no se han publicado estudios sobre este mecanismo hasta la fecha. La duplicaci n puede permitir cosas o m s interesantes en un AG, como por ejemplo cadenas de longitud variable (AGs a 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 captulo y desarrolle alguna aplicaci n para ellos. Cu l de ellos considerara como m s difcil o a a de implementar? Cu l es el m s f cil? Explique. a a a
246
una mejora relativamente peque a puede traer enormes ahorros a la larga, ya que n su impacto es acumulativo. El uso de algoritmos gen ticos en este problema produjo retornos netos sube stancialmente mejores que los producidos previamente por cualquier planeador humano o por cualquier otra t cnica de optimizaci n. e o
14.3 Prediccion
La empresa holandesa Cap Gemini y la empresa brit nica KiQ Ltd han desara rollado de forma conjunta un sistema llamado Omega,el cual usa algoritmos gen ticos para resolver problemas de mercadotecnia, cr dito y aplicaciones e e nancieras relacionadas. Omega usa como punto de partida un portafolio de comportamiento previo de un cliente, ya partir de el genera un modelo matem tico que puede usarse posteri a ormente para predecir comportamientos de clientes que se encuentren fuera de los portafolios conocidos. Este software puede utilizarse para evaluar solicitudes de cr dito, generar listas de correo (para publicidad), modelar lealtad de los clientes e a un producto, y para detectar fraudes. Recientemente, un banco holand s compar Omega contra su sistema de asige o naci n de cr dito tradicional (basado en sistemas expertos), encontrando que Omega o e era substancialmente superior tanto en cantidad (ofreca m s pr stamos) como en a e calidad (se reduca el riesgo en los cr ditos) de los pr stamos evaluados. e e
Antes de intentar resolver este problema, se recurri a un an lisis que incluy o a o lo siguiente:
Se construy un modelo de todos los cauces principales de la regi n, usando o o StruMap, que es un sistema de informaci n geogr ca que tiene un m dulo o a o integrado para resolver redes hidr ulicas. a Antes de intentar usar t cnicas evolutivas en este problema, se recurri al e o an lisis efectuado por expertos humanos. Dicho estudio s lo report resultados a o o 249
~ } 4@|
{ { { {
Se usaron 300 nuevos tipos de tubos, cada uno de los cuales poda adoptar uno de 14 di metros disponibles (de 300 mm a 2100 mm) a Combinando las dem s variantes del problema (p.ej. ubicaci n de las estaa o ciones de bombeo, etc.) se estim que el tama o del espacio de b squeda o n u . Este n mero es superior a la cantidad de u era de aproximadamente atomos en el universo.
hasta el a o 2011, y hubieron de extrapolarse los resultados para el a o 2031. El n n costo estimado de la extensi n y reforzamiento de la red de agua potable fue de o $150 millones de d lares. o Usando la informaci n disponible, se procedi entonces a utilizar GAnet, que o o es una biblioteca de clases para desarrollar algoritmos gen ticos. GAnet incluye e rutinas para simular redes hidr ulicas y permite el manejo de restricciones duras a y blandas. GAnet propuso lo siguiente:
El costo estimado de los cambios propuestos por GAnet fue de $102 millones de d lares. Esta soluci n result 35% m s econ mica que la propuesta por o o o a o dise adores humanos expertos. Esto se tradujo en un ahorro estimado de unos n $54 millones de d lares. o 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 ulicos. a La empresa Optimal Solutions fue fundada en 1996. Su p gina web est en: a a http://www.ewan.co.uk/os.html Esta empresa surgi a partir de la investigaci n del Dr. Dragan Savic y sus o o 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 n hidr ulica con o a t cnicas no convencionales e Esta empresa est asociada con Ewan Associates en lo que constituye un ejema plo a seguir de vinculaci n entre una universidad y la industria. o 250
{ { { {
Agregar 85 tuberas principales a las 750 ya existentes. Se propusieron 6 nuevas estaciones de bombeo y se sugiri expandir 3 de o las ya existentes, totalizando 42 nuevas bombas. Se propuso sacar de circulaci n a 3 estaciones de bombeo. o Se propusieron 7 nuevos tanques elevados y se sugiri sacar de circulaci n o o a 2 de los existentes.
Para utilizar computaci n evolutiva se recurri a un algoritmo gen tico con o o e representaci real implementado en FORTRAN. A n de mantener dentro de un o lmite razonable el costo computacional del algoritmo, se recurri a un esquema o distribuido para evaluar la funci n de aptitud. La clave fundamental de la propo uesta fue una representaci n con cambio de granularidad, en la cual se empezaba o con una granularidad gruesa (es decir, un intervalo grande entre cada valor de las variables) y se haca correr al algoritmo gen tico durante un cierto n mero e u de generaciones (pre-convenido, o hasta alcanzar la convergencia nominal1 ). Una vez hecho eso, se cambiaba la granularidad a otra m s na, y se proceda a cona tinuar con las iteraciones del algoritmo gen tico. Esto permiti un acercamiento e o progresivo hacia la zona factible, manteniendo un costo computacional razonable para el algoritmo gen tico. e La mejor soluci n obtenida por el algoritmo gen tico result entre 3% y 5% o e o m s econ mica que la mejor encontrada por expertos humanos con t cnicas tradia o e cionales de optimizaci n. Esto se tradujo en ahorros de aproximadamente 1.3 o millones de libras esterlinas por a o para Redlands. Si consideramos que esta n empresa invirti unas 50 mil libras esterlinas en total en esta inveestigaci n, el o o retorno de su inversi n fue cuantioso. o
Se le recomienda consultar:
Hay varios criterios para denir convergencia nominal. Uno que suele adoptarse es el de la similitud genotpica. Cuando la mayora de los individuos en la poblaci n son muy similares al o nivel genotipo, puede decirse que se alcanz convergencia nominal o
1
{ { { { { { {
Planeaci n de movimientos de robots o Dise o de armaduras (planas y espaciales) n Inferencia gramatical (aplicada a reconocimiento de voz) Dise o de redes de telecomunicaciones n Dise o de circuitos el ctricos n e Compresi n de datos o Optimizaci n de consultas en bases de datos o
252
2. Busque m s aplicaciones de la computaci n evolutiva a problemas del mundo a o real. Vea, por ejemplo, la p gina web de Evonet (hay diversos espejos de a esta p gina en Europa): a
http://ls11-www.informatik.uni-dortmund.de/evonet/Coordinator/evonet.html
3. Investigue sobre posibles aplicaciones de la computaci n evolutiva a probo lemas de su comunidad. Identique posibles problemas y la forma en que estos se resolveran usando algoritmos gen ticos. e
{
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 ck, David B. Fogel & Zbigniew Michalewicz (editor), Handa book of Evolutionary Computation, Institute of Physics Publishing and Oxford University Press, New York, 1997.
253
254
{ {
Por tanto, si tenemos procesadores, el incremento de velocidad normalmente no ser de veces. a Existe un lmite inferior respecto del incremento de velocidad real al tener procesadores. A este lmite inferior se le conoce como la Conjetura de Minsky, y es de . Aunque el lmite superior depende realmente de si se considera a todo el pro grama (incluyendo la parte de entrada y salida, la cual suele ser secuencial), suele aceptarse que este est denido por a [133]. De estos 2 lmites puede inferirse f cilmente que no resulta util agregar m s y a a m s procesadores, si lo que queremos es hacer m s r pida a una computadora. a a a La eciencia de un sistema de c mputo se mide en t rminos de sus capacio e dades 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 cnica que ha conducido a incrementos notables del rendimiento total de e un sistema de c mputo es el proceso de encauzamiento (pipelining). o Este proceso de encauzamiento es an logo a una lnea de ensamblaje en una a planta industrial. Una funci n a ejecutarse por una computadora es dividida en o sub-funciones m s peque as, y se dise a hardware separado (llamado etapa) para a n n cada una de estas subfunciones. Estas etapas est n conectadas entre s, de manera a que forman un solo cauce (o pipeline) que realiza la funci n original. o 256
'
{
Algoritmos inecientes para implementar el paralelismo del problema. paralelismo del problema.
Michael J. Flynn [78] introdujo un esquema para clasicar la arquitectura de una computadora basado en la forma en la que la m quina relaciona sus instruca ciones con los datos que procesa. Flynn deni el t rmino stream (ujo) como o e una secuencia de elementos, ya sea datos o instrucciones, ejecutados u operados por un procesador. La clasicaci n de Flynn es la siguiente: o
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 n para lidiar con, cuando mucho, una operaci n sobre los datos. Aunque o o es posible introducir cierto nivel de paralelismo en estas computadoras (usando pipelining), la naturaleza secuencial de la ejecuci n de sus instrucciones la coloca o en esta categora. En una computadora SIMD, una sola instrucci n puede iniciar un gran n mero o u 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 n en este caso es posible usar pipelining para acelerar la velocidad e de procesamiento. La clase MISD implica la ejecuci n de varias instrucciones operando simult neamente o a sobre un solo dato. Este modelo es unicamente te rico, porque no existen com o putadoras que caigan dentro de esta categora. Una computadora MIMD se caracteriza por la ejecuci n simult nea de m s de o a a una instrucci n, donde cada instrucci n opera sobre varios ujos de datos. Ejemo o plos de esta arquitectura son los sistemas multiprocesadores. Para lo relacionado con AGs paralelos, s lo hablaremos de las computadoras SIMD y MIMD. o
{ { { {
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
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 tico paralelo de e grano grueso. poblaci n. o Los AGs panmticos son utiles cuando el costo de evaluar la funci n de aptitud o es elevado (p.ej., una simulaci n). En el AG panmtico no se requieren nuevos o operadores ni nuevos par metros y la soluci n encontrada ser la misma que la a o a producida con un AG convencional (o sea, serial). Es importante hacer notar que aunque el paralelismo global normalmente es sncrono (o sea, que el programa se detiene y espera a recibir los valores de ap titud de toda la poblaci n antes de proceder a producir la siguiente generaci n), o o puede implementarse tambi n de forma asncrona, aunque en ese caso, su fune cionamiento ya no resultar equivalente al de un AG convencional. a Adem s de paralelizarse la evaluaci n de la funci n de aptitud, en el para o o alelismo global es posible incluir tambi n los operadores gen ticos, pero dada la e e simplicidad de estos, no suelen paralelizarse, pues los costos de comunicaci n o disiparan cualquier mejora en el desempe o del programa. n
A los AGs de grano grueso se les suele llamar tambi n AGs distribuidos, e porque suelen implementarse en computadoras MIMD con memoria distribuida. Asimismo, algunos autores los llaman tambi n AGs de isla, haciendo alusi n a e o un modelo poblacional usado en gen tica en el cual se consideran demes relativae mente aislados. A este modelo se le conoce como modelo de isla. Los AGs de grano grueso son muy populares debido a varias razones:
Los par metros que requieren los AGs de grano grueso son: a
{ { { { { { { { { {
Son una extensi n muy simple de los AGs seriales. Simplemente se toman o 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 s de una simulaci n efectuada en una e o red de estaciones de trabajo, o incluso en una computadora con un solo procesador haciendo la simulaci n mediante software (usando por ejemplo o 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 n permanece o igual, y s lo se requieren ciertas rutinas adicionales para implementar la o migraci n. o
N mero de demes (esto puede estar determinado por el hardware disponible). u Tama o de cada deme. n Estructura de la interconexi n (o sea, la topologa). o Intervalo de migraci n o Tasa de migraci n o Radio de selecci n o Radio de migraci n o 260
De entre estos par metros, algunos como la topologa, juegan un papel prea ponderante en el desempe o del AG. La topologa determina qu tan r pido (o n e a qu tan lentamente) se disemina una buena soluci n hacia los otros demes. e o Si se usa una topologa dispersamente conectada (con un di metro grande), las a soluciones se diseminar n m s lentamente y los demes estar n m s aislados entre a a a a s, permitiendo la aparici n de soluciones diferentes, favoreciendo probablemente o la diversidad. La topologa juega tambi n un papel preponderante en el costo de las migra e ciones. Por ejemplo, una topologa densamente conectada puede promover una mejor mezcla de individuos, pero a un costo computacional m s alto. a Se sabe, por ejemplo, que una topologa densa tiende a encontrar soluciones globales con un menor n mero de evaluaciones de la funci n de aptitud que si se u o usa una topologa dispersa. Tambi n es posible usar topologas din amicas, en las que los demes no est n e a limitados a poder comunicarse s lo con un cierto conjunto predenido de demes, o sino que enva 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 n efecto. Usualmente, se u usa la diversidad como el criterio principal para denir qu tan adecuado es un e cierto deme. Es importante mantener en mente la idea de que una topologa es una estruc tura l gica que puede diferir de la estructura de hardware disponible. Es decir, o la topologa de un AG paralelo no necesariamente debe coincidir con la de nues tra computadora. El problema de hacer esto, sin embargo, es que los costos de comunicaci n resultantes pueden ser muy elevados. o Relacionado con las topologas se encuentra el concepto de vecindario. El vecindario se reere al area dentro de la cual puede moverse un migrante de un cierto deme. Asociado al vecindario se encuentra el concepto de radio de selecci n, que se o reere a la cantidad de vecinos entre los cuales se puede efectuar la selecci n. Es o com n usar un radio de selecci n de cero, o sea, efectuar la selecci n s lo dentro u o o o del mismo deme, aunque cualquier otro valor es v lido. a Es com n usar vecindarios compactos en computaci n evolutiva, motivados u o por el hecho de qe en la naturaleza, las poblaciones est n limitadas geogr camente. a a En AGs paralelos, es f cil denir vecindarios compactos, y de ah que sean a tan populares en computaci n evolutiva. o 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 n de un AG se divide en un gran n mero de subpoblaciones muy o u peque as. De hecho, el caso ideal sera tener s lo un individuo por cada unidad n o 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 n o entre los procesadores puede hacer que el desempe o del algoritmo se degrade n con relativa facilidad. Es com n implementar este tipo de paralelismo colocando los individuos en u una malla bidimensional, debido a que esta es la topologa usada en hardware para muchas arquitecturas masivas en paralelo. Resulta difcil 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 lo una o cierta m trica (por ejemplo, la calidad de las soluciones encontradas). De tal e forma, no hay un claro ganador entre estos 2 esquemas.
Figura 15.5: Ejemplo de un esquema hbrido 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 hbrido 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 hbrido en el que se usa un AG de grano grueso tanto a alto como a bajo nivel. A bajo nivel, la velocidad de migraci n es mayor y la o topologa de comunicaciones es mucho m s densa que a alto nivel. a trabaja con aplicaciones en las cuales la mayor parte del tiempo de procesamiento lo consume la evaluaci n de la funci n de aptitud. o o Un tercer m todo hbrido podra consistir en usar un AG de grano grueso tanto e 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 panmtico a bajo nivel usando una alta tasa de migraci n y una topologa densa, y usar una baja tasa de migraci n a o o alto nivel. Este hbrido sera equivalente en complejidad a un AG de grano grueso, si consideramos a los grupos de subpoblaciones panmticas como un solo deme. Seg n Cant Paz [39], este esquema nunca ha sido implementado. u u
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 n podra haber una e sola memoria global compartida por todos los EPs.
15.2.5.2 Migraci n o Dos son los par metros principales relacionados con la migraci n: a o 1. Vecindario de migraci n: hacia qu demes podemos migrar un individuo. o e
{ { { { {
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 o reducido: 12 a 15 individuos cada uno). n Sin embargo, puede implementarse un AG de grano grueso con la misma arquitectura si se usan tama os mayores de demes (p.ej. 50 o 100 individn uos). El grado de conectividad es mucho m s importante que la estructura de a 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 asociado con el uso de migraci n a o y dicho operador puede complicarse bastante, dependiendo del grado de conectividad de la arquitectura.
266
2. Probabilidad de migraci n: cu l es la probabilidad de aceptar a un mio a grante en un cierto deme (suelen usarse valores altos, p.ej. 0.8)? Los puntos importantes relacionados con la migraci n son 2: o 1. A qui n importar en una poblaci n? e o 2. A qui n reemplazar en una poblaci n? e o Existen varios criterios para llevar a cabo estas 2 operaciones:
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.
{ { { { { { { {
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 poltica de reemplazo no es muy importante (no parece tener un efecto signicativo en el desempe o de un AG paralelo). n Sin embargo, el criterio de importaci n s es importante (importar al mejor o parece funcionar bien).
En la arquitectura MIMD suele tenerse un n mero peque o de demes (noru n malmente, menor a 40), pero el tama o de cada uno de ellos suele ser n grande. Es posible usar la misma representaci in para cada deme, o mezclar difero entes representaciones. 267
UC
UC UC Estructura de Interconexion
UC
. . . UC
UC = Unidad de Control
Global
Migracion
Local
Figura 15.10: Una topologa que suele usarse con las arquitecturas MIMD es la de arbol.
268
Busqueda local
Mas disruptiva
Menos disruptiva
La migraci n en este caso introduce 2 nuevos par metros: o a 1. Con qu frecuencia exportar? (siempre se exporta el mejor). Si se hace con e mucha frecuencia, se produce disrupci n. Si se hace con poca frecuencia, o habr poca recombinaci n y puede producirse convergencia prematura en a o ciertos demes. 2. A qu deme exportar? Normalmente se usa una de las 2 s iguientes ope ciones:
Otra posibilidad para una arquitectura MIMD es usar una topologa de anillo como la mostrada en la gura 15.11. En este tipo de topologa, la b squeda puede hacerse m s local cambiando la u a precisi n de la representaci n. o o Otra posibilidad es usar una topologa de grafo con interconexiones, o una topologa de estrella, como las que se muestran en la gura 15.12. 269
{ {
Los demes suelen diferenciarse debido al particionamiento del espacio de b squeda. u Las polticas de migraci n, en este caso, est n dictadas por el prop sito de o a o los demes.
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).
IS
Figura 15.12: Topologa de grafo y de estrella. En esta topologa, se usan tpicamente menos de 100 procesadores. Algunas opciones interesantes de la topologa 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 n que con la arquitectura SIMD. o 2. Pizarrones: Usando datos globales, cada deme decide por s mismo cu ndo a cambiar su direcci n de b squeda. o u
15.2.6 M tricas e
Otro punto interesante relacionado con los AGs paralelos son las m etricas. Normalmente, se consideran 2 de las m tricas usadas con AGs simples: e
Precisi n de la respuesta obtenida: Qu tan buena es la soluci n con o e o respecto a la obtenida con otras t cnicas? e
Diversidad: El grado en el cual los organismos (de una sola o de varias poblaciones) permanecen diferentes. Sin embargo, hay al menos una m trica adicional que es exclusiva de los AGs e paralelos:
Velocidad de propagaci n de los esquemas: qu tan bien distribuidos o e est n los esquemas aptos? O sea, qu tan util resulta la migraci n? a e o 270
{ { { {
= Longitud cromos mica. o = n mero de demes. u = tama o de cada deme. n = Valor del i- simo bit en el k- simo miembro e e del j- simo deme. e = diversidad. representa la diversidad de una poblaci n o En esta f rmula, o (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, deberamos conocer de antemano cu les son los buenos esque a mas.
Hacer que la propagaci n de esquemas sea la fracci n m xima de demes en o o a la cual aparece un esquema. 271
} g }
l F| & | h} )
Dn
{ { { {
Ejemplo del c lculo de la propagaci n de esquemas (SP): a o 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 n real, mientras el AG suele usar representaci n o o 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 este se produce a partir de la perturbaci n de uno solo de sus padres. o 4. En ED, el nuevo padre reemplaza a un vector de la poblaci n elegido aleatoo riamente s lo si es mejor que el. En el AG, siempre se reemplaza la poblaci n o o 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 rica y empricamente que los resultados de ambas o t cnicas son muy similares. Por ejemplo, el AG simple con cruza uniforme es e asint ticamente equivalente al algoritmo de distribuci n marginal univariada que o o supone que las variables son independientes. Una estimaci n de distribuci n puede capturar la estructura de los bloques o o constructores de un problema de forma muy precisa, de forma que se asegure su efectiva recombinaci n. Esto resulta en un desempe o lineal o subcuadr tico de o n a los EDAs en estos problemas. De hecho, si se obtiene una estimaci n de distribuci n precisa que capture la o o estructura del problema a resolverse,los EDAs convergen de acuerdo a como lo indica la teora de los AGs. El problema es que determinar dicha estimaci n es o una tarea que dista de lo trivial. Por lo tanto, hay un compromiso entre precisi n o y eciencia de la estimaci n probabilstica adoptada. o
A menor bondad de un cierto elemento, mayor ser su probabilidad de ser seleca cionado. Se usa un par metro adicional para compensar las posibles imprecisiones a de la medida de bondad. Finalmente, el paso de asignacion intenta asignar los elementos seleccionados a mejores posiciones. Adem s de los 3 pasos antes mencionados, se jan algunos par metros de a a 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 mero de veces y durante ese proceso se reoptimiza para otros u usos. Auto-adaptaci n: Evitar el uso de par metros ad-hoc en los algoritmos o a evolutivos. T cnicas que exploten arquitecturas paralelas: Es importante explotar al e m ximo las arquitecturas paralelas mediante nuevos algoritmos evolutivos. a Esto traer importantes ganancias en t rminos de esfuerzo computacional, a e sobre todo al lidiar con problemas del mundo real. Teora: Pruebas de convergencia, modelos matem ticos de los algoritmos a evolutivos, epstasis, diversidad, etc. Entender mejor la evoluci n natural: Simulaciones computacionales que o permitan entender las complejas interacciones que ocurren entre los seres vivos. Coevoluci n: Muchos investigadores han dirigido sus esfuerzos a estudiar o mejor la coevoluci n como un modelo alternativo para resolver problemas o en computaci n evolutiva. o El AG sin par metros: Es, sin lugar a dudas, el sue o de los expertos en a n computaci n evolutiva. o 276
Para nalizar, vale la pena mencionar que hace alg n tiempo, en la lista de u distribuci n GA-Digest se discutieron ampliamente los temas de investigaci n o o considerados como m s importantes en los a os por venir. Tras un intenso dea n bate, se concluy que las 3 preguntas m s importantes que debieran atacarse por o a los investigadores de computaci n evolutiva en los pr ximos a os para lograr la o o n madurez del area son las siguientes: 1. A qu tipo de problemas deben aplicarse los algoritmos evolutivos? e 2. C mo podemos mejorar nuestra comprensi n del funcionamiento de los o o algoritmos evolutivos? 3. Qu nuevas ideas pueden aplicarse a la computaci n evolutiva a n de e o extender el paradigma (p.ej., inspiraci n biol gica)? o o
277
Indice Analtico
acido desoxirribonucleico, 83 arboles, 105 ActiveGA, 213 adaptaci n o mecanismos, 185 adenina, 83 ADN, 83 AG de grano no, 263 problemas, 263 AG de grano grueso par metros, 260 a AG de isla, 260 AG desordenado, 103 aplicaciones, 104 AG distribuido, 260 AG panmtico, 259 AG paralelo esquemas hbridos, 263 AGs de grano grueso, 259 AGs paralelos hbridos, 263 m tricas, 270 e ajuste de par metros, 175 a alelo, 75, 84, 91, 97 algoritmo an lisis, 24 a complejidad, 24 algoritmo cultural, 80 algoritmo evolutivo de estado uniforme, 131 algoritmo gen tico, 60, 74 e cu ndo usarlo, 231 a aplicabilidad, 226 aplicaciones, 76 comparaci n con la estrategia evoo lutiva, 75 comparaci n con la programaci n evoo o lutiva, 75 componentes b sicos, 75, 95 a dise o automotriz, 248 n dise o de losas de concreto, 251 n dise o de red de agua potable, 249 n funcionamiento, 74 no generacional, 129 paralelo, 255 sin par metros, 276 a teora, 217 algoritmo gen tico estructurado, 111 e algoritmo gen tico segregado, 196 e algoritmos complejidades, 25 algoritmos evolutivos contra t cnicas tradicionales, 78 e algoritmos gen ticos e aplicaciones nancieras, 248 predicci n, 247, 248 o ambiente, 87 ambiente abi tico, 87 o ambiente bi tico, 87 o an lisis a priori, 23 a an lisis de algoritmos, 23 a ANSYS, 251 aptitud, 87, 91
278
paisaje de, 91 arquitectura masiva en paralelo, 263 arquitecturas paralelas, 265 asncrono AG paralelo, 259 auto-adaptaci n, 276 o estrategia evolutiva, 72 B ck, Thomas, 72, 133 a b squeda dispersa, 80 u b squeda tab , 34 u u Baldwin, James Mark, 64 Barricelli, Nils Aall, 56 Bienert, Peter, 58 binaria representaci n, 97 o bloque constructor, 92, 97 Boltzmann, 125 selecci n, 116 o Box, George E. P., 54 brecha generacional, 130 Bremermann, Hans Joachim, 57 BUGS, 208 c digos de Gray, 98 o campos petrolferos, 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-evolucion, 56, 87, 135 codicaci n de Gray, 98 o
codicaci n real, 99 o coevolucion, 276 Combinaci n o Teora de la, 46 competencia, 51, 88 complejidades de algoritmos, 25 computaci n evolutiva o aplicaciones, 247 crticas, 79 futuro, 276 las 3 grandes preguntas, 277 orgenes, 52 paradigmas, 67 programaci n de horarios, 249 o computadora IAS, 56 concavidad, 35 Conrad, Michael, 61 constructor bloque, 97 constructores hipotesis 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 mica o Teora, 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 n gen tica, 149 o e representaci n real, 157 o
279
sesgos, 147 uniforme, 141 cruza acentuada, 145 cruza aritm tica simple e representaci n real, 159 o cruza aritm tica total e representaci n real, 160 o cruza biologica, 141 cruza con barajeo, 148 cruza de dos puntos, 143 representaci n real, 158 o cruza de un punto an lisis, 143 a problemas, 141 cruza intermedia representaci n real, 159 o cruza para permutaciones, 151 cruza simple, 158 cruza uniforme, 145, 149 representaci n real, 158 o cruza vs. mutaci n, 173 o cultural algoritmo, 80 cycle crossover, 155 Darwin, Charles, 41, 45 deende las ideas de Lamarck, 43 inuencias recibidas, 46 teora de la pang nesis, 48 e Darwin, Erasmus, 43 De Jong experimentos, 177 decepci n, 93 o ejemplo, 225 decepci n parcial, 227 o decepci n total, 227 o deceptivo problema, 92 DeJong, Kenneth, 116 deme, 259
descenso empinado, 27 descentralizada arquitectura, 267 desvo gen tico, 66, 88 e determinstico, 25 DeVries, Hugo, 50 DGenesis, 209 dimensionalidad maldicion de la, 104 din mica evolutiva, 64 a diploide, 85 ejemplo, 243 diploides, 241 dise o de p ptidos, 247 n e dispersa b squeda, 80 u distribucion geom trica e selecci n, 134 o distribucional sesgo, 147 diversidad, 270 m tricas, 271 e division protegida, 108 dominancia, 241 ecosistemas articiales, 61 efecto Baldwin, 64 efecto de la cruza, 221 efecto de la mutaci n, 222 o efecto de la selecci n, 221 o ejecuci n, 110 o 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 epstasis, 53, 89, 92, 98 escalamiento sigma, 116, 122 escalando la colina, 35 ESCaPaDE, 210 especiaci n, 88, 92 o especie, 88 esperma, 84 esquema, 54, 94, 217 longitud de denici n, 142 o orden, 142 velocidad de propagaci n, 270 o 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 n, 72 o comparada con la programaci n evoo lutiva, 73 ejemplo, 70 recombinacion panmtica, 73 recombinacion 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 n o optimizaci n, 247 o estrategias evolutivas, 58 estructurado algoritmo gen tico, 111 e etapa, 256
evoluci n, 51 o evoluci n diferencial, 273 o comparaci n con un algoritmo gen tico, o e 274 evoluci n simulada, 275 o Evolucionismo, 41 Evolutionary Operation (EVOP), 54 evolutiva programaci n, 54 o Evolver, 213 EVOP, 54 Ewan Associates, 250 Exeter Universidad, 250 exploraci n, 94 o explotaci n, 94 o 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 n, 269 o 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 n, 91 o Genesis, 208 GENEsYs, 208 Genetic Algorithms Manipulation Environment, 112 Genetic Algorithms Sewer Analysis, 250 GENOCOP, 211 genoma, 84 genotipo, 45, 85, 89 Germoplasma Teora del, 44 germoplasma, 44 Glover, Fred, 80 Goldberg, David Edward, 116 GPC++, 211 GPEIST, 211 gradualidad, 101 gram ticas, 112 a Gray c digos, 98 o greedy heurstica, 249 Grefenstette estudio, 178 Grefenstette, John J., 208 guanina, 83 Haeckel, Ernst, 44 Hamming distancia, 269 riscos, 98 haploide, 85 haploides, 241 heurstica denicion, 33 heurstica greedy, 249 Hicklin, J. F., 62
hip tesis de los bloques constructores, 223 o hip tesis est tica de los bloques construco a tores, 227 Historie Naturelle, 41 hitchhiker, 230 hitchhikers, 143 Holland, John H., 54, 60, 74 argumento a favor de representacion binaria, 97 hom logos o cromosomas, 241 horarios programaci n, 249 o Hunt Morgan, Thomas, 50 IEEE representaci n de punto otante, 100 o individuo, 85, 91 inteligencia logen tica, 89 e ontogen tica, 89 e sociogen tica, 89 e inteligencia articial, 105 intrones, 94 inversi n, 53, 93, 243 o isla modelo de, 260 Jenkins, Fleming, 47 jerarquas, 116 jerarquas 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 n, 142 o longitud variable representaci n de, 103 o losas de concreto diseno, 251 Lyell, Charles, 46 m tricas, 270 e en AGs paralelos, 270 MacReady, William, 224 maldici n de la dimensionalidad, 104 o 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 tico, 180 e micro-operadores, 245 MicroGA, 214 migraci n, 88, 92, 259, 266 o par metros, 267 a probabilidad, 267 vecindario de, 266 MIMD, 257, 267 Minsky conjetura, 256
MISD, 257 modelos probabilsticos, 274 MPI, 260 muerte pena de, 193 muestreo determinstico, 121 Multiple Instruction Stream, Multiple Data Stream, 257 Multiple Instruction Stream, Single Data Stream, 257 multiprocesador, 263 Mutaci n o Teora de la, 50 mutaci n, 51, 93, 165 o efecto de, 222 porcentajes optimos, 165 programaci n gen tica, 167 o e representaci n real, 168 o mutaci n de lmite, 169 o mutaci n heurstica, 166 o mutaci n no uniforme, 168 o mutaci n por desplazamiento, 166 o mutaci n por inserci n, 165 o o mutaci n por intercambio recproco, 166 o mutaci n uniforme, 170 o mutaci n vs. cruza, 173 o mutaciones espont neas, 50 a mutaciones variables, 185 Neo-Darwiniano paradigma, 51 Neo-Darwinismo, 51 nicho, 92 nicho ecologico, 88 no convexidad, 35 No Free Lunch Theorem, 224 notaci n big-O, 24 o notaci n del IEEE, 100 o NP, 25 NP completos
283
problemas, 26 nucleotidos, 83 Omega, 248 On the Variation of Animals and Plants under Domestication, 48 operador de intersecci n, 157 o Optimal Solutions, 250 optimizaci n o t cnicas cl sicas, 27 e a optimizaci n combinatoria, 38 o orden de un esquema, 142 order crossover, 152 order-based crossover, 154 ovarios, 84 OX, 153 p ptidos e optimizaci n, 247 o paisaje de aptitud, 91 Pang nesis e Teora de la, 48 paralelismo, 92, 276 motivaci n, 255 o nociones, 255 paralelismo implcito, 54, 179, 219, 258 paralelizacion explcita, 258 paralelizacion global, 258 parameter-based mutation, 171 partially mapped crossover, 153 Pattee, Howard H., 61 PC-Beagle, 213 pena de muerte, 193 penalizaci n o adaptativa, 195 algoritmo gen tico segregado, 196 e basada en factibilidad, 196 din mica, 194 a est tica, 193 a funcion de, 191
pena de muerte, 193 recocido simulado, 194 permutaciones cruza, 151 mutaci n, 165 o PGAPack, 212 Philosophie Anatomique, 43 Philosophie Zoologique, 43 pipelining, 256 pizarrones, 270 plan reproductivo gen tico, 74 e pleitropa, 88 Plymouth Universidad, 251 PMX, 153 poblaci n, 85 o cantidad de esquemas, 218 no traslapable, 130 panmtica, 92 traslapable, 130 poligenia, 56, 88 posicional sesgo, 148 position-based crossover, 153 precisi n o de la respuesta obtenida, 270 predicci n, 248 o presion de selecci n, 122 o prevenci n de incesto, 94 o primordial fase, 104 programaci n autom tica, 105 o a programaci n evolutiva, 68 o algoritmo, 68 aplicaciones, 69 comparada con la estrategia evolutiva, 73 ejemplo, 69 programaci n gen tica, 62, 105 o e cruza, 108, 149
284
ejecuci n, 110 o encapsulamiento, 110 funciones, 106 mutacion, 108, 167 permutaci n, 108 o simplicaci n, 110 o terminales, 106 PVM, 260 Quadstone, 247 radio de selecci n, 261 o Ray, Thomas S., 64 Rechenberg, Ingo, 58, 70 recocido simulado, 35, 125, 194 recombinaci n panmtica o estrategia evolutiva, 73 recombinaci n respetuosa aleatoria, 149 o recombinaci n sexual, 53 o estrategia evolutiva, 73 red de agua potable, 249 redes neuronales hbridos con AGs, 247 Reed, J., 56 REGAL, 212 regla de exito 1/5, 71 regla de exito 1/7, 72 rendimiento total, 256 reordenamiento, 93 representaci n o arboles, 105 algoritmo gen tico, 95 e de longitud variable, 103 gram ticas, 112 a hbrida, 112 jer rquica, 111 a matricial, 112 permutaciones, 112 recomendaciones, 113 tendencias futuras, 112 representaci n binaria, 96 o
problemas, 97 representaci n de punto jo, 101 o representaci n entera, 102 o representaci n real o cruza, 157 mutaci n, 168 o reproducci n, 51, 88 o asexual, 88 operadores de, 93 sexual, 88 reproducci n sexual, 85 o caso diploide, 87 caso haploide, 85 restricciones, 191 restricciones explcitas, 37 restricciones implcitas, 37 Reynolds, Robert G., 80 riscos de Hamming, 98, 101 Russell Wallace, Alfred, 45, 46 sncrono 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 n, 53, 245 o segregado algoritmo gen tico, 196 e selecci n, 51, 87 o blanda, 87 de estado uniforme, 115 dura, 87 efecto, 221 extintiva, 115 m todos din micos, 135 e a m todos est ticos, 135 e a
285
mediante torneo, 115 proporcional, 115 radio de, 261 selecci n blanda, 129 o selecci n competitiva, 135 o selecci n de Boltzmann, 116, 125 o selecci n de estado uniforme, 129 o selecci n derecha, 136 o selecci n dura, 129 o selecci n extintiva, 70, 135, 136 o selecci n izquierda, 136 o selecci n mediante torneo, 126 o determinstico, 126 probabilstico, 126 selecci n preservativa, 135 o selecci n proporcional o aditamentos, 116 Boltzmann, 116, 125 escalamiento sigma, 122 jerarqua geom trica, 134 e jerarquas, 116 jerarquas lineales, 123 jerarquas no lineales, 133 muestreo determinstico, 116, 121 ruleta, 115 sobrante estoc stico, 115, 117 a universal estoc stica, 116, 119 a selecci n pura, 136 o 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 n o optimizaci n, 248 o sistemas clasicadores, 55, 131 Smalltalk, 212 sobrante estoc stico, 117 a con reemplazo, 119 sin reemplazo, 119 sobre-especicaci n, 103 o software, 207 bibliotecas, 207 cajas de herramientas, 207 especco, 207 orientado a las aplicaciones, 207 orientado a los algoritmos, 207 sistemas de prop sito general, 208 o sistemas educativos, 207 somatoplasma, 44 stagnation, 55 steepest descent, 27 StruMap, 249 sub-especicaci n, 103 o subpoblaci n, 92 o sustituci n reducida, 148 o Sutton, Walter, 50 tab u b squeda, 34 u Tac Tix, 56 tama o optimo de poblaci n, 178 n o teora areas abiertas de investigaci n, 225 o teora cromos mica de la herencia, 50 o teorema de los esquemas, 220, 222 crticas, 223 terminales, 106 throughput, 256 Tierra, 64 Toombs, R., 56 topologa, 261 de anillo, 269
286
de estrella, 270 de grafo, 270 densa, 261 dispersa, 261 topologa din mica, 261 a torneo selecci n mediante, 126 o toroide, 266 traslocaci n, 245 o Turing, Alan Mathison, 52 uni n, 104 o Unilever Research, 247 universal estoc stica, 119 a Universidad de Exeter, 250 Universidad de Plymouth, 251 variables de decisi n, 37 o varianza elevada de la aptitud, 228 variedad requisito, 93 vecindario, 261 migraci n, 266 o vecindarios compactos, 261 vectoriales instrucciones, 257 velocidad de convergencia, 270 de propagaci n de los esquemas, 270 o viabilidad, 87 vida articial, 56 von Neumann, John, 56 Walsh transformada, 227 Weismann, August, 44 derrumba la teora Lamarckista, 44 teora del germoplasma, 44 Weissman, August, 51 Whitley Darrell, 129
287
288
Bibliografa
[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 ck. Self-adaptation in genetic algorithms. In F.J. Varela and P. Bourgine, a editors, Proceedings of the First European Conference on Articial Life, pages 263271, Cambridge, Massachusetts, 1992. MIT Press. [7] Thomas B ck. Optimal Mutation Rates in Genetic Search. In Stephanie Forrest, a editor, Proceedings of the Fifth International Conference on Genetic Algorithms, pages 28. Morgan Kaufmann Publishers, San Mateo, California, July 1993. [8] Thomas B ck. Selective Pressure in Evolutionary Algorithms: A Characterizaa tion of Selection Mechanisms. In Proceedings of the First IEEE Conference on Evolutionary Computation, pages 5762, Orlando, Florida, 1994. IEEE. [9] Thomas B ck. Evolutionary Algorithms in Theory and Practice. Oxford University a Press, New York, 1996.
289
[10] Thomas B ck, David B. Fogel, and Zbigniew Michalewicz, editors. Handbook of a Evolutionary Computation. Institute of Physics Publishing and Oxford University Press, New York, 1997. [11] Thomas B ck and Frank Hoffmeister. Extended Selection Mechanisms in Genetic a 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 ck, Frank Hoffmeister, and Hans-Paul Schwefel. A Survey of Evolution a 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 r drei parameter. Dipl.-Ing. u 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 -Paz. A Survey of Parallel Genetic Algorithms. Technical Report u 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 ndez Aguirre. a 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 ndez Aguirre. a 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 ndez, and Francisco Alonso Fara rera. 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 s. Uso de emulaciones del sistema inmune para manejo de ree stricciones en algoritmos evolutivos. Masters thesis, Universidad Veracruzana, Xalapa, M xico, 2000. e [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, 199. [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 rieure de Lyon, Lyon, France, e 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 rgen Hesser and Reinhard M nner. Towards an Optimal Mutation Probability for u a Genetic Algorithms. In H.-P. Schwefel and R. M nner, editors, Parallel Problem a 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 nez, A.F. G mez-Skarmeta, and G. S nchez. How Evolutionary Multie o a objective Optimization can be used for Goals and Priorities based Optimization. In Primer Congreso Espa ol de Algoritmos Evolutivos y Bioinspirados (AEB02), n pages 460465. M rida Espa a, 2002. e n [135] Fernando Jim nez and Jos L. Verdegay. Evolutionary techniques for constrained e e 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 s, como Philosophie Zoologique). e [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 nn, volume 1, pages 347. Verlag des Vereines, u Br nn, FebruarM rz 1865. u a [158] Gregor Johann Mendel. Experiments in Plant Hybridisation. Journal of the Royal Horticultural Society, 26:132, 1901. (Traducci n al ingl s de un artculo publio e cado 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 n en o Computaci nInstituto Polit cnico Nacional, Mexico City, 1999. o e [172] Pedro Larra naga and Jos A. Lozano, editors. Estimation of Distribution Algoe rithms: 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 -Paz, u 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 nter Rudolph. Convergence Analysis of Canonical Genetic Algorithms. IEEE u Transactions on Neural Networks, 5:96101, January 1994. [196] G nter Rudolph and Alexandru Agapie. Convergence properties of some multiu objective 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 mungstechnik. Dipl.-Ing. thesis, 1965. (in German). o [203] Hans-Paul Schwefel. Numerische Optimierung von Computer-Modellen mittels der Evolutionsstrategie. Birkh user, Basel, Alemania, 1977. a [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 combinational optimization. University of Pittsburgh, Pittsburgh (unpublished), 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 riaux, C. Poloni, and e 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