Está en la página 1de 310

Introducci n a la Computaci n Evolutiva o o (Notas de Curso)

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

c 2000,2001,2002,2003,2004 Todos los derechos reservados

Dedicatorias

A mi esposa Lupita, por todo el apoyo que siempre me ha brindado.

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

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

2.21 2.22 2.23 2.24

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

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

5.5 5.6 5.7 5.8 5.9 5.10 6

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

12.2 Representaci n gr ca de la o a Tipo I. . . . . . . . . . . . . 12.3 Representaci n gr ca de la o a Tipo II. . . . . . . . . . . .

clase de . . . . . clase de . . . . .

problemas deceptivos de . . . . . . . . . . . . . . . 234 problemas deceptivos de . . . . . . . . . . . . . . . 235

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

265 266 268 268 269 270

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

Captulo 1 Conceptos B sicos a


Antes de aventurarse a tomar un curso de computaci n evolutiva (o sobre heursticas o de cualquier otro tipo), es muy importante tener frescos en la memoria algunos conceptos b sicos a n de poder entender de manera clara la motivaci n para dea o sarrollar y usar heursticas. De tal forma, iniciaremos el curso repasando algunos conceptos fundamentales de an lisis de algoritmos y teora de la computaci n. a o

1.1 An lisis de algoritmos a


El an lisis de algoritmos comprende 2 etapas: el an lisis a priori y el an lisis a a a a posteriori. En el primero de ellos, obtenemos una funci n que acota el tiempo o de c lculo del algoritmo. En el an lisis a posteriori lo que hacemos es recolectar a a estadsticas acerca del consumo de tiempo y espacio del algoritmo mientras este se ejecuta [130]. Es importante tener en mente que durante el an lisis a priori de un algoritmo, a se ignoran los detalles que sean dependientes de la arquitectura de una computadora o de un lenguaje de programaci n y se analiza el orden de magnitud de la o frecuencia de ejecuci n de las instrucciones b sicas del algoritmo. o a Veamos un ejemplo simple de an lisis a priori. Consideremos los 3 segmentos a de c digo siguientes: o

(2) for i = 1 to



(1)

do

23

end for i (3) for i = 1 to do for j = 1 to do end for j end for i

1 para el segmento (1).

para el segmento (2). para el segmento (3).

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

$ h ! ' R $d ! ' R $ ! ' R $  X U ! ' R $ ! ' R $  X ! ' R $P! YigfISe12)Sc2ITS%7baV&2ITS%2)T`%7YWV2U)TS@QI'

$$ ! ! 4321#0)' $$ ! ! ' $ ! 4321#0)GF32"

$ ! %#"

$ ! %#30

6 D 1E

8$ ! H%#3 80

8$ ! 85 A8$ ! @3210 CB@32"98 $$ ! ! ' $ ! 4321#0)(&%#"

Denici n: o tales que

si y s lo si existen dos constantes positivas o para toda .



La frecuencia de ejecuci n de la sentencia o

   $ ! 32"

es:

  

 

2. Buscar un elemento en una lista ordenada:

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' !

4. Calcular el determinante de una matriz:

$X U ! 3"baV&2I'

3. Quicksort:

$3"baV2UI' X ! $ ! %2)'

1. Buscar un elemento en una lista no ordenada:

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 , hay unas 100,000,000,000,000,000,000,000,000,000, 000,000, 000,000,000,000,000,000,000,000,000 soluciones posibles.

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.

1.2 T cnicas Cl sicas de Optimizaci on e a


Existen muchas tcnicas cl sicas para resolver problemas con ciertas caractersticas a especcas (por ejemplo, funciones lineales con una o m s variables). a Es importante saber al menos de la existencia de estas tcnicas, pues cuando el problema por resolverse se adec a a ellas, no tiene ning n sentido usar heursticas. u u Por ejemplo, para optimizaci n lineal, el m todo Simplex sigue siendo la o e opci n m s viable. o a Para optimizaci n no lineal, hay m todos directos (p. ej. la b squeda aleatoo e u ria) y m todos no directos (p. ej., el m todo del gradiente conjugado). e e Uno de los problemas de las t cnicas cl sicas de optimizaci n es que suelen e a o requerir informaci n que no siempre est disponible. Por ejemplo, m todos como o a e el del gradiente conjugado requieren de la primera derivada de la funci n objetivo. o Otros, como el de Newton, requieren adem s de la segunda derivada. Por tanto, a si la funci n objetivo no es diferenciable (y en algunos casos, ni siquiera est o a disponible en forma explcita), estos m todos no pueden aplicarse. e A n de ilustrar la forma en la que operan las t cnicas cl sicas de optimizaci n, e a o resolveremos paso por paso un ejemplo sencillo con el m todo de descenso empe inado (steepest descent)y el m todo de Fletcher-Reeves. e M todo del Descenso Empinado e Este m todo fue propuesto originalmente por Cauchy en 1847. La idea del e m todo es comenzar de un cierto punto cualquier e y luego moverse a lo largo de las direcciones de descenso m s empinado hasta encontrar el optimo. El algoa ritmo es el siguiente:

3. Encontrar la direcci n de b squeda o u

4. Determinar la longitud optima de incremento

en la direcci n o

27

f g

f m h m @ed nf tf 3f g nf srf r qpf nf om #$ "elk%H)ji1f g f ! d h f d h

f g

f @ed

2. Calcular el gradiente

, denida como: (1.1) , y hacer: (1.2)

1. Comenzar con un punto arbitrario

. Hacer

r byh r m mf r s%$ r gm$ r jrs  $ r jy r yh r l7$ r m vr j" m ! m h! f m h! f m m h u m h!


Y sabemos que:

{ P r m v { P Fh z s v z $ r m uvr j$ r g rty r " m h! n m ! r m g rn y r  rtm n { P r d h r P Fh z eli g


:

{ h ! d P $ r "e r )d P z{  1 {   is r @yFh f f P ~ f  @y r YwP z r }} 1 iz jed ~ }} |

{ Tv r v z

r qpf

5. Checar la optimalidad de contrario, ir al paso 6.

6. Hacer

P 

Ejemplo:

Min

 y  r is r @y  xh r w$  vr #" f f u !
. Ir al paso 2.

Determinar

Calcular la direcci n de b squeda: o u

Para iniciar la primera iteraci n, necesitamos calcular el gradiente de la funci n: o o

usando el punto inicial:

, lo cual se obtiene de:

. Si el punto es optimo, detenerse. De lo

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

{ P { P {v  PFh z PFh z P v z f


, y: .

Por lo que:

Calculemos ahora

Como

Chequemos ahora la optimalidad de esta soluci n: o

entonces tenemos que continuar con una iteraci n m s: o a

29 e igualar el

Procedemos nuevamente a checar optimalidad de esta soluci n: o

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

2. Calcular la direcci n inicial de b squeda: o u

4. Obtener

, y hacer:

f g nf yf r qpf m

nf tm

5. Calcular

y obtener el nuevo punto:

30

f i

donde es el paso optimo de movimiento en la direcci n o y proceder al paso siguiente.

r g

r f r f  8 H)d8 @el1f 8f g  4H)9d8 f d h g

r m g rn y r 

3. Obtener

usando:

{ fbP { r P { P vjh z r PFh z P z r 


tenemos que seguir iterando.

r e7$ r "elk r d ! d h g

{ Tv d v x ed {Tfh v { $ P! f $ v h! f P bfbrs%CjQryz h d fv z bfbQry%CtyP z )d $ P! f $ v h!  r


.

#$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

6. Evaluar la optimalidad de . Si es optimo, detener el proceso. De y regresar al paso 4. lo contrario,

r pf

r qpf

P 

Ejemplo:

Min

  r @y r iy  h r 7$  vr #" f f u !

Para obtener tanto:

La direcci n de b squeda es: o u

{ v r v z

Iteraci n 1 o

usando el punto inicial:

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

1.3 T cnicas heursticas e


Hasta ahora, debi haber quedado claro que existen problemas que no pueden o resolverse usando un algoritmo que requiera tiempo polinomial. De hecho, en muchas aplicaciones pr cticas, no podemos siquiera decir si existe una soluci n a o eciente. Asimismo, hay muchos problemas para los cuales el mejor algoritmo que se conoce requiere tiempo exponencial. Cuando enfrentamos espacios de b squeda tan grandes como en el caso del u problema del viajero, y que adem s los algoritmos m s ecientes que existen para a a resolver el problema requieren tiempo exponencial, resulta obvio que las t cnicas e cl sicas de b squeda y optimizaci n son insucientes. Es entonces cuando recura u o rimos a las heursticas. La palabra heurstica se deriva del griego heuriskein, que signica encon trar o descubrir. 33

Al no poderse reducir m s , podemos decir que 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

  

B squeda Tab u u Recocido Simulado Escalando la Colina

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.

1.4 Conceptos Importantes

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

$  " bQ%$ r " `$  byQ r g ! $ h P! ! A $ h P! !

Comenzaremos por denir convexidad. El conjunto , y para toda :

es convexo si para toda

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

$ !  " $ 1 ! b u uP u v $ u u u u w ! C0 P v A $ f i ` ! vf A v YwA r THP

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).

1.5 Problemas propuestos


1. Para los siguientes pares de funciones, determine el valor entero m s peque o a n para el cual la primera funci n se haga mayor o igual a la segunda o de funci n (la de la derecha). En cada caso, muestre la forma en que obtuvo el o valor de :

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

r4q p4   %  bVW#U!7   YWVU $ X X d1 


,

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

Captulo 2 Un vistazo hist rico a la o computaci n evolutiva o


2.1 El origen de las ideas
Contrario a lo que muchos creen, las ideas evolucionistas que bien hiciera en popularizar Charles Darwin en 1858 no se originaron con el, sino que estuvieron presentes en las mentes de una serie de cientcos y pensadores en general que no se sentan satisfechos con la (entonces popular) idea de que haba un Dios originador de todas las especies del planeta (las cuales haban sido creadas de forma separada) y de que las especies estaban jerarquizadas por Dios de tal manera que el hombre ocupaba el rango superior, al lado del Creador. Georges Louis Leclerc (Conde de Buffon) fue tal vez el primero en especular (100 a os antes que Darwin) en su Historie Naturelle (una impresionante encin clopedia de 44 tomos que describa todo lo que se saba en aquel entonces sobre la naturaleza), que las especies se originaron entre s. Leclerc no s lo not las o o similitudes entre el hombre y los simios, sino que incluso habla sobre un posible ancestro com n entre estas dos especies. Leclerc crea en los cambios org nicos, u a pero no describi un mecanismo coherente que fuera responsable de efectuarlos, o sino que especul que era el ambiente el que inua directamente sobre los organo ismos. 41

Figura 2.1: Georges Louis Leclerc (Conde de Buffon).

Figura 2.2: Jean Baptiste Pierre Antoine de Monet (Caballero de Lamarck).

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].

2.3 La teora del germoplasma


El cientco alem n August Weismann formul en el siglo XIX una teora de a o nominada del germoplasma, seg n la cual el cuerpo se divide en c lulas germiu e nales (o germoplasma) que pueden transmitir informaci n hereditaria y en c lulas o e som ticas (o somatoplasma), que no pueden hacerlo [224]. Sus ideas entraban a en contraposici n con el Lamarckismo, por lo que decidi efectuar una serie de o o experimentos en los cuales cort la cola a un grupo de ratas durante 22 generao ciones (1,592 ratones en total), haciendo ver que esto no afectaba la longitud de la cola de las nuevas generaciones de ratas. Con ello, Weismann demostr que o la teora Lamarckista de la herencia de caractersticas a trav s de generaciones e estaba equivocada, y condujo (incidentalmente) al re-descrubrimiento del trabajo de Mendel sobre las leyes de la herencia. Para Weismann, la selecci n natural era el unico mecanismo que poda camo 44

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

2.4 Russell y Darwin


El naturalista ingl s Alfred Russell Wallace era un auto-didacta que se interes e o en el origen de las especies a mediados de los 1850s, publicando varios artculos al respecto que pasaron totalmente desapercibidos. En 1858, de manera s bita u intuy la teora de la selecci n natural sin saber que Darwin se le haba adelantado, o o e ir ricamente le escribi a este para pedirle que le ayudara a publicar sus ideas. El o o resultado de esta curiosa cooperaci n fue la presentaci n de un trabajo conjunto o o a la Linnean Society de Londres, el 1 de julio de 1858, el cual fue publicado posteriormente (ese mismo a o) en el Journal of the Linnean Society. n Tanto Charles Darwin como Alfred Russell Wallace estuvieron fuertemente inuenciados por el trabajo del economista Thomas Robert Malthus 4 y del ge logo o
En gentica moderna, el t rmino genotipo se usa para denotar la composici n gen tica de un e e o e organismo. 3 En gen tica moderna, se denomina fenotipo a los rasgos especcos de un individuo. e 4 Malthus armaba que mientras las especies se reproducen de forma geom trica, los recursos e
2

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

2.5 La teora de la combinacion


Una teora popular sobre la herencia en la epoca de Darwin era la teora de la combinaci n, seg n la cual las caractersticas hereditarias de los padres se mezo u claban o combinaban de alguna forma en sus hijos. La mayor debilidad de esta teora es que no explicaba la ocurrencia de cambios repentinos en una especie, los cuales no haban sido heredados de ning n ancestro. u
naturales s lo crecen de forma aritm tica, por lo que ocurren peri dicamente crisis para estabilizar o e o las poblaciones de las especies con respecto a los recursos que requieren. 5 Lyell se convenci que la forma de las monta as y dem s formaciones geol gicas se deba a o n a o causas naturales y no divinas.

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

2.6 Las leyes de la herencia de Mendel


El monje austriaco Johann Gregor Mendel realiz una serie de experimentos con o guisantes durante buena parte de su vida, estudiando las caractersticas b sicas de a esta planta. Mediante un cuidadoso an lisis de las diferentes caractersticas mana ifestadas por las plantas de guisantes, Mendel descubri tres leyes b sicas que o a gobernaban el paso de una caracterstica de un miembro de una especie a otro. La primera ley (llamada de Segregaci n) estableca que los miembros de cada par de o alelos de un gene se separan cuando se producen los gametos durante la meiosis. La segunda ley (llamada de la Independencia) estableca que los pares de alelos se independizan (o separan entre s durante la formaci n de gametos6. La tercera o ley (llamada de la Uniformidad) estableca que cada caracterstica heredada se de termina mediante dos factores provenientes de ambos padres, lo cual decide si un
6

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].

2.7 La teora de la pang nesis e


Esta teora esbozada por Darwin (explicada en el libro On the Variation of Animals and Plants under Domestication [58]) esgrime que cada organo del cuerpo pro duce peque as partculas hereditarias llamadas g mulas o pangenes. Seg n n e u Darwin, estas g mulas eran transportadas a trav s de la sangre y se recolectaban e e en los gametos8 durante su formaci n. Esto signicaba que, seg n esta teora, las o u caractersticas de los padres se transmitan directamente a la sangre de sus hijos. Esta teora estaba claramente inuenciada por el Lamarckismo, y curiosa mente fue desacreditada por un primo de Darwin llamado Francis Galton, quien efectu transfusiones sanguneas de un conejo negro a uno blanco, mostrando que o los descendientes de este ultimo permanecan blancos, sin importar a cu ntas gen a eraciones se les inyectara sangre del conejo negro. Cabe destacar que Darwin desconoca el trabajo contempor neo de Gregor a Mendel, que le habra dado el elemento faltante en su teora de la evoluci n: una o explicaci n clara del mecanismo de la herencia. o 48

Figura 2.7: Francis Galton.

Figura 2.8: Hugo De Vries.

49

2.8 La teora de la mutacion


El bot nico dan s Hugo De Vries crey haber descubierto una nueva especie de a e o planta al encontrar (alrededor del a o 1900) una or roja entre una gran cantin dad de ores amarillas. Seg n De Vries, esto se deba a una mutaci n abrupta e u o infrecuente de las ores amarillas. Accidentalmente, DeVries re-descubri nueo vamente las leyes de la herencia que enunciara varios a os atr s Gregor Mendel, n a y puso de moda la teora de las mutaciones espont neas [223], expandiendo con a ella la teora Darwiniana de la evoluci n. o Seg n De Vries, los cambios en las especies no eran graduales y adaptativos u como armaba Darwin, sino m s bien abruptos y aleatorios (es decir, al azar). a Varios a os m s tarde se descubri que las ores rojas que motivaron esta teora n a o no eran m s que una variedad m s de las mismas ores amarillas de que estaa a ban rodeadas, y no una nueva especie como De Vries crea. De hecho, se ha logrado demostrar que las mutaciones son siempre da inas y que no producen n nuevas especies, aunque algunos aspectos de la teora de De Vries han servido para complementar la teora evolutiva de Darwin.

2.9 La teora cromos mica de la herencia o


En 1903, Walter Sutton (entonces un estudiante de posgrado en la Universidad de Columbia), ley el trabajo de Mendel y el de DeVries, y determin correctamente o o (y sin la ayuda de experimentos gen ticos) que los cromosomas en el n cleo de e u las c lulas eran el lugar donde se almacenaban las caractersticas hereditarias. e Tambi n arm que el comportamiento de los cromosomas durante la divisi n de e o o las c lulas sexuales era la base para las leyes de la herencia de Mendel. Un poco e despu s indic que los cromosomas contenan genes, y que los genes de un mismo e o cromosoma estaban ligados y, por tanto, se heredaban juntos. A esto se le llam o la teora cromos mica de la herencia. o Thomas Hunt Morgan conrmara experimentalmente las hip tesis de Sutton o algunos a os m s tarde, con lo que Sutton pas a ser uno de los pioneros m s n a o a importantes de la gen tica moderna. e
El t rmino gene fue acu ado en una epoca posterior, pero los factores hereditarios o e n unidades de la herencia a los que se reri Mendel son precisamente los genes. o 8 Se denominan gametos a las c lulas que llevan informaci n gen tica de sus padres con el e o e prop sito de llevar a cabo una reproducci n sexual. En los animales, a los gametos masculinos se o o les llama espermas y a los femeninos se les llama ovulos.
7

