Profesional / académico
Edad de interés, años: desde 18
CONTENIDO
Prefacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Capítulo 1
Realimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Realimentación negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Realimentación positiva . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Realimentación distribuida . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Capítulo 2
Fractales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Fractales iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Fractales de tiempo de escape . . . . . . . . . . . . . . . . . . . . . . . 63
Fractales estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Fractales en la naturaleza . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Espectro multifractal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Capítulo 3
Caos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Un sistema caótico muy sencillo: la curva logística . . . . . . . . . . . 85
Otros sistemas que exhiben caos . . . . . . . . . . . . . . . . . . . . . . . 96
Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Capítulo 4
Leyes de potencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Capítulo 5
Algoritmos evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Algoritmos genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Sistemas clasificadores evolutivos . . . . . . . . . . . . . . . . . . . . . 171
Programación evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Estrategias evolutivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Enfriamiento simulado . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Evolución diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Algoritmo genético híbrido de Taguchi . . . . . . . . . . . . . . . . . . . 183
Programación genética . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Evolución gramatical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Programación por expresión genética . . . . . . . . . . . . . . . . . . . 197
Coevolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Algoritmo evolutivo general básico . . . . . . . . . . . . . . . . . . . 202
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Capítulo 6
Teoría de juegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Dilema del prisionero . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Tragedia de los comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Paradoja de Braess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Paradoja del votante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Señalización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Capítulo 7
Autómatas celulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Autómatas celulares 1D . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Autoduplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Capítulo 8
Solución a los problemas de ingenio . . . . . . . . . . . . . . . . . . . . 283
Torres de Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Dinero de bolsillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Nave espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Velocidad de la luz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Bandera francesa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Capítulo 9
Introducción a Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Similitudes entre Ruby y Python . . . . . . . . . . . . . . . . . . . . . . . 292
Diferencias entre Ruby y Python, a este nivel . . . . . . . . . . . . . . . 292
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Paso de argumentos a funciones . . . . . . . . . . . . . . . . . . . . . . . 294
Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Verdadero y falso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Otra forma del condicional . . . . . . . . . . . . . . . . . . . . . . . . . 296
Operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Índices de los arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Arrays de dos dimensiones . . . . . . . . . . . . . . . . . . . . . . . . . 298
Biblioteca estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Cómo imprimir en la pantalla . . . . . . . . . . . . . . . . . . . . . . . 298
Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Cómo leer el teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Cómo convertir un string a entero, a flotante o a string . . . . . . . . . 299
Ruby es OO puro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Iteradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Clases y objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Composición de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Metaprogramación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Capítulo 10
Introducción a cucumber . . . . . . . . . . . . . . . . . . . . . . . . . 307
Para saber más . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
| Tipo ID | Nombre ID | Valor ID |
|---|---|---|
| ORCID | ---- | https://orcid.org/0000-0002-5388-6912 |
Madrid, España en 1960. Completó sus estudios de Ingeniero de Telecomunicación en 1985 en la Universidad Politécnica de Madrid. En 1987 se afincó en Colombia trabajando independientemente en su propia empresa. En 1993 ingresa a la Universidad del Valle, como profesor de Electrónica en temas que van desde los microprocesadores, interfaces, lógica digital, FPGAs, VHDL y tiempo real. En esa época realiza su doctorado en la Universidad Politécnica de Valencia, España, graduándose en 1999. A partir de allí se traslada al departamento de Ingeniería de Sistemas y Computación donde trabaja en temas de programación orientada a objetos, sistemas operativos, vida artificial y computación evolutiva. Fundó el laboratorio EVALAB (Evolución y Vida Artificiales) y el grupo de investigación GUIA en Inteligencia Artificial. Hizo parte durante varios años del grupo de filosofía de la mente MENTIS. Autor de múltiples artículos publicados en revistas y actas de congresos.