50

Figura 2.9: Thomas Hunt Morgan.

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

Figura 2.10: Alan Mathison Turing.

2.11 Inspiracion biol gica o


La evoluci n natural fue vista como un proceso de aprendizaje desde los 1930s. o W. D. Cannon, por ejemplo, plantea en su libro The Wisdom of the Body [38] que el proceso evolutivo es algo similar al aprendizaje por ensayo y error que suele manifestarse en los humanos. El c lebre matem tico ingl s Alan Mathison Turing reconoci tambi n una e a e o e conexi n obvia entre la evoluci n y el aprendizaje de m quina en su artculo o o a (considerado hoy cl sico en Inteligencia Articial) titulado Computing Machina ery and Intelligence [219].

2.12 Alexander Fraser


A nes de los 1950s y principios de los 1960s, el bi logo Alexander S. Fraser o [89, 90, 91] public una serie de trabajos sobre la evoluci n de sistemas biol gicos o o o en una computadora digital, dando la inspiraci n para lo que se convertira m s o a tarde en el algoritmo gen tico [127]. e El trabajo de Fraser incluye, entre otras cosas, el uso de una representaci n bio naria, de un operador de cruza probabilstico, de una poblaci n de padres que o generaban una nueva poblaci n de hijos tras recombinarse y el empleo de un o mecanismo de selecci n. Adem s, Fraser estudi el efecto de la epstasis9 , la o a o
En biologa se dice que un gen es espist tico cuando su presencia suprime el efecto de un a gen que se encuentra en otra posici n. o
9

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 .

2.14 La evolucion de programas de Friedberg


R. M. Friedberg [94] es considerado como uno de los primeros investigadores en intentar evolucionar programas de computadora. Aunque Friedberg no usa explcitamente la palabra evoluci n en su trabajo, resulta claro que ese es el o enfoque que adopt en su artculo original y en una versi n posterior, publicada en o o 1959 [95]. De hecho, en un artculo posterior, sus co-autores modelan la evoluci n o como un proceso de optimizaci n [70]. o El trabajo de Friedberg consisti en generar un conjunto de instrucciones en o lenguaje m quina que pudiesen efectuar ciertos c lculos sencillos (por ejemplo, a a sumar dos n meros) [81]. Fogel [81] considera que Friedberg fue el primero en u enunciar de manera informal los conceptos de paralelismo implcito12 y esque 13 mas , que popularizara Holland en los 1970s [127]. Friedberg [94] utiliz un algoritmo de asignaci n de cr dito para dividir la o o e inuencia de diferentes instrucciones individuales en un programa. Este procedimiento fue comparado con una b squeda puramente aleatoria, y en algunos casos u fue superado por esta. Tras ciertas modicaciones al procedimiento, Friedberg fue capaz de superar a una b squeda totalmente aleatoria, pero no pudo resolver u satisfactoriamente el problema de estancamiento (stagnation, en ingl s) de la e poblaci n que se le present y por ello fue cruelmente criticado por investigadores o o de la talla de Marvin Minsky, quien en un artculo de 1961 [165] indic que el tra o
Ver por ejemplo la p gina http://www.multisimplex.com/evop.htm a El paralelismo implcito que demostrara Holland para los algoritmos gen ticos se reere al e hecho de que mientras el algoritmo calcula las aptitudes de los individuos de una poblaci n, estima o de forma implcita las aptitudes promedio de un n mero mucho m s alto de cadenas cromos micas u a o a trav s del c lculo de las aptitudes promedio observadas en los bloques constructores que se e a detectan en la poblaci n. o 13 Un esquema es un patr n de valores de los genes en un cromosoma. o
12 11

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.

2.15 Friedman y la rob otica evolutiva


George J. Friedman [97] fue tal vez el primero en proponer una aplicaci n de o t cnicas evolutivas a la rob tica: su tesis de maestra propuso evolucionar una e o serie de circuitos de control similares a lo que hoy conocemos como redes neuronales, usando lo que el denominaba retroalimentaci n selectiva, en un proceso o an logo a la selecci n natural. Muchos consideran a este trabajo, como el origen a o mismo de la denominada rob tica evolutiva, que es una disciplina en la que se o intentan aplicar t cnicas evolutivas a diferentes aspectos de la rob tica (planeaci n e o o de movimientos, control, navegaci n, etc.). Desgraciadamente, las ideas de Friedo man nunca se llevaron a la pr ctica, pero aparentemente fueron re-descubiertas por a algunos investigadores varios a os despu s [81]. n e Los circuitos de control que utilizara Friedman en su trabajo modelaban a las neuronas humanas, y eran capaces de ser excitadas o inhibidas. Adem s, era posia ble agrupar estos circuitos simples (o neuronas) para formar circuitos m s complea jos. Lo interesante es que Friedman propuso un mecanismo para construir, probar y evaluar estos circuitos de forma autom tica, utilizando mutaciones aleatorias y a un proceso de selecci n. Este es probablemente el primer trabajo en torno a lo o que hoy se denomina hardware evolutivo. Friedman [96] tambi n especul que la simulaci n del proceso de reproducci n e o o o sexual (o cruza) y el de mutaci n nos conducira al dise o de m quinas peno n a santes, remarcando especcamente que podran dise arse programas para jugar n ajedrez con este m todo. e 55

2.16 Vida articial


Nils Aall Barricelli [16] desarroll las que tal vez fueron las primeras simulao ciones de un sistema evolutivo en una computadora, entre 1953 y 1956. Para ello utiliz la computadora IAS14 (desarrollada por el legendario matem tico John von o a Neumann) del Instituto de Estudios Avanzados de Princeton, ubicado en Nueva Jersey, en los Estados Unidos de Norteam rica. Sus experimentos siguieron los e lineamientos de una disciplina popularizada a mediados de los 1980s bajo el nombre de Vida Articial [151]. La investigaci n original de Barricelli se public en italiano, pero debido a o o algunos errores de traducci n y a algunas adiciones realizadas posteriormente, se o republic en 1957 [17]. El principal enfasis de su investigaci n consista en detero o minar las condiciones que los genes deben cumplir para poder dar pie al desarrollo de formas de vida m s avanzadas. Sus conclusiones fueron que los genes deben a satisfacer lo siguiente [17]: (1) una cierta capacidad para reproducirse, (2) una cierta capacidad para cambiar a formas alternas (a trav s de mutaciones) y, (3) e 15 una necesidad de simbiosis (por ejemplo, a trav s de vida par sita) con otros e a genes u organismos. Barricelli desarroll uno de los primeros juegos co-evolutivos 16 (llamado Tac o Tix), en el cual se hacen competir entre s a dos estrategias para jugar. Asimismo, en un trabajo posterior [18, 19], Barricelli explic la funci n de la recombinaci n o o o sexual en forma muy similar a la noci n de bloques constructores que enunciara o Holland en los 1970s [127]. En otros trabajos realizados con J. Reed y R. Toombs [185], Barricelli demostr que la recombinaci n aceleraba la evoluci n de los caracteres fenotpicos o o o que no eran polig nicos (es decir, que no se basaban en la interacci n de m ltiples e o u genes). Otra de las contribuciones de Barricelli [18] fue el haber reconocido la naturaleza Markoviana de sus simulaciones, en un preludio al modelo matem tico a por excelencia utilizado en tiempos modernos para analizar la convergencia de los algoritmos gen ticos. e
Las siglas IAS signican Institute for Advanced Studies, que es el lugar donde la computadora se desarroll . o 15 La simbiosis es la asociaci n de dos tipos diferentes de organismos en la cual cada uno se o benecia del otro y pueden incluso ser esenciales entre s para su existencia. 16 Se denomina co-evoluci n al proceso evolutivo en el cual la aptitud de un individuo se o determina mediante la evaluaci n parcial de otros. o
14

56

Figura 2.12: Lawrence J. Fogel.

2.17 La optimizacion evolutiva de Bremermann


Hans Joachim Bremermann [27] fue tal vez el primero en ver a la evoluci n como o un proceso de optimizaci n, adem s de realizar una de las primeras simulaciones o a de la evoluci n usando cadenas binarias que se procesaban por medio de reproo ducci n (sexual o asexual), selecci n y mutaci n, en lo que sera otro claro predeo o o cesor del algoritmo gen tico [127]. e Bremermann [28, 30] utiliz una t cnica evolutiva para problemas de optio e mizaci n con restricciones lineales. La idea principal de su propuesta era usar un o individuo factible el cual se modicaba a trav s de un operador de mutaci n hacia e o un conjunto de direcciones posibles de movimiento. Al extender esta t cnica a e problemas m s complejos, utiliz adem s operadores de recombinaci n especiala o a o izados [31]. Bremermann fue uno de los primeros en utilizar el concepto de poblaci n o en la simulaci n de procesos evolutivos, adem s de intuir la importancia de la coo a evoluci n [27] (es decir, el uso de dos poblaciones que evolucionan en paralelo y o cuyas aptitudes est n relacionadas entre s) y visualizar el potencial de las t cnicas a e evolutivas para entrenar redes neuronales [29].

2.18 La programaci on evolutiva


Lawrence J. Fogel et al. [87] concibieron el uso de la evoluci n simulada en la o soluci n de problemas (sobre todo de predicci n). Su t cnica, denominada Proo o e gramaci n Evolutiva [84] consista b sicamente en hacer evolucionar aut matas o a o 57

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

2.19 Las estrategias evolutivas


Como estudiantes de posgrado en la Universidad T cnica de Berln, en Alemania, e Peter Bienert, Ingo Rechenberg y Hans-Paul Schwefel estudiaban la mec nica de a los udos en 1963 con un particular enfasis en la experimentaci n en un t nel o u de viento. Los problemas que les interesaban eran de car cter hidrodin mico, y a a consistan en la optimizaci n de la forma de un tubo curvo, la minimizaci n del o o arrastre de una placa de uni n y la optimizaci n estructural de una boquilla ino o termitente de dos fases. Debido a la imposibilidad de describir y resolver estos problemas de optimizaci n analticamente o usando m todos tradicionales como o e el del gradiente [180], Ingo Rechenberg decidi desarrollar un m todo de ajustes o e discretos aleatorios inspirado en el mecanismo de mutaci n que ocurre en la nato uraleza. Los resultados iniciales de esta t cnica, a la que denominaron estrategia e evolutiva, fueron presentados al Instituto de Hidrodin mica de su universidad el a 12 de junio de 1964 [81]. 58

Figura 2.13: Hans-Paul Schwefel.

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

Figura 2.14: John H. Holland.

2.20 Los algoritmos gen ticos e


John H. Holland se interes en los 1960s en estudiar los procesos l gicos involuo o crados en la adaptaci n. Inspirado por los estudios realizados en aquella epoca o con aut matas celulares [36] y redes neuronales [207], Holland se percat de que o o el uso de reglas simples podra generar comportamientos exibles, y visualiz la o posibilidad de estudiar la evoluci n de comportamientos en un sistema complejo. o Holland advirti que un estudio de la adaptaci n deba reconocer que [126, o o 125]: (a) la adaptaci n ocurre en un ambiente, (b) la adaptaci n es un proceso o o poblacional, (c) los comportamientos individuales pueden representarse mediante programas, (d) pueden generarse nuevos comportamientos mediante variaciones aleatorias de los programas, y (e) las salidas de dos programas normalmente est n a relacionadas si sus estructuras est n relacionadas. a De tal forma, Holland vio el proceso de adaptaci n en t rminos de un formalo e ismo en el que los programas de una poblaci n interact an y mejoran en base a un o u cierto ambiente que determina lo apropiado de su comportamiento. El combinar variaciones aleatorias con un proceso de selecci n (en funci n de qu tan apropio o e ado fuese el comportamiento de un programa dado), deba entonces conducir a un sistema adaptativo general. Este sistema fue desarrollado hacia mediados de los 1960s, y se dio a conocer en el libro que Holland publicase en 1975, donde lo denomin plan reproduco tivo gen tico [127], aunque despu s se populariz bajo el nombre (m s corto y e e o a conveniente) de algoritmo gen tico. e Aunque concebido originalmente en el contexto del aprendizaje de m quina, a el algoritmo gen tico se ha utilizado mucho en optimizaci n, siendo una t cnica e o e sumamente popular en la actualidad. 60

Figura 2.15: Michael Conrad.

Figura 2.16: Howard H. Pattee.

2.21 Ecosistemas articiales


Michael Conrad y Howard H. Pattee [51] se cuentan entre los primeros en simular un ecosistema articial jer rquico en el que un conjunto de organismos unia celulares estaban sujetos a una estricta ley de conservaci n de la materia que les o induca a competir para sobrevivir. Los organismos simulados fueron capaces de efectuar cooperaci n mutua y de llevar a cabo estrategias biol gicas tales como la o o recombinaci n gen tica y la modicaci n de la expresi n de su genoma17 . o e o o En esta implementaci n, los organismos realmente consistan de subrutinas o gen ticas, por lo que el fenotipo de cada individuo se determinaba mediante la e forma en que estas rutinas era usadas por los organismos. Algunos de los puntos que enfatiz el trabajo de Conrad y Pattee fueron los siguientes: (a) el comporo
Se denomina genoma a la colecci n completa de genes (y por tanto cromosomas) que posee o un organismo.
17

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.

2.22 Programacion gen tica e


Aunque los primeros intentos por evolucionar programas se remontan a los 1950s y 1960s [95, 83], no fue sino hasta los 1980s que se obtuvieron resultados satisfactorios. Hicklin [121] y Fujiki [98] usaron expresiones-S en LISP para representar programas cuyo objetivo era resolver problemas de teora de juegos. Hicklin [121] discuti la combinaci n de segmentos de programas mediante el copiado de subo o arboles de un individuo a otro, aunque sus arboles se limitaban a expresar senten cias condicionales. Adicionalmente, plante el uso de mutaci n para introducir o o nuevos arboles en la poblaci n. o Nichael Lynn Cramer [56] y posteriormente John R. Koza [144] propusieron (de forma independiente) el uso de una representaci n de arbol en la que se imo plement un operador de cruza para intercambiar sub- rboles entre los diferentes o a programas de una poblaci n generada al azar (con ciertas restricciones impuestas o por la sintaxis del lenguaje de programaci n utilizado). o La diferencia fundamental del trabajo de Cramer [56] y el de Koza [144] es que el primero us una funci n de aptitud interactiva (es decir, el usuario deba asignar o o a mano el valor de aptitud a cada arbol de la poblaci n), mientras el segundo logr o o automatizarla. La propuesta de Koza [144] se denomina programaci on gen tica y fue implee mentada originalmente usando expresiones-S en LISP, aunque hoy en da existen 62

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

2.23 Din mica evolutiva a


Thomas S. Ray [183] desarroll a principios de los 1990s un simulador muy origo inal en el que se evolucionaban programas en lenguaje ensamblador, los cuales competan por ciclos de CPU de una computadora, a la vez que intentaban repro ducirse (o sea, copiarse a s mismos) en la memoria de dicha computadora. En este simulador, denominado Tierra, se parta de un programa unico con la capacidad de auto-replicarse, al que se denominaba ancestro. En base a este programa, se generaban criaturas nuevas (segmentos de c digo), las cuales a su vez se podan o dividir para dar nacimiento a m s criaturas. Al nacer, una criatura era colocada a en una cola de espera aguardando a tener el turno correspondiente para que sus instrucciones fueran ejecutadas. Si dichas instrucciones producan un error al eje cutarse, la criatura se movera m s arriba en la cola de espera, de acuerdo al nivel a de errores acumulados en su periodo de vida. Las criaturas que se encontraran 63

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.

2.24 Problemas propuestos


1. Muy relacionado con el Lamarckismo se encuentra un mecanismo que diera a conocer originalmente James Mark Baldwin en 1902 [15] y al cual denomin selecci n org nica. o o a Hoy en da, a este mecanismo se le conoce como efecto Baldwin y es bastante popular en computaci n evolutiva. Explique en qu consiste el o e efecto Baldwin desde la perspectiva biol gica y de qu forma se relaciona o e 64

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

Captulo 3 Principales Paradigmas


3.1 Introduccion
El t rmino computaci n evolutiva o algoritmos evolutivos, realmente engloba e o una serie de t cnicas inspiradas biol gicamente (en los principios de la teora e o Neo-Darwiniana de la evoluci n natural). En t rminos generales, para simular el o e proceso evolutivo en una computadora se requiere:

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

Programaci n Evolutiva o Estrategias Evolutivas Algoritmos Gen ticos e

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

3.1.1 Programaci n evolutiva o


Lawrence J. Fogel propuso en los 1960s una t cnica denominada programaci n e o evolutiva, en la cual la inteligencia se ve como un comportamiento adaptativo [84, 85]. La programaci n evolutiva enfatiza los nexos de comportamiento entre padres o e hijos, en vez de buscar emular operadores gen ticos especcos (como en el caso e de los algoritmos gen ticos). e 3.1.1.1 Algoritmo El algoritmo b sico de la programaci n evolutiva es el siguiente: a 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

0/b 0/b 1/a

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

  

Predicci n o Generalizaci n o Juegos 69

3.1.3 Estrategias Evolutivas


Las estrategias evolutivas fueron desarrolladas en 1964 en Alemania para resolver problemas hidrodin micos de alto grado de complejidad por un grupo de estudia antes de ingeniera encabezado por Ingo Rechenberg [9]. 3.1.3.1 Algoritmo La versi n original (1+1)-EE usaba un solo padre y con el se generaba un solo hijo. o Este hijo se mantena si era mejor que el padre, o de lo contrario se eliminaba (a este tipo de selecci n se le llama extintiva, porque los peores individuos obtienen o una probabilidad de ser seleccionado de cero). En la (1+1)-EE, un individuo nuevo es generado usando:

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 A  f  f CYvwA  vr TCvjh  $ r xw  $  xh r #YH7$  cr " h P! !vvP u !

$ 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):

Supongamos tambi n que las mutaciones producidas son las siguientes: e

Ahora, comparamos al padre con el hijo: Padre Hijo

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

En el segundo caso, s lo los o sobreviven.

En el primer caso, los e hijos sobreviven.

P v P $ ! bbbsi7bvbP u gvs v P v P h $ ! Ysvbi7bvbP u gvs


mejores individuos obtenidos de la uni n de padres o mejores hijos de la siguiente generaci n o

vrsrYYf  P Pv v $ v h! HPrbPYfbbbP u b"w$ r p #" ! v7CvbP u vb"7$ #"  $ P h! !

$ P $ P h! CvbP u vb! u CvbP u vb7$ u v !  r

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

$$ ! $ ! $ 42!  u gvso##! $$ !f $ ! 4HP u gvQ3@P u gvx #! 2! 2! 1 $ $

Y@ t ~P Y@R t ~P ~P Y@ t

$ h 3x"! $ 5`%#! w! $ h 5~$  h Y43!

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]:

Problemas de ruteo y redes

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).

3.1.4 Algoritmos Gen ticos e


Los algoritmos gen ticos (denominados originalmente planes reproductivos gen ticos) e e fueron desarrollados por John H. Holland a principios de los 1960s [125, 126], motivado por resolver problemas de aprendizaje de m quina. a 3.1.4.1 Algoritmo El algoritmo gen tico enfatiza la importancia de la cruza sexual (operador princie pal) sobre el de la mutaci n (operador secundario), y usa selecci n probabilstica. o o El algoritmo b sico es el siguiente: a

La representaci n tradicional es la binaria, tal y como se ejemplica en la o gura 3.5. 74

    

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

Algoritmo Gen tico e


Binaria Valor de la funcion objetivo ajustada 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

Probabilstica, extintiva Ninguna

Teora

Velocidad de Convergencia para casos especiales, (1+1)-PE, Convergencia global

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

3.2 Diferencias de las t cnicas evolutivas con respecto e a las tradicionales


Existen varias diferencias que vale la pena destacar entre los algoritmos evolutivos y las t cnicas tradicionales de b squeda y optimizaci n [33, 105]: e u o

3.3 Ventajas de las T cnicas Evolutivas e


Es importante destacar las diversas ventajas que presenta el uso de t cnicas evoe lutivas para resolver problemas de b squeda y optimizaci n [105, 80]: u o

           

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

3.4 Crticas a las T cnicas Evolutivas e


Los algoritmos evolutivos fueron muy criticados en sus orgenes (en los 1960s), y todava siguen siendo blanco de ataques por parte de investigadores de IA simb lica [80, 85]. Se crea, por ejemplo, que una simple b squeda aleatoria o u poda superarlas. De hecho, algunos investigadores lograron mostrar esto en algu nas de las primeras aplicaciones de la computaci n evolutiva en los 1960s, aunque o eso se debi m s bien en limitantes en cuanto al poder de c mputo y ciertas fallas o a o en los modelos matem ticos adoptados en aquella epoca. a La programaci n autom tica fue considerada tambi n como una moda pasajera o a e en IA y el enfoque evolutivo fue visto como un intento m s por lograr algo que a luca imposible. Sin embargo, los resultados obtenidos en los ultimos a os con n programaci n gen tica[145, 146, 147] hacen ver que el poder de la computaci n o e o evolutiva en el campo de la programaci n autom tica es mayor del que se crea en o a los 1960s. Actualmente, todava muchas personas creen que un AG funciona igual que una t cnica escalando la colina que comienza de varios puntos. Se ha dee mostrado que esto no es cierto, aunque el tema sigue siendo objeto de acalorados debates. Las t cnicas sub-simb licas (redes neuronales y computaci n evolutiva) gozan e o o de gran popularidad entre la comunidad cientca en general, excepto por algunos especialistas de IA cl sica que las consideran mal fundamentadas e inestables. a 79

3.5 Problemas Propuestos


1. Investigue en qu consisten los algoritmos culturales y su relaci n con los e o algoritmos gen ticos. Consulte, por ejemplo: e

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

$ v " !  $ u ! f f f e@P 2vQ t  f

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.

t = t+1 if (t mod n == 0) then

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

Aseg rese de incluir lo siguiente en su reporte: u 81

 v H&HP

u A  f  f CvA  vr TCvjh $ h ! $ ! $ u Fw @oxh #tB7@o !

$ ! C2vB Q

bv @Pv 5

El valor de la constante suelen establecerlo en

oscila entre 0.817 y 1.0, aunque muchos o .

b@k t ~P b@wR t ~P ~P b@w t


(3.1)

P h T   h " 5@ey"  5 h 5  h ~" t

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

Captulo 4 Terminologa Biol gica y de o Computaci n Evolutiva o


4.1 Introduccion
El Acido Desoxirribonucleico (ADN) es el material gen tico fundamental de toe dos los organismos vivos. El ADN es una macro-mol cula doblemente trenzada e que tiene una estructura helicoidal como se ilustra en la Figura 4.1. Ambos lamentos trenzados son mol culas de acido nucleico lineales y sin ramicaciones, e formadas de mol culas alternadas de desoxirribosa (az car) y fosfato. El ADN de e u un organismo puede contener desde una docena de genes (como un virus), hasta decenas de miles (como los humanos). Las 4 bases de nucle tido (ver gura 4.2): Adenina (A), Timina (T), Citosina o (C) y Guanina (G) son el alfabeto de informaci n gen tica. Las secuencias de o e estas bases en la mol cula de ADN determinan el plan constructor de cualquier e organismo.

Figura 4.1: Estructural helicoidal del ADN. 83

Figura 4.2: Las cuatro bases de nucle tido o

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

Figura 4.5: Un feto humano.

Figura 4.6: C lula diploide. e

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

 

Dos progenitores (sexual) Un progenitor (asexual)

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

4.2 Tipos de Aprendizaje


Algunos cientcos (como Atmar [5]) consideran que existen 3 tipos distintos de inteligencia en los seres vivos:

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.

4.3 Conceptos de Computaci on Evolutiva


Denominamos cromosoma a una estructura de datos que contiene una cadena de par metros de dise o o genes. Esta estructura de datos puede almacenarse, por a n ejemplo, como una cadena de bits o un arreglo de enteros (ver gura 4.8). Se llama gene a una subsecci n de un cromosoma que (usualmente) codica o el valor de un solo par metro (ver gura 4.9). a Se denomina genotipo a la codicaci n (por ejemplo, binaria) de los par metros o a que representan una soluci n del problema a resolverse (ver gura 4.8). o 89

  

Filogen tica e Ontogen tica e Sociogen tica e

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

Figura 4.9: Un ejemplo de un gene.

3 decodificacin

fenotipo

genotipo

Figura 4.10: Un ejemplo de un fenotipo.

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

Cadena original: Puntos de inversin: Cadena resultante:

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

  

Cruza Mutaci n o Reordenamiento

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).

4.4 Problemas propuestos


1. Investigue acerca de los intrones, o segmentos de ADN no codicados y escriba un ensayo al respecto. Su trabajo debe incluir una discusi n de los o intrones desde la perspectiva biol gica, as como su uso en computaci n o o evolutiva. Se recomienda consultar: Coello Coello, Carlos A.; Roco Reyes Daz; H ctor G. Lugo Guevara y e Julio C sar Sandria Reynoso, El Misterio de los Intrones, Lania-RDe 2000-03, Laboratorio Nacional de Inform tica Avanzada, 2000. a 2. Investigue alguno de los mecanismos de restricciones a la cruza que han sido propuestos en computaci n evolutiva y que tenga una fuerte inspiraci n o o biol gica. Discuta, por ejemplo, la prevenci n de incesto que propusieron o o Eshelman y Shafer [75].

94

Captulo 5 La Importancia de la Representaci n o


5.1 Introduccion
Las capacidades para procesamiento de datos de las t cnicas de computaci n evoe o lutiva dentro de una amplia gama de dominios han sido reconocidas en los ultimos a os y han recibido mucha atenci n por parte de cientcos que trabajan en divern o sas disciplinas. Dentro de estas t cnicas evolutivas, quiz s la m s popular sea el e a a algoritmo gen tico (AG) [105]. Siendo una t cnica heurstica estoc stica, el ale e a goritmo gen tico no necesita informaci n especca para guiar la b squeda. Su e o u estructura presenta analogas con la teora biol gica de la evoluci n, y se basa en o o el principio de la supervivencia del m s apto [127]. Por lo tanto, el AG puede a verse como una caja negra que puede conectarse a cualquier aplicaci n en paro ticular. En general, se necesitan los cinco componentes b sicos siguientes para a implementar un AG que resuelva un problema cualquiera [159]: 1. Una representaci n de soluciones potenciales al problema. o 2. Una forma de crear una poblaci n inicial de soluciones potenciales (esto o se efect a normalmente de manera aleatoria, pero tambi n pueden usarse u e m todos determinsticos). e 3. Una funci n de evaluaci n que juega el papel del ambiente, calicando a o o las soluciones producidas en t rminos de su aptitud. e 95

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.

Epstasis : el valor de un bit puede suprimir las contribuciones de aptitud de

97

otros bits en el genotipo 4.

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

5.2 C digos de Gray o


Un problema que fue notado desde los inicios de la investigaci n en AGs fue o que el uso de la representaci n binaria no mapea adecuadamente el espacio de o b squeda con el espacio de representaci n [128]. Por ejemplo, si codicamos en u o binario los enteros 5 y 6, los cuales est n adyacentes en el espacio de b squeda, a u sus equivalentes en binario ser n el 101 y el 110, los cuales dieren en 2 bits (el a primero y el segundo de derecha a izquierda) en el espacio de representaci n. A o este fen meno se le conoce como el risco de Hamming (Hamming cliff) [40], y ha o conducido a los investigadores a proponer una representaci n alternativa en la que o la propiedad de adyacencia existente en el espacio de b squeda pueda preservarse u en el espacio de representaci n. La codicaci n de Gray es parte de una familia o o de representaciones que caen dentro de esta categora [227]. Podemos convertir cualquier n mero binario a un c digo de Gray haciendo u o XOR a sus bits consecutivos de derecha a izquierda. Por ejemplo, dado el n mero u 5 , produci ndose e 0101 en binario, haramos : (el ultimo bit de la izquierda permanece igual) 0111, el cual es el c digo de Gray o equivalente. Algunos investigadores han demostrado empricamente que el uso de c digos de Gray mejora el desempe o del AG al aplicarse a las funciones de o n
El genotipo es la cadena cromos mica utilizada para almacenar la informaci n contenida o o en un individuo, mientras que el fenotipo se reere a los valores que toman las variables tras decodicar el contenido cromos mico de un individuo. o 5 indica XOR.
4

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

5.3 Codicando Numeros Reales


Aunque los c digos de Gray pueden ser muy utiles para representar enteros, el o problema de mapear correctamente el espacio de b squeda en el espacio de repreu sentaci n se vuelve m s serio cuando tratamos de codicar n meros reales. En el o a u enfoque tradicional [231], se usa un n mero binario para representar un n mero u u real, deniendo lmites inferiores y superiores para cada variable, as como la pre cisi n deseada. Por ejemplo, si queremos codicar una variable que va de 0.35 o a 1.40 usando una precisi n de 2 decimales, necesitaramos o bits para representar cualquier n mero real dentro de ese rango. Sin embargo, en u este caso, tenemos el mismo problema del que hablamos anteriormente, porque el n mero 0.38 se representara como 0000011, mientras que 0.39 se representara u como 0000101. Aunque se usen c digos de Gray, existe otro problema m s importante cuando o a tratamos de desarrollar aplicaciones del mundo real: la alta dimensionalidad. Si tenemos demasiadas variables, y queremos una muy buena precisi n para cada o una de ellas, entonces las cadenas binarias que se produzcan se volver n exa tremadamente largas, y el AG tender a tener un desempe o pobre. Si en vez de a n usar este tipo de mapeo adoptamos alg n formato binario est ndar para represenu a 99

bbTFbiba

2.15 1.89 0.43 3.14 0.27 7.93 5.11

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].

5.4 Representaciones de Longitud Variable


En algunos problemas el uso de alfabetos de alta cardinalidad puede no ser suciente, pues adem s puede requerirse el empleo de cromosomas de longitud varia able para lidiar con cambios que ocurran en el ambiente con respecto al tiempo (por ejemplo, el decremento/incremento de la precisi n de una variable o la adici n/remoci n o o o de variables). Algunas veces, puede ser posible introducir smbolos en el alfabeto que sean considerados como posiciones vacas a lo largo de la cadena, con lo que se permite la denici n de cadenas de longitud variable aunque los cromoo somas tengan una longitud ja. Ese es, por ejemplo, el enfoque utilizado en [42] para dise ar circuitos el ctricos combinatorios. En ese caso, el uso de un smbolo n e llamado WIRE, el cual representa la ausencia de compuerta, permiti cambiar la o longitud de la expresi n Booleana generada a partir de una matriz bi-dimensional. o Sin embargo, en otros dominios, este tipo de simplicaci n puede no ser posio ble y deben idearse representaciones alternativas. Por ejemplo, en problemas que tienen decepci n parcial o total [117] (es decir, en aquellos problemas en los que o los bloques constructores de bajo orden no guan al AG hacia el optimo y no se combinan para formar bloques constructores de orden mayor), un AG no tendr a un buen desempe o sin importar cu l sea el valor de sus par metros (tama o de n a a n poblaci n, porcentajes de cruza y mutaci n, etc.). Para lidiar con este tipo de o o problemas en particular, Goldberg et al. [112, 109, 111] propusieron el uso de un tipo especial de AG de longitud variable el cual usa poblaciones de tama o n variable. A este AG especial se le denomin desordenado (messy GA o mGA) o 102

(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.

5.5 Representacion de arbol


Una de las metas originales de la Inteligencia Articial (IA) fue la generaci n o autom tica de programas de computadora que pudiesen efectuar una cierta tarea. a Durante varios a os, sin embargo, esta meta pareci demasiado ambiciosa puesto n o que normalmente el espacio de b squeda se incrementa exponencialmente conu forme extendemos el dominio de un cierto programa y, consecuentemente, cualquier t cnica tender a producir programas no v lidos o altamente inecientes. Algunas e a a t cnicas de computaci n evolutiva intentaron lidiar con el problema de la prograe o maci n autom tica desde su mera concepci n, pero sus notables fallas a n en o a o u dominios muy simples, hicieron que otros investigadores de la comunidad de IA no se tomaran en serio estos esfuerzos [80]. Sin embargo, Holland desarroll el o concepto moderno del AG dentro del entorno del aprendizaje de m quina [127], a y todava existe una cantidad considerable de investigaci n dentro de esa area, o aunque la programaci n autom tica fue hecha a un lado por los investigadores o a de IA durante varios a os. Una de las razones por las que esto sucedi fue el n o hecho de que el AG tiene algunas limitaciones (obvias) cuando se pretende usar para programaci n autom tica, particularmente en t rminos de la representaci n. o a e o Codicar el conjunto de instrucciones de un lenguaje de programaci n y encontrar o una forma de combinarlas que tenga sentido no es una tarea simple, pero si usamos una estructura de arbol junto con ciertas reglas para evitar la generaci n de o expresiones no v lidas, podemos construir un evaluador de expresiones primitivo a que pueda producir programas simples. Este fue precisamente el enfoque tomado por John Koza [145] para desarrollar la denominada programaci n gen tica, en o e la cual se us originalmente el lenguaje de programaci n LISP para aprovechar su o o evaluador de expresiones integrado al int rprete. e La representaci n de arbol adoptada por Koza requiere obviamente de alfao 105

   
(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

Figura 5.11: Los dos hijos generados despu s de efectuar la cruza. e

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

&20 &$ '31)('%#

& 75 98$364

+
2 7

*
8 9

A
5

E
6

Figura 5.13: Un ejemplo de permutaci n en la programaci n gen tica. o o e

Figura 5.14: Un ejemplo de encapsulamiento en programaci n gen tica. o e

109

T Y W VT R a`X9USQ

CFE CA 9G1)D9B@
+ (E0)

C PI 98A3H T ec U)Rfdb

c1 c11 c12 c13 c 21

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

5.6 Algoritmo Gen tico Estructurado e


Dasgupta [61] propuso una representaci n que es un compromiso entre el croo mosoma lineal tradicional de longitud ja y la codicaci n de arbol usada en o la programaci n gen tica. Su t cnica, denominada Algoritmo Gen tico Estruco e e e turado (stGA por sus siglas en ingl s), usa una representaci n jer rquica con un e o a 110

( c 1 c 2 c3

c11 c12 c13 c21 c 22 c23 c 31 c32 c33 )

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

c 211 c212 c213

c 221 c222 c223

c231 c 232 c233

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].

5.7 Otras propuestas


Las representaciones anteriores no son las unicas alternativas que existen en la literatura especializada. Por ejemplo, Antonisse [4] y Gero et al. [100] han propuesto el uso de gram ticas en el contexto de lenguajes de programaci n y dise o a o n en ingeniera, respectivamente. De hecho, Antonisse asegura qe su representaci n o es m s poderosa que la de Koza [145], porque dene gram ticas sensibles al cona a texto, las cuales son m s generales (en la jerarqua de lenguajes propuesta por a Noam Chomsky) que las expresiones-S usadas por Koza en LISP [4]. Algunas otras representaciones m s dependientes del problema, tales como la matricial a [220, 21], la multi-dimensional [34, 2] y la de permutaciones [159, 115] han sido propuestas tambi n por algunos investigadores. e

5.8 Tendencias futuras


Las limitaciones de la representaci n binaria en algunas aplicaciones ha hecho de o esta una ruta interesante de investigaci n, sobre todo en el contexto de problemas o de manufactura y denici n de rutas, en los cuales la respuesta se expresa en o forma de permutaciones. Idealmente, debiera existir un tipo de representaci n o sucientemente exible como para permitir su utilizaci n en una amplia gama de o problemas de forma sencilla y natural. Filho [77] desarroll un sistema llamado GAME (Genetic Algorithms Manipuo lation Environment), que constituye un paso importante en esta direcci n. GAME o usa una codicaci n de arbol en la que las hojas pueden ser enteros, caracteres, o n meros reales o cadenas binarias. u Gibson [101] tambi n propuso una codicaci n hbrida similar a la de Filho. e o Su propuesta se basa en el uso de componentes de diferentes tipos en el contexto de modelado de procesos industriales. Existe amplia evidencia en la literatura especializada [159, 155, 192, 100, 115] de que el usar una representaci n adecuada puede simplicar tremendamente el o proceso de b squeda de un algoritmo gen tico, pero a pesar de eso, muchos inu e vestigadores suelen pasar por alto este importante hecho. Por lo tanto, es vital no unicamente reconocer que se requieren codicaciones m s poderosas, sino a 112

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

5.9 Recomendaciones para el Dise no de una Buena Representacion


Palmer [175] analiz las propiedades de las representaciones de arbol y proporo cion una serie de recomendaciones que pueden generalizarse a cualquier otro tipo o de representaci n. Los puntos clave de la propuesta de Palmer son los siguientes: o

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

5.10 Problemas propuestos


1. Suponga que desea minimizar una funci n de 3 variables o . Se sabe que la variable vara entre -10.0 y 12.5, con una precisi n de 1 decimal; o la variable vara entre y , y asume s lo valores enteros. Finalmente, o o la variable vara entre -0.5 y 1.0 con una precisi n de 2 decimales. Si usamos una representaci n binaria (tradicional), responda lo siguiente: o a) Cu l es la longitud mnima de la cadena cromos mica que puede codia o car a estas 3 variables? b) Cu l es el tama o intrnseco del espacio de b squeda para un AG que a n u se usara con estas cadenas cromos micas. o c) Cu l es la cantidad de esquemas que esta representaci n codica? a o d) Muestre las cadenas cromos micas que representen los siguientes puntos: o (-8.1,50,0.0), (11.1, 98, -0.2). 2. Resuelva el problema anterior usando representaci n entera de punto jo. o 3. Investigue la representaci n de permutaciones. Discuta por qu se consido e era m s adecuada para problemas como el del viajero. Qu problemas prea e senta una representaci n binaria en este dominio? Qu operadores deben o e denirse en una representaci n de permutaciones? o

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

Captulo 6 T cnicas de Selecci n e o


Una parte fundamental del funcionamiento de un algoritmo gen tico es, sin lugar e a dudas, el proceso de selecci n de candidatos a reproducirse. En el algoritmo o gen tico este proceso de selecci n suele realizarse de forma probabilstica (es e o decir, a n los individuos menos aptos tienen una cierta oportunidad de sobrevivir), u a diferencia de las estrategias evolutivas, en las que la selecci n es extintiva (los o menos aptos tienen cero probabilidades de sobrevivir). Las t cnicas de selecci n usadas en algoritmos gen ticos pueden clasicarse e o e en tres grandes grupos:

6.1 Seleccion Proporcional


Este nombre describe a un grupo de esquemas de selecci n originalmente propo uestos por Holland [127] en los cuales se eligen individuos de acuerdo a su contribuci n de aptitud con respecto al total de la poblaci n. o o Se suelen considerar 4 grandes grupos dentro de las t cnicas de selecci n proe o porcional [110]: 1. La Ruleta 2. Sobrante Estoc stico a 115

g g g

Selecci n proporcional o Selecci n mediante torneo o Selecci n de estado uniforme o

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)

Generar un n mero aleatorio entre 0.0 y u

Repetir

veces (

es el tama o de la poblaci n): n o

Calcular la suma de valores esperados

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 .

6.1.2 Sobrante Estoc stico a


Propuesta por Booker [24] y Brindle [32] como una alternativa para aproximarse ) de los individuos: m s a los valores esperados ( a

117

Complejidad: de la poblaci n). o

. El algoritmo se torna ineciente conforme crece

v 3Xba&tvIu

yx v u zBwws

qf6 r p qnCj

(ind1) suma = (ind2) suma =

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:

Padres: Sin reemplazo:

1 y 3 (partes enteras)

118

bjH h { @

(1) (2) (3) (4)

110100 011010 111001 001101

220 140 315 42

1.23 0.78 1.76 0.23

Cadena

yx v u d zBwws

g g

aptitud

enteros 1 0 1 0

dif 0.23 0.78 0.76 0.23

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).

6.1.3 Universal Estoc stica a


Propuesta por Baker [14] con el objetivo de minimizar la mala distribuci n de los o individuos en la poblaci n en funci n de sus valores esperados. o o El algoritmo es el siguiente: 119

%wvIu tv)u

b

(1) (2) (3) (4)

0.23 0.78 0.76 0.23

ip(0.23)

ip(0.78) . . .

ip(0.23)

ind 1 ind 2 ind 4

'

(12%) (39%) (38%) (11%)

ptr=Rand();

/* regresa un n mero aleatorio entre 0 y 1 */ u

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

ptr=0.4 sum=0.0 i=1

inicializaci n o

sum=1.23 1.23 ptr Seleccionar (1) ptr=1.4 sum=1.23

1.23 ptr (termina ciclo)

i=2

sum=1.23 ptr=1.4 sum=2.01 2.01 ptr Seleccionar (2) ptr=2.4 sum=2.01

2.01 ptr (termina ciclo)

ptr=3.4 sum=3.77 3.77 ptr Seleccionar (3)

i=3

sum=3.77 3.77 ptr Seleccionar (3)

120

Cadena 110100 011010 111001 001101

aptitud 220 140 315 42

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:

Puede ocasionar convergencia prematura.

Hace que los individuos m s aptos se multipliquen muy r pidamente. a a

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).

6.1.4 Muestreo Determinstico


Es una variante de la selecci n proporcional con la que experiment DeJong [137]. o o Es similar al sobrante estoc stico, pero requiere un algoritmo de ordenaci n. a o El algoritmo del muestreo determinstico es el siguiente: Calcular Calcular

Ordenar la poblaci n de acuerdo a las partes decimales (de mayor a menor). o

Obtener los padres faltantes de la parte superior de la lista.

Ejemplo:

(1) (2) (3) (4)

220 140 315 42

0.3068 0.1953 0.4393 0.0586 121

1.23 0.78 1.76 0.23

'

wX

aptitud

yx v u zBww

Asignar determinsticamente la parte entera de

v vwa zBww yx v u pa

%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)

Seleccionar: 1 y 3 (enteros) Seleccionar: 2 y 3 (fracciones) 6.1.4.1 An lisis del muestreo determinstico a

Problemas: Padece de los mismos problemas que el sobrante estoc stico. a

6.1.5 Escalamiento Sigma


Es una t cnica ideada para mapear la aptitud original de un individuo con su valor e esperado de manera que el AG sea menos susceptible a la convergencia prematura. La idea principal de esta t cnica es mantener m s o menos constante la presion e a de selecci n a lo largo del proceso evolutivo. o Usando esta t cnica, el valor esperado de un individuo est en funci n de su e a o aptitud, la media de la poblaci n y la desviaci n est ndar de la poblaci n: o o a o

si si

Veamos un ejemplo de su funcionamiento: = tama o de la poblaci n n o

(1) (2) (3) (4)

48,400 19,600 99,225 1,764 122

1.20 0.81 1.67 0.32

yx v u zBws

aptitud 220 140 315 42

p~%h

Ejemplo:

p ~q yx v u Tzzw}zBw

Si

puede hacerse

v %ba&tv)u

ai zzw}zBtw ~q yx v u

v w~ 4p~"h w~h v w~  w~ ' S kzt}oGBwws ~q yx v u d

%tv)u

Complejidad: El algoritmo es para la ordenaci n. o

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

6.1.6 Selecci n por Jerarquas o


Propuesta por Baker [13] para evitar la convergencia prematura en las t cnicas e de selecci n proporcional. El objetivo de esta t cnica es disminuir la presi n de o e o selecci n. En este caso, discutiremos el uso de jerarquas lineales, pero es posible o tambi n usar jerarquas no lineales, aunque la presi n de selecci n sufre cambios e o o m s abruptos al usarse esta ultima. a Los individuos se clasican con base en su aptitud, y se les selecciona con base en su rango (o jerarqua) y no con base en su aptitud. El uso de jerarquas hace que no se requiera escalar la aptitud, puesto que las diferencias entre las aptitudes absolutas se diluyen. Asimismo, las jerarquas previenen la convergen cia prematura (de hecho, lo que hacen, es alentar la velocidad convergencia del algoritmo gen tico). e El algoritmo de las jerarquas lineales es el siguiente:

123

Ordenar (o jerarquizar) la poblaci n con base en su aptitud, de 1 a o representa al menos apto).

d HjbH 4 z {q e #h bj{ H h b 3j {{q


n=4 1+

@
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:

6.1.6.1 An lisis de las jerarquas lineales a

+ 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).

Diluye la presi n de la selecci n, por lo que causa convergencia m s lenta. o o a

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

1 y x v u bjgwm{j zBwws y {j Tl v a  } iu bi

 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

El valor esperado de cada individuo ser : a

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

Aplicar ruleta u otra t cnica e proporcional

6.1.7 Selecci n de Boltzmann o


Esta t cnica fue propuesta por Goldberg [107] y est basada en el recocido simue a lado [142]: la idea es usar una funci n de variaci n de temperatura que controle o o la presi n de selecci n. Se usa un valor alto de temperatura al principio, lo cual o o hace que la presi n de selecci n sea baja. Con el paso de las generaciones, la temo o peratura disminuye, lo que aumenta la presi n de selecci n. De esta manera se o o incita a un comportamiento exploratorio en las primeras generaciones y se acota a uno m s explotatorio hacia el nal del proceso evolutivo. a El algoritmo es el siguiente: Tpicamente, se usa la siguiente expresi n para calcular el valor esperado de o un individuo.

Valesp(i,t) donde es la temperatura y generaci n t. o Veamos un ejemplo de su uso: Ejemplo: aptitud 220 140 315 42

denota el promedio de la poblaci n en la o

Supongamos:

YH j j` j`bbbYH C2x ~

B6i{ k bb b{C

9.025 4.055 23.336 1.522

0.952 0.428 2.460 0.160

Problemas: rango de exp()

125

(6.3)

yx v u zBws

j`U@w~x bbbb

 %

w~x Cgx

(baj ) o (baj ) o (subi ) o (baj ) o

6.1.7.1 An lisis de la selecci n de Boltzmann a o

6.2 Seleccion Mediante Torneo


Los m todos de selecci n proporcional antes descritos requieren de dos pasos a e o trav s de toda la poblaci n en cada generaci n: e o o 1. Calcular la aptitud media (y, si se usa escalamiento sigma, la desviaci n o est ndar). a 2. Calcular el valor esperado de cada individuo. El uso de jerarquas requiere que se ordene toda la poblaci n (una operaci n o o cuyo costo puede volverse signicativo en poblaciones grandes). La selecci n mediante torneo es similar a la de jerarquas en t rminos de la o e presi n de selecci n, pero es computacionalmente m s adecuada para implemeno o a tarse en paralelo. Esta t cnica fue propuesta por Wetzel [225] y estudiada en la tesis doctoral de e Brindle [32]. La idea b sica del m todo es seleccionar con base en comparaciones directas a e de los individuos. Hay 2 versiones de la selecci n mediante torneo: o

El algoritmo de la versi n determinstica es el siguiente: o

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)

/*aleatorio real*/ Ganador

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:

Observe que si Ejemplo: (

, la t cnica se reduce a la versi n determinstica. e o

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.

6.2.1 An lisis de la selecci n mediante torneo a o

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 .

devuelve cierto con una probabilidad .

128

v sx yyp}fh  yyp}fh v v sx yyp}fh

(1) (2) (3) (4) (5) (6)

Aptitud 254 47 457 194 85 310

v yoyp}fh

@)u

j y y y p tnj

Barajar (2) (6) (1) (3) (5) (4)

elige (6) elige (1) elige (4)

i

y g

2. Se requieren competencias de este tipo para completar una generaci n. o

La t cnica eciente y f cil de implementar. e a

No requiere escalamiento de la funci n de aptitud (usa comparaciones dio rectas).

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

Puede regularse la presi n de selecci n variando el tama o del torneo: o o n

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

6.3 Seleccion de Estado Uniforme


Esta t cnica fue propuesta por Whitley [228] y se usa en AGs no generacionales, e en los cuales s lo unos cuantos individuos son reemplazados en cada generaci n o o (los menos aptos). Esta t cnica suele usarse cuando se evolucionan sistemas basados en reglas e (p.ej., sistemas clasicadores) en los que el aprendizaje es incremental. 129

%tv)u

3. Por lo tanto, el algoritmo es

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

6.3.1 An lisis de la Selecci n de Estado Uniforme a o

Mecanismo especializado de selecci n. 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

6.4 Brecha Generacional


Muy ligado a la selecci n de estado uniforme se encuentra el concepto de brecha o generacional (generation gap). Para explicar este concepto, es importante reconocer en primer t rmino que e las poblaciones pueden ser no traslapables (nonoverlapping) o traslapables (overlapping). Una poblaci n no traslapable es aquella en la que los padres nunca como piten contra sus hijos. Por el contrario, en una poblacin traslapable, los padres compiten contra sus hijos. 130

v v 3BwwvIu

Reemplazar los .

peores individuos de

Elegir al mejor individuo en

. (o a los

Efectuar cruza y mutaci n a los o a los hijos.

Seleccionar plo, .

g g g g g g g g

Llamaremos

a la poblaci n original de un AG. o individuos ( ) de entre los m s aptos. Por ejema

individuos seleccionados. Llamaremos mejores). por los mejores individuos de

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

6.5 Otras T cnicas de Seleccion e


Hay varias t cnicas m s de selecci n cuyo uso es menos com n [69]. Discutiree a o u mos brevemente las siguientes:

6.5.1 Selecci n Disruptiva o


Esta t cnica fue sugerida por Kuo y Hwuang [149] para normalizar aptitudes con e respecto a un cierto valor moderado (en vez de usar valores extremos). 131

g g g

Disruptiva Jerarquas no lineales Competitiva

Suele usarse:

donde

se reere a la aptitud media de la poblaci n. o

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

6.5.2 Jerarquas No Lineales


Esta t cnica fue propuesta por Michalewicz [161]. Se usa: e

donde: es la probabilidad de que el individuo sea seleccionado. 132

bb

d zBww yx v u bj w~s h bjH p~ h { YC @

t Q  G%

Aptitud 220 140 315 42

w~" h "piQBh wi sh wi h yx v u G d zBwws

G%

w~h

son los valores normalizados.

Normalizaci n ( ) o 40.75 39.25 135.75 137.25

Valesp 0.462 0.445 1.538 1.555

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

v v G% zBtw yx v u t bjy Qj Goo j bbi

0.210 0.072 0.300 0.103 0.147

1.05 0.36 1.50 0.52 0.74

yx v u zBws

wt9%o

aptitud 12 245 9 194 48

jerarqua 2 5 1 4 3

yx v u zBwws

u 61 u lU g ' ojhe

es el factor de presi n de selecci n. o o es la jerarqua del individuo en estudio.

(mayor) (menor) (mayor) (menor) (menor)

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

0.2524 0.0865 0.3606 0.1238 0.1767

1.2620 0.4325 1.8030 0.6190 0.8835

yx v u zBws

{YBiCYCY z d

u hQu y

wtX }

Ejemplo: aptitud 12 245 9 194 48

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

6.5.3 Selecci n Competitiva o


En este caso, la aptitud de un individuo se determina mediante sus interacciones con otros miembros de la poblaci n, o con otros miembros de una poblaci n sepo o arada que evoluciona concurrentemente. Esta t cnica ha sido usada por Hillis [122], Angeline & Pollack [3] y Sebald e & Schlenzig [206]. En la versi n con 2 poblaciones puede verse como un esquema co-evolutivo: o las aptitudes de dos individuos dependen mutuamente entre s (uno del otro). Por ejemplo, una poblaci n puede contener soluciones a un problema de optimizaci n, o o mientras la otra contiene las restricciones del mismo.

6.6 Clasicaciones de T cnicas de Seleccion e


B ck y Hoffmeister [11] distinguen entre: a 1. M todos Est ticos: Requieren que las probabilidades de selecci n pere a o manezcan constantes entre generaciones. Ejemplo: jerarquas lineales. 2. M todos Din micos: No se requiere que las probabilidades de selecci n e a o permanezcan constantes. Ejemplo: selecci n proporcional. o Otros investigadores distinguen entre: 1. Selecci n Preservativa: Requiere una probabilidad de selecci n distinta de o o cero para todos los individuo. Ejemplo: selecci n proporcional. o 2. Selecci n Extintiva: Puede asignar una probabilidad de selecci n de cero o o a alg n individuo. u Ejemplo: torneo determinstico. 135

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).

6.7 Problemas Propuestos


1. Escribir un programa en C/C++ que implemente un algoritmo gen tico sime ple (representaci n binaria, cruza de un punto, mutaci n uniforme y seo o lecci n proporcional de ruleta, tal y como vimos en clase) y utilizarlo para o minimizar

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

lqq Bc'1'1ijqg i i i i h S d G%bjy Yj lCj pi"h

(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:

Implemente una de las siguientes t cnicas de selecci n: e o

C C C F bj C C Cj C C F C C 1 F C l ug q ibY q i q jYCafib i z q u i q zq pi h oB wi  zq pi h


donde donde: y:

(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

Muestreo determinstico. 138

Lo que debe reportarse es lo siguiente:

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

Captulo 7 T cnicas de Cruza e


7.1 Introduccion
En los sistemas biol gicos, la cruza es un proceso complejo que ocurre entre pareo jas de cromosomas. Estos cromosomas se alinean, luego se fraccionan en ciertas partes y posteriormente intercambian fragmentos entre s. En computaci n evolutiva se simula la cruza intercambiando segmentos de o cadenas lineales de longitud ja (los cromosomas). Aunque las t cnicas de cruza b sicas suelen aplicarse a la representaci n binae a o ria, estas son generalizables a alfabetos de cardinalidad mayor, si bien en algunos casos requieren de ciertas modicaciones. Comenzaremos por revisar las tres t cnicas b sicas de cruza: e a

7.1.1 Cruza de un punto


Esta t cnica fue propuesta por Holland [127], y fue muy popular durante muchos e a os. Hoy en da, sin embargo, no suele usarse mucho en la pr ctica debido a sus n a inconvenientes. Puede demostrarse, por ejemplo, que hay varios esquemas que no pueden formarse bajo esta t cnica de cruza. e Considere, por ejemplo, los esquemas siguientes: 141

g g g

Cruza de un punto Cruza de dos puntos Cruza uniforme

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

O(H) = n mero de posiciones jas en el esquema H. u Ejemplo: O(*11*0*0*) = 4 O(****1***) = 1

7.1.1.2 Longitud de denici n o Denamos a como la longitud de denici n: o

= distancia entre la primera y la ultima posici n ja o de un esquema H. 142

Denamos ahora

como el orden de un esquema:

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.

7.1.2 Cruza de dos puntos


DeJong [137] fue el primero en implementar una cruza de puntos, como una generalizaci n de la cruza de un punto. o El valor es el que minimiza los efectos disruptivos (o destructivos) de la cruza y de ah que sea usado con gran frecuencia. No existe consenso en torno al uso de valores para que sean mayores o iguales a 3. Los estudios empricos al respecto [137, 74] proporcionan resultados que no resultan concluyentes respecto a las ventajas o desventajas de usar dichos valores. En general, sin embargo, es aceptado que la cruza de dos puntos es mejor que la cruza de un punto. Asimismo, el incrementar el valor de se asocia con un mayor efecto disruptivo de la cruza. 143

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

Figura 7.2: Cruza de dos puntos.

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

Figura 7.3: Cruza uniforme.

144

7.1.3 Cruza uniforme


Esta t cnica fue propuesta originalmente por Ackley [1], aunque se le suele atribuir e a Syswerda [217]. En este caso, se trata de una cruza de puntos, pero en la cual el n mero de u puntos de cruza no se ja previamente. La cruza uniforme tiene un mayor efecto disruptivo que cualquiera de las 2 cruzas anteriores. A n de evitar un efecto excesivamente disruptivo, suele usarse con . Algunos investigadores, sin embargo, sugieren usar valores m s peque os de a n Pc [209]. Cuando se usa , hay una alta probabilidad de que todo tipo de cadena binaria de longitud sea generada como m scara de copiado de bits. a

7.1.4 Cruza Acentuada


Esta t cnica fue propuesta por Schaffer y Morishima [201], en un intento por e implementar un mecanismo de auto-adaptaci n para la generaci n de los patrones o o favorables (o sea, los buenos bloques constructores) de la cruza. En vez de calcular directamente la m scara (o patr n) de cruza, la idea es usar a o una cadena binaria de marcas para indicar la localizaci n de los puntos de cruza. o La idea fue sugerida por Holland [127], aunque en un sentido distinto. La informaci n extra que genera la cruza acentuada se agrega al cromosoma o de manera que el n mero y localizaciones de los puntos de cruza pueda ser objeto u de manipulaci n por el AG. o Por tanto, las cadenas tendr n una longitud del doble de su tama o original. a n La convenci n que suele adoptarse es la de marcar con 1 las posiciones o donde hay cruza y con 0 las posiciones donde no la hay. Asimismo, se suelen usar signos de admiraci n para facilitar la escritura de o las cadenas. La gura 7.4 muestra un ejemplo de la cruza acentuada. El algoritmo de la cruza acentuada es el siguiente:

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

cadena original L=10

puntos de cruza L=10

Puede interpretarse como: 0 1 ! 1 0 0 ! 0 1 1 0 0

Aqu se efecta la cruza

Figura 7.4: Cruza Acentuada.

Veamos el siguiente ejemplo: Antes de la cruza: P1 P2 = = a a c c a c a c! a d a a! b b b d d d d d! b b b e e e b e

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.

7.2 Sesgos de la Cruza


El sesgo de la cruza se reere a las tendencias de este operador hacia favorecer o no un cierto tipo de b squeda. u Realmente, la b squeda aleatoria es la unica que no presenta ning n tipo de u u sesgo, por lo que es de esperarse que cualquier operador heurstico como la cruza presente alg n tipo de sesgo. u De hecho, desde hace alg n tiempo, se ha determinado que se requiere de u alg n tipo de sesgo para que una t cnica de b squeda sea efectiva [170]. u e u En algoritmos gen ticos, se suelen considerar 2 tipos de sesgo para la cruza: e

7.2.1 Sesgo distribucional


El sesgo distribucional se reere al n mero de smbolos transmitidos durante una u recombinaci n. Asimismo, se reere a la medida en la que algunas cantidades o tienen m s tendencia a ocurrir que otras. a El sesgo distribucional es importante porque est correlacionado con el n mero a u potencial de esquemas de cada padre que pueden ser recombinados por el operador de cruza.

La cruza uniforme tiene un sesgo distribucional muy fuerte. 147

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.

7.2.2 Sesgo posicional


El sesgo posicional caracteriza en qu medida la probabilidad de que un cone junto de smbolos se transmitan intactos durante la recombinaci n depende de las o posiciones relativas de los mismos en el cromosoma. El sesgo posicional es importante porque indica qu esquemas es m s probae a ble que se hereden de padres a hijos. Asimismo, tambi n indica la medida en la e que estos esquemas aparecer n en nuevos contextos. a

La cruza uniforme no tiene sesgo posicional.

7.3 Variantes de la Cruza


En la pr ctica, diversos aspectos de la cruza suelen modicarse para mejorar su a desempe o. Una variante, por ejemplo, consiste en retener s lo a uno de los dos n o hijos producidos por una cruza sexual. Holland [127] describi una t cnica de o e este tipo. Estudios empricos han mostrado, sin embargo, que retener a los 2 hijos pro ducidos por una cruza sexual reduce sustancialmente la p rdida de diversidad en e la poblaci n [24]. o Otra variante muy com n es la de restringir los puntos de cruza a aquellas u posiciones en las que los padres dieran. A esta t cnica se le conoce como sustie tuci n reducida [25]. o El objetivo de la sustituci n reducida es mejorar la capacidad de la cruza para o producir hijos que sean distintos a sus padres. Otra variante interesante es la llamada cruza con barajeo [74]. En este caso, se aplica un operador de permutaci n a una parte de las cadenas de los padres o antes de efectuar la cruza.Despu s de la cruza, se aplica la permutaci n inversa a e o n de restaurar el orden original de los bits. La cruza con barajeo tiene como objeto contrarrestar la tendencia de la cruza ) a causar con m s frecuencia disrupci n en los conjuntos de a o de puntos ( bits que est n dispersos que en los que est n juntos. a a

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

7.4 Comportamiento Deseable de la Cruza


Todos estos operadores descritos anteriormente, siguen el principio Mendeliano de la herencia: cada gene que tiene un hijo, es una copia de un gene heredado de alguno de sus padres. Cabe mencionar, sin embargo, que esto no tiene que ser as en computaci n evolutiva. o Algunos investigadores han destacado que el enfasis de la cruza debe ser el poder generar todas las posibles combinaciones de bits (de longitud ) que hayan en el espacio de b squeda del problema [178]. Dada una cierta representaci n u o binaria, ni la cruza de un punto, ni la de puntos son capaces de lograr esto (generar cualquier combinaci n de bits posible). La cruza uniforme, sin embargo, o s puede hacerlo. Algunos investigadores han propuesto otras variantes de la cruza motivados por este problema. Radcliffe [178] propuso una t cnica denominada recombie naci n respetuosa aleatoria. o Seg n esta t cnica, se genera un hijo copiando los bits en los que sus padres u e son id nticos, y eligiendo luego, valores al azar para llenar las posiciones sigue ientes. Si se usan cadenas binarias y , la cruza uniforme es equivalente a esta recombinaci n. o

7.5 Cruza para representaciones alternativas


Al cambiar la representaci n, el operador de cruza puede requerir modicaciones o a n de mantener la integridad del nuevo esquema de codicaci n adoptado. A o continuaci n discutiremos brevemente algunas deniciones de la cruza para las o siguientes representaciones alternativas:

Programaci n Gen tica o e

Permutaciones

Representaci n real o

7.5.1 Cruza para Programaci n Gen tica o e


Al usarse representaci n de arbol, la cruza sigue funcionando de manera muy o similar a la cruza convencional, s lo que en este caso, se intercambian sub- rboles o a entre los 2 padres. 149

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

7.5.2 Cruza para Permutaciones


La representaci n de permutaciones se usa frecuentemente en problemas de optio mizaci n combinatoria, como el del viajero y consiste b sicamente en usar cadeo a nas de enteros para representar una permutaci n: o 1 2 3 4 5 6 7 8 9 Al efectuar cualquiera de las cruzas antes descritas entre 2 cadenas que usan representaci n de permutaciones, los hijos invariablemente ser n no v lidos. o a a Este problema requiere la denici n de procedimientos de reparaci n de o o las cadenas inv lidas que se producen a consecuencia de la cruza. Estudiaremos a brevemente las siguientes t cnicas: e

g g g g g g g

La raz es un punto de cruza v lido. a

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

7.5.3 Otras propuestas


Hay muchas otras propuestas. Por ejemplo:

7.6 Cruza para Representaci on Real


Si elegimos el uso directo de vectores de n meros reales para nuestra codiu caci n, es entonces deseable denir operadores de cruza m s acordes a esta repreo a sentaci n. El enfasis principal es la capacidad de poder romper un cierto valor o real, de manera an loga a como la cruza ordinaria rompe segmentos de croa mosoma al usarse representaci n binaria. Las t cnicas que estudiaremos son las o e siguientes:

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.

Un punto Dos puntos Uniforme Intermedia 157

7.6.1 Cruza Simple


Se trata realmente de la cruza de un punto aplicada a vectores de n meros reales: u Ejemplo: Dados P1 = P2 =

7.6.2 Cruza de dos puntos


Esta cruza es igual que para el caso binario. Ejemplo: Dados P1= P2=

7.6.3 Cruza uniforme


Es igual que para el caso binario. Ejemplo: Dados 158

jeijeij q q q q q q q q ieji3jilali

Los hijos seran: H1= H2=

q q q q  iq j Gjq  q iqj i jeij ali

q q jqjjeqj{i j{ij

Los hijos seran: H1 = H2 =

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

3 2 3 4 2 2 2 3 2 4 20 5 2 5 5 62 ' 3 2 5 2273 % 2 4 2 1025 # 3 25 6 24  p     )    r 


l %q " q i &S#"v} q Ya('u !"g  e u lq oejg l q " %q i YU('7v} &q S$#u !"g !
Para nes del c lculo de a: a si si si

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=

q q q q q j FijGqjlq 4qii q q icjicjjiie ilj

7.6.5 Cruza aritm tica simple e

7.6.4 Cruza intermedia

Si Pc=0.5, entonces los hijos podran ser: H1= H2=

P1= P2=

159

(7.2) (7.1)

donde cada valor . Ejemplo: P1 = P2 =

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 =

7.6.6 Cruza aritm tica total e


Es igual que la anterior, s lo que en este caso no se tiene que elegir punto de cruza, o pues se aplica la misma f rmula a todos los genes del cromosoma (o sea, a todas o las variables de decisi n). o Si no se pre-dene un rango para cada variable, entonces se usa simplemente , como en el caso de la cruza intermedia. Ejemplo de cruza aritm tica total: e

q q q  j q je jq q 4i@ iciji {j u Yj u l q g jbjqhe u l q g oYjbjqe u bjj z z z aj  ' Y z z   %  z # i m F       r 9

Haciendo k =3, tenemos: , , por lo que:

u u u q q q uu & j je q Qu  j d i j  u u q q &is q QT dj3iii

160

lq Bcijqg

 

 9

l 5 q 5 vg

 8

q q qjGiq ijqj q jeiii

 

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

R tsr i W &74qgp g &h RRqUuT XWSQHG f !FD E C@ A B R VT P I U


2. Calcular .

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:

7.6.7 Simulated Binary Crossover (SBX)

q q 4ii3iq jjq q q jiF4j

Usando a = 0.6, tenemos: H1 = H2 =

1. Generar un n mero aleatorio u entre 0 y 1. u

q q q ieqj{qiCicqjY{ jjeji

3. Producir los hijos con:

Los autores de la t cnica sugieren: e

Ejemplo de SBX: P1 = P2 =

jp b fe i b le m b fe m b kl1k1fk1d8HH jp ` m b` eml b` eH kH y 1pbcekp1cogk8e`cogk1fb w H B nv y jk1ihmcHgc1fb b fe b le b ` e j b `e e b fe b k1ichHb y gededyH


, tenemos: ]

Si usamos u=0.42, H1 = H2 =

@A

donde:

P1 = P2 =

H1 = H2 =

161 de lo contrario o . (7.4)

7.7 Problemas Propuestos


1. El objetivo de este problema es que implemente un algoritmo gen tico con e una representaci n de permutaciones, el cual se utilizar para resolver un o a problema cl sico de optimizaci n combinatoria: el problema de la asiga o naci n cuadr tica. o a Implemente una de las siguientes t cnicas de cruza para permutaciones: e

El algoritmo gen tico implementado deber tener las siguientes caractersticas: e a

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

Partially Mapped Crossover (PMX). Position-based Crossover. Order-based Crossover.

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

8.1 Mutaci n para Permutaciones o


Comenzaremos nuestra revisi n de t cnicas enfoc ndonos a la representaci n de o e a o permutaciones que se suele utilizar en problemas de optimizaci n combinatoria o (como el del viajero).

8.1.1 Mutaci n por Inserci n o o


Se selecciona un valor en forma aleatoria y se le inserta en una posici n arbitraria. o Ejemplo: 165

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

8.1.2 Mutaci n por Desplazamiento o


Es una generalizaci n de la mutaci n por inserci n en la que en vez de mover o o o un solo valor, se cambian de lugar varios a la vez. Considere el ejemplo de la gura 8.1, en el cual tres valores son movidos a posiciones distintas en la cadena.

8.1.3 Mutaci n por Intercambio Recproco o


En este caso, se seleccionan dos puntos al azar y se intercambian estos valores de posici n. o Por ejemplo, dada: P= 9 4 2 1 5 7 6 10 3 8 Tendramos: P=9 10 2 1 5 7 6 4 3 8

8.1.4 Mutaci n Heurstica o


Fue propuesta por Gen y Cheng [99]. El procedimiento es el siguiente: 166

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

8.2 Mutaci n para Programaci on Gen tica o e


La mutaci n es un operador asexual que, en el caso de la programaci n gen tica, o o e se aplica sobre una sola expresi n (en el caso de usar LISP). Se selecciona o aleatoriamente un punto de mutaci n en el arbol y se remueve todo lo que est en o e dicho punto y abajo de el, insert ndose en su lugar un sub- rbol generado aleatori a a amente (ver gura 8.2). La profundidad m xima de este sub- rbol est acotada por a a a o la profundidad total permitida para cualquier expresi n en la poblaci n inicial. o 167

1. Seleccionar

genes al azar.

OR
5

OR A0 AND A0

AND
4

A0

A1

NOT

A1

A1

Figura 8.2: Ejemplo: Suponemos que el punto de mutaci n es el nodo 3. o

8.3 Mutaci n para Representaci on Real o


Si usamos directamente vectores de n meros reales para representar las variables u de nuestro problema, es importante tomar en cuenta la alta cardinalidad que tendr a el alfabeto en este caso, y se requiere dise ar operadores acordes a ella. n

8.3.1 Mutaci n No Uniforme o


Propuesta por Michalewicz [161].

el individuo mutado ser : a

y la variable

tal que la probabilidad de que

168

P s e G

e s `

R = ip(0.5) regresa un valor en el rango

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:

8.3.2 Mutaci n de Lmite o

el individuo mutado ser : a

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

edbf B edc` y e`c$`G } v P b e b edbc` yB 1`c` B 1dd b b j y cc1iedb y gc1dd b pe b me e b


, ,

b j ebbge ebbge g B b b j v ebbe ebbge g B b


Dado: el individuo mutado ser : a

1`co B bd 1db B y e`bcdo B edco B b` j b de b ` e b He k1icedcogc1ledb y B e 7


y Ejemplo: , Supongamos que: ip(0.5) = TRUE ,

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

8.3.3 Mutaci n Uniforme o

denen los rangos mnimos y m ximos permisibles de valores para la variable a

Si ip(0.5)=TRUE de lo contrario

170

B B B

8.3.4 Parameter-Based Mutation


Utilizada en conjunci n con SBX. Fue propuesta por Deb [67, 65]. El procedo imiento es el siguiente: 1. Crear un n mero aleatorio u entre 0 y 1 u 2. Calcular: Si de lo contrario

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

es la m xima perturbaci n permitida. Si se conoce el rango de a o , suele usarse:

considerando que: Ejemplo:

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

8.4 Cruza vs. Mutacion


La cruza uniforme es m s explorativa que la cruza de un punto. a Por ejemplo, dados: P1 = 1 * * * * 1 P2 = 0 * * * * 0 La cruza uniforme producir individuos del esquema ******, mientras que la a cruza de un punto producir individuos de los esquemas 1****0 y 0****1. a

8.4.1 Cu l es el poder exploratorio de la mutaci n? a o

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.

8.5 Problemas Propuestos


1. Implemente un algoritmo gen tico con representaci n real y utilice alguna e o de las t cnicas de cruza y mutaci n que hemos visto hasta ahora. Utilcelo e o para minimizar la siguiente funci n: o

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:

`d 8Y h r ` 8Y g r ` Y `H Y dH b d b h P hr y G g r elH h P hh r y G g r neHH h P h r y G g r edb y B P h r e g r G q q


173

(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

Tabla 8.1: Tabla de verdad para el segundo problema propuesto.

174

Captulo 9 Ajuste de Par metros a


9.1 Introduccion
Los par metros principales de un AG son: a

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

9.2 Los experimentos de De Jong


De Jong [137] efectu una serie de experimentos para comparar AGs con t cnicas o e de gradiente. En su estudio, De Jong propuso cinco funciones de prueba que exhiban una serie de caractersticas que las hacan difciles para las t cnicas de e gradiente. 175

q q q

Tama o de poblaci n n o Porcentaje de cruza Porcentaje de mutaci n o

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

Algunas conclusiones interesantes de De Jong [137] fueron:

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

9.3 Tamano optimo de poblacion


Goldberg [103] realiz un estudio te rico del tama o ideal de la poblaci n de o o n o un AG en funci n del n mero esperado de nuevos esquemas por miembro de o u la poblaci n. Usando una poblaci n inicial generada aleatoriamente con igual o o probabilidad para el cero y el uno, Goldberg deriv la siguiente expresi n: o o Tam Poblaci n = o donde: L = longitud de la cadena (binaria). Esta expresi n sugiere tama os de poblaci n demasiado grandes para cadenas o n o de longitud moderada. Considere los siguientes ejemplos:

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

L = 30, L = 40, L = 50, L = 60,

Tam Tam Tam Tam

Poblaci n = 130 o Poblaci n = 557 o Poblaci n = 2389 o Poblaci n = 10244 o

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.

9.4 Los experimentos de Schaffer


Schaffer et al. [200] efectuaron una serie de experimentos que consumieron aproximadamente 1.5 a os de tiempo de CPU (en una Sun 3 y una VAX), en los cuales n intentaron encontrar los par metros optimos de un AG con codicaci n de Gray a o y usando muestreo estoc stico universal. a Los par metros sugeridos por estos experimentos (para el desempe o en a n lnea) fueron: Tama o de poblaci n: n o Porcentaje de cruza (2 puntos): Porcentaje de mutaci n: o 20-30 individuos 0.75-0.95 0.005-0.01

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:

. Los autores sugieren:

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

e`b yuB B g d` 8B h b B e`b y Y 8 h e g @ e 8B @ P @ ~ G P u G h B e @ e B @ P @ G P ~ G g B e

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:

porcentaje actual de mutaci n, o tasa de aprendizaje (se sugiere

nuevo porcentaje de mutaci n. o ).

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

est dada por: a si si

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

El genotipo tiene la forma:

Los porcentajes de mutaci n se actualizan usando: o

9.5.1 La propuesta de Davis


Davis [63, 64] realiz un estudio muy interesante sobre un mecanismo de autoo adaptaci n aplicado a algoritmos gen ticos. En su estudio, Davis asign a cada o e o operador gen tico una aptitud, la cual era funci n de cu ntos individuos con e o a aptitud elevada haban contribuido a crear dicho operador en un cierto n mero de u generaciones. Un operador era recompensado por crear buenos individuos directamente, o por dejar la mesa puesta para ello (es decir, por crear ancestros para los buenos individuos). La t cnica de Davis se us en un AG de estado uniforme. Cada operador e o (cruza y mutaci n) empezaba con la misma aptitud y cada uno de estos operadores o se seleccionaba con una probabilidad basada en su aptitud para crear un nuevo individuo, el cual reemplazaba al individuo menos apto de la poblaci n. Cada o individuo llevaba un registro de qui n lo cre . Si un individuo tena una aptitud e o mayor que la mejor aptitud actual, entonces el individuo reciba una recompensa para el operador que lo cre y esta se propagaba a su padre, su abuelo, y tantos o ancestros como se deseara. La aptitud de cada operador sobre un cierto intervalo de tiempo estaba en funci n de su aptitud previa y de la suma de recompensas o recibidas por todos los individuos que ese operador hubiese ayudado a crear en ese tiempo. Para implementar la auto-adaptaci n, suelen codicarse los porcentajes de o cruza y mutaci n (y a veces incluso el tama o de la poblaci n) como variables o n o adicionales del problema. Los valores de los par metros del AG se evolucionan a de acuerdo a su efecto en el desempe o del algoritmo. n 184

Este esquema puede generalizarse incluyendo un vector mutaci n asociados a cada variable: o

de porcentajes de

u b exge y p uB qe sg &{ i 7kp y uqg y B y |

P y ge g y G B y e P ye rG B

9.5.2 Crticas a la auto-adaptaci n o


La auto-adaptaci n no ha sido tan exitosa en los AGs, como lo es en otras t cnicas o e evolutivas (p.ej., las estrategias evolutivas) Por qu ? e El problema fundamental es que nadie ha podido contestar satisfactoriamente la siguiente pregunta [167]: qu tan bien corresponde la velocidad de adaptaci n de la poblaci n con la e o o adaptaci n de sus par metros? o a Dado que la informaci n necesaria para auto-adaptar los par metros proviene o a de la poblaci n misma, esta informaci n podra no poder viajar sucientemente o o r pido como para reejar con delidad el estado actual de la poblaci n. De ah a o que el uso de auto-adaptaci n en un AG siga siendo objeto de controversia. o

9.6 Mecanismos de Adaptaci on


9.6.1 Mutaciones Variables
Varios investigadores han abordado el problema del ajuste del porcentaje de mutaci n de un algoritmo gen tico. La idea de usar porcentajes de mutaci n depeno e o dientes del tiempo fue sugerida por Holland [127], aunque no proporcion una o expresi n en particular que describiera la variabilidad requerida. Fogarty [79] us o o en las que se incluye el tiempo, logrando mejovarias expresiones para variar ras notables de desempe o. En ambos casos, la propuesta fue decrementar de n manera determinstica los porcentajes de mutaci n, de manera que tiendan a cero. o Otra propuesta es la de Hesser y M nner [120], en la cual se usa: a

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

donde: , longitud cromos mica, o el n mero m ximo de generaciones. u a La variabilidad es:

generaci n actual y o

9.6.2 Mutaci n dependiente de la aptitud o


B ck (1992) sugiri el uso de un porcentaje de mutaci n que fuera funci n de la a o o o aptitud de cada individuo:

9.6.3 AGs adaptativos


Los objetivos principales de los AGs adaptativos son los siguientes:

Mantener diversidad en la poblaci n. o

Mejorar la convergencia del AG, evitando a la vez la convergencia prematura.

Evitar la disrupci n de esquemas ocasionada por la cruza. o

De acuerdo a como lo plantean Herera y Lozano (1996), un AGA incluye:

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

Funci n de aptitud adaptativa. o

Operador de selecci n adaptativo. o

Operadores de b squeda (variaci n) adaptativos. u o

Representaci n adaptativa. o 186

~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

9.6.4 T cnicas Adaptativas Basadas en L gica Difusa e o


Los controladores difusos suelen usarse con frecuencia como t cnica adaptativa e con los AGs (Herrera y Lozano, 1996). La integraci n de AGs y controladores difusos suelen orientarse hacia los o temas siguientes: 1. Elegir los par metros del AG antes de efectuar las corridas. a 2. Ajustar los par metros en lnea, adapt ndose a nuevas situaciones. a a 3. Asistir al usuario en detectar las soluciones emergentes utiles, en monitorear el proceso evolutivo con la nalidad de evitar convergencia prematura, y en dise ar AGs para una cierta tarea en particular. n

9.6.5 Representaciones Adaptativas


Se han propuesto varios esquemas en los que lo que se adapta es la representaci n o usada con un AG. A continuaci n veremos 2 propuestas muy interesante de este o tipo. Sistema ARGOT Propuesto por Schaefer (1987), el m todo ARGOT es un algoritmo de b squeda e u dise ado de tal manera que puede aprender la estrategia de b squeda m s aden u a cuada. 187

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

9.7 Problemas Propuestos


1. Implemente un esquema de auto-adaptaci n para un algoritmo gen tico. Ino e cluya los porcentajes de cruza y mutaci n como variables adicionales, codo icadas en la misma cadena cromos mica. Permita que el rango de la cruza o y la mutaci n sea un n mero real entre 0 y 1. Dena una funci n de aptitud o u o en la que se premie a un individuo seg n la aptitud de sus descendientes. u 2. Implemente el esquema de auto-adaptaci n propuesto por Srinivas y Patnaik o [211]. 3. Realice un estudio en el que eval e el efecto de los par metros en el deu a sempe o de un algoritmo gen tico usado para minimizar la siguiente funci n: n e o

donde

donde:

y:

189

Hkd d H H kd l y

e P

|x

Hd k l l k ko Hd Hd ` l y H yd H y ko kd l y e B c8d B 8edkaY e`` eld bdl x r G g | B P h r e g r G h yx w | |

Hd Hd Hd ko ko ` l y ko  ! Hd B !|x r Y8edk ld bdl r r ePh eg G g vp | g qVhy | 8 y y

(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:

generaci n 0: o generaci n 1: o generaci n 2: o

1001, 1100, 0110, 0011 1101, 1101, 0111, 0111 1001, 1101, 1111, 1111

Calcule el desempe o en lnea y fuera de lnea despu s de cada generaci n. n e o

190

P rG

Captulo 10 Manejo de Restricciones


Hasta ahora hemos estudiado s lo problemas sin restricciones. Sin embargo, en o la pr ctica normalmente tenemos problemas con restricciones de diferentes tipos a (igualdad, desigualdad, lineales y no lineales), tales como:

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.

10.1 Funciones de Penalizaci on


Son la t cnica m s com n de incorporaci n de restricciones en la funci n de aptie a u o o tud. La idea b sica es extender el dominio de la funci n de aptitud usando: a o

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 la cantidad de infactibilidad de un individuo para determinar su penalizaci n correspondiente. 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.

10.1.1 Pena de Muerte


En las estrategias evolutivas ha sido popular una t cnica a la que se le conoce como e pena de muerte, y que consiste en asignar una aptitud de cero a un individuo que no sea factible, y tomar el valor de la funci n de aptitud para los que s lo sean o [204, 12]. 10.1.1.1 An lisis a Esta t cnica es muy eciente porque no tenemos qu re-calcular las restricciones e e o la funci n objetivo ni tenemos que reparar a los individuos no factibles. Sin o embargo, tiene varios inconvenientes. Por ejemplo, si la poblaci n inicial no o tiene ning n individuo factible, la b squeda no progresar (habr estancamiento) u u a a porque todos los individuos tendr n la misma aptitud. a Algunos autores como Michalewicz [160] han explorado esta t cnica, cone cluyendo que s lo puede usarse en espacios de b squeda convexos y en aquellos o u casos en los que la zona factible constituya una parte razonablemente grande del espacio total de b squeda. Asimismo, esta t cnica s lo puede lidiar con restricu e o ciones de desigualdad.

10.1.2 Penalizaciones est ticas a


En esta t cnica, introducida por Homaifar, Lai y Qi [129], la idea es denir varios e niveles de violaci n y elegir un coeciente de violaci n para cada uno de ellos, o o 193

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.

10.1.3 Penalizaciones Din micas a


Joines y Houck [136] propusieron una t cnica en la que los factores de penale izaci n cambian con respecto al tiempo. o Los individuos de la generaci n t se eval an de acuerdo a: o u

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

10.1.4 Uso de recocido simulado


Michalewicz y Attia [162] consideraron una t cnica para manejo de restricciones e que usa el concepto de recocido simulado: los coecientes de penalizaci n se o cambian cada cierto n mero de generaciones (cuando el algoritmo ha quedado u atrapado en un optimo local). Los individuos se eval an usando: u 194

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

10.1.5 Penalizaciones Adaptativas


Bean y Hadj-Alouane [20] desarrollaron una t cnica para adaptar penalizaciones e con base en un proceso de retroalimentaci n del ambiente durante la corrida de o un algoritmo gen tico. e Cada individuo es evaluado usando:

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

10.1.6 Algoritmo gen tico segregado e


Esta t cnica fue propuesta por Le Riche et al. [188] y consiste en usar 2 funciones e de penalizaci n en vez de una, empleando para ello dos poblaciones. Estas 2 o funciones intentan balancear las penalizaciones moderadas con las fuertes. Inicialmente, se divide la poblaci n en 2 grupos, de manera que los individuos o de cada grupo se eval an usando un factor de penalizaci n distinto. Despu s u o e se elige a los mejores individuos de cada grupo para ser padres de la siguiente generaci n, lo que hace que se combinen individuos factibles con infactibles (si o se usa un factor grande y otro peque o), manteniendo la diversidad y evitando n quedar atrapado en m ximos locales. a En la implementaci n original de esta t cnica se utilizaron jerarquas lineales o e para decrementar la presi n de selecci n y se le aplic a un problema de dise o o o o n de elementos compuestos con gran exito. 10.1.6.1 An lisis a El principal inconveniente de esta t cnica es la forma de elegir los factores de e penalizaci n de las 2 poblaciones, lo cual es difcil de hacer cuando no hay inforo maci n disponible sobre el problema que tratamos de resolver. o

10.1.7 Penalizaci n con base en la factibilidad o


Esta t cnica fue propuesta por Deb [66] y consiste en evaluar un individo de e acuerdo a:

Si la soluci n es factible o de lo contrario

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

  P (G g t  B P G v   y | P &| G x

(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

10.2 T cnicas que usan conceptos de Optimizaci on e Multiobjetivo


T cnicas para manejo de restricciones e

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

donde se quiere encontrar tal que , y Conceptos Multiobjetivo Utilizados

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 violaci n de restricciones. o

Jerarquias de Pareto (no dominancia).

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 

" ' " $ % #

No dominancia. Un punto tal que: .

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

es una soluci n no dominada si no hay o y para al menos un valor ,

Figura 10.1: Ejemplo de un frente de Pareto.

10.2.2 Direct Genetic Search


Propuesta por Parmee y Purchase [176]. Utiliza VEGA para dirigir la b squeda de u un algoritmo evolutivo hacia la zona factible. Posteriormente, utiliza una t cnica e de b squeda local, en un hipercubo formado a partir de la soluci n arrojada por u o VEGA, para encontrar el optimo global.

10.2.3 Reducci n de objetivos, no dominancia y b o usqueda lineal.


Propuesta por Camponogara y Taludkar [37]. Reduce el problema a s lo 2 objeo tivos:

q q q

Aplica operadores gen ticos. e Ajusta el factor de selecci n. o

La funci n objetivo original. o 199

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

10.2.4 Selecci n por torneo con reglas especiales. o


Propuesto por Jim nez y Verdegay [135]. Utiliza selecci n por torneo, poblaci n e o o no traslapable y elitismo. Reglas del torneo:

Un individuo factible es preferible a otro factible con menor aptitud.

Un individuo factible es preferible a otro no factible, sin importar su aptitud.

Entre dos individuos no factibles, se preere aquel que viole en menor cantidad las restricciones del problema.

10.2.5 VEGA para manejo de restricciones


Propuesto por Coello [46]. Divide a la poblaci n en o subpoblaciones ( restricciones). Cada subpoblaci n (de las ) se eval a con una restricci n y la o u o restante se eval a con la funci n objetivo. Se seleccionan los individuos (integrau o dos todos en una sola poblaci n) y se aplican operadores gen ticos. o e Criterio de selecci n para las subpoblaciones que se eval an con una restricci n o u o del problema: if else if else then then

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

Minimizar la cantidad de violaci n de un individuo. o

10.2.6 Jerarquas en distintos espacios y restricciones de apareamiento


Propuesto por Ray et al. [182]. Utiliza el concepto de no dominancia en el espacio de las funciones objetivo y en el de las restricciones. Jerarquiza la poblaci n en o el espacio combinado de manera que aquellos con jerarqua alta se insertan en la nueva poblaci n. Los restantes individuos se obtienen de la cruza (utiliza cruza o uniforme y random mix.) de un individuo A con uno de dos candidatos B y C:

Para escoger entre B y C se tienen los siguientes criterios:

10.2.7 MOGA y no dominancia


Propuesto por Coello [45]. Utiliza jerarquas de Pareto de manera similar a MOGA y auto adaptaci n en cruza y mutaci n. o o Reglas para criterio de selecci n: o

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

10.2.8 NPGA para manejo de restricciones


NPGA surge como una de las interpretaciones de la idea de Goldberg [105] de utilizar un AG para optimizar un vector de funciones. La selecci n de individuos o es por torneo, modicado para optimizaci n multiobjetivo. Utiliza nichos para o mantener diversidad. Algoritmo 1. Seleccionar candidatos. 2. Seleccionar subconjunto de soluciones. 3. Verica no dominancia de ambos candidatos con respecto al subconjunto de soluciones. 4. Seleccionar aquel candidato no dominado. 5. En caso de empate (ambos dominados o ambos no dominados) seleccionar aquel con menor valor de su contador de nicho. Proporci n de Selecci n o o Se introduce un par metro llamado selection ratio ( ) el cual indica el mnimo a n mero de individuos que ser n seleccionados a trav s de 4 criterios de selecci n. u a e o 202

q q q q

Aptitud. Factibilidad. N mero de restricciones violadas. u Cantidad de violaci n de restricciones. o

Candidato 1

Candidato 2

Seleccion puramente probabilistica

Sr

Cuatro Criterios de Comparacion

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).

10.2.9 Constrained Robust Optimization


Propuesto por Ray et al. [181]. Se basa en la idea de generar soluciones que no sean sensibles a variaciones en los par metros y que sean cercanas o iguales al a optimo. Es un procedimiento costoso (requiere de un n mero mayor de evaluaciones u de la funci n de aptitud). Genera matrices con base en los valores de restrico ciones y objetivos como en su propuesta anterior. Agrega el valor de violaci n de o restricciones de vecinos. Jerarquiza la poblaci n como lo hace NSGA I y II. o La selecci n se basa en las jerarquas en los distintos espacios, balanceando o entre restricciones y objetivos.

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

10.2.11 Asignaci n de aptitud en 2 fases o


Propuesta por Wu & Azarm [232]. Asigna aptitud a un individuo en dos fases. Propuesta para EMO. I Fase primaria: Paso 1: Se calcula el n mero de soluciones que dominan a un indiu de la poblaci n llamado valor dominante (jerarquizaci n). o o viduo

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

10.2.12 Otras propuestas

Estas t cnicas s lo se han probado en optimizaci n multiobjetivo con restrice o o ciones y no para problemas de optimizacion global.

10.3 Problemas Propuestos


1. Investigue en qu consiste la t cnica denominada decodicadores, para e e manejo de restricciones. Analice el comportamiento de la t cnica e identie 205

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

11.1 Software de Dominio P ublico

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

Autor: Attilio Giordana (attilio@di.unito.it) Disponibilidad: ftp://ftp.di.unito.it/pub/MLprog/REGAL3.2

11.2 Software Comercial

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

11.3 Problemas Propuestos


1. Instale dos cajas de herramientas de dominio p blico y comp relas. Eval e u a u su alcance, facilidad de extensi n, documentaci n, facilidad de uso y utilio o dad pr ctica. a 2. Desarrolle una caja de herramientas que incluya todos los operadores que hemos visto a lo largo de este curso. Aseg rese de que sus funciones trau bajen con representacj n binaria y real. Adem s, la representaci n binaria o a o puede ser con o sin c digos de Gray. Desarrolle documentaci n adecuada, o o as como ejemplos de uso de las funciones. El c digo fuente deber estar o a tambi n documentado y ser liberado al dominio p blico. e a u

215

216

Captulo 12 Fundamentos Te ricos o


Aunque los algoritmos gen ticos son simples de describir y programar, su come portamiento puede ser muy complicado, y todava existen muchas preguntas abier tas acerca de c mo funcionan y sobre el tipo de problemas en los que son m s o a adecuados. La teora tradicional de los AGs (formulada originalmente por Holland en 1975 [127]) asume que, en un nivel muy general de descripci n, los AGs trao bajan descubriendo, enfatizando y recombinando buenos bloques constructores de soluciones en una manera altamente paralelizada. La idea b sica aqu es que a las buenas soluciones tienden a estar formadas de buenos bloques constructores (combinaciones de bits que coneren una aptitud alta a las cadenas en las que est n presentes). a Holland [127] introdujo la noci n de esquemas para formalizar la noci n o o de bloques constructores. Tal vez la forma m s f cil de visualizar un espaa a cio de b squeda es considerando todas las cadenas y esquemas de longitud 3. u Gr camente, podemos ver el espacio de b squeda como un cubo donde los a u puntos son esquemas de orden 2 y los planos son esquemas de orden 1 (ver gura 12.1). Todo el espacio de b squeda est cubierto por un esquema de oru a den cero (***). Este resultado puede generalizarse a espacios de dimensiones, donde hablaramos de hiperplanos. De tal manera, podemos pensar que un AG corta a trav s de difere entes hiperplanos en busca de los mejores bloques constructores. Cu nta informaci n obtenemos de examinar los esquemas? a o Esto est relacionado con el n mero de esquemas unicos contenidos en la a u 217

X2 0*0 *10 010 01* *11 11* 011 000 0*1 00* 10* 001 *01 **1 X3 101 1*1 111 100 X1 1*0 *00 110 1**

Figura 12.1: Representaci n gr ca de los esquemas de longitud tres. o a

es una instancia de

Ejemplo:

C=10 H1=1*

L=2 H2=*0 H3=10 H4=**

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

Hay algun caso en el que una poblaci n de o exactamente esquemas diferentes?

cadenas de

poblaci n. o Cualquier cadena de bits de longitud entes.

esquemas difer-

Esto s lo ocurre cuando cuando o

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.

12.1 Paralelismo Implcito


Como acabamos de ver, cuando todas las cadenas de una poblaci n son iguales, o hay instancias de exactamente esquemas diferentes. Esto signica que, en una cierta generaci n, mientras el AG est evaluando o a explcitamente las aptitudes de las cadenas en la poblaci n, est tambi n eso a e timando implcitamente las aptitudes promedio de un n mero mucho mayor de u esquemas [167]. La aptitud promedio de un esquema se dene como la aptitud promedio de todas las instancias posibles de ese esquema. Supongamos que generamos aleatoriamente una poblaci n de tama o . o n En promedio la mitad de las cadenas ser n instancias de 1***...* y la mitad a ser n instancias de 0***...*. a cadenas que son instancias de 1***...* Si evaluamos las (aproximadamente) obtendremos un estimado de la aptitud promedio de ese esquema. Este valor es un estimado porque las instancias evaluadas en poblaciones de tama os tpicos son s lo una peque a muestra de todas las instancias posibles. n o n As como los esquemas no se representan o eval an explcitamente por el AG, u los estimados de las aptitudes promedio de los esquemas no se calculan o almacenan explcitamente por el AG. Sin embargo, el comportamiento del AG, en t rminos del incremento y decremento en n meros de instancias de esquemas dae u dos en la poblaci n, puede describirse como si realmente estuviera calculando y o almacenando estos promedios. Veamos el siguiente ejemplo: Dena la aptitud de una cadena binaria con longitud representado por el n mero binario (por ejemplo, u Cu l es la aptitud promedio del esquema 1*** bajo ? a

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

12.2 Derivacion del Teorema de los Esquemas


Podemos calcular la din mica aproximada del incremento y decremento en las a instancias de los esquemas de la manera siguiente. Hagamos que sea un esquema con al menos una instancia presente en la poblaci n en la generaci n . o o Hagamos que sea el n mero de instancias de en la generaci n , y u o que sea la aptitud promedio observada de en la generaci n (osea, la o aptitud promedio de las instancias de en la poblaci n en la generaci n ). o o Lo que queremos calcular es , o sea el n mero esperado de u . instancias de H en la generaci n o 220

edb B h 3 2B yy 1

Aptitud 8 9 10 11 12 apt. prom 13 14 15

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

12.2.1 Efecto de la Selecci n o


Supongamos que usamos selecci n proporcional. Bajo este esquema, el n mero o u , donde es esperado de descendientes de una cadena es igual a la aptitud de y es la aptitud promedio de la poblaci n en la generaci n . o o Ignorando por ahora los efectos de la cruza y la mutaci n, y suponiendo que o est en la poblaci n en la generaci n , tenemos: a o o

Sin embargo, por denici n: o

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.

12.2.2 Efecto de la Cruza


Haremos un an lisis del efecto destructivo (o sea, el que decrementa el n mero de a u instancias de ) de la cruza de un punto. Hagamos que sea el porcentaje de cruza y supongamos que una instancia del esquema se selecciona para ser padre. Se dice que el esquema sobrevive bajo la cruza de un punto si uno de sus hijos es tambi n una instancia del e esquema . Podemos proporcionar un lmite inferior de la probabilidad de que sobrevivir la cruza de un punto: a

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:

denota es una instancia de

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

12.2.3 Efecto de la Mutaci n o


sea la probabilidad de mutaci n y que o sea la probaHagamos que bilidad de que el esquema sobrevivir bajo la mutaci n de una instancia de a 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

12.3 Crticas al Teorema de los Esquemas


Existe una enorme cantidad de crticas en torno a las interpretaciones que se le han dado al teorema de los esquemas. Estas crticas provienen de parte de los matem ticos y fsicos que han modelado matem ticamente el comportamiento de a a un algoritmo gen tico (ver por ejemplo [222]). La primera crtica es el torno al e hecho de que el Teorema de los Esquemas es realmente una desigualdad d bil, e no un teorema. Adicionalmente, las siguientes armaciones sobre el teorema de los esquemas no son del todo demostrables:

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.4 No Free Lunch Theorem


Este famoso teorema fue formulado en un artculo (liberado originalmente como reporte t cnico) escrito por David Wolpert y William MacReady, del Instituto e Santa Fe, en Nuevo M xico, en 1995 [229, 230]. e La principal implicaci n del No Free Lunch Theorem es que todas las t cnicas o e de b squeda heurstica son matem ticamente equivalentes en general. Es decir, u a no hay una sola t cnica que supere a las dem s en todos los casos. e a La moraleja es pues que el enfasis que suele ponerse en optimizar con t cnicas e heursticas (como el AG) es err neo. o Qu alternativa tenemos entonces? e Investigar el comportamiento emergente de una t cnica heurstica. e Cu l es el costo de esta alternativa? a Formalizar nuestro modelo heurstico y realizar demostraciones a partir de dicha formalizaci n. o Qu ganamos? e Una comprensi n conceptual de la t cnica y una descripci n a fondo de las o e o circunstancias en las cuales un AG es la mejor alternativa.

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

Aproximadamente se procesan por cada generaci n. o

esquemas de manera util y en paralelo

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.

12.6 Areas abiertas de investigaci on


Algunas de las preguntas m s importantes que se han planteado dentro de la coa munidad de los algoritmos gen ticos son las siguientes [167, 10]: e

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

12.7 Cu ndo debe utilizarse un AG? a


El AG suele considerarse una t cnica que es buena para encontrar r pida-mente ree a giones prometedoras del espacio de b squeda, pero para realizar verdaderamente u optimizaci n se ha demostrado que en muchas instancias los hbridos de un AG o con otra t cnica (por ejemplo, escalando la colina) parecen dar mejores resultados. e Aunque los AGs pueden encontrar los optimos globales de problemas de alta com plejidad, la realidad es que muchas veces el costo computacional que requieren es prohibitivamente alto, y se preeren para encontrar una soluci n razonable, ya o que eso suelen poder hacerlo en un tiempo relativamente corto. Como heurstica, el AG no resulta muy adecuado para problemas crticos en los cuales el no encontrar una soluci n en un perodo de tiempo muy corto puede o causar fallas irreversibles al sistema. Asimismo, no es apropiado para aplicaciones en tiempo real en las que la respuesta debe proporcionarse de manera inmediata conforme se interact a con el ambiente. u Algunos autores (por ejemplo Kenneth De Jong [138]) han argumentado elocuentemente que, contrario a lo que se cree, los AGs no son optimizadores, sino que m s a bien son satisfactores de metas (o decisiones) secuenciales que pueden modicarse para actuar como optimizadores de funciones. Si bien en la pr ctica han a tenido un gran exito como optimizadores, la realidad es que los AGs suelen tener dicultades para encontrar optimos globales en ciertas clases de problemas (como por ejemplo el del viajero) sumamente susceptibles a la representaci n o aquellos o en los que la evaluaci n de la funci n de aptitud resulta sumamente costoso. o o

12.8 Qu es lo que hace difcil un problema para e un AG?


La teora de los esquemas se ha usado por algunos en la comunidad de los AGs para proponer una respuesta a la pregunta: qu hace que un problema sea difcil e 226

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.

12.9 Las Funciones de la Carretera Real


El Teorema de los Esquemas, por s mismo, no hace referencia a los efectos pos itivos de la selecci n (asignar muestras cada vez mayores de los esquemas que o han mostrado tener un mejor desempe o), sino unicamente a los aspectos de pern turbaci n de la cruza. Tampoco aborda la pregunta de c mo hace la cruza para o o recombinar los esquemas m s aptos, aunque esta parece ser la mayor fuente de a poder del AG. La hip tesis de los bloques constructores dice que la cruza combina esquemas o cortos y de alto desempe o demostrado para formar candidatos m s aptos, pero n a no da una descripci n detallada de c mo ocurre esta combinaci n. o o o Para investigar el procesamiento de esquemas y la recombinaci n en m s deo a talle, Stephanie Forrest, John Holland y Melanie Mitchell [169, 168] dise aron n ciertos paisajes de aptitud llamados de la Carretera Real (Royal Road), que intentaron capturar la esencia de los bloques constructores en una forma idealizada. La Hip tesis de los Bloques Constructores sugiere 2 caractersticas de los o paisajes de aptitud que son particularmente relevantes a los AGs: 1. La presencia de esquemas cortos, de bajo orden y altamente aptos, y 2. La presencia de escalones intermedios (esquemas de orden intermedio de aptitud m s alta que resultan de combinaciones de los esquemas de orden a menor y que, en turno, pueden combinarse para crear esquemas de aptitud a n mayor). u Las funciones que dise aron Mitchell et al. [169, 168] se esperaba que (sigun iendo la hip tesis de los bloques constructores) tenderan una carretera real al o AG de manera que pudiera llegar f cilmente a la cadena optima. Asimismo, la a hip tesis era que las t cnicas escalando la colina tendran dicultades con estas o e funciones, porque se necesitaba optimizar un gran n mero de posiciones de la u cadena simult neamente para moverse de una instancia de bajo orden a una de a 229

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

12.10 Cu ndo debe usarse un AG? a


Es adecuado si el espacio de b squeda es grande, accidentado, poco comprenu dido, o si la funci n de aptitud tiene mucho ruido, y si la tarea no requiere que o se encuentre el optimo global (encontrar una soluci n bastante buena con cierta o rapidez resulta suciente). Si el espacio de b squeda es muy peque o, entonces el problema se puede u n resolver mediante b squeda exhaustiva, y el AG no tiene mucha raz n de ser. u o Si el espacio de b squeda no est accidentado y es unimodal, entonces una u a t cnica de gradiente como escalando la colina con ascenso pronunciado ser e a mucho m s eciente que un algoritmo gen tico. a e Si el espacio de b squeda se conoce bien (p. ej. alguna instancia peque a del u n problema del viajero) es posible dise ar m todos de b squeda que usen conocimiento n e u especco sobre el dominio para superar f cilmente a una t cnica independiente a e del dominio como el AG. Si la funci n de aptitud tiene ruido (por ejemplo, si ino volucra tomar medidas sujetas a error de un proceso del mundo real tal como la visi n de un robot), un m todo de b squeda que use un solo candidato a la vez o e u (como escalando la colina) ser arrastrada inevitablemente por rutas err neas dea o bido al ruido, mientras que el AG tendr un desempe o razonable porque trabaja a n mediante la acumulaci n de estadsticas de aptitud a trav s de las generaciones. o e Los consejos anteriores deben tomarse con ciertas precauciones, porque no hay reglas universales sobre cu ndo utilizar un AG para resolver un problema y a cu ndo no hacerlo. Su desempe o normalmente depender de detalles tales como a n a el m todo de codicaci n de las soluciones candidatas, los operadores, los valores e o de los par metros, y el criterio en particular para medir el exito del algoritmo. a

12.11 Diseno de Funciones Deceptivas


Problema deceptivo mnimo

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:

Podemos re-escribir ahora la condici n de globalidad en forma normalizada: o

Re-escribamos ahora la condici n deceptiva: o

232

qg{ {

qqg{g { { W gq{ { {qg{ { B W gq{ {

g qg { q { H g qg

gqg g {g {

{ q{

{ g g { q { { H q{ { g

qqg{g { { W q{ qqg{g { { q{ B qqg{g { B W

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

A partir de lo anterior, podemos concluir que:

Tenemos entonces 2 clases de problemas deceptivos: TIPO I:

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`

y ) y { qqg{g { qg{ { gq{ y


) ) 233

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.

12.12 Estudios de Convergencia


Los Algoritmos Gen ticos son usados a menudo para resolver problemas de optie mizaci n del tipo: o asumiendo que para todo y . 234

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.

TIPO II: f 00> f 01

12.12.1 Algoritmo Gen tico Sin Elitismo e


En [195] Rudolph modela el Algoritmo Gen tico Simple (AGS) mediante una e cadena de Markov nita homog nea. e Cada estado de la cadena de Markov corresponde con una posible poblaci n o del AGS de tal manera que el espacio de estados es donde es el n mero u de individuos de la poblaci n y es la longitud de cada individuo. Denimos a o como el individuo de la poblaci n en el paso . o Dada la naturaleza del AGS, la matriz de transici n que lo representa queda o denida como:

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.

es positiva y la es columnaes positiva y por lo tanto

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

v ebbbge yB! P&P G i G Qr B X 

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.

12.12.2 Algoritmo Gen tico Elitista e


En [195] Rudolph argumenta que en las aplicaciones del mundo real el AGS com nmente mantiene a trav s del proceso evolutivo la mejor soluci n enconu e o trada hasta el momento por lo que lo correcto es modelar el AGS de tal manera. As pues, consideraremos ahora agregar a la poblaci n del AGS un super in o dividuo que no tomar parte en el proceso evolutivo y que por facilidad en la a notaci n ser colocado en la primera posici n a la izquierda, es decir, se podr o a o a . Llamaremos a esta nueva versi n Algoritmo Gen tico o e accesar a el mediante Elitista (AGE). La cardinalidad del espacio de estados de la cadena de Markov correspondiente crece ahora de a debido a que tenemos posibles s per individuos u y por cada uno de ellos tenemos poblaciones posibles. a El operador de elitismo estar representado por la matriz que lo que har a ser actualizar un estado de tal manera que si este contiene un individuo mejor a que su actual s per individuo este ser reemplazado por aqu l. u a e En particular, sea:

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: ..

concluimos que la matriz

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

` PG & P P G i G y B !|x { t P be e VP  G i ebbgP  G h i P  G g i e G cB


kk l jl k jj  p d d g hf g g p jlpp k jj pp I

bbb a Y P v ege y B PVP G i G XQr G k b  P G i { H


j k lpp p d d de

p de d d de

B
q 

Teorema 12.12.3 Sea una matriz estocastica reducible, donde una matriz estocastica primitiva y , . Entonces:

Como conclusi n tenemos el siguiente Teorema: o

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

12.13 Problemas Propuestos


5 5
1. Suponga que tenemos los siguientes esquemas: (a) , (c) , (d) y (f) .

, (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

es una matriz estocastica estable con independientemente de la distribuci on inicia, y y para .

, 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

Captulo 13 Operadores Avanzados


Adem s de los operadores tradicionales de cruza y mutaci n que hemos estudia o ado previamente, existen otros, m s especcos, que aunque no suelen usarse con a mucha frecuencia en la pr ctica, es importante conocer. Este captulo se dedicar a a al estudio de ellos.

13.1 Diploides y Dominancia


En AGs, usamos normalmente cromosomas haploides. En la naturaleza, sin embargo, los genotipos suelen ser diploides y contienen uno o m s pares de croa mosomas (a los que se les llama homologos), cada uno de los cuales contiene informaci n (redundante) para las mismas funciones. o Ejemplo de un cromosoma diploide: AbCDefGhIj aBCdeFgHij Si suponemos que los genes representados por letras may sculas son los domu inantes y los representados mediante letras min sculas son los recesivos, entonces u el fenotipo correspondiente al cromosoma anterior sera: ABCDeFGHIj El operador utilizado en el ejemplo anterior se denomina dominancia. La idea es que un alelo (o un gen) dominante toma precedencia sobre uno recesivo (por ejemplo, los ojos negros son un alelo dominante y los azules uno recesivo). 241

Padre 1 (diploide): A:10110101 B:00000101 011110011110010010101001 001001110011110010101001

Padre 2 (diploide) C:00000111000000111110 D:11111111000010101101 000010101011 010111011100

Hijo (diploide): 10110101001001110011110010101001 00000111000000111110010111011100

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

claridad s lo un gameto se muestra en la gura 4.6). o

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

13.3.3 Duplicaci n y Borrado o


Estos son un par de operadores de bajo nivel sugeridos para la b squeda articial u efectuada por el AG. La duplicaci n intracromos mica produce duplicados de un o o 245

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).

13.4 Problemas Propuestos


1. Investigue la forma en la que se implementara un cromosoma triploide y discuta una posible aplicaci n del mismo. El libro de Goldberg podra serle o de ayuda:

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

Captulo 14 Aplicaciones Exitosas de la Computaci n Evolutiva o


En este cap itulo revisaremos brevemente algunas aplicaciones exitosas de la computaci n evolutiva a problemas del mundo real. La intenci n es mostrar el poteno o cial de estas t cnicas en la soluci n de problemas de norme complejidad. e o

14.1 Diseno de P ptidos e


Un equipo de Unilever Research ha usado algoritmos gen ticos combinados con e redes neuronales para dise ar nuevos p ptidos bactericidas para usarse en limpiadores n e anti-bacterianos y preservativos de alimentos. Las redes neuronales se utilizaron para predecir la actividad bactericida en los p ptidos, y posteriormente se combinaron con algoritmos gen ticos para optie e mizar p ptidos virtuales. El resultado fue la generaci n de m s de 400 bactericidas e o a virtuales potencialmente activos, de los cuales 5 fueron sintetizados.

14.2 Optimizacion de Estrategias de Producci on


La empresa de software escocesa Quadstone, us algoritmos gen ticos para reo e solver un problema de optimizaci n de estrategias de producci n de British Petrol. o o El objetivo era maximizar el retorno nanciero de un grupo de campos petrolferos y de gas interdependientes. El problema es bastante complejo debido a los muchos compromisos posibles entre benecios y penalizaciones. Sin embargo, a n u 247

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

14.4 Diseno de un Sistema de Suspensi on


Investigadores del KanGAL, el Laboratorio de Algoritmos Gen ticos de Kane pur, en la India, han utilizado esta t cnica para dise ar un sistema de suspensi n e n o para un autom vil que es m s c modo que el previamente utilizado por una emo a o presa automotriz reconocida mundialmente. Utilizando un modelo tridimensional de un autom vil, estos investigadores o optimizaron el dise o de los amortiguadores y los resortes de rigidez del vehculo. n Las simulaciones efectuadas muestran que el sistema generado por el algoritmo gen tico hace que los pasajeros sufran menor aceleraci n vertical, de manera que e o se disfruta de un mayor confort que con los sistemas utilizados previamente por el fabricante de autom viles en cuesti n. o o 248

14.5 Programacion de Horarios


Un grupo de investigadores del Joszef Stefan Institute, en Eslovenia, desarrollaron un sistema de programaci n de horarios basado en t cnicas evolutivas. El sistema o e ha reducido sustancialmente los costos de energa en la planta de prensado de una f brica de autom viles. a o El sistema utiliza una heurstica avariciosa (greedy, en ingl s) para dise ar e n horarios iniciales que luego son utilizados como punto de partida por una t cnica e evolutiva que minimiza el consumo de energa durante las horas pico.

14.6 Diseno de una Red de Agua Potable


Tras un estudio en la regi n de York (en Ontario, Canad ), se determin que la o a o poblaci n de aquel lugar se duplicar en el perodo de 1996 a 2031. De tal manera, o a se hace necesario extender y reforzar la infraestructura de su red de suministro de agua potable. Para tener una idea de la magnitud del problema, hay que tener en cuenta lo siguiente:

Antes de intentar resolver este problema, se recurri a un an lisis que incluy o a o lo siguiente:

Estudios de campo extensivos de la red y de las estaciones de bombeo

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.

Figura 14.1: Dragan Savic.

14.7 Optimizacion de Losas de Concreto Prefabricadas


El siguiente es un problema que fue abordado en el Engineering Design Centre de la Universidad de Plymouth, en Inglaterra. La empresa brit nica Redlands produce losas prefabricadas de concreto en a grandes vol menes. El dise o de la topologa (o sea la forma) de dichas losas ha u n sido optimizado por matem ticos usando t cnicas tradicionales de optimizaci n. a e o Desde el punto de vista de ingeniera civil, la losa se representa como una placa sujeta a diversos tipos de cargas, comenzando con una puntual (el caso m s simple) hasta varias cargas distribuidas en diferentes partes de su supera cie. El problema tiene una alta dimensionalidad (unas 400 variables de desici n, o las cuales son todas continuas). El costo computacional asociado con la soluci n o de este problema tambi n es muy alto. Una sola evaluaci n de la funci n de ape o o titud toma alrededor de 10 minutos en una estaci n de trabajo Sun Sparc con 6 o procesadores Para la soluci n del problema se recurri al uso de ANSYS, que es un proo o grama comercial para realizar an lisis por medio del elemento nito. Debido al a alto costo computacional asociado con el problema, result muy obvia la necesio dad de desarrollar un esquema que redujera al mnimo posible la cantidad de eval uaciones de la funci n de aptitud. La pregunta fundamental era si se podr dise ar o a n un algoritmo gen tico el cual, con un n mero relativamente bajo de evaluaciones e u de la funci n de aptitud, pudiese mejorar las soluciones producidas por expertos o humanos. 251

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

14.8 Problemas Propuestos


1. Investigue aplicaciones de los algoritmos gen ticos en las siguientes areas: e

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

Captulo 15 AGs Paralelos


15.1 Nociones de Paralelismo
Podemos denir el procesamiento en paralelo como la ejecuci n concurrente (o o simult nea) de instrucciones en una computadora. Dicho procesamiento puede a ser en la forma de eventos que ocurran [152]: 1. durante el mismo intervalo de tiempo 2. en el mismo instante 3. en intervalos de tiempo traslapados La motivaci n m s obvia del paralelismo es el incrementar la eciencia de o a procesamiento. Existen muchas aplicaciones que demandan grandes cantidades de tiempo de procesamiento y que, por ende, resultan beneciadas de contar con arquitecturas en paralelo. Una de las frecuentes confusiones respecto al paralelismo es que se cree que al contar con una computadora que tenga procesadores trabajando en el mismo problema, este podr resolverse veces m s r pido. Esto es falso. a a a Al usar varios procesadores para una misma tarea, debemos tomar en cuenta que existir n: a Problemas de comunicaci n entre ellos. o

Conictos al intentar accesar la memoria. 255

{ {

Figura 15.1: Michael J. Flynn.

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

15.2 AGs Paralelos


Una vez revisados algunos conceptos b sicos de paralelismo, procederemos a a analizar los esquemas m s comunes de paralelizaci n de un algoritmo gen tico. a o e 257

{ { { {

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

Poblacion S S ... S Seleccion

...

Cruza

Mutacion

Aptitud

Figura 15.2: Esquema de paralelizaci n global de un algoritmo gen tico. o e

15.2.1 Paralelizaci n global o


El m todo m s simple de paralelizar un AG es la llamada paralelizaci on global, e a la cual se ilustra en la gura 15.2. En este caso, s lo hay una poblaci n, como en el o o AG convencional, pero la evaluaci n de los individuos y los operadores gen ticos o e se paralelizan de forma explcita. Puesto que s lo hay una poblaci n, la selecci n considera a todos los indio o o viduos y cada individuo tiene oportunidad de aparearse con cualquier otro (o sea, hay apareamiento aleatorio). Por lo tanto, el comportamiento del AG simple permanece sin cambios. La paralelizaci n global es un m todo relativamente f cil de implementar y o e a puede obtenerse un incremento signicativo de velocidad si los costos de comunicaci n no dominan los costos de procesamiento. Una observaci n importante es o o que no debe confundirse el concepto de paralelismo implcito de un AG con el de paralelismo explcito. A la paralelizaci n global tambi n se le conoce como AG panmtico, pues se o e cuenta con un solo dep sito de material gen tico (gene pool), o sea con una sola o e 258

Estructura de Interconexion

Cada EP tiene una memoria local

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

15.2.2 AGs de grano grueso


Una idea m s sosticada es usar los llamados AGs de grano grueso, cuyo funa cionamiento se ilustra en la gura 15.3. En este caso, la poblaci n del AG se o divide en m ltiples subpoblaciones o demes que evolucionan de manera aislada u la mayor parte del tiempo, aunque intercambian individuos ocasionalmente. A este intercambio de individuos se le llama migraci on, y se considera como un nuevo operador gen tico. Adem s de requerirse par metros adicionales en e a a este caso, el comportamiento de un AG de grano grueso es diferente del de un AG convencional. 259

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

Figura 15.4: Algunas topologas posibles.

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.

15.2.4 Esquemas hbridos


Otra posibilidad para implementar un AG paralelo es combinar los esquemas descritos anteriormente. Debe cuidarse, sin embargo, de que el esquema resultante no sea m s complejo que los esquemas originales. A continuaci n veremos varios a o hbridos posibles. Un posible hbrido consiste en usar un AG de grano no a bajo nivel y otro de grano grueso a alto nivel, tal y como se muestra en la gura 15.5. Un ejemplo de este tipo de hbrido es el AG propuesto por Gruau [118], en el cual la poblaci n de cada deme se coloca en una malla bidimensional y los demes o se conectan entre s en forma de toroide bidimensional. La migraci n entre los o demes vecinos ocurre a intervalos regulares. Otro posible esquema hbrido consiste en usar una forma de paralelizaci n o global en cada uno de los demes de un AG de grano grueso. Este esquema se ilustra en la gura 15.6. En este caso, la migraci n ocurre entre los demes de manera similar a un AG o de grano grueso, pero la evaluaci n de los individuos se maneja en paralelo. Esta o t cnica no introduce nuevos problemas analticos, y puede ser muy util cuando se e 263

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

15.2.5 Tipos de Arquitecturas


Otra forma de hablar sobre AGs paralelos, es desde la perspectiva del tipo de arquitectura computacional a utilizarse. Desde este punto de vista, podemos hablar fundamentalmente de usar: 1. SIMD 2. MIMD 265

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

Figura 15.9: Un ejemplo de arquitectura MIMD.

Global

Migracion

Local

Figura 15.10: Una topologa que suele usarse con las arquitecturas MIMD es la de arbol.

268

Busqueda global 1 2 n direccion de la mutacion

Busqueda local

Mas disruptiva

Menos disruptiva

Figura 15.11: Topologa de anillo.

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

Velocidad de convergencia: Tiempo (generaciones) en alcanzar el optimo.

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

{ { { {

15.2.7 Midiendo la diversidad


Existen expresiones est ndar para medir la diversidad de un AG (serial o paralelo). a Consideremos por ejemplo la siguiente:

= 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, .

15.2.8 Velocidad de propagaci n de esquemas o


A qu se reere la velocidad de propagaci n de esquemas? e o Se reere no s lo al porcentaje de demes en los que un cierto esquema est o a presente, sino tambi n al porcentaje en el cual dicho esquema est presente en un e a deme vecino. C mo medimos la propagaci n de esquemas? o o

Idealmente, deberamos conocer de antemano cu les son los buenos esque a mas.

Esto, sin embargo, es imposible en la pr ctica. a Una alternativa viable es:

Escoger varios esquemas de antemano.

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

15.3 Problemas Propuestos


1. Tiene sentido usar migraci n en un algoritmo SIMD de grano no? Exo plique. 2. Por qu no tiene sentido tener las regiones de selecci n y migraci n en el e o o mismo vecindario? Explique. 3. Cu l sera la desventaja de organizar un algoritmo SIMD en una topologa a que no correspondiera a un mesh (es decir, en una topologa distinta a un toroide)?

272

Captulo 16 T cnicas Evolutivas Alternativas e


En este captulo discutiremos brevemente algunos de los paradigmas emergentes dentro de la computaci n evolutiva. Nuestra discusi n se centrar fundamentalo o a mente en las t cnicas siguientes: e

16.1 Evolucion Diferencial


Se reere a una rama de la computaci n evolutiva desarrollada por Rainer Storn y o Kenneth Price [213, 214] para optimizaci n en espacios continuos. o En la Evoluci n Diferencial (ED), las variables se representan mediante n meros o u reales (o sea, opera a nivel fenotpico). La poblaci n inicial se genera aleatoria o mente, aunque se usan reglas de reparaci n que aseguren que cada variable se o genere dentro de los lmites requeridos. Posteriormente, se selecciona aleatoria mente un individuo para reemplazo y se seleccionan 3 individuos como padres. Uno de los 3 padres seleccionados es el padre principal. Con alguna probabilidad, se cambia cada variable del padre principal, de tal forma que al menos una de sus variables sea modicada. El cambio se efect a agregando al valor de la variable una raz n de la diferu o encia entre los dos valores de esta variable en los otros dos padres. En esencia, el vector del padre principal se perturba con el vector de los otros dos padres. Este 273

{ { {

Evoluci n Diferencial o Modelos Probabilsticos Evoluci n Simulada o

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.

16.2 Modelos Probabilsticos


Los EDAs (Estimation of Distribution Algorithms) [172] son algoritmos que usan un modelo probabilstico de soluciones promisorios para guiar la exploraci n pos o terior del espacio de b squeda. Su motivaci n principal fue la limitante de los AGs u o en problemas en los cuales los bloques constructores no se encuentran fuertemente unidos. En dichos problemas, se vuelve necesario aprender la estructura del problema en tiempo real, de manera que se pueda usar esta informaci n para realizar o la recombinaci n de la manera m s apropiada. Los EDAs son precisamente este o a tipo de algoritmos. Los EDAs usan una poblaci n inicial generada aleatoriamente, al igual que o el AG simple. La distribuci n de probabilidad verdadera se estima a partir de o un conjunto selecto de soluciones de esta poblaci n. Se generan luego nuevas o soluciones de acuerdo a esta estimaci n. Las nuevas soluciones se agregan a la o poblaci n original, reemplazando algunas de las anteriores. o Este proceso contin a hasta alcanzar la condici n de paro del algoritmo. u o Los EDAs son, por tanto, similares a los AGs, excepto por el hecho de que no usan cruza ni mutaci n. o Los operadores gen ticos se reemplazan por los dos pasos siguientes: e 1. Se construye un modelo (un estimado de la verdadera distribuci n) de las o soluciones prometedoras. 274

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

16.3 Evolucion Simulada


La evoluci n simulada (SE) es una heurstica iterativa general que fue propuesta o por Ralph Kling [143] en el contexto de optimizaci n combinatoria. o La SE cae en la categora de algoritmos que enfatizan la liga conductista entre padres e hijos o entre poblaciones reproductivas. En contraste, los AGs enfatizan la liga gen tica. La SE combina las mejoras iterativas con la perturbaci n e o constructiva, y evade los mnimos locales siguiendo un enfoque basado en pertur baciones estoc sticas. Opera iterativamente una secuencia de 3 pasos (evaluaci n, a o selecci n y asignaci n) sobre una soluci n. La selecci n y la asignaci n constio o o o o tuyen un movimiento compuesto de la soluci n actual a otra soluci n factible en o o el espacio de estados del problema. La SE parte de una soluci n generada aleatoo riamente o mediante un proceso determinstico. Esta soluci n inicial debe ser o v lida. Una soluci n es vista como un conjunto de objetos movibles (m dulo). a o o Cada elemento tiene una medida de bondad en el intervalo [0,1]. El ciclo principal del algoritmo consta de 3 pasos: evaluaci n, selecci n y o o asignaci n. Estos pasos se ejecutan repetitivamente hasta que se cumpla alguna o condici n de detenci n. o o En el paso de evaluaci n, se estima la bondad de cada elemento. En el paso o de selecci n, se selecciona un subconjunto de elementos de la soluci n actual. o o 275

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.

16.4 El Futuro de la Computaci on Evolutiva


Algunas de las areas futuras prometedoras que se contemplan actualmente en la computaci n evolutiva son las siguientes: o

{ { { { { { {

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

Wolpert, David, 224 yuxtaposicional fase, 104 Zoonomia, 43

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

También podría gustarte